Difference between revisions of "VTClassic Tutorial"

From VirindiPlugins
Jump to: navigation, search
 
(18 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
== A first profile ==
 
== A first profile ==
  
So...you got VTank, and now you want to set your character to loot that perfect item with VTClassic. How the heck does it work?<br /><br /> VTClassic'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:<br /><br />[[Image:Vtclassic_tut01.jpg]]<br /><br />
+
So...you got VTank, and now you want to set your character to loot that perfect item with VTClassic. How the heck does it work?
 +
 
 +
=== Examples ===
 +
 
 +
VTClassic'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:<br /><br />[[Image:Vtclassic_tut01.jpg]]<br /><br />
  
 
{| border="1"
 
{| border="1"
Line 42: Line 46:
 
  IP: ------------------------------
 
  IP: ------------------------------
  
<br /> Now, how does VTClassic fit into this? Well, VTClassic'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.<br /><br /> Go to your VTClassic install directory (c:\program files\virindiplugins\virinditankclassiclooter or c:\games\virindiplugins\virinditankclassiclooter) and start the editor program (uTank2 Settings Editor.exe). 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".<br /><br />[[Image:Vtclassic_tut02.jpg]]<br /><br /> 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.<br /><br />[[Image:Vtclassic_tut03.jpg]]<br /><br /> 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:<br /><br /><code></code>
+
<br /> Now, how does VTClassic fit into this? Well, VTClassic'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 and weighing less than 100bu. Let's set that up now.<br /><br /> Go to your VTClassic install directory (c:\program files\virindiplugins\virinditankclassiclooter or c:\games\virindiplugins\virinditankclassiclooter) and start the editor program (uTank2 Settings Editor.exe). 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".<br /><br />[[Image:Vtclassic_tut02.PNG]]<br /><br /> 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. In order for a rule to match, ''all'' requirements in that rule must match. Click the 'new' button in the bottom center to create a new requirement.<br /><br />[[Image:Vtclassic_tut03.PNG]]<br /><br /> 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 /vt propertydump. If we look at the item we identified earlier we will see where we can find the item pyreal value and burden:<br /><br /><code></code>
  
 
  ...
 
  ...
Line 50: Line 54:
 
  ...
 
  ...
  
<br /> 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 &gt;=" and choose "Value" as the key, then type in 10000 into the key value box like this:<br /><br />[[Image:Vtclassic_tut04.jpg]]<br /><br /> 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:<br /><br />[[Image:Vtclassic_tut05.jpg]]<br /><br /> Click File/Save to save your new profile, and now you should be able to enable it in VTank!<br /><br />
+
<br /> 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 &gt;=" and choose "Value" as the key, then type in 10000 into the key value box like this:<br /><br />[[Image:Vtclassic_tut04.PNG]]<br /><br /> We also want burden to be less than or equal to 100, so add a new requirement by clicking the bottom middile 'new' button again and add the information the same way:<br /><br />[[Image:Vtclassic_tut05.PNG]]<br /><br /> Click File/Save to save your new profile, and now you should be able to enable it in VTank!<br /><br />
 +
 
 +
=== Some Basic "Terminology" ===
 +
 
 +
* LongValueKeyGE = Long Value Key >=
 +
* LongValueKeyLE = Long Value Key <=
 +
* LongValueKeyEE = Long Value Key ==
 +
 
 +
(Any References in the Tutorials containing GE, LE, or EE are the same as above)
 +
 
  
 
----
 
----
Line 166: Line 179:
 
|}
 
|}
  
<br /><br /> 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):
+
* Also see '''Bonuses/Modifiers''' below
 +
 
 +
 
 +
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 ===
 
=== 130% 12 electrical 15% melee bows ===
Line 204: Line 220:
 
|}
 
|}
  
<br /><br /> These are input into the loot editor the same way we did before.
 
  
=== Examples ===
+
These are input into the loot editor the same way we did before.
 +
 
 +
=== Elemental Damage Types ===
 +
 
 +
* For use with: Long Value Key <=, >=, and == DamageType.
 +
 
 +
{| border="1"
 +
| '''Element'''
 +
| '''Element DamageType'''
 +
|-
 +
| Slash
 +
| 1
 +
|-
 +
| Bludgeon
 +
| 4
 +
|-
 +
| Pierce
 +
| 2
 +
|-
 +
| Fire
 +
| 16
 +
|-
 +
| Acid
 +
| 32
 +
|-
 +
| Frost
 +
| 8
 +
|-
 +
| Light
 +
| 64
 +
|}
 +
 
 +
 
 +
----
 +
 
 +
== Bonuses/Modifiers ==
 +
 
 +
Some Bonuses and Modifiers are listed below.
 +
 
 +
=== All Weapons ===
 +
<code>
 +
[VTank] (D) MissileDBonus</code> = Bonus to Missile Defense
 +
* 1.0xx (E.g. +0.5% = 1.005, +2.0% = 1.020)
 +
 
 +
<code>[VTank] (D) MagicDBonus</code> = Bonus to Magic Defense
 +
* 1.0xx (E.g. +1.0% = 1.010, +2.5% = 1.025)
 +
 
 +
<code>[VTank] (D) MeleeDefenseBonus</code> = Bonus to Melee Defense
 +
* 1.xx (E.g. +15% = 1.15, +21% = 1.21)
 +
 
 +
=== Melee Weapons ===
 +
 
 +
<code>[VTank] (D) AttackBonus</code> = Bonus to Attack Skill
 +
* 1.xx (E.g. +9% = 1.09, +12% = 1.12, +30% = 1.30)
 +
 
 +
<code>[VTank] (I) WeaponSpeed</code> = Speed:
 +
Speed is = in number to the actual Weapon Speed.
 +
* (E.g. Fast (20) = 20, Slow (60) = 60)
 +
 
 +
<code>[VTank] (I) MaxDamage</code> = Damage: xx - xx (Max Only)
 +
Damage is = in number to the Max Weapon Damage.
 +
* (E.g. 18 - 36 = 36, 17.55 - 39 = 39)
 +
 
 +
<code>[VTank] (D) Variance</code> = Damage: xx - xx
 +
Variance is = the difference between Min and Max Damage)
 +
* 0.xx (E.g. 9.75 - 13 = 0.25, 25 - 50 = 0.50, 8.5 - 34 = 0.75)
 +
 
 +
=== Missile Weapons ===
 +
 
 +
<code>[VTank] (D) DamageBonus</code> = Damage Modifier
 +
* 2.xx (E.g. +50% = 1.50, +155% = 2.55)
 +
 
 +
<code>[VTank] (I) MaxDamage</code> = Damage Bonus:
 +
Damage is = in number to the Damage Bonus.
 +
* (E.g. Damage Bonus: 10 = 10, Damage Bonus: 15 = 15)
 +
 
 +
<code>[VTank] (I) WeaponSpeed</code> = Speed:
 +
Speed is = in number to the actual Weapon Speed.
 +
* (E.g. Average (33) = 33, Average (41) = 41)
 +
 
 +
<code>[VTank] (I) ElementalDmgBonus</code> = Elemental Damage Bonus:
 +
Speed is = in number to the actual Weapon Speed.
 +
* (E.g. 3, <Type> = 3, 13, <Type> = 13)
 +
 
 +
=== Casting Devices ===
 +
 
 +
<code>[VTank] (D) ElementalDamageVersusMonsters</code> = PvM Bonus
 +
* 1.xx (E.g. +8% = 1.08, +17% = 1.17)
 +
 
 +
<code>[VTank] (D) ManaCBonus</code> = Bonus to Mana Conversion
 +
* 0.xx (E.g. +9% = 0.9, +12% = 0.12)
 +
 
 +
 
 +
----
 +
 
 +
== Profile Examples ==
  
 
See [[VTClassic AdvancedLooting]] for extensive example profiles.
 
See [[VTClassic AdvancedLooting]] for extensive example profiles.

Latest revision as of 12:43, 2 February 2015

A first profile

So...you got VTank, and now you want to set your character to loot that perfect item with VTClassic. How the heck does it work?

Examples

VTClassic'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 VTank, by selecting an object and typing /vt propertydump. The results will be similar to 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 VTClassic fit into this? Well, VTClassic'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 and weighing less than 100bu. Let's set that up now.

Go to your VTClassic install directory (c:\program files\virindiplugins\virinditankclassiclooter or c:\games\virindiplugins\virinditankclassiclooter) and start the editor program (uTank2 Settings Editor.exe). 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.PNG

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. In order for a rule to match, all requirements in that rule must match. Click the 'new' button in the bottom center to create a new requirement.

Vtclassic tut03.PNG

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 /vt propertydump. 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.PNG

We also want burden to be less than or equal to 100, so add a new requirement by clicking the bottom middile 'new' button again and add the information the same way:

Vtclassic tut05.PNG

Click File/Save to save your new profile, and now you should be able to enable it in VTank!

Some Basic "Terminology"

  • LongValueKeyGE = Long Value Key >=
  • LongValueKeyLE = Long Value Key <=
  • LongValueKeyEE = Long Value Key ==

(Any References in the Tutorials containing GE, LE, or EE are the same as above)



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
  • Also see Bonuses/Modifiers below


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.

Elemental Damage Types

  • For use with: Long Value Key <=, >=, and == DamageType.
Element Element DamageType
Slash 1
Bludgeon 4
Pierce 2
Fire 16
Acid 32
Frost 8
Light 64



Bonuses/Modifiers

Some Bonuses and Modifiers are listed below.

All Weapons

[VTank] (D) MissileDBonus = Bonus to Missile Defense

  • 1.0xx (E.g. +0.5% = 1.005, +2.0% = 1.020)

[VTank] (D) MagicDBonus = Bonus to Magic Defense

  • 1.0xx (E.g. +1.0% = 1.010, +2.5% = 1.025)

[VTank] (D) MeleeDefenseBonus = Bonus to Melee Defense

  • 1.xx (E.g. +15% = 1.15, +21% = 1.21)

Melee Weapons

[VTank] (D) AttackBonus = Bonus to Attack Skill

  • 1.xx (E.g. +9% = 1.09, +12% = 1.12, +30% = 1.30)

[VTank] (I) WeaponSpeed = Speed: Speed is = in number to the actual Weapon Speed.

  • (E.g. Fast (20) = 20, Slow (60) = 60)

[VTank] (I) MaxDamage = Damage: xx - xx (Max Only) Damage is = in number to the Max Weapon Damage.

  • (E.g. 18 - 36 = 36, 17.55 - 39 = 39)

[VTank] (D) Variance = Damage: xx - xx Variance is = the difference between Min and Max Damage)

  • 0.xx (E.g. 9.75 - 13 = 0.25, 25 - 50 = 0.50, 8.5 - 34 = 0.75)

Missile Weapons

[VTank] (D) DamageBonus = Damage Modifier

  • 2.xx (E.g. +50% = 1.50, +155% = 2.55)

[VTank] (I) MaxDamage = Damage Bonus: Damage is = in number to the Damage Bonus.

  • (E.g. Damage Bonus: 10 = 10, Damage Bonus: 15 = 15)

[VTank] (I) WeaponSpeed = Speed: Speed is = in number to the actual Weapon Speed.

  • (E.g. Average (33) = 33, Average (41) = 41)

[VTank] (I) ElementalDmgBonus = Elemental Damage Bonus: Speed is = in number to the actual Weapon Speed.

  • (E.g. 3, <Type> = 3, 13, <Type> = 13)

Casting Devices

[VTank] (D) ElementalDamageVersusMonsters = PvM Bonus

  • 1.xx (E.g. +8% = 1.08, +17% = 1.17)

[VTank] (D) ManaCBonus = Bonus to Mana Conversion

  • 0.xx (E.g. +9% = 0.9, +12% = 0.12)



Profile Examples

See VTClassic AdvancedLooting for extensive example profiles.