Hard to get caught with
Compensates for whats going on? option and wins every time it is chosen
Picks cancel if you lose 3 in a row
Averages 1100 tickets per hour with default delays, around 950-1000 with ldelay
Had no intention of posting this here considering I made it in the first few days of the event in <1 hr, but there have been some really "awesome" turns of events.
You probably have to type macro ta to start it, because any check based on when you login puts you at risk for being banned. If you plan on multi botting it or afk botting it you should add another auto macro to auto talk to the npc when you login.
the delay macros are for on the fly delay changing
macro bail / macro halt are to stop auto macros from going off which is extremely useful while getting investigated because macro pause/macro stop often doesn't work
the options are in macro setupdawg
the friend request macro at the very bottom assumes you have windows xp installed to C:\, change the sound if it matters to you
if you aren't standing directly south of him uncomment the look lines and set the right direction
Code: Select all
#RPS
#If you use it manually with $talkAuto 0 you can type:
# macro ta
# in console to talk to the npc
macro ta {
do talk @npc(121, 116)
}
#If you get bot checked or need to stop macroing type:
# macro halt
# in console
#I advise testing this multiple times before you rely on it
#it takes a little getting used to
macro halt {
[
lock TalkToHer
lock LetsDoit
lock loggin
lock npcbroke
lock Store
lock PickAChoice
lock WinThisOne
lock ReTalk
lock PayTheMan
lock HuhMacro
]
}
#to fix halt/bail type
# reload rps
macro zdelay {
[
#Delays, text delay is applied to emoticon using conversations
$respDelay = 0.55
$textDelay = 1.1
$npcTalkDelay = 1.5
#rand delay applied to emoticon using conversations
$randDelay = 2
$randNpcTalk = 5
]
}
macro ldelay {
[
#Delays, text delay is applied to emoticon using conversations
$respDelay = 0.55
$textDelay = 0.8
$npcTalkDelay = 1.5
#rand delay applied to emoticon using conversations
$randDelay = 1
$randNpcTalk = 2
]
}
macro uldelay {
[
#Delays, text delay is applied to emoticon using conversations
$respDelay = 0.55
$textDelay = 0.55
$npcTalkDelay = 1.5
#rand delay applied to emoticon using conversations
$randDelay = 0
$randNpcTalk = 0
]
}
macro banmedelay {
[
#Delays, text delay is applied to emoticon using conversations
$respDelay = 0
$textDelay = 0
$npcTalkDelay = 1
#rand delay applied to emoticon using conversations
$randDelay = 0
$randNpcTalk = 0
]
}
automacro LetsDoit {
run-once 1
call setupdawg
}
macro setupdawg {
[
#Auto initiate conversation with npc 0=no 1=yes
$talkNpc = 1
#Use storage at 50% weight 0=no 1=yes
$useStorage = 0
#Delays, text delay is applied to emoticon using conversations
$respDelay = 0.55
$textDelay = 0.55
$npcTalkDelay = 1.5
#rand delay applied to emoticon using conversations
$randDelay = 0
$randNpcTalk = 0
#Look goes CCW from north, look 1 0 = North West Look 7 0 = North East
#$lookDir = 0
do conf autoTalkCont 1
do conf itemsMaxWeight 89
do conf itemsMaxWeight_sellOrStore 89
#don't change these most don't even matter in setup block
$pickShield = 1
$npcLast = 0
$npcRepeat = 4
$counterPick = 4
$myChoice = 0
$curLosses = 0
]
release TalkToHer
}
automacro TalkToHer {
disabled 1
location hugel
weight < 50%
run-once 1
call beginconversation
}
automacro Store {
run-once 1
weight >= 50%
call dostorage
}
macro dostorage {
if ($useStorage == 0) goto nostorage
lock TalkToHer
lock ReTalk
do autostorage
#Afk botting? Set your move coord + look here
#do move x y
#do look $lookDir 0
release LetsDoit
release Store
release ReTalk
:nostorage
}
macro beginconversation {
[
#do look $lookDir 0
if ($talkNpc == 0) goto notalk
if ($pickShield == 0) goto justtalk
$counterPick = 4
$npcRepeat = 4
:justtalk
$curLosses = 0
do talk @npc(121, 116)
:notalk
$curLosses = 0
]
}
automacro HuhMacro {
console /Okay, let\'s play/
call responseone
}
automacro PayTheMan {
console /.*?0.*?Pay./
call responsezero
}
macro responsezero {
pause $respDelay
do talk resp 0
}
macro responseone {
pause $respDelay
do talk resp 1
}
automacro ReTalk {
console /Done talking/
call releaseauto
}
macro releaseauto {
pause @eval($textDelay + @rand(0, $randDelay))
release TalkToHer
}
automacro fixittwo {
mapchange hugel_in
call bail
}
automacro FixTele {
mapchange hugel
call bail
}
automacro WhereWeAt {
mapchange any
call bail
}
automacro loggin {
console /You are now in the game/
call fix
}
automacro npcbroke {
console /The NPC did not respond./
call fix
}
macro fix {
lock TalkToHer
release LetsDoit
}
macro bail {
[
lock TalkToHer
lock LetsDoit
lock HuhMacro
lock Store
lock loggin
lock npcbroke
lock PickAChoice
lock WinThisOne
lock ReTalk
lock PayTheMan
]
}
automacro NpcPickZero {
console /Sword!/
call {
[
$npcLast = 0
call newRound
]
}
}
automacro NpcPickOne {
console /Shield!/
call {
[
$npcLast = 1
call newRound
]
}
}
automacro NpcPickTwo {
console /Bow!/
call {
[
$npcLast = 2
call newRound
]
}
}
macro newRound {
if ($npcRepeat == 4) goto skip
$npcRepeat = 4
if ($pickShield == 1) goto skip
$counterPick = $npcLast
goto end
:skip
$counterPick = 4
:end
}
automacro WinThisOne {
console /.*?(\d+).*?(whats going on)/
call {
[
if ($curLosses < 3) goto nocancel
$curLosses = 0
do talk resp 4
goto nopick
:nocancel
$npcRepeat = $.lastMatch1
]
pause @eval($textDelay + @rand(0, $randDelay))
call doPick
[
:nopick
]
}
}
automacro PickAChoice {
console /.*?(3).*?(Cancel Chat)/
call {
[
if ($curLosses < 3) goto nocancie
$curLosses = 0
do talk resp 3
:nocancie
]
pause @eval($textDelay + @rand(0, $randDelay))
call doPick
[
:nopie
]
}
}
automacro SetLosses {
console /.*?(My wins:).*?(\d+)/
call {
$curLosses = $.lastMatch2
}
}
macro doPick {
[
if ($npcRepeat < 4) goto beatHim
if ($counterPick < 4) goto counterHim
$myChoice = 1
goto finish
:counterHim
$myChoice = $counterPick
goto finish
:beatHim
if ($npcLast == 0) goto bow
if ($npcLast == 1) goto sword
$myChoice = 1
goto send
:bow
$myChoice = 2
goto send
:sword
$myChoice = 0
goto send
:send
if ($myChoice < $npcRepeat) goto finish
$myChoice = @eval($myChoice +1)
:finish
do talk resp $myChoice
]
}
automacro WhyCantWeBeFriends {
console /otherwise type \'friend reject\'/
call {
do eval Utils::Win32::playSound('C:\WINDOWS\Media\Windows XP Hardware Insert.wav')
}
}