VTClassic Tutorial
Contents
A first profile
So...you got uTank, and now you want to set your character to loot that perfect item. How the heck does it work?
uTank's loot system works on the same principle that AC itself uses. In AC, there are a number of different properties that each item could have, and for each property there is a range of values. For instance, if I ID an item, AC might get the following information:
Property | Value |
Name | Floating Candle |
Burden | 5 |
Value | 10 |
...along with some other things which define various behaviors the object will exhibit for the client, such as what the object's 3d model ID is, what the object's icon is, etc. We can view this information using the [../ItemPropertyViewer.zip ItemPropertyViewer] plugin. Download the plugin and unzip it anyplace you'd like, then open Decal, click the add button, click browse, and select the itempropertyviewer .dll file that you just extracted. Finally, put a check next to the new plugin ("ItemPropertyViewer.PluginCore") in your plugin list to enable it. To use the property viewer, select an item and click the "Show Item Properties" button. You will get a listing that looks something like this:
IP: -----STRING VALUE KEYS----- IP: Name : Floating Candle IP: UsageInstructions : This item can be used on floor and yard hooks. IP: -----LONG VALUE KEYS----- IP: Burden : 5 IP: Value : 10 IP: CurrentMana : 0 IP: MaximumMana : 0 IP: Type : 34089 IP: Icon : 4181 IP: Container : 1343144260 IP: Slot : 32 IP: HookMask : 9 IP: Model : 0 IP: Flags : 16 IP: CreateFlags1 : 270549016 IP: Category : 128 IP: Behavior : 18 IP: Unknown10 : 1 IP: PhysicsDataFlags : 6145 IP: -----DOUBLE VALUE KEYS----- IP: ------------------------------
Now, how does uTank fit into this? Well, uTank's loot system allows you to define a rule as a collection of parameters that an item must fit in order to be looted. For instance, one loot rule could be items worth 10,000 pyreal or more weighing less than 100bu. Let's set that up now.
First, we need to download the latest [../settings-1.2.zip settings editor] program. Unzip all of the files to a new directory and run "uTank2 Settings Editor.exe". The editor will start with a new loot ruleset; now we just have to add our loot rules. Click the 'new' button in the bottom left to create a rule, and type in a name for this rule in the box where it says rule name. I'm calling this "Stuff to sell".
Now, we need to add requirements to this rule. These requirements are ranges for a property that an item must have in order to be chosen to be looted. Click the 'new' button in the bottom center to create a new requirement.
Here, we see the different types of requirements available in the "Requirement Type" dropdown box. Each of these options (except spell name match and damage percentage) correspond to a type of property in the list given by itempropertyviewer. If we look at the item we identified earlier we will see where we can find the item pyreal value and burden:
... IP: -----LONG VALUE KEYS----- IP: Burden : 5 IP: Value : 10 ...
We can see that both burden and pyreal value are long value keys. For pyreal value, we want our item to be greater than 10000, so change requirement type to "Long Value Key >=" and choose "Value" as the key, then type in 10000 into the key value box like this:
We also want burden to be less than or equal to 100, so add a new requirement by clicking the bottom center 'new' button again and add the information the same way:
Click File/Save to save your new profile, and now you should be able to enable it in utank!
Strange property values
Sometimes knowing what value you want for a given property is not as simple as it is with burden or pyreal value. In this case, you may have to do a little snooping; identifying a few items using the property viewer will give you an idea of what ranges you should be looking for. For instance, suppose we wanted to loot only bows that are 130% damage, 12 electrical, 15% melee defense. How does AC store these values? To find out, we need to check out the properties of a few items. Keys we want to look at are in bold.
Item one
IP: -----STRING VALUE KEYS----- IP: Name : Copper Electric Bow ... IP: -----LONG VALUE KEYS----- IP: Burden : 716 IP: Value : 3409 IP: Workmanship : 8 ... IP: ElementalDmgBonus : 12 ... IP: MissileType : 1 ... IP: WeapSpeed : 40 IP: EquipSkill : 2 IP: DamageType : 64 IP: MaxDamage : 0 ... IP: -----DOUBLE VALUE KEYS----- IP: MeleeDefenseBonus : 1.14 IP: MagicDBonus : 1.025 IP: SalvageWorkmanship : 8 IP: Scale : 0 IP: Variance : 0 IP: AttackBonus : 1 IP: Range : 27.3 IP: DamageBonus : 2.66 IP: ------------------------------ |
Item two
|
From looking at these values, we can see that a Damage Modifier of 130% corresponds to a DamageBonus value of 2.3, an Elemental Damage Bonus of 12 corresponds to an ElementalDmgBonus of 12 (as you might expect), and a Melee Defense Bonus of 15 should probably correspond to a MeleeDefenseBonus value of 1.15. Here is a chart to make it easier to see how I came up with those values:
Item | Damage bonus | DamageBonus key | Elemental Damage Bonus | ElementalDmgBonus key | Melee Defense Bonus | MeleeDefenseBonus key |
LR bow | 166% | 2.66 | 12 | 12 | 14% | 1.14 |
CS bow | 130% | 2.3 | 9 | 9 | 20% | 1.2 |
There other two requirements we can determine similarly: the item must be a bow (MissileType = 1) and the element must be lightning (DamageType = 64). We are now ready to input our new rule into the settings editor. Here is what we have worked out for requirements (note that to require a value be exactly equal to a value x, you create a requirement that it be less than or equal to x as well as greater than or equal to x):
130% 12 electrical 15% melee bows
Requirement type | Acts On | Value |
Double Value Key >= | DamageBonus | 2.3 |
Long Value Key >= | ElementalDmgBonus | 12 |
Long Value Key <= | DamageType | 64 |
Long Value Key >= | DamageType | 64 |
Double Value Key >= | MeleeDefenseBonus | 1.15 |
Long Value Key <= | MissileType | 1 |
Long Value Key >= | MissileType | 1 |
These are input into the loot editor the same way we did before. If you want to take a look at the resulting profile, it is available [tutorial.zip here]. Remember that if you want to select this profile ingame, it must be located in your utank directory.
A more complete example profile is also available [../lootv4.utl here].