VTClassic Tutorial

From VirindiPlugins
Revision as of 09:44, 26 January 2010 by Virindi (talk | contribs) (Examples)
Jump to: navigation, search

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:

Vtclassic tut01.jpg

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".

Vtclassic tut02.jpg

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.

Vtclassic tut03.jpg

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:

Vtclassic tut04.jpg

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:

Vtclassic tut05.jpg

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

Vtclassic tut06.jpg

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

Vtclassic tut07.jpg


IP: -----STRING VALUE KEYS-----
IP: Name : Bronze Slashing Compound Bow
...
IP: -----LONG VALUE KEYS-----
IP: Burden : 595
IP: Value : 2729
IP: Workmanship : 7
...
IP: ElementalDmgBonus : 9

...
IP: MissileType : 1
...
IP: WeapSpeed : 36
IP: EquipSkill : 2
IP: DamageType : 1
IP: MaxDamage : 0
...
IP: -----DOUBLE VALUE KEYS-----
IP: ManaRateOfChange : -0.0555555555555556
IP: MeleeDefenseBonus : 1.2
IP: MissileDBonus : 1.015
IP: SalvageWorkmanship : 7
IP: Scale : 0
IP: Variance : 0
IP: AttackBonus : 1
IP: Range : 27.3
IP: DamageBonus : 2.3
IP: ------------------------------



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.

Examples

See VTClassic AdvancedLooting for extensive example profiles.