[UOSteam] Alamiester's Easy Fighter V0.3

If you make a Client-side script you can publish it here for other players to use
User avatar
Alamiester
Legendary Scribe
Posts: 279
Joined: Wed Jan 04, 2017 8:49 pm

[UOSteam] Alamiester's Easy Fighter V0.3

Post by Alamiester »

here is a few auto attackers that ive tweaked to use some advanced skills with it. i have them seperated into red and grey.
they both do the same thing, just attack different color enemy's. i just hate it when i kill a poor horsey. you need discordance, at least 30(and music, and an instrument), you can use this to train it also. you also need ninjitsu and chivalry, at least enough skill to cast the spells listed in this macro. make sure you have enough skill, it probly wont work and it will spam your screen if you dont.

v0.2 - fixed the primary ability option. added a check for bandaids. if your bandaid count falls below 50 it will drop whatever amount is defalted from your keys, and then cut them into bandaids. make sure you have cloth in your keys and a scissors.

Autoattacker RED:

Code: Select all

//==================[UOSteam] Alamiester's Easy Fighter V0.3a================//
//=============================RED Fighting Macro============================//
//===========================Created by Alamiester===========================//
//===========================================================================//
@clearjournal
sysmsg 'RED Fighting Macro Started' 37
for 12
  @getenemy! 'murderer' 'enemy' 'criminal' 'red' 'closest'
  if @findobject! 'enemy'
    //===Primary Ability===//
    if not timerexists 'primaryability'
      settimer 'primaryability' 0
    endif
    if timer 'primaryability' >= 7500 and 'mana' > 32
      @getenemy 'enemy' 'red' 'criminal' 'murderer' 'nearest'
      @setalias 'enemy1' 'enemy'
      @getenemy 'enemy' 'red' 'criminal' 'murderer' 'nearest'
      @setalias 'enemy2' 'enemy'
      if serial 'enemy1' != serial 'enemy2'
        if @inrange 'enemy1' 1 or @inrange 'enemy2' 1
          @clearjournal
          setability 'primary' 'on'
        endif
      endif
      settimer 'primaryability' 0'
      pause 300
      if @injournal 'not yet recovered' 'system' or @injournal 'you are already' 'system'
        replay
      endif
    endif
    //===Momentum strike===//
    if not timerexists 'momentumstrike'
      settimer 'momentumstrike' 0
    endif
    if timer 'momentumstrike' >= 1000 and mana > 35
      @getenemy 'enemy' 'red' 'criminal' 'murderer' 'nearest'
      @setalias 'enemy1' 'enemy'
      @getenemy 'enemy' 'red' 'criminal' 'murderer' 'nearest'
      @setalias 'enemy2' 'enemy'
      if serial 'enemy1' != serial 'enemy2'
        if @inrange 'enemy1' 1 and @inrange 'enemy2' 1
          @clearjournal
          cast 'Momentum Strike'
          pause 300
          if @injournal 'not yet recovered' 'system' or @injournal 'you are already' 'system'
            replay
          endif
          pause 500
        endif
      endif
    endif
    //===Consecrate Weapon===//
    if not timerexists 'consecrateweapon'
      settimer 'consecrateweapon' 0
    endif
    if timer 'consecrateweapon' >= 9000
      cast "Consecrate Weapon"
      settimer 'consecrateweapon' 0'
      pause 300
      if @injournal 'not yet recovered' 'system' or @injournal 'you are already' 'system'
        replay
      endif
    endif
    if stam < 125
      cast 'Divine Fury'
      pause 300
      if @injournal 'not yet recovered' 'system' or @injournal 'you are already' 'system'
        replay
      endif
    endif
    //===Discord Target===//
    if not timerexists 'discordance'
      settimer 'discordance' 0
    endif
    if timer 'discordance' >= 8000
      useskill "Discordance"
      settimer 'discordance' 0'
      if not targetexists 'any' and inrange 'enemy1' 8 or 'enemy2' 8
        autotargetobject! 'enemy'
      endif
      pause 300
      if @injournal 'You attempt' 'system' or @injournal 'You must' 'system'
        replay
      endif
    endif
    if not targetexists 'any' and inrange 'enemy1' 8 or 'enemy2' 8
      autotargetobject! 'enemy'
    endif
    @attack 'enemy'
  endif
  pause 300
  //if bandaids are less then 50 remove 100 cloth from tailor keys.
  if @counttype '0xe21' 'any' 'backpack' < 50
    @usetype '0x176b' '69' 'backpack' '2'
    pause 300
    waitforgump 1106836505 500
    @replygump 0x41f8fc19 60020
    waitforgump 1106836505 500
    @replygump 0x41f8fc19 0
  endif
  //if cloth found, cut cloth into bandaids
  while @findtype '0x1766' 'any' 'backpack' 'any' '2'
    @usetype '0xf9f' '0' 'backpack' '2'
    pause 300
    @targettype! '0x1766' 'any' '2'
  endwhile
  @clearusequeue
  @cancelautotarget
  @canceltarget
endfor
AutoAttacker Gray:

Code: Select all

//==================[UOSteam] Alamiester's Easy Fighter V0.3b================//
//============================GRAY Fighting Macro============================//
//===========================Created by Alamiester===========================//
//===========================================================================//
@clearjournal
sysmsg 'Gray Fighting Macro Started' 2400
for 12
  @getenemy! 'murderer' 'enemy' 'criminal' 'gray' 'closest'
  if @findobject! 'enemy'
    //===Primary Ability===//
    if not timerexists 'primaryability'
      settimer 'primaryability' 0
    endif
    if timer 'primaryability' >= 7500 and 'mana' > 32
      @getenemy 'enemy' 'gray' 'criminal' 'murderer' 'nearest'
      @setalias 'enemy1' 'enemy'
      @getenemy 'enemy' 'gray' 'criminal' 'murderer' 'nearest'
      @setalias 'enemy2' 'enemy'
      if serial 'enemy1' != serial 'enemy2'
        if @inrange 'enemy1' 1 or @inrange 'enemy2' 1
          @clearjournal
          setability 'primary' 'on'
        endif
      endif
      settimer 'primaryability' 0'
      pause 300
      if @injournal 'not yet recovered' 'system' or @injournal 'you are already' 'system'
        replay
      endif
    endif
    //===Momentum strike===//
    if not timerexists 'momentumstrike'
      settimer 'momentumstrike' 0
    endif
    if timer 'momentumstrike' >= 1000 and mana > 35
      @getenemy 'enemy' 'gray' 'criminal' 'murderer' 'nearest'
      @setalias 'enemy1' 'enemy'
      @getenemy 'enemy' 'gray' 'criminal' 'murderer' 'nearest'
      @setalias 'enemy2' 'enemy'
      if serial 'enemy1' != serial 'enemy2'
        if @inrange 'enemy1' 1 and @inrange 'enemy2' 1
          @clearjournal
          cast 'Momentum Strike'
          pause 300
          if @injournal 'not yet recovered' 'system' or @injournal 'you are already' 'system'
            replay
          endif
          pause 500
        endif
      endif
    endif
    //===Consecrate Weapon===//
    if not timerexists 'consecrateweapon'
      settimer 'consecrateweapon' 0
    endif
    if timer 'consecrateweapon' >= 9000
      cast "Consecrate Weapon"
      settimer 'consecrateweapon' 0'
      pause 300
      if @injournal 'not yet recovered' 'system' or @injournal 'you are already' 'system'
        replay
      endif
    endif
    if stam < 125
      cast 'Divine Fury'
      pause 300
      if @injournal 'not yet recovered' 'system' or @injournal 'you are already' 'system'
        replay
      endif
    endif
    //===Discord Target===//
    if not timerexists 'discordance'
      settimer 'discordance' 0
    endif
    if timer 'discordance' >= 8000
      useskill "Discordance"
      settimer 'discordance' 0'
    if not targetexists 'any' and inrange 'enemy1' 8 or 'enemy2' 8
      autotargetobject! 'enemy'
      endif
      pause 300
      if @injournal 'You attempt' 'system' or @injournal 'You must' 'system'
        replay
      endif
    endif
    if not targetexists 'any'
      autotargetobject! 'enemy'
    endif
    @attack 'enemy'
  endif
  pause 300
  //if bandaids are less then 50 remove 100 cloth from tailor keys.
  if @counttype '0xe21' 'any' 'backpack' < 50
    @usetype '0x176b' '69' 'backpack' '2'
    pause 300
    waitforgump 1106836505 500
    @replygump 0x41f8fc19 60020
    waitforgump 1106836505 500
    @replygump 0x41f8fc19 0
  endif
  //if cloth found, cut cloth into bandaids
  while @findtype '0x1766' 'any' 'backpack' 'any' '2'
    @usetype '0xf9f' '0' 'backpack' '2'
    pause 300
    @targettype! '0x1766' 'any' '2'
  endwhile
  @clearusequeue
  @cancelautotarget
  @canceltarget
endfor
Last edited by Alamiester on Thu May 03, 2018 9:55 am, edited 2 times in total.
User avatar
Alamiester
Legendary Scribe
Posts: 279
Joined: Wed Jan 04, 2017 8:49 pm

Re: [UOSteam] Alamiester's Easy Fighter V0.2

Post by Alamiester »

updated to v0.2
Eless
Master Scribe
Posts: 65
Joined: Thu Feb 22, 2018 12:54 pm

Re: [UOSteam] Alamiester's Easy Fighter V0.2

Post by Eless »

I think that this:

Code: Select all

if @findobject! 'enemy' >= 2
does not work to detect 2 or more enemies.

This is what I have, I use 'nearest' as it alternately returns 2 enemies:

Code: Select all

 //-- Momentum strike --//
  if not timerexists 'momentumstrike'
    settimer 'momentumstrike' 0
  endif
  if timer 'momentumstrike' >= 1000 and mana > 35
    //- Momentum Strike -//
    @getenemy 'enemy' 'gray' 'criminal' 'murderer' 'nearest'
    @setalias 'enemy1' 'enemy'
    @getenemy 'enemy' 'gray' 'criminal' 'murderer' 'nearest'
    @setalias 'enemy2' 'enemy'
    if serial 'enemy1' != serial 'enemy2'
      if @inrange 'enemy1' 1 and @inrange 'enemy2' 1
        clearjournal
        cast 'Momentum Strike'
        pause 300
        if @injournal 'not yet recovered' 'system' or @injournal 'you are already' 'system'
          replay
        endif
        pause 500
      endif
    endif
User avatar
Alamiester
Legendary Scribe
Posts: 279
Joined: Wed Jan 04, 2017 8:49 pm

Re: [UOSteam] Alamiester's Easy Fighter V0.2

Post by Alamiester »

you wouldnt think that it would work, but the auto attacker is constantly spamming them on whenever two enemys are on the screen. it doesnt really matter weather they are one step away, it only uses it when it hits. but your way will spam it less, lol.
Eless
Master Scribe
Posts: 65
Joined: Thu Feb 22, 2018 12:54 pm

Re: [UOSteam] Alamiester's Easy Fighter V0.2

Post by Eless »

The thing is that

Code: Select all

findobject
returns the serial/id number of the found object, not the number of objects (or enemies in this case). So this condition will be always true with at least one enemy.

EDIT: sorry, I might be wrong with the returned id (as it requires id to find what you want) but the rest I think is fine.
User avatar
Alamiester
Legendary Scribe
Posts: 279
Joined: Wed Jan 04, 2017 8:49 pm

Re: [UOSteam] Alamiester's Easy Fighter V0.2

Post by Alamiester »

ah i see thats why its just always spamming it. im curious where you get reference to some of the commands you used in yours, ie
if serial 'enemy1' != serial 'enemy2'
i dont remember seeing anything like this in the uosteam documentation.

ive been constantly tweaking this since its inception, ill try implementing how you referenced it. ill also probly be adding in some more types of attacks.
User avatar
Alamiester
Legendary Scribe
Posts: 279
Joined: Wed Jan 04, 2017 8:49 pm

Re: [UOSteam] Alamiester's Easy Fighter V0.3

Post by Alamiester »

ive updated this to V0.3 to reflect the new targeting mentioned herein. it does seem to run alot smoother that way. i also added it to the primary ability, and i also put a distance check on the discord. enjoy :P
Eless
Master Scribe
Posts: 65
Joined: Thu Feb 22, 2018 12:54 pm

Re: [UOSteam] Alamiester's Easy Fighter V0.3

Post by Eless »

im curious where you get reference to some of the commands you used in yours
To be honest I don't remember exactly, might have been another script from here:
https://github.com/her/uosteam

It is sort of described on the page 30 of the documentation (object attributes), sometimes uos auto-completion helps :/.

I initially made it for the whirlwind attack as it consumes a lot of mana even if you hit a single target with it.

Edit:
this part from the documentation:
Attributes:
- All: serial, graphic, color, x, y, z;
if (attribute) [serial] [operator] [attribute] [serial]
endif
User avatar
Krazywelder
Passer by
Posts: 4
Joined: Sat May 05, 2018 1:37 pm

Re: [UOSteam] Alamiester's Easy Fighter V0.3

Post by Krazywelder »

Like the script, the only thing I don't like is when healing with Band aids it tries to heal the target your fighting. so for right now when health is low I run off stop macro and heal.
User avatar
Alamiester
Legendary Scribe
Posts: 279
Joined: Wed Jan 04, 2017 8:49 pm

Re: [UOSteam] Alamiester's Easy Fighter V0.3

Post by Alamiester »

i use easyuo blazin healer and havnt had an issue with it. but then again any script that uses targeting on enemys is gonna conflict with healing, unless its written into the script itself.
User avatar
Krazywelder
Passer by
Posts: 4
Joined: Sat May 05, 2018 1:37 pm

Re: [UOSteam] Alamiester's Easy Fighter V0.3

Post by Krazywelder »

ok ill have to try that one. but I can not run EUO with UOS I crash every time.
deadman
Passer by
Posts: 1
Joined: Thu Aug 02, 2018 10:59 am

Re: [UOSteam] Alamiester's Easy Fighter V0.3

Post by deadman »

what is the differences between Gray and red?
User avatar
Alamiester
Legendary Scribe
Posts: 279
Joined: Wed Jan 04, 2017 8:49 pm

Re: [UOSteam] Alamiester's Easy Fighter V0.3

Post by Alamiester »

the color enemy it will attack.
Berserker
Novice Scribe
Posts: 7
Joined: Fri Oct 24, 2014 12:23 pm

Re: [UOSteam] Alamiester's Easy Fighter V0.3

Post by Berserker »

liking the macro thanks Ala, quick question on solos fights melee primary attack rarely activates, any suggestions
User avatar
Alamiester
Legendary Scribe
Posts: 279
Joined: Wed Jan 04, 2017 8:49 pm

Re: [UOSteam] Alamiester's Easy Fighter V0.3

Post by Alamiester »

only issue i know of about primary ability not working is with bone crushers. it activates the wrestling primary ability.
Post Reply