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.


Messages - TrailMyx

Pages: 1 ... 619 620 [621] 622
9301
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.

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

9303
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
;=================================================================

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

9305
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




9306
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

9307
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.  ;)

9308
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).


9309
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

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

9311
Clicking the lines found with the search/replace window will zoom your code to the corresponding line.


9312
Screen images / Debugger breakpoints and context menu + colored UI
« on: May 31, 2008, 01:16:41 PM »

9313
Screen images / Zoom feature demonstration of "Subs" tab
« on: May 31, 2008, 01:15:16 PM »
Just click a name in the "Subs" tab, and you will zoom the cursor to that location.


9315

Pages: 1 ... 619 620 [621] 622