Author Topic: EasyUO Documentation Updates  (Read 7418 times)

0 Members and 1 Guest are viewing this topic.

Offline GaderianTopic starter

  • Elite
  • *
  • *
  • Posts: 486
  • Activity:
    0%
  • Reputation Power: 10
  • Gaderian barely matters.Gaderian barely matters.
  • Respect: +50
  • Referrals: 3
    • View Profile
EasyUO Documentation Updates
« on: January 22, 2020, 09:41:55 PM »
+1
Here are changes to Easyuo that are not readily documented as of Easyuo 1.6.334 January 23, 2020.
Obsolete Commands
 event sleep
 menu image pixline - was rarely used, but can be accomplished with a subroutine
 menu hideeuo

Modified Commands
 event macro

Category/SkillParm1Parm2Parm3CastNotes/Power Words
Gump Control
820Open Mysticism Book
821Open Racial Abilities Book
823Open Global Chat
918Close Spellweaving Book
920Close Mysticism Book
921Close Racial Abilities Book
923Close Global Chat
1018Minimize Spellweaving Book
1020Minimize Mysticism Book
1021Minimize Racial Abilities Book
1023Minimize Global Chat
1118Maximize Spellweaving Book
1120Maximize Mysticism Book
1121Maximize Racial Abilities Book
1123Maximize Global Chat
Dress and Arm macros
610 to ??Save DressParm2 is a number to reference a saved dress (official doc shows 0-4, but I have used numbers from 0 up to 100)
620 to ??UndressParm2 value to reference a saved dress
630 to ??DressParm2 value to reference a saved dress
640 to ??Save Armed ItemsParm2 value to reference a saved armed weapons/shields/books
650 to ??DisarmParm2 value to reference a saved armed configuration
660 to ??ArmParm2 value to reference a saved armed configuration
Use Object
67parm1Parm1 is a value from 1 to 14
671Use Healing Potionconfirmed
672Use Cure Potionconfirmed:cure, lesser cure and greater cure in backpack - greater cure consumed
673Use Refresh PotionNeeds Confirmation
674Use Strength PotionNeeds Confirmation
675Use Agility PotionNeeds Confirmation
676Use Explosion PotionNeeds Confirmation
677Use Conflagration PotionNeeds Confirmation
678Use Enchanted AppleNeeds Confirmation
679Use Petals of Trinsicconfirmed
6710Use Orange Petalsconfirmed
6711Use Trapped BoxNeeds Confirmation
6712Use Smoke BombNeeds Confirmation
6713Use Healing Stoneconfirmed
6714Use Spell Triggerconfirmed
MasteriesCredit to Endless Night for these mastery definitions and showing how to find more
Provocation15701InspireUus_Por
15702InvigorateAn_Zu
Peacemaking15703ResilienceKal_Mani_Tym
15704PerseveranceUus_Jux_Sanct
Discordance15705TribulationIn_Jux_Hur_Rel
15706Despair Kal_Des_Mani_Tym
Magery15707Death RayIn_Grav_Corp
15708Ethereal BurstUus_Ort_Grav
Mysticism15709Nether BlastIn_Vas_Xen_Por
15710Mystic WeaponVas_Ylem_Wis
Necromancy15711Command UndeadIn_Corp_Xen_Por
15712ConduitUus_Corp_Grav
Spellweaving15713Mana ShieldFaerkulggen
15714Summon ReaperLartarisstree
Passive:Magery, Mysticism, Necromancy, Spellweaving15715Enchanted Summoning- passive
Bushido15716Anticipate Hit- passive
15717Warcry
Passive:Bushido, Chivalry, Ninjitsu15718Intuition- passive
Chivalry15719Rejuvenate
15720Holy Fist
Ninjitsu15721Shadow
15722White Tiger Form
Archery15723Flaming Shot
15724Playing the Odds
Fencing15725Thrust
15726Pierce
Mace Fighting15727Stagger
15728Toughness
Swordsmanship15729Onslaught
15730Focused Eye
Throwing15731Elemental Fury
15732Called Shot
Passive:Archery, Fencing, Mace Fighting, Swordsmanship, Throwing15733Warrior's Gifts- passive
Parrying15734Shield Bash
15735Bodyguard
15736Heighten Senses
Poisoning15737Tolerance
15738Injected Strike
15739Potency- passive
Wrestling15740Rampage
15741Fists of Fury
15742Knockout- passive
Animal Taming15743Whispering
15744Combat Training
15745Boarding- passive
Virtues
495Honesty(not activated this way)      npc merchant discount (return lost items/lost+found boxes  banks/forensic:2x@town,4x@npc, more in fel)
496Humility
498Spirituality

 exevent popup [id] {x offset} {y offset}
- X and Y pixel offset must be used - can't use an ordinal offset
 menu delete [element unique name]
      All elements below the chosen element are deleted as well.
      All elements on a form are deleted when the form is deleted.
      All elements with a panel as it's parent are deleted.
 menu Shape {name} {left} {top} {width} {height} {shapetype} {linetype} {linewidth} {linecolor} {filltype} {fillcolor}
      No more rounded corners or line effects. See the post about updating menu code for more information.

These menu commands only form0 (form name for classic menu window):
 menu clear
       [all child forms are deleted and #menubutton uninitialized (used to be initialized to N/A]
 menu font align { left|center|right }
 menu font bgcolor [color-descriptor]
 menu font color [color-descriptor]
 menu font name  [font-name]
 menu font size  {point-size}
 menu font style {b|i|u|s}
 menu font transparent [ #true|#false ]
 menu show
 menu window color  {color-descriptor}
 menu window transparent [ opacity percentile ]
 menu Window Size {width} {height}


New Commands
 exevent equip id id id ... ; instant dress
    This is a very fast way to equip items. It will replace items in that slot. It works with gargoyle items (exevent droppd doesn't work with gargoyle items)

 event statbar #charid
    Brings up the health bar for the character, npc, follower or monster. A maximimum of 9 status bars can be active at any one time.
    Once successful these will be set:
    #CONTNAME = status_gump
    #CONTID = ID of mobile
    #CONTTYPE = TYPE of mobile
    #CONTHP = percent of health

 menu form [form unique name] left top width height [text]
    Note:
    • menu setprop [form unique name] visible #true is required to make it viewable.
    • Values are not inherited from the default, so menu setprop [form unique name] color $BBGGRR is needed to set the form color.

 menu getdef [option name: will be returned in #menures]
 menu panel [panel unique name] left top height width
   A panel is a container for menu elements. Each menu element has a parent - which is either a form or a panel.
   When an menu element is created, whatever the current default parent is inherited, but can be reassigned using menu setprop [element unique name] parent [parent element name].
 menu popdef
   This restores all menu setdef settings to the values prior to menu pushdef command.
 menu pushdef
   This can be used to protect any current default settings for a temporary setting. The primary goal is for library routines to be able to protect their settings from interfering with the calling script's settings. It serves as a protection for the menu default settings similar to how namespace commands do not interfere with script/library variables.
 menu radio [radio_unique_name] left top width height [checked: #true/#false] [labeled text...]
   Radio buttons limit only one in the parent form or panel to have a #true value.
   This behavior matches a listbox, while typically taking up more screen space for a quicker and more direct user interaction.
 menu setdef [alignment|color|fontcolor|fontname|fontsize|fontstyle|parent] [value]

    setdef and getdef are used for the DEFAULT options that may be inherited by subsequent menu commands
 menu setprop [element's unique name] [option #spc value pair]
Parameters for GETDEF, SETDEF (the 7 listed below applying to "DEFAULT") and SETPROP (all listed options)
      OptionValuesThese can be applied to the following menu elements
      alignment [0=left|1=right|2=center]TEXTRADIOCHECKDEFAULT
      color     [hexadecimal $BBGGRR blue, green, red (Pascal format)] *See notes for menu form above.FORMPANELTEXTBUTTONEDITRADIOCHECKCOMBOLISTDEFAULT
      checked   [#true|#false]RADIOCHECK
      enabled   [#true|#false]FORMPANELTEXTBUTTONEDITRADIOCHECKCOMBOLISTIMAGE
      fontcolor [hexadecimal $BBGGRR blue, green, red (Pascal format)]TEXTBUTTONEDITRADIOCHECKCOMBOLISTDEFAULT
      fontname  [name of font]TEXTBUTTONEDITRADIOCHECKCOMBOLISTDEFAULT
      fontsize  [font size number]TEXTBUTTONEDITRADIOCHECKCOMBOLISTDEFAULT
      fontstyle {sum of style attributes} ; 1=bold, 2=italic, 4=underline, 8=strikeoutTEXTBUTTONEDITRADIOCHECKCOMBOLISTDEFAULT
      height    [# of pixels]FORMPANELTEXTBUTTONEDITRADIOCHECKCOMBOLISTIMAGE
      left      [# of pixels]FORMPANELTEXTBUTTONEDITRADIOCHECKCOMBOLISTIMAGE
      parent    [form or panel name where the element resides]PANELTEXTBUTTONEDITRADIOCHECKCOMBOLISTIMAGEDEFAULT
      text      [text]FORMTEXTBUTTONEDITRADIOCHECK
      tooltip   [text description used as tool tip when mouse hovers over element]FORMPANELTEXTBUTTONEDITRADIOCHECKCOMBOLISTIMAGE
      top       [# of pixels]FORMPANELTEXTBUTTONEDITRADIOCHECKCOMBOLISTIMAGE
      visible   [#true|#false]FORMPANELTEXTBUTTONEDITRADIOCHECKCOMBOLISTIMAGE
      width     [# of pixels]FORMPANELTEXTBUTTONEDITRADIOCHECKCOMBOLISTIMAGE


 ignorecont [#contid|#contype|#contname|reset]
    Ignorecont is used to ignore gumps. It is restricted to a single definition at a time, so each definition will have its own ignorecont statement.
    It can ignore by #contid or #conttype or #contname.
    Issuing "ignorecont reset" will remove all ignored gumps. The example routine "resetgumps" will restore the default ignored gumps at EUO startup.
[/list]
Code: easyuo
  1. sub resetgumps
  2.  ignorecont reset
  3.  ignorecont BARK_GUMP
  4.  ignorecont DAMAGENUMBERS_GUMP
  5.  ignorecont DUMB_GUMP
  6.  ignorecont GAMEAREAEDGEGUMP
  7.  ignorecont MAP_GUMP
  8.  ignorecont MENUBAR
  9.  ignorecont MISSILE_GUMP
  10.  ignorecont NEW_ITEM_PROP_GUMP
  11.  ignorecont RETICLE_GUMP
  12.  ignorecont TARGET_GUMP
  13.  ignorecont UNICODE_BARK_GUMP
  14. return

 event conttop [number]
    Event conttop will cycle through gumps. The number is simply an index for the command it has nothing to do with a number tied to any particular gump.
    When the command is issued, the gump will become the most recent gump in the access order. Running the same routine will reverse the order of gumps.
Code: easyuo
  1. for %i 0 100
  2.  {
  3.  event conttop %i
  4.  if #contname <> %lcontname || #conttype <> %lconttype || #contid <> %lcontid || #contsize <> %lcontsize || #contposx <> %lcontposx || #contposy <> %lcontposy
  5.   {
  6.   set %lcontname #contname
  7.   set %lconttype #conttype
  8.   set %lcontid #contid
  9.   set %lcontsize #contsize
  10.   set %lcontposx #contposx
  11.   set %lcontposy #contposy
  12.   }
  13.  else
  14.   break
  15.  }
  16. display ok How many gumps found: %i ; %i is 0 based so final value is the count

Some notes about the dress/arm macros
Event macro 61 and 64 (saved dress/arm respectively) uses a number to keep track of the dress. I ran it repeatedly to > 50 and it continued to swap my armed items.
Maybe there is an upper limit (255 might seem logical), but somewhere before 50 I run out of various outfits I can carry.

For my sampire, I use:
1) my PVM outfit
2) post resurrectiion high LRC, high MR, high LMC +skill (meditation, necromancy, focus) suit
3) 2 handed weapon (double axe) - double strike weapon, whirlwind
4) 2 handed weapon (bladed staff) - armor ignore
5) 1 handed weapon (radiant scimitar) - whirlwind allowing potions
I do have some setups with a variety of weapons for various hit spell (hit fireball, hit lightning, hit dispel) depending on the situation.
I also will engage various slayer type weapons.
I do not happen to, but could include a high luck suit for the kill moment.

I am still well short of 50+ configurations. While the client seems to indicate 4 saved slots, I am pushing it beyond that.

It needs at least a wait 15-16 (.75-.8 second) between each action as a cool down for my cable internet connection. Since about 1 second is the standard cool down for most "actions" - that gets my best recommendation unless you have a very slow connection. You just won't switch outfits/weapons that often that a .25 second difference will be that dramatic. That cool down may apply to 'USE" actions that immediately follow (event macro 17, etc.).

While exevent equip is also practically instant, these macros have the fast save and fast unequip options. If you have all 18 slots with something equipped, it will take many seconds to undress your former outfit with the forced cool down between drag/drop steps. The event macro 62 can strip 16 of the slots (non-hand slots) in < 1 second including cool down.

I only use the 62 (undress) and 65 (disarm) macros for specific things. 62 is excellent for removing a talisman (slayer) to avoid extra damage from opposing slayer group. 65 is excellent for swapping weapons/shield to prepare for anti-bloodoath and ready for potion drinking.


« Last Edit: July 07, 2021, 07:15:00 AM by Gaderian »
"Go ahead ask me: 'Should I use hard waits or timers?'"
You say:"Should I"
Gaderian:"Timers!"
You Say:"use hard waits or timers?"

The serious side of timer use is illustrated here: http://www.scriptuo.com/index.php?topic=12094.msg101926#msg101926

However, every time I go back and look at this [AutoLooter] script, I realize I had wrote it in my zen state of EUO scripting - so it makes my brain hurt.

Offline GaderianTopic starter

  • Elite
  • *
  • *
  • Posts: 486
  • Activity:
    0%
  • Reputation Power: 10
  • Gaderian barely matters.Gaderian barely matters.
  • Respect: +50
  • Referrals: 3
    • View Profile
Re: EasyUO Documentation Updates
« Reply #1 on: January 22, 2020, 09:42:25 PM »
0
Reserved for more examples.
"Go ahead ask me: 'Should I use hard waits or timers?'"
You say:"Should I"
Gaderian:"Timers!"
You Say:"use hard waits or timers?"

The serious side of timer use is illustrated here: http://www.scriptuo.com/index.php?topic=12094.msg101926#msg101926

However, every time I go back and look at this [AutoLooter] script, I realize I had wrote it in my zen state of EUO scripting - so it makes my brain hurt.

Offline manwinc

  • Elite
  • *
  • *
  • Posts: 2556
  • Activity:
    0%
  • Reputation Power: 32
  • manwinc is a rising star!manwinc is a rising star!manwinc is a rising star!manwinc is a rising star!manwinc is a rising star!manwinc is a rising star!
  • Gender: Male
  • "The Devs Hard at Work"
  • Respect: +123
  • Referrals: 1
    • View Profile
Re: EasyUO Documentation Updates
« Reply #2 on: January 24, 2020, 03:36:30 PM »
0
event conttop [number]

Oh baby,
Monkeys and Typewriters!

" Oh I know, We'll make a Boss Encounter that requires 3 keys per player to enter, Then we'll make it not a closed instance so you never know if you are going to pop into a fresh room or a boss that has 1% Health left with 20 dudes smashing its face in, wasting your time and effort"

Offline Endless Night

  • Global Moderator
  • *
  • *
  • Posts: 5467
  • Activity:
    0%
  • Reputation Power: 62
  • Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!
  • Respect: +393
  • Referrals: 1
    • View Profile
Re: EasyUO Documentation Updates
« Reply #3 on: January 27, 2020, 06:41:03 AM »
0
event conttop [number]

Oh baby,

See my gump subs for some examples of usage:  http://www.scriptuo.com/index.php?topic=15545.0     
Outlaw Josey Wales - "Manwink, A Long Gone Scripty, and Endless are always teasing us with their private sections lol. What there realy saying is scripters rule and users drool."
Briza - "Your a living breathing vortex of usefulness."

Offline GaderianTopic starter

  • Elite
  • *
  • *
  • Posts: 486
  • Activity:
    0%
  • Reputation Power: 10
  • Gaderian barely matters.Gaderian barely matters.
  • Respect: +50
  • Referrals: 3
    • View Profile
Re: EasyUO Documentation Updates
« Reply #4 on: March 19, 2020, 05:24:27 PM »
0
I updated this to reflect correct values for menu setdef/setprop alignment to allow left (0), right (1) and center (2) for text.

I also updated the code example for event conttop to show using 0 as a value. This allows a script to get the most recently activated gump. The former example showed starting with a value of 1 which will miss what was the current gump with focus. It probably doesn't trip someone up in most cases, but if a script actually wants to run through all the gumps, an event conttop 0 command must be processed.

Gaderian
"Go ahead ask me: 'Should I use hard waits or timers?'"
You say:"Should I"
Gaderian:"Timers!"
You Say:"use hard waits or timers?"

The serious side of timer use is illustrated here: http://www.scriptuo.com/index.php?topic=12094.msg101926#msg101926

However, every time I go back and look at this [AutoLooter] script, I realize I had wrote it in my zen state of EUO scripting - so it makes my brain hurt.

Offline GaderianTopic starter

  • Elite
  • *
  • *
  • Posts: 486
  • Activity:
    0%
  • Reputation Power: 10
  • Gaderian barely matters.Gaderian barely matters.
  • Respect: +50
  • Referrals: 3
    • View Profile
Re: EasyUO Documentation Updates
« Reply #5 on: March 20, 2020, 11:39:52 PM »
0
Again more updates:
This time some gump control (I suspect several are still missing from this category).
More importantly are the dress/undress and use object macros.

Some of the "use object" macros I have tested, but others need confirmation.

Gaderian
"Go ahead ask me: 'Should I use hard waits or timers?'"
You say:"Should I"
Gaderian:"Timers!"
You Say:"use hard waits or timers?"

The serious side of timer use is illustrated here: http://www.scriptuo.com/index.php?topic=12094.msg101926#msg101926

However, every time I go back and look at this [AutoLooter] script, I realize I had wrote it in my zen state of EUO scripting - so it makes my brain hurt.

Offline GaderianTopic starter

  • Elite
  • *
  • *
  • Posts: 486
  • Activity:
    0%
  • Reputation Power: 10
  • Gaderian barely matters.Gaderian barely matters.
  • Respect: +50
  • Referrals: 3
    • View Profile
Re: EasyUO Documentation Updates
« Reply #6 on: March 23, 2020, 09:40:48 PM »
0
Well, this month I am basically stuck home under COVID-19 community isolation, so I expanded the list a little more.

Still to be confirmed are the various details of event macro 67 and I am suspicious of the event macro 8-11 to have a parameter 22, but I have not been able to isolate it.

The event macro 67 works without doing a finditem and setting variables to issue the event macro 17. Not certain there is a time savings of more than a few ms, but the code would look simpler.

If anyone wants to poke at some of those that need confirmation, post it and I will include it above. Especially are the descriptions/numbers matching accurately on the ones I did not mention as "confirmed" yet.

Gaderian
"Go ahead ask me: 'Should I use hard waits or timers?'"
You say:"Should I"
Gaderian:"Timers!"
You Say:"use hard waits or timers?"

The serious side of timer use is illustrated here: http://www.scriptuo.com/index.php?topic=12094.msg101926#msg101926

However, every time I go back and look at this [AutoLooter] script, I realize I had wrote it in my zen state of EUO scripting - so it makes my brain hurt.

Tags: