Damage Testing Script Primer (zMUD)

General game help topics.
Post Reply
Posts: 156
Joined: Tue Apr 07, 2015 8:24 pm
Location: Seattle

Damage Testing Script Primer (zMUD)

Post by Taziar »

Due to Hress' extensive testing of DMG I will no longer be supporting this script or keeping it updated.

Damage Testing Script Primer (zMUD)

This primer should answer any questions about how to use the House of Medakan Damage Testing Script located here on the wotmudarchives forums. What this primer will not do is give a great explanation on how the process actually works or all that went into figuring out how to do it. Those questions are better answered by Thuvia, who has helped me from the beginning with those kinds of questions. I have added a links section that contains posts by Thuvia on this subject.
I wanted to originally test a couple of lances vs. a couple of spears... nothing in depth, just a general gauge to see what I wanted to use on Taziar when I went charge at one point last year. One thing led to another and I began scripting more and more with Zscript, though my focus went away from the damage testing, and went in other directions, this script sat on the back burner and got little attention. The idea soon turned into a comprehensive script to test all the different damages I was interested in finding out, stab damage, along with the charge damage... melee damage naturally came with those also... if anything just to see how the correlation between melee and the two skills interacted together. But what really got me started on this again in earnest was Hress's post on projectiles. I had never used them in the all the years playing on WoTmud and decided that I wanted to test them the most. I have spent all my time working on polishing this script and not on actually testing any damage... well, that should change now that I feel I have a workable version.
If anyone else is interested in using this script please continue reading so you can know what to expect as you begin your own testing. As always, any questions or any help I can give with zMUD scripts send me a mail here, or on the forums over at wotmod.org

House of Medakan

Thuvia: Thanks for everything! Your help and all the information you have figured out, and then shared with the community is awesome and I am grateful for all your help.


Find a room with more than one sapling, have weapon you want tested equipped, enter command and the script will do the rest. All possible interruptions I could think of were scripted to stop the test and prevent any faulty data from being recorded. If the test is stopped for any reason the script will beep you and automatically stop. Data is written to 5 different text files (.txt) located in whatever the current directory containing your zMUD.exe file. Files 1-4 are written so that you can use a command to bring up the data on your screen and see basic stats like: minimum/maximum damage done during testing, the average damage and the number of tests. Each file records a separate type of damage testing: charge, stab, projectile, and melee. The 5th file stores all of the data in raw numbers for each test, eventually I hope to have a way to submit this file for gathering all the data in one place and sifting through it for results. The script will automatically detect if there is an exp multiplier when connecting and will set itself accordingly, there is also a command to manually set the modifier. Other features include an auto mending function that will mend the test weapon after each test so there is no rounding of damage from weapon degradation. There is also an auto test feature that will repeat the same test over and over (or as long as you have valid targets in the room and nothing interrupts the test). Beware: WoTmud has anti-botting rules and I take no responsibility for anyone's use of this script in violation of those rules. I only test with the auto testing function when remaining at the keyboard... additionally, when testing projectiles you can have an automatic steal function steal back the last projectile you threw and mend it before throwing it again! The damage results function of the script will save the data to the text files and show it on screen if turned on. There is also an option to turn on a child window called Damage Testing Results that will show all the testing data in that window instead of your main window. At the end of testing period you must save results if testing manually with the dmgSave <testType> command (auto test feature saves automatically when the number of inputted tests have been reached.)

Additional HoM scripts:

Full functionality for the script to save data requires some addition information. My ScoreStat script sends both commands on connection, setting variables with information like class, race, gender, stats, and character name. This information is used across multiple scripts and keeping scripts like this modular helps to keep things efficient and organized.
Beep script is used to send beep notifications, these can be adjusted to suit your preferences in both sound type, repeat functionality, and variable duration in between repeated beeps.
Practices saves all of your practice percentages so the relevant data can be written to the files when completing testing. You can also look at your actual percentages this way at anytime instead of having to run to the corresponding trainer. Practice percents are not used in melee testing as your skill does not affect damage output, but this is not clear yet in other testing so that is why this function was added.
WeaponType script sets corresponding keywords to whatever weapon your character is currently using, the last weapon, any thrown weapons, and the last weapon you sheathed. This is used with auto mending so the script knows what command to send to manipulate the current weapon you are testing.
All of these script were written separately so that functionality could be use by other scripts and in other ways.

---Additional Requirements---
Characters should be Level 30+
Weapons should not be honed or hardened.
Str should be 14. While this limits the weapons tested to 14.9 lbs 14 str has been found to not add any damage modifier. Higher weight weapons can be tested, and character STR stat can be higher, it just makes for more a more difficult time dissecting the data.
Hunter class characters cannot be used for damage testing at this time due to the class damage bonus against trees as the targeted mob used in damage testing is the sapling. This will hopefully be addressed in a future update when I can get the right calculations to remove this from the results.
All damage testing is conducted against saplings, and the script uses an auto target function. If more than two sapling exist in the room you are testing the script will rotate between all available targets in the room (never targeting the 1.sapling). If one or less saplings are detected the script will abort and notify you that there are no available targets in the room. When melee testing the trick is to find a room with a bunch of saplings so that your damage is spread among so many targets that you never kill any.
You must have the weapon you want to test equipped when executing the testing command.

---Testing Commands---
dmgTest is the basic testing command. To specify what test you wish to perform you add one of the follow words after the command: charge, stab, projectile, melee. Example: dmgTest melee will execute one melee test against a sapling mob.
dmgSave is the command used to save testing results when you have reached the number of desired tests. You must save before disconnecting (reconnecting really, if disconnected during testing) from the mud, or changing damage testing weapons or types. It uses the same format as dmgTest, place the name of the test after the command (dmgSave <testType>). Example: dmgSave charge to save charge data.
Using the Auto Testing function will automatically save the data for you when you reach the allocated number of successful tests. You can set the number of tests you want the script to automatically run by using the dmgAutoTest command. Type dmgAutoTest <number> to set the desired number of successful tests. Then when you enter the next dmgTest <type> command the script will continue to test until you have the desired number of completed (successful) tests or the script is interrupted due to some kind of interruption. You can shortcut this by adding the number of tests after the dmgTest type command. Example: type dmgTest melee 50 to have script run 50 successful melee tests.

---Feature Defaults---
Certain features are automatically turned off after installation and need to be activated if you wish to use them. Auto mending, auto testing, auto steal, and the Damage Testing Results child window option are all turned off. Commands to turn these on are located in the help file and will be posted at the end of this primer. The results of the damage testing for the individual tests can be toggled on/off and viewed later with the dmgView <testType> command. You can toggle all three of the Auto functions at the same time by using the dmgToggleAuto command. The Auto mending feature interrupts the mending process... this circumvents the weapon degradation effects mending has on a weapon. This could possibly be seen as abuse so use at your own risk (have not heard of anyone ever getting in trouble for this...). Auto testing is also turned off due to botting rules at WoTmud, use this feature at your own risk. Advice: just don't setup a test to run all night while you are sleeping or something, test only when you are able to stay at the computer.

---Files and Saving Test Results---
dmgSave <testType> needs to be used after any test, unless you are using the autoTest feature which will save at the end of testing. If you wish to change weapons, or need to rent, make sure to dmgSave <test type> or else your data will not be saved correctly. In the event of a disconnection from the mud while testing use the dmgSave command before reconnecting as the default values of the variables will be reset and this will affect your results. The script uses some Gvariables (global variables) because of the interaction with the Damage Testing Results window option. To view these variables (you shouldn't ever really need to) you need to click the settings tab and choose global or right click on the main buttons bar and choose customize. All of the files are saved to your current directory that contains your zMUd.exe file, you can manually manipulate the files from there or you can also delete files from the zMUD command line with the dmgDelete <testType> command.

---Links and Other Information---
This section contains links to information Thuvia has posted to give insight and understanding about the process.
A Study of How the Strength Stat Affects Damage
A Study of How Honing Increases Weapon Damage

---Revisions and Updates---
This section, and the rest of the document could change as I tinker with the script and receive any feedback.
Fixed small bug.
Added Multiplier message to saved data if multiplier was greater than 1 at time of testing.
Added disconnect protection, script will now save data automatically if disconnected/re-connection.
-Must add command: dmgDisconnect to your atdisconnect alias. If you don't know what this is follow the following steps:
--In main settings window create a new alias. Name Alias atdisconnect. Place dmgDisconnect as value.
---zMUD automatically calls any commands saved in this alias when you disconnect from the mud.

---Damage Testing Help Files---
Type helpDamageTesting to see help file #1

Type dmgTest <testType> to test a weapon.
-Note: test types are: charge, stab, melee, projectile.
--Example: dmgTest charge to test charge damage.

Type dmgAutoTest <#> to set test number. (feature disabled on installation by default)
-Example: dmgAutoTest 50 will set counter for 50 successful tests.
-Hint: can type a number after dmgTest command to shortcut dmgAutoTest function.
--Example: type dmgTest Melee 50 to have script run automatically until 50 successful tests.
---Due to botting rules @WoTmud use dmgAutoTest feature responsibly and at your own risk.

Type dmgSetMulti <#> to set multiplier when exp is modified.
-A trigger will automatically set multiplier on connection if an exp multiplier is present and detected.

Type toggleAutoMend to toggle automatic weapon mending function on/off. (default off)
Type toggleAutoTest to toggle automatic test function on/off. (default off)
Type toggleAutoSteal to toggle automatic steal projectile function on/off. (default off)
Type toggleDamageResults to toggle if damage results will be shown in window. (default on)
Type toggleDamageWindow to toggle Damage Testing Results window on/off. (default off)

Note: type dmgToggleAuto to shortcut all Auto-Function toggles on or off. (mend, test, and steal)

Type helpDTdata to see help file #2

View and Save test data results
*Use dmgSave commands when finished testing -OR- switching tests to finalize the process.
-Note: using the AutoTest feature automatically saves on completion of testing.

Type dmgSave <testType>
-Example: dmgSave melee (will save results for a melee test and show in DTR window if enabled.)
--Note: testTypes include charge, stab, melee, and projectile.
---Note: saving any of the above test data also saves testData.txt file.

Type dmgView <fileType> to view the associated .txt file in main window.
-Example: dmgView charge (will read the testChargeDamage.txt file in main window.)
--File types: charge, projectile, melee, stab.

Delete test data results
Type dmgDelete <fileType> to delete the associated .txt file.
-Example: dmgDelete charge will delete the testChargeDamage.txt file.
--File types: charge, projectile, melee, stab, data.

All test.txt files are located in the current directory containing your zMUD.EXE file.

---End of Document---
If anyone has any questions, comments, or anything else relating to zMud please shoot me a mail. Ready... Set... Test!!


House of Medakan script page: Table of Contents
House of Medakan cMUD Scripts: Table of Contents

House of Medakan zMUD Scripts: Table of Contents
Post Reply