UOSteam Macros

khajja

Master
All of these worked well at one point in time. I have not tested them in the last year (minimum) and they have not been adjusted for recently change spell times. Adjust as needed.

Purple Pot Macro
Code:
clearjournal
cleartargetqueue
usetype! '0xf0d'
waitfortarget 1500
canceltarget
//
waitforjournal '2' 4000
pause 600 // <<< SET BASED ON YOUR PING
usetype! '0xf0d'
waitfortarget 1500
//
if not @inrange 'last' 12
  headmsg 'Range > 12' 25
  targettileoffset (0 3 0)
  stop
endif
//
target! 'last'
targettileoffset (0 3 0)
Bandageself macro

Best if used as hotkey, remove the beginning headmsg if put on loop. referenced by my dexxer and healbot macros. If you use allnames around tons of mobs/players, it can scroll off the relevant journal messages and cause your bandage to interrupt itself.

Code:
if diffhits == 0 and not poisoned
  headmsg 'No heal needed'
elseif not @injournal! 'You begin applying the bandages' 'system'
  @bandageself!
elseif @injournal! 'You finish applying the bandages' 'system'
  @clearjournal!
  @bandageself!
elseif @injournal! 'You apply the bandages, but they barely help' 'system'
  @clearjournal!
  @bandageself!
elseif @injournal! 'You heal what little damage your patient had' 'system'
  @clearjournal!
  @bandageself!
elseif @injournal! 'That being is not damaged' 'system'
  @clearjournal!
  @bandageself!
else
  //  @headmsg! 'Prior Bandage running'
endif
//@cancelautotarget
//@canceltarget
pause 250

Dexxer Script
May need to adjust str/dex triggers based on your particular stats
Code:
//create timers

if not timerexists 'healpot'

createtimer 'healpot'

settimer 'healpot' 11000

endif

if not timerexists 'bandage'

createtimer 'bandage'

settimer 'bandage' 20000

endif

if not timerexists 'trappouch'

createtimer 'trappouch'

settimer 'trappouch' 3000

endif

if not timerexists 'strpot'

createtimer 'strpot'

settimer 'strpot' 120000

endif

if not timerexists 'dexpot'

createtimer 'dexpot'

settimer 'dexpot' 120000

endif

//auto trap pouch if paralyzed

if paralyzed 'self'

pause 200

playmacro 'trappouch'

endif

//auto cure pot

if hits < 25 and @findobject 'lefthand'

if poisoned 'self' and @findtype '0xf07' 'any' 'backpack'

clearhands 'left'

pause 600

endif

endif

while poisoned 'self' and not @findobject 'lefthand'

if @findtype '0xf07' 'any' 'backpack' and hits < 75

pause 200

useobject! 'found'

pause 250

else

break

endif

endwhile

//auto heal pot

if not poisoned 'self' and hits < 25

if timer 'healpot' >= 10250 and @findtype '0xf0c' 'any' 'backpack'

if @findobject 'lefthand'

clearhands 'left'

pause 600

endif

endif

endif

if not poisoned 'self' and hits < 50

if timer 'healpot' >= 10250 and @findtype '0xf0c' 'any' 'backpack'

if not @findobject 'lefthand'

pause 200

usetype! '0xf0c'

settimer 'healpot' 0

pause 250

endif

endif

endif

//auto strength pot

if diffhits > 10 and timer 'strpot' > 120000

if not @findobject 'lefthand' and @findtype '0xf09' 'any' 'backpack'

pause 200

useobject! 'found'

settimer 'strpot' 0

pause 250

endif

endif

//auto dexterity pot

if diffhits > 10 and timer 'dexpot' > 120000

if not @findobject 'lefthand' and @findtype '0xf08' 'any' 'backpack'

pause 200

useobject! 'found'

settimer 'dexpot' 0

pause 250

endif

endif

//auto stam pot

if diffhits > 1 and stam < 2

if @findtype '0xf0b' 'any' 'backpack'

if @findobject 'lefthand'

clearhands 'left'

pause 800

endif

usetype! '0xf0b'

pause 250

endif

endif

if diffhits > 1

if stam < 60 and not @findobject 'lefthand'

if @findtype '0xf0b' 'any' 'backpack'

useobject! 'found'

pause 250

endif

endif

endif

//auto bandage

if timer 'bandage' > 16000 and skill 'healing' > 50

if diffhits > 0 or poisoned 'self'

pause 200

@bandageself

if poisoned 'self'

settimer 'bandage' 3000

else

settimer 'bandage' 5000

endif

endif

endif

Sync Macro
The caller calls the target, everyone loads this macro. When one sallos user (caller) drops explo, everyone else does as well, as well as followup eb and purple
Code:
cast 'explosion'

waitfortarget 3000

@clearjournal

if targetexists

waitforjournal 'with explosion' 99999

target 'last'

pause 200

cast 'energy bolt'

pause 200

usetype '0xf0d'

waitfortarget 500

canceltarget

waitfortarget 3000

target 'last'

waitforjournal '2' 4000

headmsg 't!' 50

pause 720 // <<< SET BASED ON YOUR PING

usetype! '0xf0d'

waitfortarget 1500

//

if not @inrange 'last' 12

headmsg 'Range > 12' 25

targettileoffset (0 3 0)

stop

endif

//

target! 'last'

endif

PVP Dummy
Code:
//BANDAGE, PROTECTION, STR POT, CURE POT, EARLY HEAL POT, CAST SMALL HEAL

//

//create dummy timer

@canceltarget

if not timerexists 'dummy'

createtimer 'dummy'

settimer 'dummy' '999999'

endif

//create healpot timer

if not timerexists 'healpot'

createtimer 'healpot'

settimer 'healpot' '999999'

endif

//create protection timer

if not timerexists 'ProtTimer'

createtimer 'ProtTimer'

settimer 'ProtTimer' '999999'

endif

//create str pot timer

if not timerexists 'StrTimer'

createtimer 'StrTimer'

settimer 'StrTimer' '999999'

endif

//create trap pouch timer

if not timerexists 'TrapPouchTimer'

createtimer 'TrapPouchTimer'

settimer 'TrapPouchTimer' '999999'

endif

//create bandage timer

if not timerexists 'bandage'

createtimer 'bandage'

settimer 'bandage' '999999'

endif

//

//

//setup stun

@setability 'stun' 'on'

pause 50

//

//trap pouch if paralyzed

//if paralyzed 'self' and timer 'TrapPouchTimer' > 3000

//msg '[pouch'

// pause 100

// settimer 'TrapPouchTimer' 0

//endif

//

//cure pot any time poisoned

if poisoned 'self'

@usetype '0xf07' 'any' 'backpack'

pause 100

endif

//

//As long as not poisoned

while not poisoned 'self' and not paralyzed 'self'

//Bandage is needed

if diffhits > 0 and not poisoned

if timer 'bandage' > 14000

bandageself

settimer 'bandage' 0

endif

endif

//

//cast protection on self

if timer 'prottimer' > 250000 and diffhits < 5

@clearjournal

cast 'protection' 'self'

pause 100

if not @injournal 'disturbed' 'system'

settimer 'ProtTimer' 0

endif

endif

//

//auto heal pot

if hits < 62

if timer 'healpot' > 10500

pause 100

usetype '0xf0c'

settimer 'healpot' 0

pause 100

endif

endif

//

//mini heal at high hp and low hp, big heal in middle

if diffhits > 5

if diffhits < 30 or hits < 67

cast 'heal' 'self'

pause 100

else

cast 'greater heal' 'self'

pause 100

endif

endif

//

//auto strength pot

if not targetexists and diffhits < 5

if str < 101

if @counttype '0xf09' 'all' 'backpack' > 0

usetype! '0xf09'

pause 100

elseif mana > 70

cast 'strength' 'self'

pause 150

endif

endif

endif

//

//auto dex pot

if not targetexists and diffhits < 5

if dex < 41

if @counttype '0xf08' 'all' 'backpack' > 0

usetype! '0xf08'

pause 100

elseif mana > 70

cast 'agility' 'self'

pause 150

endif

endif

endif

//

//meditate if needed

if mana < 50 and diffhits < 6

useskill 'meditation'

pause 100

replay

endif

//

//get bandages running

if diffhits < 6 and timer 'bandage' > 14000

msg '[pouch'

pause 600

@bandageself

settimer 'bandage' 0

pause 100

endif

//

//pre-load GH

if diffhits < 6

pause 50

cast 'greater heal'

waitfortarget '2000'

endif

while targetexists and diffhits < 15

if timer 'dummy' > 5000

// msg 'Heal Dummy (Lvl 10) Idle'

settimer 'dummy' 0

endif

if poisoned 'self'

replay

endif

if str < 101 or dex < 41

replay

endif

if @injournal 'You successfully stun' 'system'

@setability 'stun' 'off'

pause 50

@setability 'stun' 'on'

pause 50

@clearjournal

replay

endif

pause 100

endwhile

//

//Duplicate prior to avoid anti-autoheal code

pause 100

while targetexists and diffhits < 15

if poisoned 'self'

replay

endif

if str < 101 or dex < 41

replay

endif

if @injournal 'You successfully stun' 'system'

@setability 'stun' 'off'

pause 50

@setability 'stun' 'on'

pause 50

@clearjournal

replay

endif

endwhile

target! 'self'

pause 100

//

//keep stun on

if stam < 25

@usetype '0xf0b'

pause 100

endif

if @injournal 'You successfully stun' 'system'

@setability 'stun' 'off'

pause 50

@setability 'stun' 'on'

pause 50

@clearjournal

endif

endwhile

Snoop n Steal the good stuff
Code:
// Author: Hawt

// Description: Snoop all pouches and bag types within the closest persons backpack automatically.
//====== Will not pop trapped pouches on Uoforever if Greed gave me the right hue.
//==========================================
// List of Bags/Pouches. No Chests or Crates.
if not listexists 'containers'
  @createlist 'containers'
endif
if list 'containers' == 0
  @pushlist 'containers' 0xe79
  @pushlist 'containers' 0xe76
  @pushlist 'containers' 0xe75
  @pushlist 'containers' 0xe74
  @pushlist 'containers' 0xe78
  @pushlist 'containers' 0xe7d
  @pushlist 'containers' 0xe77
endif
// Gets Closest Anything To SNoop.
getenemy 'friend' 'innocent' 'murderer' 'enemy' 'criminal' 'gray' 'closest' 'humanoid'
if @inrange 'enemy' 1 and @findlayer 'enemy' 21
  @setalias 'bag' 'found'
  useobject! 'bag'
  pause 600
  if @findtype 0x14f0 1153 'bag'
    useskill 'Stealing'
    waitfortarget 3000
    target! 'found'
    headmsg 'PS Acquired'
  endif
  if @findtype 0x2aa4 'any' 'bag'
    useskill 'Stealing'
    waitfortarget 3000
    target! 'found'
    headmsg 'RELIC Acquired'
  endif
  if @findtype 0x47e6 'any' 'bag'
    useskill 'Stealing'
    waitfortarget 3000
    target! 'found'
    headmsg 'DRAGON EGG Acquired'
  endif
  if @findtype 0x2260 'any' 'bag'
    useskill 'Stealing'
    waitfortarget 3000
    target! 'found'
    headmsg 'SS Acquired'
  endif
  ignoreobject 'found'
  // Opens Person Main backpack and "pops" or opens all bags/POuches.
  for 0 to 'containers'
    while @findtype containers[] 'any' 'bag'
      @setalias 'inside' 'found'
      ignoreobject 'inside'
      // This is going to skip any pouches that are the hue 38
      if graphic 'found' == 0xe79 and color 'found' == 38
        continue
      endif
      if graphic 'found' == 0xe79 and color 'found' == 1161
        continue
      endif
      useobject! 'inside'
      pause 600
      if @findtype 0x14f0 1153 'inside'
        useskill 'Stealing'
        waitfortarget 3000
        target! 'found'
        headmsg 'PS Acquired'
      endif
      if @findtype 0x2260 'any' 'inside'
        useskill 'Stealing'
        waitfortarget 3000
        target! 'found'
        headmsg 'SS Acquired'
      endif
      if @findtype 0x2aa4 'any' 'bag'
        useskill 'Stealing'
        waitfortarget 3000
        target! 'found'
        headmsg 'RELIC Acquired'
      endif
      ignoreobject 'found'
      while @findtype containers[] 'any' 'inside'
        ignoreobject 'found'
        // This is going to skip any pouches that are the hue 38
        if graphic 'found' == 0xe79 and color 'found' == 38
          continue
        endif
        useobject! 'found'
        pause 600
      endwhile
    endwhile
  endfor
  // If any pouches were trapped run again and it will now open the trapped pouches to see what items were in them
endif
clearignorelist
[B]
[/B]
 

Young Star

Grandmaster
I am not really sure you would want a lot of that stuff running while fighting. That PvP dummy looks like it would screw you out of getting off a kill shot because it kicked in to give you a heal.
 

Young Star

Grandmaster
Also pretty sure that pot chucker will end up throwing a pot if anyone around you says 2 from their own pot.
 

khajja

Master
young star, may be right. you can try adding a 'system' tag to the end that might fix it. I believe other people's potion timers are reflected as coming from them (not system).

these aren't perfect. but they are examples that can be built upon/improved
 

GluttonySDS

Grandmaster
bring it on -- if this gets more newbs using steam into group PVP, im all for it... POWER members have been scripting purple pots for years, no harm in letting others do it too now.
 

Young Star

Grandmaster
All journal scans are supposed to be limited to server messages. The only one that isn't is the waitfor injournal. Take that away and you won't have that script anymore.
 

stunoma.

Grandmaster
This thread makes me want to puke. But that being said. None of them is going to make any of these nerds suck less [emoji851]


Sent from my iPhone using Tapatalk
 

khajja

Master
You're not wrong Young Star. I wish these macros didn't work. I've told multiple staff members about what can be done in UOSteam and provided examples. Over a year ago. The functionality has not been reduced (maybe it cannot be).

I wish even if these macros did work, that they would be illegal. And not only illegal, but that staff would enforce it. But they cannot do that and so made it legal.

The community KNOWS some people are using sync macros, and more people are using purple pot macros, and even more people are using auto cure/heal pot macros. When these were thought to be illegal, I just hoped staff would eventually reprimand the users. Now that this is legal, I'm tired of those players having an advantage due to better scripts. So I'm providing scripts to all, to be used by whoever wants them.

I don't use these scripts. I use Sallos. But there are plenty of people who can't time purples and want to take the easy way out.

*shrugs*
 
Last edited by a moderator:
Top