Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - TrailMyx

Pages: 1 ... 22 23 [24] 25
346
IDOC tools / TrailMyx's IDOC Monitor/Looter v1.0c
« on: June 09, 2008, 12:36:34 PM »
Code: [Select]
;-----------------------------------------------------------
; Script Name: TrailMyx's IDOC Monitor/Looter v1.0c
; Author: TrailMyx
; Version: 1.0c
; Client Tested with: 5.0.2
; EUO version tested with: 1.5 106
; Shard: OSI, FS
; Revision Date:  3/17/2007
; Public Release: ...
; Global Variables Used: None
; Purpose:
;   1) Will watch a house sign for changes to the status and log the
;      progression of the collapse of a house.  This can help increase
;      your chance to be physically available during the collapse since you
;      will know the near exact time when the house changed to IDOC.
;   2) Allow the user to enter a looting profile where individual items
;      can be selected for looting.
;   3) These items can be prioritized into two categories, normal and priority
;   4) Priority items looting attempts are exhausted before proceeding to the
;      normal loot list.
;   5) If an item is found to be out of range, the character will PATHFIND
;      to the item location so a drag may be attempted.
;   6) Loot profile editor allows the user to quickly add/delete items
;      from each looting profile
;   7) These profiles may be saved to a configuration file so a script
;      can be re-started and still have the profile available.  Also, this
;      is useful for when you want to have two or more accounts sharing
;      the same looting profile to increase your chances of accululating the
;      IDOC loot.
;   9) Optimized looter that searches your event pathfind path to be sure
;      you don't pass something else that's on your list.
;  10) Maintain hidden status before and after a looting session and during
;      camping; you have to have hiding greater than 65.0.
;
;  This program wasn't really written to be sub-ed out, so everthing is
;  accessed in std namespace and shared amongst the subs.
;
;-----------------------------------------------------------



What this script does:
1) Monitor a house sign and note when the status changes going from Slightly, Fairly, Greatly and Collapsing.  The time associated with these changes are recorded into a log file.  The logfile also records times at a pre-programmed interval just in case your client crashes; you can at least know what the status of the house was during the time when your client was active.

2) Once the house sign dissappears, the script will start processing the two lists of items you can generate and automatically loot these items on the ground.  You don't have to be within range; the script will move your character to where it finds these items located on the ground.  If you run past something that should be picked up, the script will snag that item before proceeding to the item originally intended.

3) The priority list will be processes first, followed by the normal list of items.
4) Your character can remain hidden before and after the looting process selected by the checkmark.
5) You can save your lists of loot items to a lootfile.  If you want to share this with more than one client, you can increase the odds of snagging the good items!

Enjoy!

TM


This is an update of a very old script I wrote long ago when I was playing on OSI.  I added a nice GUI and loot add/delete function.  The interface is pretty self-explainatory, so just give it a try. 

I have done recent testing on my own RunUO server and I have optimized the loot collection pathing, log file handling and user interface.  Works pretty well now, and should work on OSI just fine.  I haven't run this new looter on a production shard other than my test shard, so any recent feedback would be greatly appreciated.

Also, it should be said that you need to know what's in the house to loot, so the looting part of the script is pointless on OSI and a private house.  (Unless of course you are friended to the house and have access to the front doorsteps. ) The IDOC monitor portion should work fine, however.

Things to remember:

Some items are placed as deed in a house.  So some vet rewards, and other items may not fall to the ground when a house decays.  Most of the time, they just dissappear.

Changes for next version:
 - Add somewhat state to decay range.  Was accidentally deleted at some point.
 - Add check to see if items on list have been re-locked down
 - Add checkmark to allow user to dismount beetle and open pack when house falls.

347
Item Evaluation / Miffy's Item Finder
« on: June 09, 2008, 12:33:36 PM »
Code: [Select]
;============================================
; Script Name: Miffy's Item Finder v96
; Author: Miffy
; Version: 0.96
; Client Tested with: 5.0.1h 60
; EUO version tested with: 1.5 69
; Shard OSI / FS:  FS (Alexandria) / OSI OK
; Revision Date:  14-Feb-07
; Public Release: 15-Dec-06
; Global variables:  none
; Purpose:
;   Use this script to search for a named item in:
;   1) A targeted container
;   2) All surrounding containers you have access to within 2 spaces.
;   3) Once you find them in a container, you can "keep" the item by having it moved into your pack. (drops on your paperdoll)
;   4) Instead of keeping the indivual items interactively, you can automatically collect every item found matching your criterion.
;   5) Use on a targeted vender; allowing purchasing of located items (thus allowing your to hunt though
;      those dreaded multi-bagged venders more easily for the specific item(s) you want.
;      (press next to continue once you buy)
;   6) After the completion of a search, the total number of items found matching your search criterion wil be displayed.
;   7) Search all vendors surrounding character to a specified radius.  Vendor shopping does not need to be a pain in the butt amy longer!
;   8) Summary of items found can be saved in HTML format to a user-specified filename.
;   9) File save shows a progress bytecount.  Files are saved in 2Kbyte chunks, so large files may take a while.
;
;   What makes this script so nice is that it will also the search all
; sub-containers within each main container. It will even search containers within sub-containers to any level.  (as close to recursion as EasyUO will get)
;
;  Additional features:
;    . Search for item intensities GREATER, LESS, or EQUAL to a specified value
;    . Search for up to 3 separate terms and intensities (and checkbox)
;    . Remembers the history of your last successful search criterion.  You
;      can scroll through the results and "Buy?" or "Keep" the items
;      you want.
;
; Menu designed with Menu Designer.
; v9 - release version
; v91 - fixed bug where search would hang if a number was one of the main search fields.  Now can search for things like powerscrolls of 110, 115, etc.
; v92 - fixed bug in item dragging when collecting items from containers and placing them in your main pack.
; v93 - made object drag now an exevent, no longer works with previous version of easyuo
; v94 - Added "Scan" feature that allows the user to search though
;       a vendors' inventory first before making a selection. Press the
;       "Next" or "Prev" buttons to sort through the summary.  Pressing "Buy" will
;       attempt to purchase the presently selected item.
; v95 - internal release adding GREATER-EQ and LESS-EQ
; v96 - . Multi-vendor searching with radius control, search through vendors or containers
;         when "Vendors?" is selected, container search is omitted.
;       . Remember container of object so it can be brought to front of display during review
;       . "Report All" feature will report everything found, and summarize it if selected.
;       . HTML output of everything found in last search to user-defined filename
;       . Automatic lag adjustment for container opening.  Reset upon script startup
;       . Fixed bug in intensity searching.  Now works correctly.
;
;       Note:  Get summary?  will automatically de-select Automatic collect? feature since they
;              both scan uninterrupted.
;
; Thanks to:
; DosX - OSI testing and suggested "Get Summary?" feature of 0.94
;============================================

348
Script development tools / TrailMyx's Application Framework
« on: June 09, 2008, 12:26:40 PM »
Build an EasyUO graphical user interface quickly!!

Code: [Select]
;=================================================================
; Script Name: TrailMyx's Application Framework
; Author: TrailMyx
; Version: x.xx
; Shard OSI / FS: OSI / FS OK
; Revision Date: 9/29/2007
; Purpose: Build an EasyUO graphical user interface quickly
;
; Features:
;  Includes 1 journal handler (JOURNAL)
;  Setup file save/load
;  Pause function
;  UI updating
;  Button Handling
;
;  Type: "journal test" to test journal handler..
;
; Requirements:
;  menu edit EUOStatus
;  menu edit EUOEditFilename

; Globals:
;
; Special Thanks:
;
; Beta testers:
;=================================================================

349
Script development tools / TrailMyx's Advanced File System
« on: June 09, 2008, 12:25:09 PM »
Code: [Select]
;============================================================
; Script Name: TrailMyx's Advanced File System Handling Subs
; Author: TrailMyx
; Version: 1.3
; Shard OSI / FS: Any
; Revision Date: 10/20/2007
; Purpose:
;     Simplify the saving of variables to a file.  Also to speed up the process
;   by minimizing the number times calls to the shell are issued.  A maximum of
;   2000 bytes are assigned to each shell call, with an unlimited amount of calls
;   possible.  It's easy to store 1000's of variables in a relatively short period
;   of time.
;
;   This set of functions will also handle any namespace (local, global, immediate)!
;   Also, this file is ready to be 'called'.
;
; Limitations:
;     You cannot store spaces to a file due to the way DOS handles the command line.
;   So if a space is found, it will be converted to an underscore '_'
;
; Functions:
;   TM_FileSystem_CreateFileHandle
;      -- ex. gosub TM_FileSystem_CreateFileHandle handle1
;   TM_FileSystem_SaveVariable
;      -- ex. gosub TM_FileSystem_SaveVariable local std handle1 testval ; note not to include the '%' or '!' for variable
;   TM_FileSystem_SaveFile
;      -- ex. gosub TM_FileSystem_SaveFile handle1 c:\bigtest.txt
;   TM_FileSystem_LoadFile
;      -- ex. gosub TM_FileSystem_LoadFile c:\bigtest.txt
;   TM_FileSystem_SaveArray
;      -- ex. gosub TM_FileSystem_SaveArray local ns1 handle ns1_test 10 20
;
; Support functions:
;   TM_ReadVariables
;   AddUnderscore
;   AddSpace
;
;============================================================
; Revision History:
;   v1.0 - Initial release.
;   v1.1 - 5/16/2007 - Added support for array saving TM_SaveArray.
;   v1.2 - Much faster load times.
;   v1.3 - Much faster save preparation, fixed a bug in load pointer, added call handler
;=================================================================



Introduction:

I wanted to be able to save a very large number of variables quickly.  I wrote these subs to be able to handle 1000s of variables, keeping the saving time down to a very reasonable amount.  In fact you can save nearly 100 variables with a single DOS cmd.exe execution!  I use a similar file format in my rail engine, but this is meant to be generic.

You may also store information about different namespaces within the same output text file.

New to version 1.1:
  • Array Support:  Now you can handle arrays of any size using TM_FileSystem_SaveArray.
Theory:

Basically, you are building a very long string of variables that will be saved.  In order to write a bunch of variables to a file you do the following:

1) Grab a file handle using TM_FileSystem_CreateFileHandle
2) Add variables to this handle using TM_FileSystem_SaveVariable
3) Add as many variables as you want to this file handle, note these have not been saved to the file yet...
4) Once you have added all the variables you want to save to the file handle, you must use TM_FileSystem_SaveFile to actually write the file string containing all your variables to disk.  During the saving process, the very long string containing all your variables will be cut up into strings of less than 2000 bytes.  These sub-strings will be saved to specified file.

Loading this file using TM_FileSystem_LoadFile will re-assemble the sub strings contained in the save file into your large string containing all your saved variables.  Then this string will be parced and the appropriate values will be written to the specified variables.


Here are some examples:

Code: [Select]
set #LPC 10000
for %i 0 1000
  set %test . %i %i * 100
 
gosub TM_FileSystem_CreateFileHandle handle1 ; clear handle named 'handle1'
for %i 0 1000
{
  gosub TM_FileSystem_SaveVariable local std handle1 test , %i ; store %test0, %test1, %test2, etc.
}

gosub TM_FileSystem_SaveFile handle1 c:\bigtest.txt ; save the file
stop

This test generates 1000 variables ranging from %test0 to %test1000 and assigns values from 0 100000.  The corresponding file looks like this:

Code: [Select]
set !fileout0 localstdtest00localstdtest1100localstdtest2200localstdtest3300localstdtest4400localstdtest5500localstdtest6600localstdtest7700localstdtest8800localstdtest9900localstdtest101000localstdtest111100localstdtest121200localstdtest131300localstdtest141400localstdtest151500localstdtest161600localstdtest171700localstdtest181800localstdtest191900localstdtest202000localstdtest212100localstdtest222200localstdtest232300localstdtest242400localstdtest252500localstdtest262600localstdtest272700localstdtest282800localstdtest292900localstdtest303000localstdtest313100localstdtest323200localstdtest333300localstdtest343400localstdtest353500localstdtest363600localstdtest373700localstdtest383800localstdtest393900localstdtest404000localstdtest414100localstdtest424200localstdtest434300localstdtest444400localstdtest454500localstdtest464600localstdtest474700localstdtest484800localstdtest494900localstdtest505000localstdtest515100localstdtest525200localstdtest535300localstdtest545400localstdtest555500localstdtest565600localstdtest575700localstdtest585800localstdtest595900localstdtest606000localstdtest616100localstdtest626200localstdtest636300localstdtest646400localstdtest656500localstdtest666600localstdtest676700localstdtest686800localstdtest696900localstdtest707000localstdtest717100localstdtest727200localstdtest737300localstdtest747400localstdtest757500localstdtest767600localstdtest777700localstdtest787800localstdtest797900localstdtest808000localstdtest818100localstdtest828200localstdtest838300localstdtest848400localstdtest858500localstdtest868600localstdtest878700localstdtest888800localstdtest898900localstdtest909000localstdtest91910
set !fileout1 0localstdtest929200localstdtest939300localstdtest949400localstdtest959500localstdtest969600localstdtest979700localstdtest989800localstdtest999900localstdtest10010000localstdtest10110100localstdtest10210200localstdtest10310300localstdtest10410400localstdtest10510500localstdtest10610600localstdtest10710700localstdtest10810800localstdtest10910900localstdtest11011000localstdtest11111100localstdtest11211200localstdtest11311300localstdtest11411400localstdtest11511500localstdtest11611600localstdtest11711700localstdtest11811800localstdtest11911900localstdtest12012000localstdtest12112100localstdtest12212200localstdtest12312300localstdtest12412400localstdtest12512500localstdtest12612600localstdtest12712700localstdtest12812800localstdtest12912900localstdtest13013000localstdtest13113100localstdtest13213200localstdtest13313300localstdtest13413400localstdtest13513500localstdtest13613600localstdtest13713700localstdtest13813800localstdtest13913900localstdtest14014000localstdtest14114100localstdtest14214200localstdtest14314300localstdtest14414400localstdtest14514500localstdtest14614600localstdtest14714700localstdtest14814800localstdtest14914900localstdtest15015000localstdtest15115100localstdtest15215200localstdtest15315300localstdtest15415400localstdtest15515500localstdtest15615600localstdtest15715700localstdtest15815800localstdtest15915900localstdtest16016000localstdtest16116100localstdtest16216200localstdtest16316300localstdtest16416400localstdtest16516500localstdtest16616600localstdtest16716700localstdtest16816800localstdtest16916900localstdtest17017000localstdtest17117100localstdtest17217200localstdtest17317300localstdtest17417400localstdtest1751750
set !fileout2 << there's more here that I deleted (it whas 27Kbytes) >>
.
.
.

Finally, if you want to load this file, just do:

Code: [Select]
gosub TM_FileSystem_LoadFile c:\bigtest.txt

Here's an example that stores information to 2 different namespaces:

Code: [Select]
gosub TM_FileSystem_CreateFileHandle handle1
set %testval 12345
gosub TM_FileSystem_SaveVariable local std handle1 testval  ; don't add the '%' or '!'
namespace push
namespace local NS1
set !ns1val 56789
gosub TM_FileSystem_SaveVariable local NS1 handle1 ns1val   ; don't add the '%' or '!'
gosub TM_FileSystem_SaveFile handle1 c:\filesystem_test.txt

If you load the file, the data will automatically be written to the approperate namespaces

Code: [Select]
gosub TM_FileSystem_LoadFile c:\filesystem_test.txt

so you'll find:
%testval = 12345 in local:std
!ns1val = 56789 in local:NS1


Note in order to start a clean file, you need to call TM_FileSystem_CreateFileHandle to make sure the TM_FileSystem namespace variable doesn't have old data.

Note:

Remember that you can't store spaces using this filesystem.  It automatically convertes spaces to '_'(underscores) so beware.

Scripts known to use this filesystem:

  • WHQuester beta2.00 - Save/Restore user preferences, artifact list, etc.
  • TrailMyx's Complete Looting Assistant (CLAw)  - Save/Restore user setup.
  • TrailMyx's Recall Beetle Logging Machine



If you use this filesystem, please PM me so I can add your script to the above list!  Thanks, TrailMyx

350
Script development tools / TrailMyx's List Handling Subs
« on: June 09, 2008, 12:22:38 PM »
Code: [Select]
;=================================================================
; Script Name: TrailMyx's List Handling Subs
; Author: TrailMyx
; Version: 0.27
; Shard OSI / FS: OSI / FS OK
; Revision Date: 3/12/2008
; Purpose: Take the pain out of managing lists
;
; Subroutines included:
;   TM_CreateList - Creates the list
;   TM_DrawList
;   TM_HideList
;   TM_ReDrawList
;   TM_AddToList
;   TM_DeleteAllItemsInList
;   TM_CopyAllItemsInList
;   TM_DeleteIndexedItemInList
;   TM_DeleteExactItemsInList
;   TM_DeleteExactTagsInList
;   TM_DeleteItemsInList
;   TM_DeleteTagsInList
;   TM_SearchForExactItemInList
;   TM_SearchForExactTagInList
;   TM_SearchForItemInList
;   TM_SearchForTagInList
;   TM_CountExactItemsInList
;   TM_CountExactTagsInList
;   TM_CountItemsInList
;   TM_CountTagsInList
;   TM_AlphabetizeList
;   TM_GetSelectedItem
;   TM_GetSelectedTag
;   TM_GetIndexedItem
;   TM_GetIndexedTag
;   TM_GetListSize
;   TM_MoveSelectedItemDown
;   TM_MoveSelectedItemUp
;
; Requirements:
;
; Locals/Globals:
;   TM_window_list_ , %2 (local)
;
; Special Thanks:
;
;=================================================================
;

Note: Version 31 saves information to the registry and not a flat file.  However it's much faster.

351
Combat/Healing/Looting / ScriptUO Healing Commander
« on: June 09, 2008, 12:20:32 PM »
Code: [Select]
;=================================================================
; Script Name: ScriptUO Healing Commander
; Author: TrailMyx/Cerveza
; Version: 2.94
; Shard OSI / FS: OSI / FS OK
; Revision Date: 9/29/2007
; Purpose: Manages your healing needs by using journal scanning.
; Globals:
;   *TM_HEAL = #TRUE if healing targeting in progress.
; Namespaces:
;   TM_heal(local)
;   TM_AdvJS_*
;
; Special Thanks:
;   Cerveza for all his input and prompting me to get off my butt and finish this
;   This is a showcase for the new journal handling subs.
;=================================================================

Probably a little explanation is in order for this script.  It will maintain your health using the following methods:

* Bandages
* Magery
* Chivalry
* Necromancy

(yes, no potions, sorry)

Other features of this allow you:
* Heal when low on health
* Cure when poisoned
* Aware of mortal strike attack and bleeding attacks
* Motion sensing to be sure you don't try and cast when you are on the run.
* Configurable thresholds for healing levels
* Stores setup for each character in persistent memory
* Integrates seamlessly with the CLAw autolooter
* Doesn't require OCR; everything is handled with the journal.

352
Script Snippets / TrailMyx's multi-dimensional Array Handler
« on: June 09, 2008, 12:16:58 PM »
Here's the subs:
Code: easyuo
  1. ; %1 = Arrayname
  2. ; %2 = Value to add
  3. ; %3 = index 1
  4. ; %4 = index 2
  5. ; ...
  6. sub AddToArray
  7.   namespace push
  8.   namespace local Array , _ , %1
  9.   set !var
  10.   for !index 3 %0
  11.      set !var % . !index , _ , !var
  12.   set ! . !var %2
  13.   namespace pop
  14. return
  15. ; %1 = Arrayname
  16. ; %2 = index 1
  17. ; %3 = index 2
  18. ; ...
  19. sub GetFromArray
  20.   namespace push
  21.   namespace local Array , _ , %1
  22.   set !var
  23.   for !index 2 %0
  24.      set !var % . !index , _ , !var
  25.   set #RESULT ! . !var
  26.   namespace pop
  27. return #RESULT
  28.  

Here's some test code:

Code: easyuo
  1. gosub AddToArray myarray 34 5 5 ; myarray[5][5] = 34
  2. gosub GetFromArray myarray 5 5  ; gets value at myarray[5][5]
  3. stop
  4.  

353
Script development tools / Trailmyx's Runebook/Spellcast Subs
« on: June 09, 2008, 12:15:13 PM »
Code: [Select]
;=================================================================
; Script Name: TrailMyx's Runebook/Spellcast Subs
; Author: TrailMyx
; Version: 2.5
; Shard OSI / FS: OSI / FS
; Revision Date: 09/27/2007
; Purpose:
;   Runebook subs to manage your runebook travel needs.  You need either to know
;   the runebook ID or runebook name.
;
; Subroutines:
;     TM_NewCastSpell - casts spells with appropriate waits, delays, retrys.
;     TM_TravelFromRunebook - Uses specified runbook #FINDID to travel from .  If a location is blocked
;                             the next location will be tried until success.
;     TM_TravelFromNamedRunebook - Same as TM_TravelFromRunebook, but allows you to specify a runebook name
;
;  Examples:
;     gosub TM_NewCastSpell 31 !rbook 10 20 20 ; recall
;     gosub TM_TravelFromRunebook RE 1 3 %runebookid ; travel (recall) to location from #FINDID runebook using slots 1-3
;     gosub TM_TravelFromNamedRunebook GA 1 2 LUMBERJACKING1 ; gate using LUMBERJACKING1 runebook starting at rune 1
;     gosub TM_RandomRunebookTravel SJ 1 6 %runebookid  ; Randomly choose a rune from 1-6 in runebook
;     gosub TM_TravelFromObject RE %runeid ; travels to rune specified by %runeid
;
;  Use of these subrountes is allowed, but please give me (TrailMyx) credit somewhere in your script.
;
;  Release History:
;     2.0 - Initial public release
;     2.1 - Bug in TM_FindValidTextNoAdvance, added return value to TM_TravelFromNamedRunebook
;     2.2 - Bug in TM_NewCastSpell when mana gets too low
;     2.3 - Better spellcasting for chivalry, necro
;           Added TM_TravelFromNamedRunebook
;           Added TM_RandomRunebookTravel
;     2.4 - Little fix for journal handler
;     2.5 - Hack to allow for transport through a red moongate.
;
;  Requirements:
;
;    This script requires that you have your character name
;    setup in a variable called %charname.  Place this bit of code
;    in your script initialization somewhere:
;
;   gosub TM_AddUnderscore #CHARNAME
;   set %charname #RESULT
;=================================================================

354
Code: [Select]
;=================================================================
; Script Name: TrailMyx's Advanced CLAw (Complete Looting Assistant)
; Author: TrailMyx
; Version: 0.756
; Shard OSI / FS: OSI / FS OK
; Revision Date: 9/29/2007
; Purpose: Simply the Fastest and Best autolooter in the UOniverse!
; Globals:
; Special Thanks:
;   Cerveza the UO master!
; Beta testers:  Bookwyrm, MissyMoose, Gimlet, Cake2, Hoby.  Thanks!
; Bug testers: Khameleon
;=================================================================



Features:

  • Variable rules entry for item intensities, skill intensities, bonuses, #FINDTYPES, or text searches
  • Loot from ground or containers
  • Automatic looting of corpses, or by keypress
  • Targeted looting mode
  • Running history of looter performance
  • History tab tells what was looted AND WHY i.e. Luck >=90
  • Stats tab gives detailed timing analysis of looting function. 
  • Expandable windows for Rules and Active sections
  • Adjustable font size
  • User selectable logging to the History tab using the "Log?" checkboxes
  • Minimize/Maximize looter window
  • Pause/Unpause script buttons
  • Save/Load setup function
  • Ability to save last refreshed window as BBCode to be posted on forums like SUO
  • Minimize/Maximize looter window
  • Items looted (looted current/looted historical/evaluated historical)
  • Gold looted (looted current/looted historical)
  • Pre-programmed specific items (see Specific items: pulldown)
  • Pre-programmed slayer weapons

Detailed Stats:
  • Time online
  • Gold/Hr
  • Average time between loots
  • Rule count and rules Active
  • Active rules that are Complex (not available in the LITE version)
  • Active rules that are Omit (not available in the LITE version)
  • Rules/Container (RPC), Rules/Second(RPS) and Rule Execution Time (RET)

In order to add rules that you can apply to looting, you must first add these rules to the [Rule Entry] Left Pane.  You do this by following the above picture and numbers:

1) Select the attribute/intensity/etc as well as the logic (<,>,=,<=,>=,<>) and the value of the intensity.
2) Select OK, this moves the "rule" to the [Rule Entry] Pane
3) Select a rule you want to put in the [Active Rules]
4) Press "Add" and the selected rule will be added to your [Active Rules] list
5) The [Active Rules] list will be applied to every item found in a corpse/container.

ML Items:
Dragon Flame, Serpent Fang, Tiger Claw badges$Blight$Scourage$Putrefaction$Taint$Corruption$Eye of Travesty$Diseased Bark$Dread Horn Mane$Mucclent$Decay$Yellow, Blue key$Torso, Legs, Head, Spine

About intensities:

The CLAw searches for intensities by looking for numbers that start or end a line within a property value.  So intensities like:

+10 Fencing
and
Fire Damage 100%

These can be searched for intensities >, >=, = , < or <=.  However for things like:

Mage Weapon -26 Skill

Since the intensity is embedded in the line, you cannot look for a specific intensity.  This is to speed up parsing of each individual line.

What's the interface all about?
This script is a bunch of subroutines that will allow you to integrate the CLAw looting into your own scripts.  If you'd like to see an example of how this works, download the Heartwood quester with CLAw support.

355
Script development tools / TrailMyx's Master Rail Engine/Developer
« on: June 09, 2008, 12:09:26 PM »
Code: [Select]
;-----------------------------------------------------------
; Script Name: TrailMyx's Master Rail Developer
; Authors: TrailMyx
; Version: 0.55a
; Client Tested with: 6.0.3.1
; EUO version tested with: 1.5 127
; Shard: OSI, FS
; Revision Date:  10/1/2007
; Public Release: ...
; Global Variables Used: None
; Purpose: Records and plays back rails.  Saves them to files.
;-----------------------------------------------------------

Code: [Select]
;-----------------------------------------------------------
; Script Name: TrailMyx's Master Rail Engine Subs
; Authors: TrailMyx
; Version: 0.30k
; Client Tested with: 6.0.3.1
; EUO version tested with: 1.5 127
; Shard: OSI, FS(Alexandria[RunUO])
; Revision Date:  9/28/2007
; Public Release: ...
; Global Variables Used: None
; Purpose: Plays rails recorded by TrailMyx's Master Rail Generator.
;   Allows user to have multiple rails loaded into memory and includes many
;  support functions to help automate rail-enabled script development.
;-----------------------------------------------------------
;  Functions:
;  call %railsubs TM_Initialize ; Initializes rail engine namespace to SUBROUTINE mode
;  call %railsubs TM_Close ; clears namespaces use for rail engine.
;  call %railsubs TM_LoadRail c:\rail1.txt
;  call %railsubs TM_RunRail RAIL1 PRESENT END FW
;                            RAIL1 0 5 BW
;  call %railsubs TM_SelectRail RAIL1  ; can select by either rail NAME or rail INDEX
;  call %railsubs TM_RailsLoaded  ; returns number of rails presently in memory
;  call %railsubs TM_DetermineCurrentRail ; returns index of rail presently selected
;  call %railsubs TM_DetermineCurrentRailName  ; return rail NAME of presently selected rail
;  call %railsubs TM_DetermineCurrentWaypointIndex ; returns current waypoint index for present rail
;  call %railsubs TM_GetRailNameForIndex 0  ; return rail NAME of index 0.
;  call %railsubs TM_DetermineCurrentRailWaypoints ; returns number of waypoints for presently selected rail
;  call %railsubs TM_DetermineRailWaypoints 3 ; determines number of waypoints for rail index/name 3
;  call %railsubs TM_GotoClosestRailIndexedWaypoint ; proceeds to the closest waypoint of selectable rail
;  call %railsubs TM_GotoClosestWaypoint ; proceeds to the closest waypoint of present rail
;  call %railsubs TM_GotoClosestGlobalWaypoint ; searches all rails in memory to find the closest waypoint.
;  call %railsubs TM_Push  ; pushes present waypoint and rail onto stack
;  call %railsubs TM_Pop   ; recalls last pushed waypoint and rail, sets rail and present_index of waypoint
;  call %railsubs TM_ServerInitialize ; initializes global namespace and puts rail engine into SERVER mode.
;  call %railsubs TM_GetStatus ; returns rail engine server status --> IDLE, RUNNING, ERROR
;  call %railsubs TM_GetServerMode ; returns configured server mode --> SERVER, SUBROUTINE
;  call %railsubs TM_PingServer ; returns PING if server doesn't respond, PONG if server is available.
;  call %railsubs TM_GetPresentServerCommand ; this is the present command the server is processing
;  call %railsubs TM_SetPresentServerCommand ; Used to issue STOP command, halting rail
;  call %railsubs TM_PercentWaypointRun ; -1, defined by rail, 0- walk all the time, 100 - run all the time.
;  call %railsubs TM_ShowDebug
;  call %railsubs TM_HideDebug
;
; Do not re-produce these subroutines without the express permission from the author, TrailMyx.   email: trailmyx@yahoo.com
;




Finally, I'm getting around to releasing this to you.  I've been busy using this system in a couple projects, so I've had some time to do some deep testing with it.  

This release comes in 4 parts:
1) Rail Developer/Creator
2) Rail Engine
3) Rail Converter (converts CEO and Roadkill formats to TM_RE)
4) PDF document  (very rough first-pass, will be amended as more time presents itself)

I may attach some more sample code as time goes on, or post more examples.

Here's a quick summary of the capabilities of this rail system:
  • Rail engine can manage any number of rails simultaneously only limited to memory.
  • Rail files are saved in 2K chunks, so even large rails can be saved and loaded very quickly.
  • 2 modes of operation, SUBROUTINE and SERVER.

           a)SERVER mode allows scripts to run in NON-BLOCKING mode so they don't have to wait while the engine completes a rail command.
           b)SUBROUTINE mode runs each of the rail subroutines directly, but script execution is blocked until the rail finishs/fails.
  • Lots of support functions including: Please check out the PDF file for more information (attached)
    - TM_GotoClosestWaypoint - find the closest waypoint within walking range of the current rail
    - TM_GotoClosestGlobalWaypoint - searchs all rails loaded into memory to find the closest waypoint; it's smart enough to know to choose the right waypoint just in case another one is close, but the z-axis may put that waypoint on another level.  i.e. Wandering in a house with multiple levels.
    - TM_Push, TM_Pop - save and restore waypoint/rail information if you need to make a detour
    ...more functions are added all the time.  Part of why I haven't released this yet.
  • Interactive rail developer; graphically allows you to record your waypoints while you walk, edit by adding, deleting, changing each waypoint.
  • Each waypoint may have an associated "callback" function that will be called by the engine.  So you can add special code for waypoints that require special attention.
  • Each rail file may have a separate callback script, so the rails can be completely independent of one another
  • Ability to move toward and named type of item such as a specific NPC, moongate, teleporter, etc
Getting started:

This couldn't be easier.  Start the rail developer, stand where you want to start end press "Start Record" button.  Then just walk.  When you want to end recording, press the "Stop Record".  Enter the filename you'd like to save to and a unique label; the engine uses this label to reference your rail in memory.  Then press "Save"  You're done!  Of course you can step through your rail or run it from the developer, it's your choice.

Now, if you'd like to have the rail engine test your script, enter your rail filename and label into the following simple code and run it.  Yes, it's that easy.

Code: [Select]
set %railsubs tool_railengine30f.txt
set %rail_filename railfile.txt
set %rail_label  RAIL_LABEL1

call %railsubs TM_Initialize  

call %railsubs TM_LoadRail %rail_filename

if #RESULT = #TRUE
{
  display ok Rail file not found
  stop
}
set #LPC 1000

call %railsubs TM_RunRail %rail_label 0 END FW  
if #RESULT = #TRUE
{
  display ok Rail error occurred.
}

call %railsubs TM_Close
stop



Notes:
  • I will keep the revisions under 1.0 until I get enough feedback to let me know the stability is good enough to validate full release.  So consider this a BETA release.
Release History
Engine:
Version 0.30k - 4/14/2007 Current release

Developer/Creator:
Version 0.55a - 4/14/2007 Current release

Converter:
Un-versioned release - will begin version number with next release.  Will also include a header. 4/14/2007

PDF document
Revision 2 4/14/2007

Scripts using this Engine
PM me if you use this and would like me to add your script to this list!

  • ScriptUO Heartwood Quester v1.x
  • ScriptUO Heartwood Quester v2.x
  • TrailMyx's Zoo Collector
  • TrailMyx's Quest List Builder
  • SuperSlayer's World Idoc Traveler Version




356
Item Evaluation / TrailMyx's Paperdoll Totalizer
« on: June 09, 2008, 12:04:50 PM »
Code: [Select]
;=================================================================
; Script Name: TrailMyx's Paperdoll Totalizer
; Author: TrailMyx
; Version: 2.2
; Shard OSI / FS: OSI / FS OK
; Revision Date: 9/29/2007
; Purpose: Summarize all stats contained in your paperdoll.
; Globals:
;=================================================================



This is a very simple script that will allow you to summarize what you have in your paperdoll.  This summary includes summing all the modifiers and item properties.  It's not perfect, but it does show when you have things requiring insurance.

Special requirements:
You must not be running another script when you run this one.  Multiple finditems/event property calls will mess with this script.

Warning about Set Pieces:

If you are trying to evaluate "set pieces" this will probably not work correctly with this script.  In fact, the only thing that will get totaled is probably the set bonus, and not the individual piece information.  FYI

Additional Features:
  • Repair Checker
  • Insurance check
  • Totalize paperdoll or container of items.  Container can also be another paperdoll targeted
  • HTML Generator to make a list of your suit or container contents
  • BBCode Generator to make a list of your suit or container contents

357
Site News / Welcome!
« on: June 09, 2008, 11:01:57 AM »
Welcome to ScriptUO!

So I'm tired of having all the sites that host my scripts go belly-up. I will be moving my script collection here to ScriptUO.com. I didn't really want to host a site like this, but I think it's better in the long run.

I don't want to really run a full-blown scripting site like we did for winuo.org or uocoders.com.  I would like this to become a more advanced scripting site, but for now I'm willing to host my scripts here for everyone to download.  I'll give access to my more deadly scripts to those few that I know and trust.  

Edit:  Nevermind, looks like we run a full-blown scripting site.  ;)

358
Screen images / Integrated HELP!
« on: June 03, 2008, 01:29:51 AM »
Right context clicking a highlighted command will bring up the Wiki information from the EasyUO website.  (Thank you EUO).


359
I have the looping construct engine working well.  First implemented is FOR, but with the engine I came up with, it'll handle everything that has to do with blocks braced, or single lines.  So it handles things like this now:

Code: [Select]
set %test 0
for %i 1 6
{
  for %j 20 10
  set %test %test + %i + %j
}
display ok %test
stop

Of course EasyUO can't handle this:

Code: [Select]
set %test 0
set !four 4
set !five 5
for %i 1 6
{
  for % . j !four * !five 6 + 4
  set %test %test + %i + %j
}
display ok %test
stop

360
Screen images / Subroutine demonstration
« on: June 01, 2008, 02:27:09 AM »

Pages: 1 ... 22 23 [24] 25