Difference between pages "Meta Expressions" and "BeginnerBundleGuide"

From VirindiPlugins
(Difference between pages)
Jump to: navigation, search
(Function Information)
 
m (Transferring [Char] Profiles to Alt Char.)
 
Line 1: Line 1:
These expressions can set and retrieve variables, react to object/char properties, use and combine objects, and more.
+
WORK IN PROGRESS
  
This adds the "Expression" meta condition and the "Expression Action" and "Chat Expression" meta actions.
+
A  Quick Reference Guide for the Virindi Tank Bundle - Compiled by [http://www.virindi.net/wiki/index.php?title=Special:Contributions/The_Guru&limit=500&target=The+Guru Hell's Wrath]
  
The "/vt mexec [expression]" command can be used instead of the meta rules when appropriate. It is also a great testing tool.
+
Before diving in you may want to [[Customize Your View]]
  
 +
= Virindi Tank [[image:TankIcon.PNG]] =
 +
Click the Tank icon [[image:TankIcon.PNG]] on the [[Virindi Views]](VVS) bar to open the main Virindi Tank plugin.
  
There are two ways to use Expressions, your situation will determine the best choice.
+
== Options tab ==
 +
The main options page handles basic Vtank ranges and a multitude of easy-access options.
  
The first is through sending the command like any other chat command. Ex: "/vt mexec [expression]". This can be useful if you want to issue the command without using a meta rule, or simply want to test an expression without using meta.
+
[[image:Vtank_Main.PNG]]  
  
 +
For detailed explanations of the individual options on the main tab, visit the [[Virindi_Tank_Standard_Options#Options|Standard Options]] page
  
The second is by utilizing the "Expression" meta condition and the "Expression Action" and "Chat Expression" meta actions.
+
You can also view the entire [[Virindi_Tank_Advanced_Options|Advanced Options]] which will be linked to throughout this guide.  
  
The "Expression" meta condition is like any other meta condition, if the parameters are met then it will initiate the action. You can use this to detect world objects, character properties, react to custom variables and more.
 
  
The "Expression Action" meta action initiates the expression written within.
+
== Profiles tab==
  
The "Expression Chat" meta action is used to output expression strings to chat. You can use regex and meta functions to format an expression. When outputting numbers from a variable you must first convert it to a string.
+
[[image:Vtank_Profiles.PNG]]
  
 +
=== Macro Setting Profiles ===
 +
Understanding how profiles are managed is vital to running an organized macro. You will likely have many profiles for different locations and tasks.
 +
There are two types of profiles we will talk about: Those with Mine Only enabled, and those without.
  
== Notes ==
+
* Click the Macro Settings dropdown list
* true is the same as 1, false is the same as 0. There are no actual booleans, just numbers.
+
* You will see [Default] and [ByChar] -- You never want to edit settings within these, think of them as templates. You load one, make a save with a specific name, then edit and use the new save.  
* There are two extra operators added since [[Virindi Tank Monster List Matching|monster expressions]]: the ^ (xor) operator, and the ; operator. The ; operator works on any two types and simply returns the value of the first one. It has the lowest possible precedence. The idea is to use it to string together commands when you don't care about the result.
+
* [Default] profile settings will always reset on logout.
* Unlike monster expressions, meta expressions do not trim spaces from the ends of strings.
+
* [ByChar] is associated with the Mine Only radio button. This is the profile type you will use the most.  
* Set variables persist until cleared by a command or until relog.
+
* When creating a new character specific profile you want to have the Mine Only radio button enabled, selecting the [ByChar] profile automatically enables Mine Only.
* Formatting during the conversion of number to string is a string like this: http://msdn.microsoft.com/en-us/library/kfsatb94%28v=vs.110%29.aspx
 
* All operator characters which occur in a string must be escaped with \
 
* All numbers in a string must also be escaped.
 
  
 +
==== Saving [Char] Macro Settings ====
 +
* Select [ByChar] from the Macro Settings dropdown then click the "CopyTo" button.
 +
* Your chat bar will be filled with the string "/vt settings savechar" -- Type a name after "savechar" and press Enter. (eg. "/vt settings savechar ProfileName")
 +
* You will now have a "[Char]ProfileName" profile in the Macro Settings dropdown - You can now safely begin making changes to the settings.
 +
** Changes made within profiles are saved immediately and automatically. You do not have to save after making alterations. This is the reason for using [ByChar] as a template to make new profiles.
  
== Language Details: Operators ==
+
==== Transferring [Char] Profiles to Alt Char. ====
The following operators are recognized (listed in order of precedence):
+
* To transfer a [Char] setting profile over to another character you will need to load the [Char]profile, disable Mine Only and click CopyTo.
 +
* In your chat bar you will see the string "/vt settings save" - type a profile name and click enter. (eg. "/vt settings save ProfileName")
 +
* On the character you want the profile transferred to, uncheck Mine Only and select the Macro Settings dropdown. You will see "ProfileName" listed without a [Char] tag.
 +
* You now need to save the cross-char profile as a [Char] profile. Select "ProfileName" from the dropdown and then enable Mine Only. Click "CopyTo" and the string "/vt settings savechar" should appear in your chat bar. Type ProfileName and press Enter.
 +
** You should now see "[Char]ProfileName" in your macro settings dropdown list.
 +
**Now you must populate the Items/Consumables tab with your items, and assign any weapon types in the Monster tab that may have become unassigned as a result of transferring the profile.
  
* \ escapes a special character so that it is treated as part of a string. For instance, ".\*" yields the string ".*" rather than attempting to multiply.
+
=== Auto-Navigation Profiles ===
* ( and ) allow grouping of expressions to change precedence.
+
* To create a new route select [None] from the dropdown and then click the "CopyTo" button - "/vt nav save" will appear in your char bar, type a name and hit Enter
* % performs integer [http://en.wikipedia.org/wiki/Modulo_operation modulo division]. For instance, 13%3 yields 1.
+
* Build and edit your routes on the Routes tab
* / performs division.
 
* * performs multiplication.
 
* + performs addition on numbers, or concatenates two strings.
 
* - performs subtraction.
 
* # performs a regex match, yielding true if the match succeeded or false otherwise. The item after the # is the regex and the one before it is the string to match against. For instance, abc#b returns true, because 'abc' contains b.
 
* !=, ==, >, <, >=, <= comparison operators: compares two expressions and yields true or false. The two expressions to be compared must be of the same type. String comparisons are not case sensitive.
 
* && yields true if two boolean expressions are both true.
 
* || yields true if either of two boolean expressions are true.
 
* ^ performs a bitwise [https://en.wikipedia.org/wiki/Exclusive_or exclusive or] on two numbers, treating them as integers.
 
  
 +
=== Looting Profiles ===
 +
* Displays a list of loot profiles, select one to load it
 +
* Profiles loaded from your \\VirindiPlugins\VirindiTank folder
  
== Language Details: Strings ==
+
* Loot profiles for Virindi Tank are built outside of game using the [[Virindi_Tank_Classic_Loot_System|Virindi Tank Classic Loot System]]
Strings in an expression are a continuous series of letters, spaces, and escaped characters. Anything other than a letter or a space should be escaped by adding a \ in front of it.
+
* The classic looter is extremely powerful. Example profiles are available on the above page.
 +
* [http://www.immortalbob.com Immortalbob.com] provides a profile called "Lootsnob" that has hundreds of rules for all manner of armor/weapon/trophies/collectibles.
  
Examples:
+
** Aside from the Vtank Classic Looter, you can also use [http://asheron.aetherific.com/Alinco Alinco3], [http://asheron.aetherific.com/GearFoundry GearFoundry], or any other plugin that will link its profile to Vtank
* Desired string: "hello world" Expression string: "hello world"
+
** OnLogin, if no loot profile is selected, Vtank will detect if GearFoundry or Alinco is loaded and provide a link you can click to attach your profile to Vtank.
* Desired string: "a-b" Expression string: "a\-b"
 
* Desired string: "a! b-~! c123'." Expression string: "a\! b\-\~\! c\1\2\3\'\."
 
  
== Function Information ==
+
=== Meta Action Profiles ===
 +
* Select a meta profile from the dropdown list to load it
 +
* You build and edit on the [[BeginnerBundleGuide#Meta tab|Meta tab]]
  
Expand to view details and available examples.
+
== Vitals tab ==
 +
The vitals tab is crucial to your survival. Depending on your skill level you will want to adjust the sliders to best fit your circumstances.
 +
Lower level spells do not revitalize as well so the sliders must be adjusted to give you maximum benefit. Trial and error is the name of the game.
  
There are currently 61 meta functions.
+
[[image:Vtank_vitals.PNG]]
  
See the [[Virindi Tank Changelog]] for the most recent additions.
+
* The first three sliders manage your vitals during combat
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
* The second set of sliders manages your Top-off vitals. When there are no combat targets in range you will recharge to these values.
'''testvar[1]'''
 
<div class="mw-collapsible-content">'''Description''': Tests if a meta variable is defined. Returns true if it is, or false otherwise.
 
  
'''Parameter count''': 1
+
* The third set of sliders manages your Helper spells
  
'''Param 0 (String)''': The variable name to test
+
**[[Virindi_Tank_Advanced_Options#Recharge|Advanced Recharge Options]] can be used to set exact percentages of vitals, enable Helper spells, and set ranges.
  
'''Example''': ''testvar[exampleVar]''</div>
+
== Monsters tab ==
</div>
+
The monsters tab is where you will manage the different types of attacks, debuffs, and weapons you use against specific monsters.
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
[[image:Vtank_monsters.PNG]]
'''getvar[1]'''
 
<div class="mw-collapsible-content">'''Description''': Returns the value of a meta variable, or false if it is not defined.  
 
  
'''Parameter count''': 1
+
* Type in a monster name and click Add, or select a monster in the 3D window and click Add Sel.
  
'''Param 0 (String)''': The variable name to get
+
* Once you have a monster name entered you can set the ways you want to react. Hovering over each of the letters will show a tooltip.
 +
* Click the text beneath Dmg type / Extra Vuln / Weapon / Offhand / PetDmg to cycle through the available options.
  
'''Example''': ''getvar[exampleVar]''</div>
+
The monster list can be very simple or quite complex, depending on your needs.
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
There are advanced operators and variables you can use to account for very specific situational problems
'''setvar[2]'''
 
<div class="mw-collapsible-content">'''Description''': Sets the value of a meta variable.
 
  
'''Parameter count''': 2
+
Check out [[Virindi_Tank_Monster_List_Matching | Monster List Matching]] for more information.
  
'''Param 0 (String)''': The variable name to set
+
== Items tab ==
 +
Within the items tab you add all of your weapons/wands/shields/pets you want to use in your profile.
  
'''Example''': variables can be strings or integers
+
[[image:Vtank_items.PNG]]
  
''setvar[exampleVar, variable]''
+
*Select an item in your inventory and click "Add" to add it to the list.
  
''setvar[exampleVar, 1]''</div>
+
Once an item is listed it can be set in the Monsters tab under the appropriate options.
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''touchvar[1]'''
 
<div class="mw-collapsible-content">'''Description''': Sets the value of a meta variable to false if the variable was previously undefined. Returns true if the variable was previously defined, or false otherwise.
 
  
'''Parameter count''': 1
+
== Consumables tab ==
  
'''Param 0 (String)''': The variable name to touch
 
  
'''Example''': ''touchvar[exampleVar]</div>
+
[[image:Vtank_consumables.PNG]]
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
* If you use any type of gems/foods/healing kits/potions/lockpicks etc, you can add them to the Consumables list and have Vtank automatically use them at the appropriate times.
'''clearallvars[]'''
+
* If you don't want to use high level spells you can exclude Scarab types so the spells aren't cast. This is handy for saving on spellcomps when hunting lower level areas on a high level character.  
<div class="mw-collapsible-content">'''Description''': Undefines all meta variables.<br>
 
  
'''Parameter count''': 0</div>
 
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
[[Virindi_Tank_Advanced_Options#Crafting|Advanced Crafting Options]]
'''clearvar[1]'''
 
<div class="mw-collapsible-content">'''Description''': Undefines a single meta variable. Returns true if the variable was previously defined, otherwise false.
 
  
'''Parameter count''': 1
 
  
'''Param 0 (String)''': The variable name to clear
+
* '''Notes''':
 +
** Items that cast spells lasting less than 5 minutes will not work.
  
'''Example''': ''clearvar[exampleVar]''</div>
 
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
== Buffs tab ==
'''getcharintprop[1]'''
+
Vtank reads your characters skills, spellbook, and available spellcomps to determine which spells to cast.  
<div class="mw-collapsible-content">'''Description''': Returns a character intvalue property, or false if the property is not defined.
 
  
'''Parameter count''': 1
+
[[image:Vtank_buffs.PNG]]
  
'''Param 0 (Number)''': IntValueKey property id.</div>
+
Creature buffs are always cast. Which ones are used are selected automatically based on the skills that you have trained.
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
* The buffs tab is used when you want to Add or Exclude buffs from your buffing profile.
'''getchardoubleprop[1]'''
+
* Normally you will not need to change anything on this tab.  
<div class="mw-collapsible-content">'''Description''': Returns a character doublevalue property, or false if the property is not defined.
 
  
'''Parameter count''': 1
+
* Life protections and banes can be selected through the advanced panel by changing the BuffProfile_Prots and BuffProfile_Banes options. The builtin selections are:
  
'''Param 0 (Number)''': DoubleValueKey property id.</div>
+
    All (Bludgeon, Pierce, Slash, Acid, Lightning, Cold, Fire)
</div>
+
    None
 +
    B (Bludgeon)
 +
    BPS (Bludgeon, Pierce, Slash)
 +
    BPSA (Bludgeon, Pierce, Slash, Acid)
 +
    ALFC (Acid, Lightning, Fire, Cold)
 +
    Custom (see below)
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
'Custom' element sets are specified similarly to the above, by selecting among the letters BPSALFC. To do this, set the option in the advanced options panel to 'Custom' and then issue a command like the following, replacing BPSALFC with the letters you want:
'''getcharquadprop[1]'''
 
<div class="mw-collapsible-content">'''Description''': Returns a character quadvalue property, or false if the property is not defined. Because expression variables are doubles, precision will be lost if the value is greater than 2^53-1 (~9 quadrillion)
 
  
'''Parameter count''': 1
+
    /vt opt set BuffProfile-Prots BPSALFC
 +
    /vt opt set BuffProfile-Banes BPSALFC
  
'''Param 0 (Number)''': QuadValueKey property id</div>
+
Set [[Virindi_Plugins_FAQ#How_does_Virindi_Tank_know_what_level_of_spells_to_use.2C_and_how_can_I_change_it.3F|skill thresholds]] so you can pick up scrolls and attempt to cast spells above your skill level
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
[[Virindi_Tank_Advanced_Options#Buffing|Advanced Buffing Options]]
'''getcharboolprop[1]'''
 
<div class="mw-collapsible-content">'''Description''': Returns a character boolvalue property, or false if the property is not defined.
 
  
'''Parameter count''': 1
 
  
'''Param 0 (Number)''': BoolValueKey property id</div>
+
* '''Notes''':
</div>
+
** "/filter -magic" will cause Vtank to loop and continuously cast a single spell. You can "/filter -spellcasting" without issues.
 +
** You can safely filter the chat using the AC Chat options instead of the /filter commands.
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''getcharstringprop[1]'''
 
<div class="mw-collapsible-content">'''Description''': Returns a character stringvalue property, or false if the property is not defined.
 
  
'''Parameter count''': 1
+
== Route tab ==
 +
This is where you will build all of your auto-navigation routes.
  
'''Param 0 (Number)''': StringValueKey property id.</div>
+
[[image:Route_tab.PNG]]
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
* Turn your character with [[Virindi_Plugins_FAQ#My_character_stops_at_each_Nav_point_in_my_route_and_won.27t_proceed_until_I_press_a_key._What.27s_wrong.3F|camera turning]] must be disabled for auto-navigation to function
'''getisspellknown[1]'''
+
* Default movement keys must be used in your keyboard configuration
<div class="mw-collapsible-content">'''Description''': Returns true if a given spell id is learned, or false otherwise.
 
  
'''Parameter count''': 1
 
  
'''Param 0 (Number)''':The SpellId to query </div>
+
There are 4 types of routes you can build:
</div>
+
* Circular routes traverse waypoints in the order ABC-ABC.(After last waypoint, will return to first waypoint)
 +
* Linear routes traverse waypoints in the order ABC-CBA. (Will run back and forth from beginning to end)
 +
* Once routes traverse a route just once. Waypoints in the route tab will appear to delete themselves, reloading the route reloads the waypoints (Good for ToVendor/ToDungeon routes.)
 +
* Follow routes follow another player-character. See [[BeginnerBundleGuide#Virindi_Follower|Mini Remote]]
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''getcancastspell_hunt[1]'''
 
<div class="mw-collapsible-content">'''Description''': Queries if a spell can be cast using the current VTank settings. This examines scarab count, buffed skill, and presence in the spellbook. Skill is checked against SpellDiffExcessThreshold-Hunt.
 
  
'''Parameter count''': 1
+
* To build a route you simply run while clicking the  "Add" button to add waypoints.
 +
* Aside from waypoints you can input Recalls, Use Portal/NPC, Pauses, Chat commands and Jumps.
  
'''Param 0 (Number)''':The SpellId to query </div>
 
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
Jumps
'''getcancastspell_buff[1]'''
+
* Jumps can be executed by a chat command, or added to a navroute using a different command
<div class="mw-collapsible-content">'''Description''': Queries if a spell can be cast using the current VTank settings. This examines scarab count, buffed skill, and presence in the spellbook. Skill is checked against SpellDiffExcessThreshold-Buff.
+
* Execute a jump:  "/vt jump [heading in degrees] [shift: true or false] [milliseconds to charge the power bar]
 +
* Add a jump to a route: "/vt addnavjump [heading] [shift] [milliseconds]"
 +
* Execute a strafe jump: "/vt addnavjump [heading] [shift: true or false] [milliseconds] [strafeleft/straferight/forward]"
 +
** For example "/vt jump 360 true 500 strafeleft" will make you face north and do a left-strafe shift jump at half power.  
  
'''Parameter count''': 1
 
  
'''Param 0 (Number)''':The SpellId to query </div>
+
*Note: /vt addnavjump will automatically pause and issue the jump. If you use the /vt jump command you must add the pauses yourself
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''getplayerlandcell[0]'''
 
<div class="mw-collapsible-content">'''Description''': Returns the landcell the player is currently standing in as a number, including the landblock portion<br>
 
  
'''Parameter count''': 0</div>
+
Checkpoints
</div>
+
* Add to routes with "/vt addnavcheckpoint"
 +
* Functions as a normal waypoint, except that when reaching it the macro pauses until the server reports back your location as being near the point. (Normally, your client sees your location as a bit ahead of what the server sees, due to communication latency.) This point type can ensure that you really made it around a corner or through a doorway. Once the server reports that you are in a location you will not be "rubber-banded" back.  Sometimes you will stop and wait and the server will disagree on your final location, so if you have been waiting awhile the macro will inch forward.
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''getplayercoordinates[0]'''
 
<div class="mw-collapsible-content">'''Description''': Returns the global 3d coordinates for the player's current location, based on the game physics prediction model. Returns a coordinates object.<br>
 
  
'''Parameter count''': 0</div>
+
Route Editing
</div>
+
* You can edit routes by using the drop-down menu containing "Add to End", "Insert Above" and "Insert Below"
 +
* The curly green arrow [[image:GreenTurnDownArrow.PNG ]] sets the route to the nearest waypoint to your location. You can use the green and red up/down arrows to change the waypoint.
 +
* You must change your route to circular to use the curly green arrow. It will not work for once and linear routes. Change back once finished editing.
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''coordinategetns[1]'''
 
<div class="mw-collapsible-content">'''Description''': Returns the north/south portion of a coordinates object as a number.
 
  
'''Parameter count''': 1
 
  
'''Param 0 (Coordinates)''': The coordinates object.</div>
+
* [[Virindi_Tank_Standard_Options#Route_tab|Standard Options]]
</div>
+
* [[Virindi_Tank_Advanced_Options#Navigation|Advanced Navigation Options]] have tweaks for approach corpse distance, opendoors enable/disable, nav priority boost and others.
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
== Meta tab ==
'''coordinategetwe[1]'''
+
The Virindi Tank Meta system is a way to control what the macro is doing on a higher level than normal operations. The system allows you to implement a [http://en.wikipedia.org/wiki/Finite-state_machine Finite-state machine]. This machine consists of rules and states.  
<div class="mw-collapsible-content">'''Description''': Returns the west/east portion of a coordinates object as a number.
 
  
'''Parameter count''': 1
+
With meta you can create Hunt / Recomp / Return On Death routines, automate entire quests, control multiple characters through chat commands and much more.
  
'''Param 0 (Coordinates)''': The coordinates object.</div>
+
Check out the [[Virindi_Tank_Meta_System|Meta System]] page for more information.
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''coordinategetz[1]'''
 
<div class="mw-collapsible-content">'''Description''': Returns the z (vertical) portion of a coordinates object as a number.
 
  
'''Parameter count''': 1
+
= Virindi Classic Looter =
  
'''Param 0 (Coordinates)''': The coordinates object.</div>
+
Virindi Tank provides a standalone loot editor called Virindi Classic Looter
</div>
+
* Found in your VirindiPlugins\VirindiTankClassicLooter folder (typically  C:\Games\VirindiPlugins\VirindiTankClassicLooter)
 +
** Run "uTank2 Settings Editor.exe"
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
The Classic Looter is quite extensive and requires detailed explanations.
'''coordinatetostring[1]'''
 
<div class="mw-collapsible-content">'''Description''': Returns the the string representation of a coordinates object.
 
  
'''Parameter count''': 1
+
Information can be found on the following pages
 +
* [[VTClassic_Tutorial |Tutorial]]
 +
* [[VTClassic_Advanced_Tips |Advanced Tips]]
 +
* [[VTClassic_Sample_Profiles |Sample Profiles]]
 +
* [http://acpedia.org/wiki/User:Immortalbob/Guides/Beginner%27s_Guide_to_looting_with_VTank VTClassic Guide] - by Immortalbob
  
'''Param 0 (Coordinates)''': The coordinates object.</div>
+
If you don't like the Classic Looter or feel it is too complicated for your needs you can use an alternate plugin for loot profiles
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
At login, Vtank will auto-detect if you are running Alinco or GearFoundry without a loot profile loaded.
'''coordinateparse[1]'''
+
If so, it will provide a link to connect the plugins.
<div class="mw-collapsible-content">'''Description''': Builds a coordinates object from a string. It should be of the form '00.0N, 00.0W'. Z coordinates are not specified. Returns false in case of parse failure.
+
** [http://asheron.aetherific.com/GearFoundry GearFoundry]
 +
** [http://asheron.aetherific.com/Alinco Alinco3] - How to [[Virindi_Plugins_FAQ#How_do_I_use_Alinco_with_Virindi_Tank.3F |connect Alinco]] (Alinco does not recognize tier8 loot)
  
'''Parameter count''': 1
+
= Virindi Integrator2 [[image:I2_Icon_inactive.PNG]] [[image:I2_Icon_Active.PNG]] =
 +
* VI2 connects to a central server in order to provide fellow-like groups, friends notifications, tells, automated mapping and ally location awareness.
 +
* Friends and /tells in VI2 operate through an account-based system; sent tells go to every character logged in under the same VI2 account, and friends logging on to their VI2 account appear as online regardless of which AC character or server they are logged in to.
 +
* VI2 is completely AC-world independent, allowing communication and even questing to function easily across different game worlds.
  
'''Param 0 (String)''': The coordinates string.</div>
+
* Fellow Members prefer to attack vulned/imped mobs first.
</div>
+
* Fellow members will try not to double-vuln mobs
 +
* Fellow Members heal each other without the need for the AC Fellow Panel to be open
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''coordinatedistancewithz[2]'''
 
<div class="mw-collapsible-content">'''Description''': Returns the 3d distance between two coordinates. The result is a number specified in meters.
 
  
'''Parameter count''': 2
+
Visit the [[Virindi Integrator 2 |Virindi Integrator2]] page for a detailed breakdown of the plugin.
  
'''Param 0 (Coordinates)''': The first coordinates object.
 
  
'''Param 1 (Coordinates)''': The second coordinates object.
+
= Virindi Reporter [[image:Reporter_Icon.PNG]] =
 +
* Reports XP/Lum Earnings to yourself, fellowship chat, or allegiance chat.
 +
* Must be running for XP/Lum Earning properties to appear on the Status HUD
  
'''Example''': [http://www.immortalbob.com/phpBB3/viewtopic.php?f=24&t=120 Landscape Item Pickup Tutorial] </div>
+
[[Virindi_Reporter |More]]
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''coordinatedistanceflat[2]'''
 
<div class="mw-collapsible-content">'''Description''': Returns the 2d distance between two coordinates. The result is a number specified in meters. Z coordinates are ignored.
 
  
'''Parameter count''': 2
+
= Virindi Chat System 5 [[image:VCS_Icon.PNG]]=
 +
* A filtering plugin for text in the AC chatboxes. It allows you to define rules that specify where matching text will go, and what color it will become, with the option for corresponding sound alerts.
 +
* These rules apply not only to AC's text, but also to the text output of all Virindi Bundle plugins.
  
'''Param 0 (Coordinates)''': The first coordinates object.
+
[[Virindi_Chat_System_5|More]]
  
'''Param 1 (Coordinates)''': The second coordinates object.</div>
 
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
= Virindi Item Tool [[image:VIT_Icon.PNG]] =  
'''wobjectgetphysicscoordinates[1]'''
+
* The Give tab is used to hand large quantities of the same type item, quickly, to another character or NPC
<div class="mw-collapsible-content">'''Description''': Queries the game's physics prediction model for the coordinates of a given object. Returns a coordinates object.
+
* The Buy tab has options to select which item you need to buy, how many, and which items to sell to cover the costs(pea's/mmds)
 +
* The GiveVT tab has the Go button for pre-built Buy/Sell profiles to be triggered
 +
* The Chest tab allows you to automatically use keys on a chest and transfer looted items to a mule.
 +
* The Comps tab stores a list of user selected items to automatically purchase from vendors
  
'''Parameter count''': 1
+
* [http://magtools.codeplex.com Mag-Tools] calls on VIT to handle item transfer for its Auto Buy/Sell feature.
  
'''Param 0 (WorldObject)''': The world object to examine.</div>
+
[[Virindi_Item_Tool |More]]
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''wobjectgetname[1]'''
 
<div class="mw-collapsible-content">'''Description''': Returns the name string for a given world object.
 
  
'''Parameter count''': 1
+
= Virindi Follower =
  
'''Param 0 (WorldObject)''': The world object to examine.</div>
+
Follow Character is built in to the [[Virindi HUDs]] MiniRemote
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
* Select who you want to follow and Press the "FC" button [[image:Follow_Char.PNG]] on the MiniRemote.
'''wobjectgetobjectclass[1]'''
+
* "C" toggles "Follow character around corners"
<div class="mw-collapsible-content">'''Description''': Returns the objectclass for a given world object, as a number.
+
** Enabled: Follows the leaders exact route - Mostly used inside
 +
** Disabled: Runs directly at the leader - Mostly used outside
  
'''Parameter count''': 1
 
  
'''Param 0 (WorldObject)''': The world object to examine.</div>
+
The stand-alone version of [[Virindi Follower]] is unlikely to be updated in the future.
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''wobjectgettemplatetype[1]'''
 
<div class="mw-collapsible-content">'''Description''': Returns the game template type for a given world object, as a number.
 
  
'''Parameter count''': 1
+
= Virindi HUDs [[image:VirindiUIsIcon.png]]=
 +
Currently included:
 +
* Comps HUD
 +
* VTank Remote Control
 +
* VVS Chat Window
 +
* Status HUD
 +
* H/S/M Bar.
 +
* Old Style H/S/M Bar
 +
* ItemTool Comps HUD
  
'''Param 0 (WorldObject)''': The world object to examine.</div>
+
More information on the [[Virindi HUDs]] or [[Customize Your View]] page
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''wobjectgetisdooropen[1]'''
 
<div class="mw-collapsible-content">'''Description''': Returns the a boolean indicating if a door object is open.
 
  
'''Parameter count''': 1
+
= Virindi Hotkey System [[image:Virindi_Hotkey_System_Icon.PNG]] =
 +
* Allows you to set hotkeys to perform functions created by different plugins.
 +
* As an alternative to Decal Hotkey System, VHS uses Virindi Views
 +
* Supports assigning hotkeys to joystick/gamepad buttons.
  
'''Param 0 (WorldObject)''': The door world object to examine.</div>
+
[[Virindi Hotkey System|More]]
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''wobjectfindnearestmonster[0]'''
 
<div class="mw-collapsible-content">'''Description''': Returns a world object for the nearest monster, or false if no monsters are visible. Ignores blacklisted monsters.<br>
 
  
'''Parameter count''': 0</div>
+
= Virindi Sense [[image:Virindi_Sense_Icon.PNG]]=
</div>
+
A simple 6th Sense style plugin.
 +
* Input items you wish to track on the Setup tab
 +
* If something is detected you will be alerted in chat and the item will be listed on the Detected tab
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
[[Virindi_Sense|More]]
'''wobjectfindnearestdoor[0]'''
 
<div class="mw-collapsible-content">'''Description''': Returns a world object for the nearest door, or false if no doors are visible.<br>
 
  
'''Parameter count''': 0
 
  
'''Example''': http://www.virindi.net/junk/door.jpg</div>
+
= Virindi Window Tool [[image:VWTIcon.png]] =
</div>
+
* Used to manage multiple UI Layouts
 +
* Save and load UI captures with a GUI rather than the AC chat commands.
 +
* Saves location of all VVS plugins
 +
* Offers the "Old AC UI" option
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
[[Virindi_Window_Tool|More]]
'''wobjectfindnearestbyobjectclass[1]'''
 
<div class="mw-collapsible-content">'''Description''': Returns a world object for the nearest object of a given class number, or false if no matching objects are visible.
 
  
'''Parameter count''': 1
 
  
'''Param 0 (Number)''': The objectclass number to look for.
+
= Virindi Global Inventory [[image:VGI_Icon.PNG]] =
 +
A simple tool for managing armor, weapons and misc items on mules.
 +
* You must log on each character who's inventory you would like to track and choose a Tracking style, then wait for it to read all items.
 +
* You can search by item name/spells/sets and others. It will display all items matching the query and the character each item is on.
 +
* Suit Search application helps you filter through and match your gear to create the best possible suits.
 +
* World View application lists all weapons and pets for each character in a spreadsheet for easy viewing.
  
'''Notes''': As of Virindi Tank 0.3.1.172 this function no longer returns the current player. It will return the nearest player to you.</div>
+
[[Virindi_Global_Inventory|More]]
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''wobjectfindininventorybytemplatetype[1]'''
 
<div class="mw-collapsible-content">'''Description''': Returns a world object for the first inventory object of a given template type number, or false if no matching objects are visible.
 
  
'''Parameter count''': 1
+
= GoArrow (VVS) [[image:GoArrow_Icon.PNG]] =
 +
A version of Digero's GoArrow plugin which has been modified to operate in Virindi Views.
  
'''Param 0 (Number)''': The template type number to look for.
+
* Route-finding between any location by coordinates, searching locations, or manipulating the map.
 +
* Arrow HUD to show you the direction of your next waypoint or endpoint.  
 +
* Filter options and ranges to display locations/npcs in your vicinity
  
'''Example''': http://www.virindi.net/junk/expr-usingtemplates.jpg</div>
+
[[GoArrow_(VVS_Edition)|More]]
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''wobjectfindininventorybyname[1]'''
 
<div class="mw-collapsible-content">'''Description''': Returns a world object for the first inventory object of a given name, or false if no matching objects are visible.
 
  
'''Parameter count''': 1
+
= SSSort (VVS) [[image:SSSort_VVS_Icon.PNG]]=
 +
SSSort sorts the scrolls, salvage, or mana stones in your main pack or side packs.
  
'''Param 0 (String)''': The item name to look for.</div>
+
It has a number of specialized sorting criteria for scrolls, salvage, and mana stones.  
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
[[SSSort_(VVS_Edition)|More]]
'''wobjectfindininventorybynamerx[1]'''
 
<div class="mw-collapsible-content">'''Description''': Returns a world object for the first inventory object of a given name regex, or false if no matching objects are visible.
 
  
'''Parameter count''': 1
 
  
'''Param 0 (String)''': The item name to look for. This parameter is a regex.</div>
+
=Non-Bundle VVS Plugins=
</div>
+
Available for download on the [http://www.virindi.net/plugins/ Virindi Plugins] page.
 +
== Virindi Armor Color Tool [[image:VACT_Icon.PNG]] ==
 +
A DCS-like utility for viewing the colors of armor.
 +
* The colors it displays are the same as found in Virindi Tank propertydumps
 +
* Simply open the plugin and ID an item to retrieve the palette list.  
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
[[Virindi_Armor_Color_Tool|More]]
'''wobjectgetselection[0]'''
 
<div class="mw-collapsible-content">'''Description''': Returns a world object for the selected object, or false if nothing is selected.<br>
 
  
'''Parameter count''': 0</div>
+
== SkunkVision (VVS) [[image:SkunkVision_Icon.PNG]] ==
</div>
+
The SkunkVision control panel has three toggles for enabling or disabling the following features:
 +
* Unclimbable slopes: Highlights those areas of a mountain or cliff that are too steep to climb.
 +
* Impassable water: Highlights those areas of open water that are too deep to wade.
 +
* Dungeon light: Lights up dark dungeon caverns.
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
[[SkunkVision_VVS_Edition|More]]
'''wobjectgetplayer[0]'''
 
<div class="mw-collapsible-content">'''Description''': Returns a world object for the player.
 
  
'''Parameter count''': 0</div>
 
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
== Virindi XP Helper [[image:XPHelper_Icon.PNG]]==
'''wobjectfindnearestbynameandobjectclass[2]'''
+
Virindi XP Helper assists in determining how much your character's primary attributes (strength, endurance, etc) should cost to raise based on the costs of your skills and secondary attributes (health, stamina, mana).  
<div class="mw-collapsible-content">'''Description''': Returns a world object for the nearest object whose name matches a given regular expression and whose objectclass is a particular value.
 
  
'''Parameter count''': 2
+
[[Virindi_XPHelper|More]]
  
'''Param 0 (Number)''': The objectclass number to look for.
 
  
'''Param 1 (String)''': The name of the object to search for. This parameter is a regex.
+
== Virindi Old Comp System [[image:Virindi_OCS_Icon.PNG]]==
</div></div>
+
VirindiOCS (Old Comp System) tracks the burning of components, predicts runtime, and allows you to purchase the proper ratios of components for a particular approximate runtime.  
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
+
The goal is to make it easier for you to use old components (with peas).
'''actiontryselect[1]'''
 
<div class="mw-collapsible-content">'''Description''': Attempts to select a world object.
 
  
'''Parameter count''': 1
+
[[Virindi_OCS|More]]
 
 
'''Param 0 (WorldObject)''': The world object to attempt to select.
 
 
 
'''Example''': http://www.virindi.net/junk/select.jpg</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''actiontryuseitem[1]'''
 
<div class="mw-collapsible-content">'''Description''': Attempts to use a world object by itself (like a potion or door).
 
 
 
'''Parameter count''': 1
 
 
 
'''Param 0 (WorldObject)''': The world object to attempt to use.</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''actiontryapplyitem[2]'''
 
<div class="mw-collapsible-content">'''Description''': Attempts to use a world object on another world object. Returns false if failed and true if the attempt could possibly succeed.
 
 
 
'''Parameter count''': 2
 
 
 
'''Param 0 (WorldObject)''': The world object to use first.
 
 
 
'''Param 1 (WorldObject)''': The world object to be used on.</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''actiontrygiveitem[2]'''
 
<div class="mw-collapsible-content">'''Description''':  Attempts to hand an item to a player or NPC. Returns false if failed and true if the attempt could possibly succeed.
 
 
 
'''Parameter count''': 2
 
 
 
'''Param 0 (WorldObject)''': The world object to give.
 
 
 
'''Param 1 (WorldObject)''': The world object to be given to (ie. player or NPC).</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''actiontryequipanywand[0]'''
 
<div class="mw-collapsible-content">'''Description''': Attempts to take one step towards equipping any wand from the current profile's items list. Returns true if a wand is already equipped, otherwise false.<br>
 
'''Parameter count''': 0</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''actiontrycastbyid[1]'''
 
<div class="mw-collapsible-content">'''Description''': Attempts to cast a particular spell without a target (like a self spell). Checks the spell requirements as if it were a 'hunting' spell. If the character is not in magic mode, one step is taken towards equipping any wand. Returns 1 if the attempt has begun, 0 if the attempt has not yet been made, or 2 if the attempt is impossible.
 
 
 
'''Parameter count''': 1
 
 
 
'''Param 0 (Number)''': The spell ID to cast.</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''actiontrycastbyidontarget[2]'''
 
<div class="mw-collapsible-content">'''Description''': Attempts to cast a particular spell on a target WorldObject. Checks the spell requirements as if it were a 'hunting' spell. If the character is not in magic mode, one step is taken towards equipping any wand. Returns 1 if the attempt has begun, 0 if the attempt has not yet been made, or 2 if the attempt is impossible.
 
 
 
'''Parameter count''': 2
 
 
 
'''Param 0 (Number)''': The spell ID to cast.
 
 
 
'''Param 1 (WorldObject)''': The object to target with the spell.</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''isfalse[1]'''
 
<div class="mw-collapsible-content">'''Description''': Takes any type and returns true if and only if it is a number with value 0 (false). Returns false otherwise.
 
 
 
'''Parameter count''': 1
 
 
 
'''Param 0 (Any)''': The object to examine</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''istrue[1]'''
 
<div class="mw-collapsible-content">'''Description''': Takes any type and returns true if and only if it is a number with a value other than 0 (true). Returns false otherwise.
 
 
 
'''Parameter count''': 1
 
 
 
'''Param 0 (Any)''': The object to examine</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''iif[3]'''
 
<div class="mw-collapsible-content">'''Description''': Examines the first parameter. If it is true, the second parameter is returned. Otherwise, the third parameter is returned. (If the first parameter is not a number, the third parameter is returned.)
 
 
 
'''Parameter count''': 3
 
 
 
'''Param 0 (Any)''': The object to examine
 
 
 
'''Param 1 (Any)''': What to return if the first parameter is true.
 
 
 
'''Param 2 (Any)''': What to return if the first parameter is not true</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''randint[2]'''
 
<div class="mw-collapsible-content">'''Description''': Returns a random integer between min and max
 
 
 
'''Parameter count''': 2
 
 
 
'''Param 0 (Number)''': Minimum
 
 
 
'''Param 1 (Number)''': Maximum</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''cstr[1]'''
 
<div class="mw-collapsible-content">'''Description''': Converts a number to a string.
 
 
 
'''Parameter count''': 1
 
 
 
'''Param 0 (Number)''': The number to convert</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''strlen[1]'''
 
<div class="mw-collapsible-content">'''Description''': Returns the number of characters in a string, as a number.
 
 
 
'''Parameter count''': 1
 
 
 
'''Param 0 (String)''': The string to examine</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''getobjectinternaltype[1]'''
 
<div class="mw-collapsible-content">'''Description''': Returns the internal typeid for a given object as a number. Values are: 0=none, 1=number, 3=string, 7=object.
 
 
 
'''Parameter count''': 1
 
 
 
'''Param 0 (Any)''': The object to examine</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''cstrf[2]'''
 
<div class="mw-collapsible-content">'''Description''': Converts a number to a string using a specified format.
 
 
 
'''Parameter count''': 2
 
 
 
'''Param 0 (Number)''': The number to convert
 
 
 
'''Param 1 (String)''': The format string to use. See: http://msdn.microsoft.com/en-us/library/kfsatb94.aspx</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''stopwatchcreate[0]'''
 
<div class="mw-collapsible-content">'''Description''': Creates and returns a stopwatch object. Counting is not started.<br>
 
 
 
'''Parameter count''': 0
 
 
 
'''Example''': http://www.virindi.net/junk/stopwatch.jpg</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''stopwatchstart[1]'''
 
<div class="mw-collapsible-content">'''Description''': Starts counting on a stopwatch. Returns the stopwatch
 
 
 
'''Parameter count''': 1
 
 
 
'''Param 0 (Stopwatch)''': The stopwatch to start</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''stopwatchstop[1]'''
 
<div class="mw-collapsible-content">'''Description''': Starts counting on a stopwatch. Returns the stopwatch.
 
 
 
'''Parameter count''': 1
 
 
 
'''Param 0 (Stopwatch)''': The stopwatch to stop</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''stopwatchelapsedseconds[1]'''
 
<div class="mw-collapsible-content">'''Description''': Measures the number of seconds elapsed on a stopwatch.
 
 
 
'''Parameter count''': 1
 
 
 
'''Param 0 (Stopwatch)''': The stopwatch to query</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''cnumber[1]'''
 
<div class="mw-collapsible-content">'''Description''': Converts a string to a number (floating point). Returns 0 if the format is invalid.
 
 
 
'''Parameter count''': 1
 
 
 
'''Param 0 (String)''': The string to convert</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''floor[1]'''
 
<div class="mw-collapsible-content">'''Description''': Determines the largest integer less than or equal to the input value.
 
 
 
'''Parameter count''': 1
 
 
 
'''Param 0 (Number)''': The number</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''ceiling[1]'''
 
<div class="mw-collapsible-content">'''Description''': Determines the smallest integer greater than or equal to the input value.
 
 
 
'''Parameter count''': 1
 
 
 
'''Param 0 (Number)''': The number</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''round[1]'''
 
<div class="mw-collapsible-content">'''Description''': Rounds a number to the nearest whole integer.
 
 
 
'''Parameter count''': 1
 
 
 
'''Param 0 (Number)''': The number</div>
 
</div>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:65%">
 
'''abs[1]'''
 
<div class="mw-collapsible-content">'''Description''': Determines the absolute value of a number.
 
 
 
'''Parameter count''': 1
 
 
 
'''Param 0 (Number)''': The number</div>
 
</div>
 
 
 
== Object Properties ==
 
[http://pastebin.com/X05rYnYU Vtank Object Prop Enums]
 
 
 
The following properties have been tested with /vt mexec
 
 
 
{| class="mw-collapsible mw-collapsed wikitable" style="width:20%"
 
|'''ObjectClass'''
 
|
 
|-
 
|Unknown
 
|0
 
|-
 
|MeleeWeapon
 
|1
 
|-
 
|Armor
 
|2
 
|-
 
|Clothing
 
|3
 
|-
 
|Jewelry
 
|4
 
|-
 
|Monster
 
|5
 
|-
 
|Food
 
|6
 
|-
 
|Money
 
|7
 
|-
 
|Misc
 
|8
 
|-
 
|MissileWeapon
 
|9
 
|-
 
|Container
 
|10
 
|-
 
|Gem
 
|11
 
|-
 
|SpellComponent
 
|12
 
|-
 
|Key
 
|13
 
|-
 
|Portal
 
|14
 
|-
 
|TradeNote
 
|15
 
|-
 
|ManaStone
 
|16
 
|-
 
|Plant
 
|17
 
|-
 
|BaseCooking
 
|18
 
|-
 
|BaseAlchemy
 
|19
 
|-
 
|BaseFletching
 
|20
 
|-
 
|CraftedCooking
 
|21
 
|-
 
|CraftedAlchemy
 
|22
 
|-
 
|CraftedFletching
 
|23
 
|-
 
|Player
 
|24
 
|-
 
|Vendor
 
|25
 
|-
 
|Door
 
|26
 
|-
 
|Corpse
 
|27
 
|-
 
|Lifestone
 
|28
 
|-
 
|HealingKit
 
|29
 
|-
 
|Lockpick
 
|30
 
|-
 
|WandStaffOrb
 
|31
 
|-
 
|Bundle
 
|32
 
|-
 
|Book
 
|33
 
|-
 
|Journal
 
|34
 
|-
 
|Sign
 
|35
 
|-
 
|Housing
 
|36
 
|-
 
|Npc
 
|37
 
|-
 
|Foci
 
|38
 
|-
 
|Salvage
 
|39
 
|-
 
|Ust
 
|40
 
|-
 
|Services
 
|41
 
|-
 
|Scroll
 
|42
 
|-
 
|CombatPet
 
|43
 
|-
 
| NumObjectClasses
 
| 44
 
|}
 
 
 
{| class="mw-collapsible mw-collapsed wikitable" style="width:20%"
 
|'''getcharintprop'''
 
|
 
|-
 
|Species
 
|2
 
|-
 
|ContainerSlots
 
|7
 
|-
 
|BurdenUnits
 
|5
 
|-
 
|TotalValue(pyreal)
 
|20
 
|-
 
|SkillCreditsAvail
 
|24
 
|-
 
|Level
 
|25
 
|-
 
|Rank
 
|30
 
|-
 
|Deaths
 
|43
 
|-
 
|DateOfBirth(unix)
 
|98
 
|-
 
|Gender
 
|11
 
|-
 
|Age(seconds)
 
|125
 
|-
 
|XPForVPReduction
 
|129
 
|-
 
|ChessRank
 
|181
 
|-
 
|Heritage
 
|188
 
|-
 
|FishingSkill
 
|192
 
|-
 
|TitlesEarned
 
|262
 
|-
 
|SocRibbonCount(CH)
 
|287
 
|-
 
|SocRibbonCount(WEB)
 
|288
 
|-
 
|SocRibbonCount(RB)
 
|289
 
|-
 
|MeleeMastery
 
|354
 
|-
 
|RangedMastery
 
|355
 
|-
 
|SummoningMastery
 
|362
 
|-
 
|'''Augmentations'''
 
|-
 
|Reinforcement of the Lugians
 
|218
 
|-
 
|Bleeargh's Fortitude
 
|219
 
|-
 
|Oswald's Enchantment
 
|220
 
|-
 
|Siraluun's Blessing
 
|221
 
|-
 
|Enduring Calm
 
|222
 
|-
 
|Steadfast Will
 
|223
 
|-
 
|Ciandra's Essence
 
|224
 
|-
 
|Yoshi's Essence
 
|225
 
|-
 
|Jibril's Essence
 
|226
 
|-
 
|Celdiseth's Essence
 
|227
 
|-
 
|Koga's Essence
 
|228
 
|-
 
|Shadow of the Seventh Mule
 
|229
 
|-
 
|Might of the Seventh Mule
 
|230
 
|-
 
|Clutch of the Miser
 
|231
 
|-
 
|Enduring Enchantment
 
|232
 
|-
 
|Critical Protection
 
|233
 
|-
 
|Quick Learner
 
|234
 
|-
 
|Charmed Smith
 
|236
 
|-
 
|Innate Renewal
 
|237
 
|-
 
|Archmage's Endurance
 
|238
 
|-
 
|Enhancement of the Blade Turner
 
|240
 
|-
 
|Enhancement of the Arrow Turner
 
|241
 
|-
 
|Enhancement of the Mace Turner
 
|242
 
|-
 
|Caustic Enhancement
 
|243
 
|-
 
|Fiery Enhancement
 
|244
 
|-
 
|Icy Enhancement
 
|245
 
|-
 
|Storm's Enhancement
 
|246
 
|-
 
|Infused Creature Magic
 
|294
 
|-
 
|Infused Item Magic
 
|295
 
|-
 
|Infused Life Magic
 
|296
 
|-
 
|Infused War Magic
 
|297
 
|-
 
|Eye of the Remorseless
 
|298
 
|-
 
|Hand of the Remorseless
 
|299
 
|-
 
|Master of the Steel Circle
 
|300
 
|-
 
|Master of the Focused Eye
 
|301
 
|-
 
|Master of the Five Fold Path
 
|302
 
|-
 
|Frenzy of the Slayer
 
|309
 
|-
 
|Iron Skin of the Invincible
 
|310
 
|-
 
|Jack of All Trades
 
|326
 
|-
 
|Infused Void Magic
 
|328
 
|-
 
|InfusedVoid
 
|328
 
|-
 
|'''Luminance/Ratings'''
 
|
 
|-
 
|AuraValor
 
|333
 
|-
 
|AuraProtection
 
|334
 
|-
 
|AuraGlory
 
|335
 
|-
 
|AuraTemperance
 
|336
 
|-
 
|AuraAetheria
 
|338
 
|-
 
|AuraManaFlow
 
|339
 
|-
 
|AuraManaInfusion
 
|340
 
|-
 
|AuraPurity
 
|342
 
|-
 
|AuraCraftsman
 
|343
 
|-
 
|AuraSpecialization
 
|344
 
|-
 
|AuraWorld
 
|365
 
|-
 
|HealBoost Rating(armor/jewelry)
 
|376
 
|-
 
|Vitality Rating(armor/jewelry)
 
|379
 
|-
 
|Total DmgRating
 
|307
 
|-
 
|Total DmgResist
 
|308
 
|-
 
|Total CritDmg
 
|314
 
|-
 
|Total CritDmgResist
 
|316
 
|-
 
|Total DmgResist from Lum (nali + seer)
 
|334
 
|-
 
|Total CritDmgResist from Lum (nali + seer)
 
|336
 
|}
 
 
 
{| class="mw-collapsible mw-collapsed wikitable" style="width:20%"
 
|'''getcharquadprop'''
 
|
 
|-
 
|TotalExperience
 
|1
 
|-
 
|UnassignedExperience
 
|2
 
|-
 
|LuminancePointsCurrent
 
|6
 
|}
 
 
 
{| class="mw-collapsible mw-collapsed wikitable" style="width:20%"
 
|'''getcharstringprop'''
 
|
 
|-
 
|Name
 
|1
 
|-
 
|Title
 
|5
 
|-
 
|FellowshipName
 
|10
 
|-
 
|MonarchName
 
|21
 
|-
 
|Patron
 
|35
 
|-
 
|DateBorn
 
|43
 
|-
 
|MonarchyDescription
 
|47
 
|}
 
 
 
== Examples ==
 
 
 
'''Test for proximity to any portal:'''
 
 
 
coordinatedistancewithz[wobjectgetphysicscoordinates[wobjectfindnearestbyobjectclass[14]],getplayercoordinates[]]<5
 
 
 
 
 
'''Check if you have any Aged or Durable Legendary Keys in your inventory:'''
 
 
 
getobjectinternaltype[wobjectfindininventorybynamerx[\^\(Aged\|Durable\) Legendary Key\$]]==7
 
 
 
 
 
'''Check if there is any object currently selected:'''
 
 
 
getobjectinternaltype[wobjectgetselection[]]==7
 
 
 
 
 
'''Save the selected items name in a variable:'''
 
 
 
setvar[keyName,wobjectgetname[wobjectgetselection[]]]
 
 
 
 
 
'''Combine items in inventory by name:'''
 
 
 
actiontryapplyitem[wobjectfindininventorybyname[itemName], wobjectfindininventorybyname[itemName]]
 
 
 
 
 
'''Combine items in inventory by template type:'''
 
 
 
actiontryapplyitem[wobjectfindininventorybytemplatetype[#],wobjectfindininventorybytemplatetype[#]]
 
 
 
Where # is the template type number. Use wobjectgettemplatetype[wobjectgetselection[]] to obtain the template type number from an object.
 
 
 
 
 
'''Select item in inventory by name:'''
 
 
 
actiontryselect[wobjectfindininventorybyname[itemName]]
 
 
 
 
 
'''Select Nearest Monster:'''
 
 
 
actiontryselect[wobjectfindnearestmonster[]]
 
 
 
 
 
'''Select World Object by ObjectClass:'''
 
 
 
actiontryselect[wobjectfindnearestbyobjectclass[#]] -- Where # is the object class
 
 
 
 
 
'''Select Nearest Vendor:'''
 
 
 
actiontryselect[wobjectfindnearestbyobjectclass[25]]
 
 
 
 
 
'''Select Nearest NPC:'''
 
 
 
actiontryselect[wobjectfindnearestbyobjectclass[37]]
 
 
 
 
 
'''Use Nearest Vendor:'''
 
 
 
actiontryuseitem[wobjectfindnearestbyobjectclass[25]]
 
 
 
 
 
'''Use Nearest NPC:'''
 
 
 
actiontryuseitem[wobjectfindnearestbyobjectclass[37]]
 
 
 
 
 
'''Use Nearest door:'''
 
 
 
actiontryuseitem[wobjectfindnearestdoor[]]
 
 
 
 
 
'''Use nearest portal:'''
 
 
 
actiontryuseitem[wobjectfindnearestbyobjectclass[14]]
 
 
 
 
 
'''Use a Massive Mana Charge on yourself by name:'''
 
 
 
actiontryapplyitem[wobjectfindininventorybyname[Massive Mana Charge], wobjectgetplayer[]]
 
 
 
 
 
'''Use a Mana Stone on yourself by template type:'''
 
 
 
actiontryapplyitem[wobjectfindininventorybytemplatetype[9060],wobjectgetplayer[]]
 
 
 
 
 
'''Use inventory item by template type:'''
 
 
 
actiontryuseitem[wobjectfindininventorybytemplatetype[#]]
 
 
 
 
 
'''Check if your luminance is full (1.5mil):'''
 
 
 
getcharquadprop[6]==1500000
 

Latest revision as of 21:29, 24 March 2022

WORK IN PROGRESS

A Quick Reference Guide for the Virindi Tank Bundle - Compiled by Hell's Wrath

Before diving in you may want to Customize Your View

Virindi Tank TankIcon.PNG

Click the Tank icon TankIcon.PNG on the Virindi Views(VVS) bar to open the main Virindi Tank plugin.

Options tab

The main options page handles basic Vtank ranges and a multitude of easy-access options.

Vtank Main.PNG

For detailed explanations of the individual options on the main tab, visit the Standard Options page

You can also view the entire Advanced Options which will be linked to throughout this guide.


Profiles tab

Vtank Profiles.PNG

Macro Setting Profiles

Understanding how profiles are managed is vital to running an organized macro. You will likely have many profiles for different locations and tasks. There are two types of profiles we will talk about: Those with Mine Only enabled, and those without.

  • Click the Macro Settings dropdown list
  • You will see [Default] and [ByChar] -- You never want to edit settings within these, think of them as templates. You load one, make a save with a specific name, then edit and use the new save.
  • [Default] profile settings will always reset on logout.
  • [ByChar] is associated with the Mine Only radio button. This is the profile type you will use the most.
  • When creating a new character specific profile you want to have the Mine Only radio button enabled, selecting the [ByChar] profile automatically enables Mine Only.

Saving [Char] Macro Settings

  • Select [ByChar] from the Macro Settings dropdown then click the "CopyTo" button.
  • Your chat bar will be filled with the string "/vt settings savechar" -- Type a name after "savechar" and press Enter. (eg. "/vt settings savechar ProfileName")
  • You will now have a "[Char]ProfileName" profile in the Macro Settings dropdown - You can now safely begin making changes to the settings.
    • Changes made within profiles are saved immediately and automatically. You do not have to save after making alterations. This is the reason for using [ByChar] as a template to make new profiles.

Transferring [Char] Profiles to Alt Char.

  • To transfer a [Char] setting profile over to another character you will need to load the [Char]profile, disable Mine Only and click CopyTo.
  • In your chat bar you will see the string "/vt settings save" - type a profile name and click enter. (eg. "/vt settings save ProfileName")
  • On the character you want the profile transferred to, uncheck Mine Only and select the Macro Settings dropdown. You will see "ProfileName" listed without a [Char] tag.
  • You now need to save the cross-char profile as a [Char] profile. Select "ProfileName" from the dropdown and then enable Mine Only. Click "CopyTo" and the string "/vt settings savechar" should appear in your chat bar. Type ProfileName and press Enter.
    • You should now see "[Char]ProfileName" in your macro settings dropdown list.
    • Now you must populate the Items/Consumables tab with your items, and assign any weapon types in the Monster tab that may have become unassigned as a result of transferring the profile.

Auto-Navigation Profiles

  • To create a new route select [None] from the dropdown and then click the "CopyTo" button - "/vt nav save" will appear in your char bar, type a name and hit Enter
  • Build and edit your routes on the Routes tab

Looting Profiles

  • Displays a list of loot profiles, select one to load it
  • Profiles loaded from your \\VirindiPlugins\VirindiTank folder
  • Loot profiles for Virindi Tank are built outside of game using the Virindi Tank Classic Loot System
  • The classic looter is extremely powerful. Example profiles are available on the above page.
  • Immortalbob.com provides a profile called "Lootsnob" that has hundreds of rules for all manner of armor/weapon/trophies/collectibles.
    • Aside from the Vtank Classic Looter, you can also use Alinco3, GearFoundry, or any other plugin that will link its profile to Vtank
    • OnLogin, if no loot profile is selected, Vtank will detect if GearFoundry or Alinco is loaded and provide a link you can click to attach your profile to Vtank.

Meta Action Profiles

  • Select a meta profile from the dropdown list to load it
  • You build and edit on the Meta tab

Vitals tab

The vitals tab is crucial to your survival. Depending on your skill level you will want to adjust the sliders to best fit your circumstances. Lower level spells do not revitalize as well so the sliders must be adjusted to give you maximum benefit. Trial and error is the name of the game.

Vtank vitals.PNG

  • The first three sliders manage your vitals during combat
  • The second set of sliders manages your Top-off vitals. When there are no combat targets in range you will recharge to these values.
  • The third set of sliders manages your Helper spells

Monsters tab

The monsters tab is where you will manage the different types of attacks, debuffs, and weapons you use against specific monsters.

Vtank monsters.PNG

  • Type in a monster name and click Add, or select a monster in the 3D window and click Add Sel.
  • Once you have a monster name entered you can set the ways you want to react. Hovering over each of the letters will show a tooltip.
  • Click the text beneath Dmg type / Extra Vuln / Weapon / Offhand / PetDmg to cycle through the available options.

The monster list can be very simple or quite complex, depending on your needs.

There are advanced operators and variables you can use to account for very specific situational problems

Check out Monster List Matching for more information.

Items tab

Within the items tab you add all of your weapons/wands/shields/pets you want to use in your profile.

Vtank items.PNG

  • Select an item in your inventory and click "Add" to add it to the list.

Once an item is listed it can be set in the Monsters tab under the appropriate options.


Consumables tab

Vtank consumables.PNG

  • If you use any type of gems/foods/healing kits/potions/lockpicks etc, you can add them to the Consumables list and have Vtank automatically use them at the appropriate times.
  • If you don't want to use high level spells you can exclude Scarab types so the spells aren't cast. This is handy for saving on spellcomps when hunting lower level areas on a high level character.


Advanced Crafting Options


  • Notes:
    • Items that cast spells lasting less than 5 minutes will not work.


Buffs tab

Vtank reads your characters skills, spellbook, and available spellcomps to determine which spells to cast.

Vtank buffs.PNG

Creature buffs are always cast. Which ones are used are selected automatically based on the skills that you have trained.

  • The buffs tab is used when you want to Add or Exclude buffs from your buffing profile.
  • Normally you will not need to change anything on this tab.
  • Life protections and banes can be selected through the advanced panel by changing the BuffProfile_Prots and BuffProfile_Banes options. The builtin selections are:
   All (Bludgeon, Pierce, Slash, Acid, Lightning, Cold, Fire)
   None
   B (Bludgeon)
   BPS (Bludgeon, Pierce, Slash)
   BPSA (Bludgeon, Pierce, Slash, Acid)
   ALFC (Acid, Lightning, Fire, Cold)
   Custom (see below)

'Custom' element sets are specified similarly to the above, by selecting among the letters BPSALFC. To do this, set the option in the advanced options panel to 'Custom' and then issue a command like the following, replacing BPSALFC with the letters you want:

   /vt opt set BuffProfile-Prots BPSALFC
   /vt opt set BuffProfile-Banes BPSALFC

Set skill thresholds so you can pick up scrolls and attempt to cast spells above your skill level

Advanced Buffing Options


  • Notes:
    • "/filter -magic" will cause Vtank to loop and continuously cast a single spell. You can "/filter -spellcasting" without issues.
    • You can safely filter the chat using the AC Chat options instead of the /filter commands.


Route tab

This is where you will build all of your auto-navigation routes.

Route tab.PNG

  • Turn your character with camera turning must be disabled for auto-navigation to function
  • Default movement keys must be used in your keyboard configuration


There are 4 types of routes you can build:

  • Circular routes traverse waypoints in the order ABC-ABC.(After last waypoint, will return to first waypoint)
  • Linear routes traverse waypoints in the order ABC-CBA. (Will run back and forth from beginning to end)
  • Once routes traverse a route just once. Waypoints in the route tab will appear to delete themselves, reloading the route reloads the waypoints (Good for ToVendor/ToDungeon routes.)
  • Follow routes follow another player-character. See Mini Remote


  • To build a route you simply run while clicking the "Add" button to add waypoints.
  • Aside from waypoints you can input Recalls, Use Portal/NPC, Pauses, Chat commands and Jumps.


Jumps

  • Jumps can be executed by a chat command, or added to a navroute using a different command
  • Execute a jump: "/vt jump [heading in degrees] [shift: true or false] [milliseconds to charge the power bar]
  • Add a jump to a route: "/vt addnavjump [heading] [shift] [milliseconds]"
  • Execute a strafe jump: "/vt addnavjump [heading] [shift: true or false] [milliseconds] [strafeleft/straferight/forward]"
    • For example "/vt jump 360 true 500 strafeleft" will make you face north and do a left-strafe shift jump at half power.


  • Note: /vt addnavjump will automatically pause and issue the jump. If you use the /vt jump command you must add the pauses yourself


Checkpoints

  • Add to routes with "/vt addnavcheckpoint"
  • Functions as a normal waypoint, except that when reaching it the macro pauses until the server reports back your location as being near the point. (Normally, your client sees your location as a bit ahead of what the server sees, due to communication latency.) This point type can ensure that you really made it around a corner or through a doorway. Once the server reports that you are in a location you will not be "rubber-banded" back. Sometimes you will stop and wait and the server will disagree on your final location, so if you have been waiting awhile the macro will inch forward.


Route Editing

  • You can edit routes by using the drop-down menu containing "Add to End", "Insert Above" and "Insert Below"
  • The curly green arrow GreenTurnDownArrow.PNG sets the route to the nearest waypoint to your location. You can use the green and red up/down arrows to change the waypoint.
  • You must change your route to circular to use the curly green arrow. It will not work for once and linear routes. Change back once finished editing.


Meta tab

The Virindi Tank Meta system is a way to control what the macro is doing on a higher level than normal operations. The system allows you to implement a Finite-state machine. This machine consists of rules and states.

With meta you can create Hunt / Recomp / Return On Death routines, automate entire quests, control multiple characters through chat commands and much more.

Check out the Meta System page for more information.


Virindi Classic Looter

Virindi Tank provides a standalone loot editor called Virindi Classic Looter

  • Found in your VirindiPlugins\VirindiTankClassicLooter folder (typically C:\Games\VirindiPlugins\VirindiTankClassicLooter)
    • Run "uTank2 Settings Editor.exe"

The Classic Looter is quite extensive and requires detailed explanations.

Information can be found on the following pages

If you don't like the Classic Looter or feel it is too complicated for your needs you can use an alternate plugin for loot profiles

At login, Vtank will auto-detect if you are running Alinco or GearFoundry without a loot profile loaded. If so, it will provide a link to connect the plugins.

Virindi Integrator2 I2 Icon inactive.PNG I2 Icon Active.PNG

  • VI2 connects to a central server in order to provide fellow-like groups, friends notifications, tells, automated mapping and ally location awareness.
  • Friends and /tells in VI2 operate through an account-based system; sent tells go to every character logged in under the same VI2 account, and friends logging on to their VI2 account appear as online regardless of which AC character or server they are logged in to.
  • VI2 is completely AC-world independent, allowing communication and even questing to function easily across different game worlds.
  • Fellow Members prefer to attack vulned/imped mobs first.
  • Fellow members will try not to double-vuln mobs
  • Fellow Members heal each other without the need for the AC Fellow Panel to be open


Visit the Virindi Integrator2 page for a detailed breakdown of the plugin.


Virindi Reporter Reporter Icon.PNG

  • Reports XP/Lum Earnings to yourself, fellowship chat, or allegiance chat.
  • Must be running for XP/Lum Earning properties to appear on the Status HUD

More


Virindi Chat System 5 VCS Icon.PNG

  • A filtering plugin for text in the AC chatboxes. It allows you to define rules that specify where matching text will go, and what color it will become, with the option for corresponding sound alerts.
  • These rules apply not only to AC's text, but also to the text output of all Virindi Bundle plugins.

More


Virindi Item Tool VIT Icon.PNG

  • The Give tab is used to hand large quantities of the same type item, quickly, to another character or NPC
  • The Buy tab has options to select which item you need to buy, how many, and which items to sell to cover the costs(pea's/mmds)
  • The GiveVT tab has the Go button for pre-built Buy/Sell profiles to be triggered
  • The Chest tab allows you to automatically use keys on a chest and transfer looted items to a mule.
  • The Comps tab stores a list of user selected items to automatically purchase from vendors
  • Mag-Tools calls on VIT to handle item transfer for its Auto Buy/Sell feature.

More


Virindi Follower

Follow Character is built in to the Virindi HUDs MiniRemote

  • Select who you want to follow and Press the "FC" button Follow Char.PNG on the MiniRemote.
  • "C" toggles "Follow character around corners"
    • Enabled: Follows the leaders exact route - Mostly used inside
    • Disabled: Runs directly at the leader - Mostly used outside


The stand-alone version of Virindi Follower is unlikely to be updated in the future.


Virindi HUDs VirindiUIsIcon.png

Currently included:

  • Comps HUD
  • VTank Remote Control
  • VVS Chat Window
  • Status HUD
  • H/S/M Bar.
  • Old Style H/S/M Bar
  • ItemTool Comps HUD

More information on the Virindi HUDs or Customize Your View page


Virindi Hotkey System Virindi Hotkey System Icon.PNG

  • Allows you to set hotkeys to perform functions created by different plugins.
  • As an alternative to Decal Hotkey System, VHS uses Virindi Views
  • Supports assigning hotkeys to joystick/gamepad buttons.

More


Virindi Sense Virindi Sense Icon.PNG

A simple 6th Sense style plugin.

  • Input items you wish to track on the Setup tab
  • If something is detected you will be alerted in chat and the item will be listed on the Detected tab

More


Virindi Window Tool VWTIcon.png

  • Used to manage multiple UI Layouts
  • Save and load UI captures with a GUI rather than the AC chat commands.
  • Saves location of all VVS plugins
  • Offers the "Old AC UI" option

More


Virindi Global Inventory VGI Icon.PNG

A simple tool for managing armor, weapons and misc items on mules.

  • You must log on each character who's inventory you would like to track and choose a Tracking style, then wait for it to read all items.
  • You can search by item name/spells/sets and others. It will display all items matching the query and the character each item is on.
  • Suit Search application helps you filter through and match your gear to create the best possible suits.
  • World View application lists all weapons and pets for each character in a spreadsheet for easy viewing.

More


GoArrow (VVS) GoArrow Icon.PNG

A version of Digero's GoArrow plugin which has been modified to operate in Virindi Views.

  • Route-finding between any location by coordinates, searching locations, or manipulating the map.
  • Arrow HUD to show you the direction of your next waypoint or endpoint.
  • Filter options and ranges to display locations/npcs in your vicinity

More


SSSort (VVS) SSSort VVS Icon.PNG

SSSort sorts the scrolls, salvage, or mana stones in your main pack or side packs.

It has a number of specialized sorting criteria for scrolls, salvage, and mana stones.

More


Non-Bundle VVS Plugins

Available for download on the Virindi Plugins page.

Virindi Armor Color Tool VACT Icon.PNG

A DCS-like utility for viewing the colors of armor.

  • The colors it displays are the same as found in Virindi Tank propertydumps
  • Simply open the plugin and ID an item to retrieve the palette list.

More

SkunkVision (VVS) SkunkVision Icon.PNG

The SkunkVision control panel has three toggles for enabling or disabling the following features:

  • Unclimbable slopes: Highlights those areas of a mountain or cliff that are too steep to climb.
  • Impassable water: Highlights those areas of open water that are too deep to wade.
  • Dungeon light: Lights up dark dungeon caverns.

More


Virindi XP Helper XPHelper Icon.PNG

Virindi XP Helper assists in determining how much your character's primary attributes (strength, endurance, etc) should cost to raise based on the costs of your skills and secondary attributes (health, stamina, mana).

More


Virindi Old Comp System Virindi OCS Icon.PNG

VirindiOCS (Old Comp System) tracks the burning of components, predicts runtime, and allows you to purchase the proper ratios of components for a particular approximate runtime.

The goal is to make it easier for you to use old components (with peas).

More