RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Hi all :D My first scripts <-- Imbuing system

Dreamseeker

Sorceror
Hi everyone :D Merry Christmas & Happy New Year,

** UPDATED 29/12/12 ** (dd/mm/yy) 11:34pm

------------ Recent Changes ---------------------------
= 22/2/13 =
------------
* - ItemIdentification.cs was missing from the .rar file since the last update :oops: Added it again

= 29/12/12 =
------------
* - Some properties will now replace other properties as per OSI (i.e - OnHitFireball replaces OnHitHarm / OnHitAreaCold replaces OnHitFire etc..)

* - Durability Bonuses and Self Repair are now removed upon Imbuing items with these properties

* - Fixed Small error with selecting 'Skill Group 4' in the Imbuing Menu - This now works properly

= 22/12/12 =
------------
* - Modified 'ItemIdentification.cs' slightly to make item weight reading more accurate

* - Clipped unneeded bits out of The Base Distros serialization (Unused SaveFlags)

---------------------------------------------------------------

This was my first C# project.. it's gone pretty well. Had a few bugs & problems at first, but I've cleaned up the system since first release. Now it's pretty much finished and exploit free.

It's almost OSI standard - Jewellery hitpoints don't degrade however, I can't find where to make the change :(

Feel free to modify the script, It's because of all your passion for UO that I even got hooked on C# :D
Thx Guys & Gals for being Awesome, any problems let me know.

=If you find any bugs that remain, don't hesitate to post them.. I'm still looking for feedback=
 

Attachments

  • SFImbuing.rar
    104.5 KB · Views: 144

jamesreg

Sorceror
Well this certainly is a way to come out of lurking status.

Just plug this in and it says already contains a definition for ItemIdentification
Is your SFItemIdentification conflicting with the default Itemidentification or are they supposed to be merged or something?

Code:
RunUO - [www.runuo.com] Version 2.1, Build 4531.21304
Core: Running on .NET Framework Version 4.0.30319
Core: Optimizing for 2 64-bit processors
Scripts: Compiling C# scripts...failed (1 errors, 0 warnings)
Errors:
+ Skills/ItemIdentification.cs:
    CS0101: Line 8: The namespace 'Server.Items' already contains a definition f
or 'ItemIdentification'
    CS0102: Line 24: The type 'Server.Items.ItemIdentification' already contains
a definition for 'InternalTarget'
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.
 

Dreamseeker

Sorceror
A minor shortsighted error on my behalf.. I shoulda just let the file name alone, it's an overwrite so remove the old ItemID script and slap this version in.

I should mention also that it needs the MiscSAResources.cs & SAQuestItems.cs scripts
 

jamesreg

Sorceror
Now I get these errors

Code:
RunUO - [www.runuo.com] Version 2.1, Build 4531.21304
Core: Running on .NET Framework Version 4.0.30319
Core: Optimizing for 2 64-bit processors
Scripts: Compiling C# scripts...failed (2 errors, 7 warnings)
Warnings:
+ Customs/Armor & Weapons/Weapons/Staffs/StaffOfGameMaster.cs:
    CS0105: Line 3: The using directive for 'System' appeared previously in this
namespace
    CS0105: Line 4: The using directive for 'Server' appeared previously in this
namespace
+ Items/Addons/BaseAddonContainer.cs:
    CS0108: Line 41: 'Server.Items.BaseAddonContainer.Resource' hides inherited
member 'Server.Items.BaseContainer.Resource'. Use the new keyword if hiding was
intended.
+ Expansions/Stygian Abyss/SA Mobiles/SA Peerless/SlasherOfVeils.cs:
    CS0114: Line 115: 'Server.Mobiles.SlasherOfVeils.FireRing()' hides inherited
member 'Server.Mobiles.BasePeerless.FireRing()'. To make the current member ove
rride that implementation, add the override keyword. Otherwise add the new keywo
rd.
+ Customs/Magic Systems/Imburing/SFImbuing.cs:
    CS0162: Line 604: Unreachable code detected
+ Customs/NPCs/Talking npc/FeaturesNPC.cs:
    CS0162: Line 129: Unreachable code detected
    CS0162: Line 203: Unreachable code detected
+ Customs/PVM Systems/Monster Contracts/Monster Contract/MonsterContractGump.cs
:
    CS0472: Line 87: The result of the expression is always 'false' since a valu
e of type 'int' is never equal to 'null' of type 'int?'
+ Customs/Vending/AIO Vendor Stone with SellAll/AIOVendor Stone.cs:
    CS0642: Line 46: Possible mistaken empty statement
Errors:
+ Customs/Magic Systems/Imburing/SFImbuing.cs:
    CS1061: Line 155: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Item' and no extension method 'ImbLast_Item' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 167: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Item' and no extension method 'ImbLast_Item' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 167: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Mod' and no extension method 'ImbLast_Mod' accepting a first argu
ment of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a usi
ng directive or an assembly reference?)
    CS1061: Line 167: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_ModInt' and no extension method 'ImbLast_ModInt' accepting a firs
t argument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing
a using directive or an assembly reference?)
    CS1061: Line 173: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Item' and no extension method 'ImbLast_Item' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 173: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Item' and no extension method 'ImbLast_Item' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 173: 'Server.Items.BaseWeapon' does not contain a definition fo
r 'TimesImbued' and no extension method 'TimesImbued' accepting a first argument
of type 'Server.Items.BaseWeapon' could be found (are you missing a using direc
tive or an assembly reference?)
    CS1061: Line 174: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Item' and no extension method 'ImbLast_Item' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 174: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Item' and no extension method 'ImbLast_Item' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 174: 'Server.Items.BaseArmor' does not contain a definition for
'TimesImbued' and no extension method 'TimesImbued' accepting a first argument
of type 'Server.Items.BaseArmor' could be found (are you missing a using directi
ve or an assembly reference?)
    CS1061: Line 175: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Item' and no extension method 'ImbLast_Item' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 175: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Item' and no extension method 'ImbLast_Item' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 175: 'Server.Items.BaseJewel' does not contain a definition for
'TimesImbued' and no extension method 'TimesImbued' accepting a first argument
of type 'Server.Items.BaseJewel' could be found (are you missing a using directi
ve or an assembly reference?)
    CS1061: Line 176: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Item' and no extension method 'ImbLast_Item' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 176: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Item' and no extension method 'ImbLast_Item' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 176: 'Server.Items.BaseHat' does not contain a definition for '
TimesImbued' and no extension method 'TimesImbued' accepting a first argument of
type 'Server.Items.BaseHat' could be found (are you missing a using directive o
r an assembly reference?)
    CS1061: Line 186: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Item' and no extension method 'ImbLast_Item' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 186: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Mod' and no extension method 'ImbLast_Mod' accepting a first argu
ment of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a usi
ng directive or an assembly reference?)
    CS1061: Line 186: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_ModInt' and no extension method 'ImbLast_ModInt' accepting a firs
t argument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing
a using directive or an assembly reference?)
    CS1061: Line 205: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Item' and no extension method 'ImbLast_Item' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 208: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Item' and no extension method 'ImbLast_Item' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 224: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Mod' and no extension method 'ImbLast_Mod' accepting a first argu
ment of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a usi
ng directive or an assembly reference?)
    CS1061: Line 224: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_ModInt' and no extension method 'ImbLast_ModInt' accepting a firs
t argument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing
a using directive or an assembly reference?)
    CS1061: Line 230: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Mod' and no extension method 'ImbLast_Mod' accepting a first argu
ment of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a usi
ng directive or an assembly reference?)
    CS1061: Line 230: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_ModInt' and no extension method 'ImbLast_ModInt' accepting a firs
t argument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing
a using directive or an assembly reference?)
    CS1061: Line 1001: 'Server.Items.BaseWeapon' does not contain a definition f
or 'TimesImbued' and no extension method 'TimesImbued' accepting a first argumen
t of type 'Server.Items.BaseWeapon' could be found (are you missing a using dire
ctive or an assembly reference?)
    CS1061: Line 1002: 'Server.Items.BaseArmor' does not contain a definition fo
r 'TimesImbued' and no extension method 'TimesImbued' accepting a first argument
of type 'Server.Items.BaseArmor' could be found (are you missing a using direct
ive or an assembly reference?)
    CS1061: Line 1003: 'Server.Items.BaseJewel' does not contain a definition fo
r 'TimesImbued' and no extension method 'TimesImbued' accepting a first argument
of type 'Server.Items.BaseJewel' could be found (are you missing a using direct
ive or an assembly reference?)
    CS1061: Line 1004: 'Server.Items.BaseHat' does not contain a definition for
'TimesImbued' and no extension method 'TimesImbued' accepting a first argument o
f type 'Server.Items.BaseHat' could be found (are you missing a using directive
or an assembly reference?)
    CS1061: Line 969: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Item' and no extension method 'ImbLast_Item' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 970: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Iref' and no extension method 'ImbLast_Iref' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 1034: 'Server.Mobiles.PlayerMobile' does not contain a definiti
on for 'ImbLast_Mod' and no extension method 'ImbLast_Mod' accepting a first arg
ument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a us
ing directive or an assembly reference?)
    CS1061: Line 1037: 'Server.Items.BaseWeapon' does not contain a definition f
or 'TimesImbued' and no extension method 'TimesImbued' accepting a first argumen
t of type 'Server.Items.BaseWeapon' could be found (are you missing a using dire
ctive or an assembly reference?)
    CS1061: Line 1038: 'Server.Items.BaseArmor' does not contain a definition fo
r 'TimesImbued' and no extension method 'TimesImbued' accepting a first argument
of type 'Server.Items.BaseArmor' could be found (are you missing a using direct
ive or an assembly reference?)
    CS1061: Line 1039: 'Server.Items.BaseJewel' does not contain a definition fo
r 'TimesImbued' and no extension method 'TimesImbued' accepting a first argument
of type 'Server.Items.BaseJewel' could be found (are you missing a using direct
ive or an assembly reference?)
    CS1061: Line 1040: 'Server.Items.BaseHat' does not contain a definition for
'TimesImbued' and no extension method 'TimesImbued' accepting a first argument o
f type 'Server.Items.BaseHat' could be found (are you missing a using directive
or an assembly reference?)
    CS1061: Line 1052: 'Server.Mobiles.PlayerMobile' does not contain a definiti
on for 'ImbLast_ModInt' and no extension method 'ImbLast_ModInt' accepting a fir
st argument of type 'Server.Mobiles.PlayerMobile' could be found (are you missin
g a using directive or an assembly reference?)
    CS1061: Line 1060: 'Server.Mobiles.PlayerMobile' does not contain a definiti
on for 'ImbLast_ModInt' and no extension method 'ImbLast_ModInt' accepting a fir
st argument of type 'Server.Mobiles.PlayerMobile' could be found (are you missin
g a using directive or an assembly reference?)
    CS1061: Line 1068: 'Server.Mobiles.PlayerMobile' does not contain a definiti
on for 'ImbLast_ModInt' and no extension method 'ImbLast_ModInt' accepting a fir
st argument of type 'Server.Mobiles.PlayerMobile' could be found (are you missin
g a using directive or an assembly reference?)
    CS1061: Line 1076: 'Server.Mobiles.PlayerMobile' does not contain a definiti
on for 'ImbLast_ModInt' and no extension method 'ImbLast_ModInt' accepting a fir
st argument of type 'Server.Mobiles.PlayerMobile' could be found (are you missin
g a using directive or an assembly reference?)
    CS1061: Line 1084: 'Server.Mobiles.PlayerMobile' does not contain a definiti
on for 'ImbLast_ModInt' and no extension method 'ImbLast_ModInt' accepting a fir
st argument of type 'Server.Mobiles.PlayerMobile' could be found (are you missin
g a using directive or an assembly reference?)
    CS1061: Line 1092: 'Server.Mobiles.PlayerMobile' does not contain a definiti
on for 'ImbLast_ModInt' and no extension method 'ImbLast_ModInt' accepting a fir
st argument of type 'Server.Mobiles.PlayerMobile' could be found (are you missin
g a using directive or an assembly reference?)
+ Customs/Magic Systems/Imburing/SFImbuingGumpC.cs:
    CS1061: Line 77: 'Server.Items.BaseWeapon' does not contain a definition for
'TimesImbued' and no extension method 'TimesImbued' accepting a first argument
of type 'Server.Items.BaseWeapon' could be found (are you missing a using direct
ive or an assembly reference?)
    CS1061: Line 78: 'Server.Items.BaseArmor' does not contain a definition for
'TimesImbued' and no extension method 'TimesImbued' accepting a first argument o
f type 'Server.Items.BaseArmor' could be found (are you missing a using directiv
e or an assembly reference?)
    CS1061: Line 79: 'Server.Items.BaseJewel' does not contain a definition for
'TimesImbued' and no extension method 'TimesImbued' accepting a first argument o
f type 'Server.Items.BaseJewel' could be found (are you missing a using directiv
e or an assembly reference?)
    CS1061: Line 80: 'Server.Items.BaseHat' does not contain a definition for 'T
imesImbued' and no extension method 'TimesImbued' accepting a first argument of
type 'Server.Items.BaseHat' could be found (are you missing a using directive or
an assembly reference?)
    CS1061: Line 905: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Item' and no extension method 'ImbLast_Item' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 906: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Iref' and no extension method 'ImbLast_Iref' accepting a first ar
gument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a u
sing directive or an assembly reference?)
    CS1061: Line 907: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_Mod' and no extension method 'ImbLast_Mod' accepting a first argu
ment of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a usi
ng directive or an assembly reference?)
    CS1061: Line 908: 'Server.Mobiles.PlayerMobile' does not contain a definitio
n for 'ImbLast_ModInt' and no extension method 'ImbLast_ModInt' accepting a firs
t argument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing
a using directive or an assembly reference?)
    CS1061: Line 923: 'Server.Items.BaseWeapon' does not contain a definition fo
r 'TimesImbued' and no extension method 'TimesImbued' accepting a first argument
of type 'Server.Items.BaseWeapon' could be found (are you missing a using direc
tive or an assembly reference?)
    CS1061: Line 1013: 'Server.Items.BaseArmor' does not contain a definition fo
r 'TimesImbued' and no extension method 'TimesImbued' accepting a first argument
of type 'Server.Items.BaseArmor' could be found (are you missing a using direct
ive or an assembly reference?)
    CS1061: Line 1042: 'Server.Items.BaseShield' does not contain a definition f
or 'TimesImbued' and no extension method 'TimesImbued' accepting a first argumen
t of type 'Server.Items.BaseShield' could be found (are you missing a using dire
ctive or an assembly reference?)
    CS1061: Line 1065: 'Server.Items.BaseHat' does not contain a definition for
'TimesImbued' and no extension method 'TimesImbued' accepting a first argument o
f type 'Server.Items.BaseHat' could be found (are you missing a using directive
or an assembly reference?)
    CS1061: Line 1083: 'Server.Items.BaseJewel' does not contain a definition fo
r 'TimesImbued' and no extension method 'TimesImbued' accepting a first argument
of type 'Server.Items.BaseJewel' could be found (are you missing a using direct
ive or an assembly reference?)
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.
 

Dreamseeker

Sorceror
Forgot that I had to edit the Base files, I'll put up the distros.. I've inserted #SF Imbuing regions in these scripts to make the edits easy to find. The PlayerMobile.cs has only 4 added lines, so it shouldn't conflict with your own. Just Cut & paste the SF section

* ADDED DISTROS TO .RAR FILE *

Should work now, if not I'm a dumbass
 

jamesreg

Sorceror
Im gonna try this out but I never played Imbuing Shard before quit OSI long before that so someone who gets this working and test it out that knows the ins and out of Imbuing report to us how this system compares. Looks promising
 
i cant believe it its the missing info we needed we will work with it and see what happens btw great contribution this was a well guarded secret and if it works u then have made a hugggggggggee add to runuo community and that is commendable. Bravo.
 

Orbit Storm

Sorceror
Just a note - you define an SFTotalsGump in PlayerMobile but didn't upload a copy of that gump.

You might want to review your de/serialize methods for BaseJewel as well. Currently, it will want to wipe existing items. ;)
 
its also seems to have a taming bod requirement for those who dont have that its included so u may want to work around it or find a suitable method of adding it in. still with some work on the post its a great add.
 

Orbit Storm

Sorceror
You don't need to merge the snippet for Taming BODs. He missed several region markers when editing the scripts (not a big deal), which is why you're confused. Simply look for anything referring to "TimesImbued". But as I said, the de/serialize methods for BaseJewel are incorrect and will cause exceptions. It may work on a fresh install, but I can't say for sure as I always base work off of an updated copy of my live server (to avoid conflicts or missing namespaces and such).
 

LdNS88i

Sorceror
Installed this script, everything is normal compile. But when loading the world there is a problem. He requested to remove items from the saves. If you remove one - asks the next, and so it seems to infinity.

Code:
Regions: Loading...done
World: Loading...An error was encountered while loading a saved object
- Type: Server.Items.HeaterShield
- Serial: 0x405B34DE
Delete the object? (y/n)

As a result, we obtain the following (after removal of each item) -
Code:
Delete the object? (y/n)
Delete all objects of that type? (y/n)
After pressing return an exception will be thrown and the server will terminate.
 

Dreamseeker

Sorceror
Yeah I saw the problem with serialization. I was working on a pretty fresh server so it wasn't a big thing, but I'm stumped as to how to overwrite existing objects with the new class mods without conflicting with the olds.. is it some kind of saveflag which gets set only when the server saves the world, Item & mob data? It's the only thing I can think of.

I'm gonna focus on learning memory application for a while, it's the little bits like that which takes the time to master I find :p Basic was great for data writes LMAO! But very unflexable and process intensive (If anyone has a quickway of explaining how to bypass the Item conflict, that'd be way cool ;D )

- The Formula for Imbuing isn't spot on but it's not too far off.. I made the Diff =

( ( ( Curr Item Weight + Weight to Add ) / 4) * (1.65 - Race/Forge/Excep Bonus) )+ ((Curr Item Weight + Weight to Add) / 25);
TerMur Soulforge doesn't give the +5% Imbuing bonus yet, I was going to do that before I posted this but I got lazy... again *sigh* :confused:

*Oh Yeah .. don't worry about the FS taming stuff in the PlayerMobile.cs, all that the imbuing system uses is 4 temp variables to track last item, mod etc.. Orbit storm's 100% right*
 
just need to add ur SFTotalsGump and the rest will fall in place. orbit is awsome with this stuff too maybe could help ya a bit.
 

Dreamseeker

Sorceror
Hmmm good plan.. the Gump is only a rewrite of another, but I've made it look ultra-funky and can be accessed via the players context menu.

So here ya go.. 100% guaranteed to maybe work.. sort of ;P
 

Attachments

  • SFTotals.cs
    841 bytes · Views: 74
  • SFTotalsGump.cs
    12.1 KB · Views: 67

jamesreg

Sorceror
Does this take care of the save issues as well? You said these were copies of others the others are named differently these should be renamed to the others and overwrite correct?
 

LdNS88i

Sorceror
Join us to the question. The script has to be good, but in the real world turns out useless - it can only bet on a new build server.
 
Top