Tuesday, March 12, 2013

Useful PVP and War Hotkeys


 Strong Haste
auto 200 listas 'Auto Strong Haste' | if [$mp >= 100 && $inpz==0] stronghaste

Mana Shield
 auto 200 listas 'Auto Manashield' | if [$mp >= 50 && $inpz==0] manashield

Hold Target
 auto 200 if $attacked set $holdd $attacked | if [$attacked != $holdd && $holdd.hppc != 0] attack $holdd.id | ifnot [$holdd.hppc] clear $holdd | setpos [$screenleft-202] [$screentop+50] | setcolor 206 206 206 | if $holdd displaytext 'Hold Target: [$holdd.name]' | ifnot $holdd displaytext 'Hold Target:  None'

Clear Hold Target
clear $holdd | clear target

Exiva Last
 exivalast

Exiva Target
 exivatarget

Level Spy Up
spyup

Level Spy Down
 spydown

Automatically SD Target
 auto 100 listas 'SD Target' | safe sd target

UE Combo
 auto 100 listas 'UE Combo' | foreach 'newmessages' $ue if [$ue.content == 'LEADER'S UE SPELL' && $ue.sender == 'LEADER'S NAME HERE'] say 'YOUR UE SPELL'

Sio Friend List
 auto 100 listas 'Sio Friend' | safe sio 75 friend

UH Friend List
 auto 200 listas 'UH Friend' | safe uhpc 75 friend

GMP Friend List
 auto 100 listas 'Pot Friend' | $potionid 238 | set $perc 60 | set $dist 2 | clear $best | set $lowest 100 | foreach 'screenplayers' $fr {if [$fr.distance <= $dist && $fr.hppc < $perc && $fr.hppc < $lowest && ($fr.isfriend || $fr.issubfriend)] {set $lowest $fr.hppc | set $best $fr}} | if [$hppc <= $perc] set $best $self | if $best {dashchase $best.id | useoncreature 238 $best.id | wait 300}

Energy Ring at 40% hp
 auto 100 listas 'E-Ring' |  if [$hppc < 40] {equipring 3051} | if [$hppc > 90] {unequip 'ring' 'empty'}

Auto Time Ring
auto 200 dontlist | equipring 3053

Auto Stone Skin Amulet
 auto 200 dontlist | fastequipammy 3081

Auto Might Ring
 auto 100 dontlist | if [$ringslot.id != 3049] {equipring 3049}

Eat Food
 auto 100 dontlist | if [$inpz == 0] eatfood | [$inpz == 0] eatfood | wait 20000

Keep Magic Wall Up
 auto 100 listas 'Keep Magic Wall' | keepmagwall

Anti-Push
 auto 100 listas 'Anti Push: ON' | dropitems 283 284 285 | ifnot [$topitem.$posx.$posy.$posz == 3031] dropitemsxyzamount $posx $posy $posz 3031 2 | ifnot [$topitem.$posx.$posy.$posz == 3492] dropitemsxyzamount $posx $posy $posz 3492 2

Drag All Items Underneath You
 auto 100 listas 'Push All' | moveitemonground $posx [$posy-1] $posz $posx $posy $posz|moveitemonground $posx [$posy+1] $posz $posx $posy $posz|moveitemonground [$posx-1] [$posy-1] $posz $posx $posy $posz|moveitemonground [$posx-1] $posy $posz $posx $posy $posz|moveitemonground [$posx-1] [$posy+1] $posz $posx $posy $posz| moveitemonground [$posx+1] [$posy-1] $posz $posx $posy $posz|moveitemonground [$posx+1] $posy $posz $posx $posy $posz|moveitemonground [$posx+1] [$posy+1] $posz $posx $posy $posz

Collect Items On Ground
 auto 100 collectitems 'empty' 3555 3388 3414 3031 3035 3725 3043 3492 3447 7368 5801 9019 8090 6529 3051 8097 10384 285 284

Opens Most Doors, Uses Sewer Grates, Uses Ladders, Opens Holes With Shovel, Uses Rope On Holes, Cuts Tree Walls With Machete, All In One Hotkey
 usegrounditem 5007 | usegrounditem 4911 | usegrounditem 1632 | usegrounditem 1633 | usegrounditem 1629 | usegrounditem 1630 | usegrounditem 5108 | usegrounditem 5107 | usegrounditem 5281 | usegrounditem 1968 | usegrounditem 435 | useongrounditem 3003 386 | usegrounditem 1948 | usegrounditem 5542 | useongrounditem 3308 2130 | 3308 3696 useongrounditem

Magic Wall Around Target
 auto 100 listas 'MW Target' | safe {set $y $target.posy | set $x $target.posx | if [$target.posx > $posx] inc $x | if [$target.posx < $posx] dec $x | if [$target.posy > $posy] inc $y | if [$target.posy < $posy] dec $y | {useongroundxyz [3180] [$x] [$y] [$target.posz]}}

Automatically Put Guild War Enemies On Enemy List
auto 200 dontlist | {foreach 'screenplayers' $h} if [$h.isfriend == 0 && $h.warbanner == 2] {setrelation '$h.name' 'enemy' | setrelation '$name' '0'}

Change Outfit Of Enemies Depending On Vocation
auto 100 foreach 'allplayers' $l {if [$l.isenemy || $l.issubenemy] {setoutfitcolor $l.name 123 123 123 123 3 | if [$l.issorcerer] setoutfit $l.name 130 | if [$l.isdruid] setoutfit $l.name 144 | if [$l.isknight] setoutfit $l.name 134 | if [$l.ispaladin] setoutfit $l.name 152}}



Dash with Number Pad  

Put these two hotkeys in Persistant Hotkeys:


auto 1 dontlist | if [$hotkeys != 0] {set $dashing 0} | if [$dashing && $standtime > 2000] {set $dashing 0}

auto 1 dontlist | if [$key.97 && $dashing == 1] {movesw} | if [$key.98 && $dashing == 1] {moves} | if [$key.99 && $dashing == 1] {movese} | if [$key.100 && $dashing == 1] {movew} | if [$key.102 && $dashing == 1] {movee} | if [$key.103 && $dashing == 1] {movenw} | if [$key.104 && $dashing == 1] {moven} | if [$key.105 && $dashing == 1] {movene}


Now put these in regular hotkeys on the specified key:

num1:  
 if [$hotkeys == 1] {loop 1 moveitemonground $target.posx $target.posy $target.posz [$target.posx-1] [$target.posy+1] $target.posz

num2:
 if [$hotkeys == 1] {loop 1 moveitemonground $target.posx $target.posy $target.posz $target.posx
[$target.posy+1] $target.posz

num3: 
 if [$hotkeys == 1] {loop 1 moveitemonground $target.posx $target.posy $target.posz [$target.posx+1] [$target.posy+1] $target.posz

num4: 
 if [$hotkeys == 1] {loop 1 moveitemonground $target.posx $target.posy $target.posz [$target.posx-1] $target.posy $target.posz

num6: 
 if [$hotkeys == 1] {loop 1 moveitemonground [$target.posx] [$target.posy] [$target.posz] [$target.posx+1] [$target.posy] [$target.posz]

num7: 
 if [$hotkeys == 1] {loop 1 moveitemonground $target.posx $target.posy $target.posz [$target.posx-1] [$target.posy-1] $target.posz

num8: 
 if [$hotkeys == 1] {loop 1 moveitemonground $target.posx $target.posy $target.posz $target.posx [$target.posy-1] $target.posz

num9: 
 if [$hotkeys == 1] {loop 1 moveitemonground $target.posx $target.posy $target.posz [$target.posx+1] [$target.posy-1] $target.posz



Push max on Target with NumPad (compatable with Dash)

 
Toggle Dash/Pushmax
 if [$hotkeys == 0] {set $hotkeys 1 | statusmessage '$systime - Hotkeys Set #2 (PUSHMAX ON)' | wait 1000} | if [$hotkeys == 1] {clear $hotkeys | statusmessage '$systime - Hotkeys Set #1 (DASH ON)' | wait 1000}

num1:
if [$hotkeys == 1] {loop 1 moveitemonground $target.posx $target.posy $target.posz [$target.posx-1] [$target.posy+1] $target.posz

num2:
 if [$hotkeys == 1] {loop 1 moveitemonground $target.posx $target.posy $target.posz $target.posx [$target.posy+1] $target.posz

num3:
 if [$hotkeys == 1] {loop 1 moveitemonground $target.posx $target.posy $target.posz [$target.posx+1] [$target.posy+1] $target.posz

num4:
 if [$hotkeys == 1] {loop 1 moveitemonground $target.posx $target.posy $target.posz [$target.posx-1] $target.posy $target.posz

num6:
 if [$hotkeys == 1] {loop 1 moveitemonground [$target.posx] [$target.posy] [$target.posz] [$target.posx+1] [$target.posy] [$target.posz]

num7:
 if [$hotkeys == 1] {loop 1 moveitemonground $target.posx $target.posy $target.posz [$target.posx-1] [$target.posy-1] $target.posz

num8:
 if [$hotkeys == 1] {loop 1 moveitemonground $target.posx $target.posy $target.posz $target.posx [$target.posy-1] $target.posz

num9:
 if [$hotkeys == 1] {loop 1 moveitemonground $target.posx $target.posy $target.posz [$target.posx+1] [$target.posy-1] $target.posz


Support/Hunting Hotkeys

Hunting UE
auto 100 listas 'Auto Ue' | if [$monstersaround.3 >= 2 && $playersaround.10 == 0] {say ‘Exevo Gran Mas Frigo/Flam’}
 
Hunting Exori Gran
auto 100 listas 'Auto E-Gran' | if [$monsteraround.1 >= 2 && $playersaround.4 == 0] {say ‘Exori Gran’}

Mana Train With MC
auto 200 gmana friend

Anti-Idle
auto 200 listas 'Dance' | turnn | wait 100 | turne | wait 100 | turns | wait 100 | turnw | wait 100 | turnn

Buy Mana Potions
auto 2000 listas 'Buy Mana' | caphigher 700 npcsay 'hi' | caphigher 700 npcsay 'trade' | caphigher 700 buyitems 238 200 | dropitems 284

Bug Map
auto 10 listas 'Bug Map' | if [$key.65] {usegroundxyz [$posx-7] $posy $posz | end} if [$key.68] {usegroundxyz [$posx+7] $posy $posz | end} if [$key.83] {usegroundxyz $posx [$posy+6] $posz | end} if [$key.87] {usegroundxyz $posx [$posy-6] $posz | end} if [$key.67] {usegroundxyz [$posx+6] [$posy+5] $posz | end} if [$key.90] {usegroundxyz [$posx-6] [$posy+5] $posz | end} if] [$posy-5] $posz | end}

Reconnect
auto 200 ifnot $connected { reconnect | wait 5000 }

Auto Invisible
auto 200 ifnot $invisible {say 'Utana Vid' | wait 800}

Mana Trainer
auto 100 listas 'Mana Trainer' | if [$mppc > 98] say 'utana vid'

Change Gold Coins To Platinum Coins
auto 200 listas 'Gold coin to Platinum Coin' | stackitems | if [ $itemcount.3031 >= 100 ] equipbelt 3031 | if [$beltslot.id == 3031 && $beltslot.count == 100] useitem 3031

Change Platinum Coins To Crystal Coins
auto 200 listas 'Platinum Coin to Crystal Coin' | stackitems | if [ $itemcount.3035 &gt;= 100 ] equipbelt 3035 | if [$beltslot.id == 3035 &amp;&amp; $beltslot.count == 100] useitem 3035

Refill Ammunition
auto 200 refillammo

Equip Soft Boots Below 50% Mana Equip Boots Of Haste Above 95% Mana
auto 200 listas 'Soft Boots' | if [$mppc <= 50] equipboots 6529 | if [$mppc >= 95] equipboots 3079

Trade Helper
auto 100 listas 'Trade Helper' | tradesay 'SELL SOFT BOOTS' | wait [$rand.120.240*1000]

Auto Blood Rage
auto 100 if [$strenghttime <= 1200] {say 'utito tempo' | wait 500}
 
Auto Sharpshooter
auto 100 if [$strenghttime <= 1200] {say 'utito tempo san' | wait 500}

Elfbot Hotkey Actions and Conditions

Attacks

aimgfb - shoots a gfb on the best square where no friends will be shotten
aimavalanche - shoots an avalanche on the best square where no friends will be shotten
aimthunderstorm - shoots a thunderstorm on the best square where no friends will be shotten
aimstoneshower - shoots a stone shower on the best square where no friends will be shotten
aimtype {creature} - uses the action/spell that is set in the aimbot section, on a certain creature.
attack {creature} - attacks a creature
autoaim - casts the specified aimtype on the best enemy
ewave - casts ‘exevo vis hur’ on target only if it’s on spell range
explo {creature} - shoots an explosion on a creature
exoricon {hp%} - casts ‘exori con’ only if target is below certain hp% and on spell range
exorihur {hp%} - casts ‘exori hur’ only if target is below certain hp% and on spell range
exorigran {hp%} - casts ‘exori gran’ only if target is below certain hp% and close to you
hmm {creature} - shoots a hmm on a creature
icicle {creature} - shoots an icicle on a creature
lmm {target} - shoots a lmm rune on a target
paralyze {creature} - shoots a paralyze on a creature
runtargeting - if you want to run targeting only when you have a certain button pressed, bind this to a key
sd {creature} - shoots a sd on a creature
soulf {creature} - shoots a soulfire on a creature
setattackmode {attackmode} {chasemode} - sets your current attack/chase mode
stalagmite {creature} - shoots a stalagmite on a creature
stopattack - will stop attacking/following the creature you are currently attacking/following
wave {spellword} - casts a wave spell (like exevo vis hur) only if target is on spell range


Miscellaneous


allowwalk {item1} {item2}… - allows the client/bot to auto-walk on a certain item id
altnavdisplay - an alternative way of displaying navigation friends and enemies.
clear $varname - it’s the same as doing set $variablename 0
collectitems {backpack} {item1} {item2}… - collects items.
connect {worldname} {accname} {accpass} {charname}
copyscreen - will copy the current content of the Tibia window to the clipboard
dec $varname - it’s the same as doing set $variablename [$variablename-1]
disallowwalk {item1} {item2}… - disallows the client/bot to auto-walk on a certain item id
displaymap - displays a big minimap on your screen, really useful if you’re using navigation.
displaytext {text} - displays a text message on your screen.
dontlist - use this if you don’t want to list a certain auto bind
end - ends the execution of your bind, and restarts it
exec {string} - will execute a certain command
exivalast - exivas the last person you exivaed
exivatarget - exivas your target
filewrite {filename} {text} - writes some text to a file, but does not add a new line afterwards
filewriteline {filename} {text} - writes text and inserts a line break afterwards in the file
filedelete {filename} - deletes a file
flash - makes a flash, like alarms does
gamesay {text} - says something in game-chat
guildsay {text} - says something in guild-chat
helpsay {text} - says something in help-channel
inc $varname - it’s the same as doing set $variablename [$variablename+1]
ignoretarget {creature} - ignores a target
keepmagwall - will keep shooting a magwall on the square you last attempted to shot a magwall on
listas {text} - lists a auto bind with a custom text
listboxsetup {id} {posx} {posy} {maxlines} {linetime} {direction} - sets up a listbox
listboxaddline {id} {colorR} {colorG} {colorB} {linetext} - adds a text to an specified listbox’s ID
log {text} - logs a text on a new line to the file ‘elfscript.log’ along with the current time and date
logout - makes you logout
magwall {creature} - shoots a magwall two squares in front of a creature
makerune {mp} {runespell} - creates a certain rune.
mwallshield - shoots a magic wall in the square that will most effectively shield you from enemy fire
mwallcover {creature} - shoot a magic wall which will best cover a creature of your choice to prevent enemies shooting/healing him
npcsay - says something in the npc-chat
playsound {soundfilename} - plays a .wav file from your Elfbot folder
pm {playername} {text} - private messages a message to a certain player
reconnect - reconnects you
rlsay {text} - says something in the real-life chat
savescreen {filename} - saves the current contents of the Tibia window to a file on disk.
say {text} - says something in your default chat
scrollview - makes it possible to look off-screen
set $varname {value} - creates a new variable/assigns a new value to an already existing one
setcaption {text} - changes the text of your Tibia Client’s window
setcolor {colorR} {colorG} {colorB} - sets the color of the ‘displaytext’ command
setpos {x} {y} - sets the position for a ‘displaytext’ command
seticonactive {iconname} {timems} - puts an icon into the active state for a certain amount of time
seticontext {iconname} {text} - adds extra text to an icon
spydown - spies down one level
spyup - spies up one level
statusmessage {text} - will make a message appear where there appears ‘Sorry not possible.’
tradesay {text} - says something in the trade-channel
turnoff - turns an auto bind off
xlog - x-logs you out of the game
Movement
charge - casts ‘utani tempo hur’ if you are not current hasted
dash - an exploit that increases your speed.
dashchase {creature} - client-sidedly chases a creature
follow {creature} - follows a creature
haste - casts ‘utani hur’ if you are not current hasted
movee - moves you east
moven - moves you north
moves - moves you south
movew - moves you west
movene - moves you north-east
movenw - moves you north-west
movese - moves you south-east
movesw - moves you south-west
moveto {x} {y} {z} - issues a move command of your character towards a certain location
stronghaste - casts ‘utani gran hur’ if you are not current hasted
swiftfoot - casts ‘utamo tempo san’ if you are not current hasted
turnn - turns you north
turne - turns you east
turns - turns you south
turnw - turns you west
Inventory
buyitems {itemid} {amount} - buys a specific amount of a certain item
buyitemsupto {itemid} {amount} {itemvariable} - buys a specific amount of a certain item, up to a certain total desired amount depending on how many you already have.
closeallwindows - closes all open inventory windows
crosshair {itemid} - makes a crosshair of the item id appears, so you can shoot a rune
eatfood - eats food from your open backpacks
equipammy {itemid} - equips an amulet with a certain item id to your neck slot
fastequipammy {itemid} - same as ‘equipammy id’, but will issue an equipment even if item with ‘id’ isn’t already in the amulet slot (will spam).
equipback {itemid} - equips a certain item in your backpack slot
equipbelt {itemid} - equips a certain item in your belt slot
equipboots {itemid} - equips a certain item in your boots slot
equipchest {itemid} - equips a certain item in your chest slot
equiplhand {itemid} - equips a certain item in your left-hand slot
equiprhand {itemid} - equips a certain item in your right-hand slot
equiphead {itemid} - equips a certain item in your head slot
equiphelm {itemid} - equips a certain item in your helmet slot
equiplegs {itemid} - equips a certain item in your legs slot
equipring {itemid} - equips a certain item in your ring slot
equipsring {itemid} {itemid} - same as equipring, but is used for rings that ‘sparkle’
fish {itemid optional} - tries to get a fish using a fishing rod or if you want to fish a water elemental, just put the water elemental’s body ID.
lootitems - loot items defined in the file lootitems.txt
movenitems {item} {count} {‘backpack’} - moves count amount of item to desired backpack
moveitemonground {sx} {sy} {sz} {dx} {dy} {dz} - moves the top item from a source tile to a destination tile
moveitems {itemid} {window} - moves all items with a certain id, to a window of a certain type
moveitemsonto {itemid} {bpid} {bpindex} {window} - moves all items to a specific container (bpid), at a certain index in an open window
openbeltitem - opens the item located in your belt slot, in a new window
openbpitem - opens your backpack in a new window
openitem {itemid} {index} {window} - (read the hotkey wizard for more info)
openitemnew {itemid} {index} {window} - same as ‘openitem’ but the item will be opened in a new window
opengrounditem {itemid} - if there’s an item 1 square around you with a certain id this will open that item
opengroundxyz {x} {y} {z} - opens a certain item on a specific coordinate
reachgrounditem {itemid} - walks up to a certain item that is currently on your screen
refillammo - refills any item in your left hand, right hand or belt slot
sellitems {itemid} {amount} - sells a specific amount of a certain item to an NPC
sellitemsdownto {itemid} {amount} {itemvariable} - sells a specific amount of a certain item to an NPC down to a certain total desired amount depending on how many you already have
stake {distance} {itemid} - will look for reachable stakeable corpses within a certain distance, and skin them
skin {distance} {itemid} - will look for reachable skinnable corpses within a certain distance, and skin them
swapequip {text} {text} - swaps an item from one inventory slot to another
unequip {text} {window} - unequips an item from one of your inventory slots and puts it into a specific backpack
useoncreature {itemid} {creature} - uses an item with a certain id on a creature
useitem {useitem} - uses an item with a certain id
usegrounditem {itemid} - uses a certain item on the ground that’s within 1 squares range
usegroundxyz {x} {y} {z} - uses the item that is currently on x y z
useongrounditem {itemid} {itemid} - uses an item from your inventory on a ground item that’s within 1 squares range
useoninventoryitem {itemidtouse} {itemidtouseon} - uses an item from your inventory on your own inventory
repeatuseongroundxyz {itemid} {itemidonground} {x} {y} {z} - repeats using a certain item from your inventory on an item on x y z until the item on ground no longer can be found
useongroundxyz {itemid} {x} {y} {z} - use a certain item frmo your inventory on the item that is on a certain x y z location
useitemsonground {sx} {sy} {sz} {dx} {dy} {dz} - uses the topmost item of a source tile onto the topmost item of a destination tile.
Restoration
autoheal - will force the bot to heal yourself if your hp is below 95%
healparalysis {text} heals your paralysis with a certain spell
health {hp%} {creature} - uses a light health potion on a creature when it’s hp is below a certain percentage
shealth {hp%} {creature} - uses a strnog health potion on a creature when it’s hp is below a certain percentage
ghealth {hp%} {creature} - uses a great health potion on a creature when it’s hp is below a certain percentage
uhealth {hp%} {creature} - uses a ultimate health potion on a creature when it’s hp is below a certain percentage
gshealth {hp%} {creature} - uses a great spirit potion on a creature when it’s hp is below a certain percentage
ihpc {hp%} {creature} - uses a ih rune on a creature when it’s hp is below a certain percentage
mana {creature} - uses a light mana potion on a creature
smana {creature} - uses a strong mana potion on a creature
gmana {creature} - uses a great mana potion on a creature
gsmana {creature} - uses a great spirit potion on a creature
manashield - casts ‘utamo vita’ if you not already have mana shield activated or your mana is sufficient
refillmana {mp} {distance} - will try to mana your friends (if they’re connected to a nav server)
refillhealth {hp} {distance} - will try to heal your friends (if they have look info)
sio {hp%} {creature} - casts ‘exura sio’ on a creature when his hp is below a certain percentage
uh {creature} - will heal a creature with a uh rune, if his hp percentage is below 95%
uhpc {hp%} {creature} - uses a uh rune on a creature whose hp is below a certain percentage
Cavebot
changestance {monstername} {stancetype} {settingnumber} {monstercount} - will change the stance of a monster choosen on targeting
countitems {itemid} - will count how many items of a certain item, you’ve got
countitemsvisible {itemid} - will count how many visible items, you’ve got of a certain itemcountolditems
countolditems {itemid} {timems} {itemname} - will serverside count the desired item if no “using one of xxx itemname” has occurent in the last timems milliseconds.
collectitems {backpack} {itemid1} {itemid2} {itemid3} - picks up the listed items from squares all around you to the target backpack.
dropitems {itemid1} {itemid2} {itemid3}… - will drop all listed items on the ground
dropitemsxyz {x} {y} {z} {itemid1} {itemid2} {itemid3}… - will drop all listed itemons on the ground on a specific x y z position
dropitemsxyzamount {x} {y} {z} {itemid} {amount} - drops a certain amount of an item onto a tile
goinvisible - casts ‘utana vid’ if you are not currently invisible
gotolabel {labelname} - continues following waypoints at the waypoint for which you have set a specific label
pickupitems {backpack} - will pick up all items on the title you’re currently standing on and move them to an open container window
pickupitemsamount {itemid} {amount} {backpack} - picks up a certain amount of an item that is on the same tile as you.
skip - will skip to the next waypoint
stackitems - will stack all countable items that are split accross piles of less than 100 together
wait {timems} - will wait a certain interval before executing the next command
Settings
loadcavebot {scriptname} - loads a cavebot script. The file must be on your scripts folder.
loadtargeting {scriptname} - loads a targeting script. The file must be on your scripts folder.
loadsetting {settingname} - loads a setting. The file must be on your elfsettings folder.
loadscript {scriptname.elfs} - loads a script in text form. The file must be on your elfsettings folder.
setalarm {alarmname} {S state} {P state} {X state} - let you enable/disable an alarm
setautocombo {on/off/toggle} - enable/disable autocombo
setcavebot {on/off/toggle} - enable/disable follow waypoints
settargeting {on/off/toggle} - enable/disable targeting
settradeoptions {bpmode} {capmode} {equipmode} - changes the option on trade mode, for more information check the releases thread
setfollowwaypoints {on/off/toggle} - enable/disable follow waypoints
setopennextbp {on/off/toggle} - enable/disable set open next bp
setoutfit {playername} {outfitid} - dresses someone with a specified outfit. It will dress your self if you don’t specify the playername
setitemoutfit {playername} {itemid} - dresses someone with a specified item id, like chameleon
setoutfitcolor {playername} {headcolor} {primary} {secondary} {detail} {addon} - dresses someone with your desired outfit colors/addons
setrelation {playername} {relation} {priority} - lets you flag players in realtime as a sub/enemy/friend, according to conditions that you impose
Loopings
foreach {listtype} $varname {action} - will itinerate trough a list type and make a desired action
while {condition} {action} - will execute an action while the conditions are satisfied
loop {amountoftimes} {action} - will execute an action x amount of times
Conditions
Cavebot Related
islocation - will execute a certain action only if you are on the exactly location of action waypoint.
isnotlocation - will execute a certain action only if you are not on the exactly location of action waypoint.
isdistance {x} - will execute a certain action only if you are x sqms close to the action waypoint
isnotdistance {x} - will execute a certain action only if you are not x sqms close to the action waypoint
isposz {posz} - will execute a certain action only if you are on the specified posz
Alert Related
ifdefaultmessage - will execute a certain action only if you recieved a default message within last 2 seconds
ifplayerattacking - will execute a certain action only if a player attacked you within last 2 seconds
ifprivatemessage - will execute a certain action only if you recieved a private message within last 2 seconds
ifgm - will execute a certain action only if a GM is detected around you
ifnogm - will execute a certain action only if a GM is not detected around you
ifplayeronscreen - will execute a certain action only if a player is detected around you
ifnoplayeronscreen - will execute a certain action only if a player is not detected around you
Misc Related
countlower {amount} - will execute a certain action only if the last item counted is lower than a certain amount
counthigher {amount} - will execute a certain action only if the last item counted is higher than a certain amount
caplower {num} - will execute a certain action only if your capacity is lower than a certain amount
caphigher {num} - will execute a certain action only if your capacity is higher than a certain amount
ifdrunk - will execute a certain action only if you are currently with drunk status
ifhasted - will execute a certain action only if you are currently with haste status
ifnothasted - will execute a certain action only if you are not currently with haste status
ifmanashielded - will execute a certain action only if you are currently with mana shield status
ifnotmanashielded - will execute a certain action only if you are not currently with mana shield status
ifpoisoned - will execute a certain action only if you are currently with poison status
ifparalyzed - will execute a certain action only if you are currently with paralyze status
ifnotparalyzed - will execute a certain action only if you are not currently with paralyze status
isattackedname {creaturename} - will execute a certain action only if the monster you are currently attacking has the specified name
isonscreen {creaturename} - will execute a certain action only if there is a creature with the specified name on your screen
isnotonscreen {creaturename} - will execute a certain action only if there is not a creature with the specified name on your screen
istargeting - will execute a certain action only if the targeting is currently targeting a monster
isnottargeting - will execute a certain action only if the targeting is not currently targeting a monster
istargetname {creaturename} - will execute a certain action only if the targeting is currently targeting with a monster with the specified name
hplower {num} - will execute a certain action only if you are with hp lower than the specified number
hphigher {num} - will execute a certain action only if you are with hp higher than the specified number
hpmissinglower {num} - will execute a certain action only if you are with missing hp lower than the specified number
hpmissinghigher {num} - will execute a certain action only if you are with missing hp higher than the specified number
mplower {num} - will execute a certain action only if you are with mp lower than the specified number
mphigher {num} - will execute a certain action only if you are with mp higher than the specified number
mpmissinglower {num} - will execute a certain action only if you are with missing mp lower than the specified number
mpmissinghigher {num} - will execute a certain action only if you are with missing mp higher than the specified number
safe - will execute a certain action only if the healing section of the bot is not currently healing yourself
targethplower {num} - will execute a certain action only if the target is with hp% lower than the specified number
Conditional expressions (To be used with variables):
if {conditions} {action} - will execute a certain action only if it satisfies some conditions
ifnot {conditions} {action} - will execute a certain action only if it doesn’t satisfies some conditions
else {action} - will execute a certain action only if the corresponding if/ifnot expression wasn’t satisfied

Elfbot Hotkey Variables



$mp will return your current mana
example: if [$mp <= 200] mana self, it will use a mana potion if your mana is under 200

$maxmp will return your max mana
example: if [($maxmp-$mp) >= 500] mana self, it will use a mana potion if your maxmana-mana is higher than 500

$mppc will return your mana percentage
example: if [$mppc <= 60] mana self, it will make you drink a mana potion if your MP% is lower than 60

$hp will return your current health
example: if [$hp <= 1500] playsound lowhealth.wav, it will play the sound lowhealth.wav if your health is under 1500

$maxhp will return your max health
example: if [$hp < 65*$maxhp/100] say 'exura san', it will cast 'exura san' if your HP% is lower than 65

$hppc will return your health percentage
example: if [$hppc <= 90] say 'exura', it will make you cast if your HP% is lower than 90

$cap will return your capacity
example: if [$cap < 300] gotolabel deposit, it will go to the label 'deposit' if your cap is below 300

$exp will return your experience
example: if [$exp > 4200] gotolabel logout, it will go to the label 'logout' if your exp is higher than 4200

$level will return your level
example: if [$level >= 9] gotolabel gobuyexura, it will go to the label 'gobuyexura' if you reached level 9

$mlevel will return your magic level
example: if [$mlevel >= 15 && $level >= 45] sd target, it will shoot an SD rune if your level is higher than 45 and your magic level higher 15

$posx will return your current X position
example: if [$posx > 12345 && $posx < 54321] xlog, it will logout if your X position is between 12345 and 54321

$posy will return your current Y position
example: say 'Y = $posy', it will make your character say your current Y position

$posz will return your current Z position
example: if [$posz == 7] say 'bye', it will make your character say bye if your Z position is equal to 7

$soul will return your current amount of soul points
example: if [$soul >= 5 && $level >= 45] makerune [$maxmp-20] 'adori gran mort', it will make a sudden death rune if your soul points are higher than 5 and your are above level 45 when you are at maxmana-20

$stamina will return your current stamina time in minutes
example: if [$stamina <= 60*14] xlog, it will make you logout if your stamina is below 14 hours

$count will return the last thing you counted
example: countitemsvisible 3031 | if [$count >= 1500] gotolabel depositgold, it will go to the label 'depositgold' if the ammount of items of ID 3031 is higher than 1500

$screenleft it will return you the correct number to position a text in the left part of screen.
example: auto 200 setpos $screenleft 100 | displaytext 'Testing the position', it will show the text: 'Testing the position' on the X coordinates in the left part of Tibia
screen and in Y coordinates in the pixel 100

$screenright it will return you the correct number to position a text in the right part of screen.
example: auto 200 setpos $screenright 100 | displaytext 'Testing the position', it will show the text: 'Testing the position' on the X coordinates in the right part of Tibia screen and in Y coordinates in the pixel 100

$screentop it will return you the correct number to position a text in the top part of screen.
example: auto 200 setpos 256 [$screentop+200] | displaytext 'Testing the position', it will show the text: 'Testing the position' on the X coordinates in the pixel 256 of Tibia screen and in Y coordinates in the top part and more 200 pixels below

$screenbottom it will return you the correct number to position a text in the bottom part of screen.
example: auto 200 setpos 256 [$screenbottom-200] | displaytext 'Testing the position', it will show the text: 'Testing the position' on the X coordinates in the pixel 256 of Tibia screen and in Y coordinates in the bottom part and more 200 pixels above

$name will return your own name
example: say 'hi, my name is $name', it will make you say: 'hi, my name is YOURNAME'

$time will return a time in seconds
example: ..., explanation about the example

$timems will return a time in miliseconds
example: ..., explanation about the example

$deltatime will return how long since you loaded the bot (in seconds)
example: setcaption 'Played this session: $deltatime', it will show in the window title: 'Played this session: TIMEINSECONDS'

$deltatimems will return how long since you loaded the bot (in miliseconds)
example: setcaption 'Played this session: $deltatimems', it will show in the window title: 'Played this session: TIMEINMILISECONDS'

$exptnl will return how much experience left for your next level
example: setcaption 'Exp Left: $exptnl', it will show in the window title the text: 'Exp Left: EXPERIENCETONEXTLEVEL'

$exph will return how your average experience/hour
example: setcaption 'Exp Left: $exptnl / Exp/Hour: $exph', it will show in the window title the text: 'Exp Left: EXPERIENCETONEXTLEVEL / Exp/Hour: EXPERIENCEPERHOUR'

$expgained
will return how much experience you gained since you loaded the ElfBot
example: setcaption 'Exp Left: $exptnl / Exp/Hour: $exph' / Gained this session: $expgained, it will show in the window title the text: 'Exp Left: EXPERIENCETONEXTLEVEL / Exp/Hour: EXPERIENCEPERHOUR / Gained this session: EXPERIENCEYOUGAINED'

$timetnl will return you how long would you take to level up with your current experience/hour
example: setcaption 'Exp Left: $exptnl / Exp/Hour: $exph' / Gained this session:

$expgained / Time Left: $timetnl, it will show in the window title the text: 'Exp Left: EXPERIENCETONEXTLEVEL / Exp/Hour: EXPERIENCEPERHOUR / Gained this session: EXPERIENCEYOUGAINED / Time Left: TIMELEFTFORLEVEL'

$exptolevel.xx will return how much of experience left for XX level
example: setcaption 'Exp to Level 100: $exptolevel.100', it will show in the window title the text: 'Exp to Level 100: EXPERIENCETOLEVEL100'

$timetolevel.xx will return how long would you take to level to XX level with your current experience/hour
example: setcaption 'Time to Level 100: $timetolevel.100', it will show in the window title the text: 'Time to Level 100: TIMETOLEVEL100'

$monstersaround.xx will return you how many monsters are around XX SQMs around you
example: if [$monstersaround.1 >= 4] say Exori, it will make you cast 'Exori' if there are more than 4 monsters around you in a range of 1 SQM

$playersaround.xx will return you how many players are around XX SQMs around you
example: if [$playersaround.4 == 0] say Exori Mas, it will make you cast 'Exori Mas' if there aren't any players around you in a range of 4 SQMs

$sbtime will return how much time of soft boots you still have (you must look the soft boots first)
example: setcaption 'Soft Boots Time: $formattime.$sbtime', it will show in the window title: 'Soft Boots Time: SOFTTIME'

$formattime.yy will transform any number to a time number, the number must be in seconds, like 06:07:08 or 06h07m08s
example: setcaption 'Played this session: $formattime.$deltatime', it will show in the window title: 'Played this session: FORMATEDTIME'

$formatnum.yy will transform any number to a number, like transforming 160293 to 160,293
example: setcaption 'Exp To Level 167: $formatnum.$exptolevel.167, it will show in the window title: 'Exp To Level 167: FORMATEDEXPTOLEVEL167'

$itemcount.ITEMID will return the ammount of a visible item, you must change the ITEMID to a number, like 1234
example: if [$itemcount.3286 > 10] gotolabel droplootonground, it will go to the label 'droplootonground' if the ammount of visible items of ID 3286 is higher than 10

$itemcount.'ITEMNAME' will return the ammount of a item that you are using, you must change the ITEMNAME to a item name, like 'great mana potion'
example: if [$itemcount.'mana potion' <= 50] gotolabel buymfs, it will go to the label 'buymfs' if a message with 'Using one of 50 mana potions...' appears

$poisoned will return if you are poisoned
example: if [$poisoned == 1] say 'Exana Pox', it will cast 'Exana Pox' if you're poisoned

$poisondmg will return how much of damage you are recieving from the poison
example: if [$poisondmg > 10] say 'Exana Pox], it will say 'Exana Pox' if the poison damage is higher than 10

$ringslot.property will return the ID or COUNT of the item in the ring slot
$beltslot.property will return the ID or COUNT of the item in the belt (ammunition) slot
$backslot.property will return the ID or COUNT of the item in the backpack slot
$rhandslot.property will return the ID or COUNT of the item in the right hand slot
$lhandslot.property will return the ID or COUNT of the item in the left hand slot
$amuletslot.property will return the ID or COUNT of the item in the amulet slot
$bootsslot.property will return the ID or COUNT of the item in the boots slot
$legsslot.property will return the ID or COUNT of the item in the legs slot
$chestslot.property will return the ID or COUNT of the item in the chest (armor) slot

These are the properties the slot variables can have.
count -> it will return the amount of items that are in the desired slot.
example: if [$beltslot.count < 20] refillammo, it will refill the ammunition if you have less than 20 items in the left hand
id -> it will return the number ID of the item that are in the desired slot.
example: if [$lhandslot.id != 1234] equiplhand 1234, it will equip the left hand with a 1234 if there isn't a 1234 equiped

$manashielded will return if you are using mana shield
example: if [$manashielded == 0] say 'Utamo Vita', it will cast 'Utamo Vita' if you are not mana shielded

$drunk will return if you are drunk
example: if [$drunk == 1] {equipsring 3097 3099 | wait 15000 | equipring 3007}, it will equip the ring of ID 3097, and after 15 seconds, it will equip the ring of ID 3007 to check if you're still drunk

$hasted will return if you are using haste
example: if [$hasted == 0] say 'Utani Hur', it will cast 'Utani Hur' if you are not hasting

$paralyzed will return if you are paralyzed
example: if [$paralyzed == 1] say 'Exura', it will cast 'Exura' if you are paralyzed

$connected will return if you are connected
example: if [$connected == 0] reconnect, it will make you reconnect if you are not connected

$pkname will return the name of player that's attacking you
example: ifplayerattacking attack $pkname, it will make attack back the player that's attacking you

$fileisline.'filename'.'linetext' it will return 1 if a certain line in the 'filename' equals to 'linetext', 0 otherwise.
example: if [$fileisline.'test.txt'.'utani gran hur'] say 'Okay', it will make you say 'Okay' if there is a line with the words 'utani gran hur' in the file 'test.txt'.

$filerandomline.'filename' it will return a random line from the 'filename'.
example: if [$curmsg.content ? 'hello' && $curmsg.isdefault] say

"$filerandomline.'himsgsresponder.txt'" it will make you say a random line from the file 'himsgsresponder.txt' if someone says hello for you in the default channel.

$fileline.'filename.xyz'.n will return the nth line of the file filename.xyz
example: say '[$fileline."testbot.txt".30]', it will make you say the 30th line of the file testbot.txt

$token.'text'.n will return the nth token (word/element) of a string. A token is either a word that ends with a space, or the inside of a singlequote/doublequote. If you omit to specify n, then the returned string will simply be the first token of 'text'. If 'text' is '12 "34 56" 78', n=3 will return: 12, n=2 will return: 34 56, and n=3 will return: 78
example: if [$token.'$lastmsg.sender' == 'GM'] logout, it will make you logout if the first name of the last message you recieve is 'GM'

$cutstr.'string'.startpos.lenght will let you cut a part of a sentence
example: $cutstr.'123456'.2.3, will return 234, that is 3 characters starting at the 2nd character. You can also omit the lenght paramter, in which case the remainder of the string will be returned ($cutstr.'123456'.2 will return 23456)

$mshieldtime will return the time left in miliseconds to your magic shield goes out
example: if [$mshieldtime <= 8000] say 'Utamo Vita', it will make you cast 'Utamo Vita' if your magic shield is going out in less than 8 seconds

$hastetime will return the time left in miliseconds to your haste goes out
example: if [$hastetime <= 2000] say 'Utani Gran Hur', it will make you cast 'Utani Gran Hur' if your haste is going out in less than 2 seconds

$invistime will return the time left in miliseconds to your invisible goes out
example: if [$invistime <= 5000] say 'Utana Vid', it will make you cast 'Utana Vid' if your invisible is going out in less than 5 seconds

$strengthtime will return the time left in miliseconds to your strenght goes out
example: if [$strengthtime <= 1500] say 'Utito Tempo', it will make you cast 'Utito Tempo' if your strenthen is going out in less than 1.5 seconds

$invisible will return if you are invisible or not
example: if [$invisible == 0] say 'Utana Vid', it will make you cast 'Utana Vid' if you are not invisible

$dmgs will return the amount of damage you recieved last second
example: if [$dmgs >= 500] set $spell 'Exura Vita', it will make set the variable $spell to 'Exura Vita' if you recieved more than 500 of damage last second

$enemycount will return the amount of enemies on your screen
example: if [$enemycount >= 1] xlog, it will make you force logout if an enemy appears on your screen

$friendcount will return the amount of friends on your screen
example: if [$friendcount >= 1] say 'Hi friend', it will make you say 'Hi Friend' if a friend appears on your screen

$fishspots will return the amount of fishable spots on your screen
example: if [$fishspots <= 5] gotolabel 'ContinueFishing', it will make you go to label 'ContinueFishing' if there are less than 5 fishable spots in your screen

$waypointson will return if the follow waypoints is enabled or not
example: if [$waypointson == 1] setfollowwaypoints off, it will disable the follow waypoints if it was on

$targetingon will return if the targeting is enabled or not
example: if [$targetingson == 1] settargeting off, it will disable the targeting if it was on

$autocomboon will return if the auto combo is enabled or not
example: if [$autocomboon == 1] setautocombo off, it will disable the auto combo if it was on

$caveboton will return 1 if the follow waypoints is on, 0 if not (same as $waypointson)
example: ifnot $caveboton setcavebot on, it will enable the cavebot if it wasn't enabled

$ping it will return your roundtrip time to the server in milliseconds
example: if [$ping >= 500] xlog, it will make you logout if your ping is higher than 500

$idlerecvtime it will return the amount of time elapsed since the server has sent any information in milliseconds
example: if [$idlerecvtime >= 5000] playsound freezed.wav, it will play the sound 'freezed.wav' if you freezed for more than 5 seconds

$standtime it will return the amount of time you have been standing in the same place in milliseconds
example: if [$standtime >= 45000] playsound playeronscreen.wav, it will play the sound 'playeronscreen.wav' if you are in the same SQM for more than 45 seconds

$systime it will return a formatted string displaying the current time on your system/computer in the format: hh:mm:ss
example: statusmessage '$systime', it will display a status message with your current time

$sysdate it will return a formatted string displaying the current date on your computer in the format: dayname, monthname dd yyyy
example: statusmessage '$sysdate', it will display a status message with your current date

$battlesign it will return 1 if you are battle signed, and 0 if you are not
example: ifnot $battlesign logout, it will make you logout if you aren't PZ locked.

$redbattlesign it will return 1 if you are red battle signed, and 0 if you are not
example: ifnot $redbattlesign logout, it will make you logout if you aren't PvP PZ locked.

$inpz it will return 1 if you are inside a protection zone, and 0 if you are not
example: if $inpz xlog, it will make you logout if you are inside a pz zone.

$rand.x.y will return a random number from x to y, or just $rand.x for one from 0 to x
example: auto 100 tradesay 'sell knight armor' | wait [($rand.200.350)*1000], it will say in the Trade Channel: "sell knight armor", and after a random time from 200 to 350 seconds it will say it again

$sstime will return the time to serversave in seconds (only if a serversave message appears)
example: auto 1000 setcaption 'Time to Server Save: $sstime', it will add to your caption the time left for the serversave.

$winitemcount.x same as $itemcount.x, but returns only the amount of visible items of id x that are in windows (open containers/backpacks), excluding the ones equipped on you (excluding the ones in hand, belt, etc).
example: if [$winitemcount.1234 > 20] equiprhand 1234 100, it will equip you with the item '1234' if there are more than 20 '1234' in your backpack

$fired will return 1 if the preceding command has succesfully issued an attack or used a rune on someone.
example: auto 100 sd target | if $fired wait 900, it will add a delay of 900 miliseconds only if the the sd target was succesfully issued. Note that the $fired DOES NOT tell you that a sd was actually thrown, but that a shoot sd command was sent because target was shootable.

$synctime will return the time in milliseconds left for a sync shot if one is in progress.
example: ifnot $synctime sd target, it will shoot a sudden death rune on your target only if a sync shot order isn't in progress

$navion will return 1 if you are connected to the navigation and 0 if not.
example: auto 100 if $navion listas 'Connected to the navigation', if you are connected to the navigation it will show on the hotkeys activated list the message 'Connected to the navigation'.

$exectime will return the time in miliseconds that the bot took to execute all the hotkeys + some other important bot functionality. This will increase as you are running more hotkeys. This is updated 10 times per second, and shouldn't become over 100ms.
example: auto 100 setcaption 'Exec Time: $exectime', it will show on your Tibia window the time needed to execute the bot functions.

$topitem.posx.posy.posz will return the ID of the top item on a tile
example: auto 100 if [$topitem.32222.34444.7 == 3031] moveitemonground 32222 34444 7 32223 34445 7, if the top item of the tile 32222 34444 7 is a item of ID 3031, it will be moved from 32222 34444 7 to 32223 34445 7.

$istileitem.posx.posy.posz.itemid it will return 1 there is a item of X item ID
example: auto 100 if [$istileitem.32222.34444.7.3031] playsound 'monster.wav', if an item of ID 3031 is at the tile 32222 34444 7 it will play the sound 'monster.wav'.

$lastdmg it will return the last damage number you recieved
example: auto 100 if [$lastdmg > 500] savescreen, it will save a screenshot if the last damage you recieved was higher than 500.

$lastdmgtype it will return the type of the last damage you recieved
example: auto 100 if [$lastdmgtype == 30 && $lastdmg > 50 && $poisoned] {say 'Exana Pox' | wait 900}, it will make you cast 'Exana Pox' if the last damage you recieved was of poison type, and you are poisoned and it was higher than 50.

$mcount."conditions" it will return the amount of monster satisfying certain conditions.
example: auto 100 if [$mcount."$m.name == 'Dragon Lord' && $m.isshootable" >= 2] equipring 3051, it will make you equip an energy ring if there are more than 2 dragon lords shootable on your screen.

$pcount."conditions" it will return the amount of players satisfying certain conditions.
example: auto 100 listas 'There are [$pcount."$p.isenemy && $p.ismage && $p.level > 80" enemies mages 80+ on your screen', it will show the text 'There are X enemies mages 80+ on your screen'.

$screencount.'name' it will return how many of creatures with name 'name' on the same level as you and on the visible/shootable portion of the screen.
example: auto 100 listas '[$screencount."Demon"] demons are found on your screen.', it will show the text 'X demons are found on your screen.'

$lastdmgername it will the name of the creature that has last attacked you. This is the name taken from the message "You lose xxx hitpoints due to an attack by mmmm"
example: auto 100 if [$screencount."Stalker" == 0 && $lastdmgtime < 300 && $lastdmgername == "Stalker"] {useoncreature 3191 self | wait 300}, it will shoot a great fireball rune on yourself if you was damaged by a stalker in the last 300 miliseconds and there are no stalkers visible on your screen.

$lastdmgtime it will return the time since you were last attacked by a creature in miliseconds.
example: auto 100 if [$screencount."Warlock" == 0 && $lastdmgtime < 300 && $lastdmgername == "Warlock"] {useoncreature 3175 self | wait 300}, it will shoot a stoneshower rune on yourself if you was damaged by a warlock in the last 300 miliseconds and there are no warlocks visible on your screen.

$ctrl it will return if you're holding the CTRL Key
example: if [$ctrl] {say 'Exori Vis' | wait 300} | else {say 'Exevo Vis Hur' | wait 300}, it will cast energy strike if you're holding the CTRL Key and will cast energy wave if you're not holding the CTRL Key.

$shift it will return if you're holding the SHIFT Key
example: if [$shift] {makerune 'Adori Frigo' [$maxmp-20] | wait 300} | else {makerune 'Adura Vita' [$maxmp-20] | wait 300}, it will make an icicle rune if you're holding the SHIFT Key and will make an ultimate healing rune if you're not holding the SHIFT Key.

$alt it will return if you're holding the ALT Key
example: if [$alt] crosshair 3003 | else crosshair 5710, it will make a rope crosshair appear if you're holding the ALT Key and will make a light shovel crosshair appear if you're not holding the ALT Key.

$key.id it will return if you're holding some key. More information about the keys on the end of this article
example: if [$key.68] countitems 3031 | else statusmessage "You must hold the 'D' Key.", it will count the gold coins if you're holding the key of ID 68 (D Key) and will send the statusmessage "You must hold the 'D' Key" if you're not holding the key of ID 68 (D Key).

$skill.type it will return your current skill.
example: auto 100 if [$skill.'sword' >= 90] {playsound 'advancedskill.wav' | flash}, it will play the sound 'advancedskill.wav' and flash if your sword fighting is higher than 90.

$skillpc.type it will return your current skill percent.
example: auto 100 if [$skillpc.'mlevel' == 1] {playsound 'advancedskill.wav' | flash}, it will play the sound 'advancedskill.wav' and flash if your magic level is about to advance.

$skilltime.type it will return the estimated time left in seconds to advance a skill.
example: auto 100 if [$skilltime.'fishing' <= 60] {playsound 'advancedskill.wav' | flash}, it will play the sound 'advancedskill.wav' and flash if 60 seconds are left to advance your fishing.

Type can be:

fist -> will check for your fist fighting
club -> will check for your club fighting
sword -> will check for your sword fighting
axe -> will check for your axe fighting
distance -> will check for your distance fighting
shielding -> will check for your shielding
fishing -> will check for your fishing
mlevel -> will check for your magic level

These variables will return if someone is a leader or an enemy or a subenemy or a friend or a subfriend in your Lists: 

 

$isleader.'name' it will check if the player 'name' is on the leaders list on aimbot
$isfriend.'name' it will check if the player 'name is on the friends list on lists
$issubfriend.'name' it will check if the player 'name is on the subfriends list on lists
$isenemy.'name' it will check if the player 'name is on the enemies list on lists
$issubenemy.'name' it will check if the player 'name is on the subenemies list on lists
example: auto 100 foreach 'newmessages' $i if [$isfriend.'$i.sender' == 0 && $i.ispvt] {playsound 'privatemessage.wav' | flash | break}, it will play the sound 'privatemessage.wav' if a player who is not on your friends list sends you a private message.

You can use your personal variable, using foreach command (allcreatures, allplayers, allmonsters, floorcreatures, floorplayers, floormonsters, screencreatures, screenplayers, screenmonsters, shootablecreatures, shootableplayers, shootablemonsters). Or the internal variables listed below:

 

$self.property it will check something about you
$target.property it will check something about your target
$followed.property it will check something of your current followed player
$attacked.property it will check something of the creature that has currently red box around it
$attacker.property it will check something of the last creature that has attacked you
$pk.property it will check something of the last player that attacked you that the bot has chosen
$lastdmger.property it will check something of the last creature that made a damage on you
$pattacker.property it will check something of the last player that has attacked you (same as $pk.property)
$mttacker.property it will check something of the last monster that has has attacked you
$enemy.property it will check something of the best enemy that the bot has chosen
$friend.property it will check something of the best friend that the bot has chosen
$subenemy.property it will check something of the best sub-enemy that the bot has chosen
$subfriend.property it will check something of the best sub-friend that the bot has chosen
$anyenemy.property it will check something of the best enemy that the bot has chosen, if none than the best sub-enemy
$anyfriend.property it will check something of the best enemy that the bot has chosen, if none than the best sub-friend
$coretarget.property it will check something of the best valid target that the core aimbot subsystem of the bot has chosen
$triggertarget.property it will check something of the best valid target that the trigger aimbot subsystem has chosen (only if shot commands have been issued and a target is valid)
$autoaimtarget.property it will check something of the best target that both aimbot subsystems combined have chosen. This is simply the triggertarget if valid, otherwise it is the coretarget.Or you can select whoever you want setting someone trought the variables below
$creature.name it will check for a creature on your screen that has the name 'name', and then you can hold the informations in another variable, for example: auto 100 set $j $creature.'Bubble'
$mostexposed.'targetgroup' it will check for every enemy on your screen, and then choose the one that more friends of you can shoot it, the target group can be: sorcerer/druid/knight/paladin/mage/nonmage. And then you hold the informations in another variable, for example: auto 100 set $i $mostexposed.'mage'
$mostshot.'targetgroup' it will check for the creature that has recieved most sudden death rune shots in the last two seconds, the target group can be: enemy/subenemy/friend/subfriend, if you want to specify a vocation also, you can append a space and one of the following: sorcerer/druid/knight/paladin/mage/nonmage. And then you hold the informations in another variable, for example: auto 100 set $i $mostshot.'enemy mage'

Creature/player variables have these properties:

 

name will return the name of someone, for example: $target.name will return your target's name
id will return the ID of someone, for example: $enemy.id will return your best enemy's ID
posx will return the posx of someone, for example: $friend.posx will return your best friend's posx
posy will return the posy of someone, for example: $friend.posy will return your best friend's posy
posz will return the posz of someone, for example: $friend.posz will return your best friend's posz
dir will return the direction that someone is facing (check the end of this thread for more information), for example: $self.dir will return your own direction number
isonnavi will return 1 if someone is connected to the navigation, and 0 if not, for example: $friend.isonnavi will return 1 if the best friend chosen by the bot is connected to the navigation server, and 0 if not
outfit will return the outfit number of someone, for example: $subenemy.outfit will return your best sub-enemy's outfit number
hppc will return the percentage of HP of someone, for example: $target.hppc will return your target's HP percent
speed will return the speed of someone, for example: $anyenemy.speed will return your best enemy (or best sub-enemy)'s speed
skull will return the skull type of someone (check the end of this thread for more information), for example: $self.skull will return your own skull type
party will return the party icon of someone is in a party (check the end of this thread for more information), and 0 if not on party, for example: $self.party will return 4 if you are in the leader of a party
warbanner will return the war banner of someone (check the end of this thread for more information), and 0 if not on a guild war, for example: $target.warbanner will return 2 if your target is a guild enemy
isenemy will return 1 if someone is an enemy, and 0 if not, for example: $target.isenemy will return 1 if your current target is an enemy, and 0 if not
isfriend will return 1 if someone is a friend, and 0 if not, for example: $target.isfriend will return 1 if your current target is a friend, and 0 if not
issubenemy will return 1 if someone is a sub-enemy, and 0 if not, for example: $target.issubenemy will return 1 if your current target is a sub-enemy, and 0 if not
issubfriend will return 1 if someone is a sub-friend, and 0 if not, for example: $target.issubfriend will return 1 if your current target is a sub-friend, and 0 if not
isleader will return 1 if someone is a combo leader listed in Aimbot dialog, and 0 if not, for example: $target.isleader will return 1 if your current target is a leader, and 0 if not
distx will return how many sqms to the west or east someone is from you, $target.distx will return how many sqms to the west or east your target is from you
disty will return how many sqms to the north or south someone is from you, $target.disty will return how many sqms to the north or south your target is from you
distance will return the highest number of .distx and .disty, $target.distance will return how many sqms a target is from you
ismonster will return 1 if someone is a monster or a npc, 0 if not,$followed.ismonster will return 1 if your current followed is a monster, 0 if not
isnpc will return 1 if someone is a npc, 0 if not, $followed.isnpc will return 1 if your current followed is a npc, 0 if not
isplayer will return 1 if someone is a player, 0 if not, $followed.isplayer will return 1 if your current followed is a player, 0 if not
isonscreen will return 1 if someone is on the same floor as you and on the visible portion of the screen, 0 if not, $followed.ismonster will return 1 if your current followed is on your screen, 0 if not
isshootable will return 1 if nothing obstructs a projectile trajectory between you and him, 0 if not, $followed.ismonster will return 1 if your current followed is shootable, 0 if not
isparalyzed will return 1 if someone is paralyzed, 0 if not, $target.isparalyzed will return 1 if your target is paralyzed, 0 if not
color1 will return the head color's number of someone, $self.color1 will return yours head color's number, 0 if not
color2 will return the primary color's number of someone, $self.color2 will return yours primary color's number, 0 if not
color3 will return the secondary color's number of someone, $self.color3 will return yours secondary color's number, 0 if not
color4 will return the detail color's number of someone, $self.color4 will return yours detail color's number, 0 if not
canshoot.'name' will return 1 if someone can shoot the creature 'name', $friend.canshoot.'Bubble' will return 1 if your best friend can shoot 'Bubble', 0 if not
exposedcount will return how many friends/yourself can shoot someone, $coretarget.exposedcount will return how many friends + you can shoot the coretarget
shotcount will return how many sudden death runes someone has recieved on the last 2 seconds, $self.shotcount will return how many sudden death runes you have recieved on the last two seconds

Also, there will be some exclusive variables if the bot managed to get a look at the player, it will have the 'haslookinfo' property set. You should verify that it's set before using the below fields:

 

haslookinfo will return 1 if player has the below properties available: if [$target.haslookinfo && $target.hp < 400] sd $target.id (since $target.hp is only available if $target.haslookinfo is set. Otherwise, $target.hp would return 0 and the alone condition $target.hp < 400 would be true!)
guild will return someone's guild, for example: $target.guild will return your target's guild
level will return someone's level, for example: $enemy.level will return the best enemy's level
voc will return someone's vocation (short), for example: $pattacker.voc will return the current player attacking you's vocation (like NV, D, S, P, K, ED, MS, RP, EK)
vocation will return someone's vocation (long), for example: $attacked.vocation will return the attacked player's vocation (like No Vocation, Druid, Sorcerer, Paladin, Knight, Elder Druid, Master Sorcerer, Royal Paladin, Elite Knight)
isknight will return 1 if someone is a knight, and 0 if not, for example: $target.isknight will return 1 if your current target is a knight, and 0 if not
ispaladin will return 1 if someone is a paladin, and 0 if not, for example: $target.ispaladin will return 1 if your current target is a paladin, and 0 if not
issorcerer will return 1 if someone is a sorcerer, and 0 if not, for example: $target.issorcerer will return 1 if your current target is a sorcerer, and 0 if not
isdruid will return 1 if someone is a druid, and 0 if not, for example: $target.isdruid will return 1 if your current target is a druid, and 0 if not
ismage will return 1 if someone is a druid or a sorcerer, and 0 if not, for example: $followed.ismage will return 1 if the current followed player is a mage, 0 if not
maxhp will return someone's max hp, for example: $friend.maxhp will return the best friend's max hp
hp will return someone's current hp, for example: $friend.hp will return the best friend's current hp
maxmp will return someone's max mp, for example: $subenemy.maxmp will return the best sub-enemy's maxmp
mp will return someone's max hp, for example: $subenemy.mp will return the best sub-enemy's current mp
attackedme will return 1 if someone attacked you, and 0 if not, for example: $friend.attackedme will return 1 if the best friend attacked you, and 0 if not

$curmsg.property it will check something about each message you are recieving.
$lastmsg.property it will check something about the last message you recieved.
$lastnavmsg.property it will check something about the last navigation message you recieved.

You can also use foreach 'newmessages' $varname action. These variables have some properties, I will use a message as example 16:16 Lucas Terra [2]: hey, u there?, that was sent in Default.

 

sender will return the name of the message sender, in the example: $curmsg.sender will return 'Lucas Terra'
level will return the level of message sender, in the example: $curmsg.level will return '2'
content will return what was wrote in the message, in the example: $curmsg.content will return 'hey, u there?'
formatted will return the message formatted (the original message without time), in the example: $curmsg.formatted will return 'Lucas Terra [2]: hey, u there?'
channel will return in what channel the message was sent, in the example: $curmsg.channel will return 'Default'
color will return the message's color, in the example: $curmsg.color will return 16838639
isdefault will return 1 if the message was sent in default, and 0 if not, in the example: $curmsg.isdefault will return '1'
isyell will return 1 if the message was a yell, and 0 if not, in the example: $curmsg.isyell will return '0'
iswhisper will return 1 if the message was a whisper, and 0 if not, in the example: $curmsg.iswhisper will return '0'
isprivate will return 1 if the message was a private, and 0 if not, in the example: $curmsg.isprivate will return '0'
isbroadcast will return 1 if the message was a broadcast (message in green that appears in the center of screen), and 0 if not, in the example: $curmsg.isbroadcast will return '0'
isredtext will return 1 if the message was a red text (like a server save message), and 0 if not, in the example: $curmsg.isredtext will return '0'
isorangetext will return 1 if the message was a orange text (like a tutor message in help), and 0 if not, in the example: $curmsg.isredtext will return '0'
isnpc will return 1 if the message was a sent in NPC channel, and 0 if not, in the example: $curmsg.isnpc will return '0'
ischannel will return 1 if the message was sent in help or trade or game-chat or private-channels, and 0 if not, in the example: $curmsg.ischannel will return '0'
isbotlook will return 1 if the message was a bot look (when the bot looks at someone it isn't displayed), and 0 if not, in the example: $curmsg.isbotlook will return '0'
isguild will return 1 if the message was sent in guild-chat, and 0 if not, in the example: $curmsg.isguild will return '0'
isaction will return 1 if the message was an action (like the 'Ahhh...' of mana potions), and 0 if not, in the example: $curmsg.isaction will return '0'
isstatus will return 1 if the message was a status message (like the 'Sorry, not possible'), and 0 if not, in the example: $curmsg.isstatus will return '0'
isinfo will return 1 if the message was a green text (like a look at players), and 0 if not, in the example: $curmsg.isinfo will return '0'
isgame will return 1 if the message was sent in game-chat, and 0 if not, in the example: $curmsg.isgame will return '0'
isrl will return 1 if the message was sent in RL-chat, and 0 if not, in the example: $curmsg.isrl will return '0'
istrade will return 1 if the message was sent in trade channel, and 0 if not, in the example: $curmsg.istrade will return '0'
ishelp will return 1 if the message was sent in help channel, and 0 if not, in the example: $curmsg.ishelp will return '0'
isnavi will return 1 if the message was sent in the navigation server, and 0 if not, in the example: $curmsg.isnavi will return '0'

To understand better the variables, test each one by yourself changing some values and so.

Signals and Operators

 

+ addition
example: if [($itemcount.'mana potions'+$itemcount.'strong mana potions') < 50] gotolabel
buymfs, it will go to the label 'buymfs' if the ammount of mana potions + strong mana potions is below 50
- subtraction
example: if [($maxhp-$hp) >= 300] say 'Exura Vita', it will cast 'Exura Vita' if your maxhp-hp is higher than 300
/ division
example: if [$poisondmg/5 > 5] say 'Exana Pox', it will cast 'Exana Pox' if the poison damage/5 is higher than 5
* multiplication
example: if [$mp*5 < $maxmp] mana self, it will use a mana potion on yourself if your mana is below 1/5 of your max mana
% modulus, remainder of a division
example: if [$timems%4000 < 2000] say 'Exori Flam', it will cast 'exori flam' if the modulus of timems/4000 is below 2000
> higher
example: if [$count > 5] gmana self, it will use a great mana potion if the count of last counted item is higher than 5
< lower
example: if [$count < 5] gotolabel buymfs, it will go to the label 'buymfs' if the count of last counted item is below 5
>= higher or equal
example: if [$maxhp-$hp >= 700] mana self, it will use a mana potion on yourself if your maxhp-hp is higher than 700
<= lower or equal
example: if [$hp <= 70*$maxhp/100] uh self, it will use an ultimate healing rune on yourself if your HP is under 70%
&& and
example: if [$hp <= 70*$maxhp/100 && $mp <= 60*$maxmp/100] mana self, it will use a mana potion on yourself if your HP is below 70% and your mana is below 60%
|| or
example: if [$hp <= 70*$maxhp/100 || $mp <= 30*$maxmp/100] gsmana self, it will use a great spirit potion on yourself if your HP is below 70% or if your mana is below 30%
== equal
example: if [$connected == 0] reconnect, it will reconnect if you are disconnected
!= different, not equal
example: if [$manashielded != 1] say 'Utamo Vita', it will use cast 'Utamo Vita' if you are not using mana shield
? stringpos, returns the position of string2 inside of string1, or 0 if string2 is not present there: [string1 ? string2]
example: if [$curmsg.content ? 'soft'] playsound tradealarm.wav, it will play the sound tradealarm.wav, if you recieve a message contaning the word soft, like 'sell soft boots', 'buy soft boots and boots of haste, (because it will return a non-zero position and the if will be evaluated as true)'

Equalities


If an equality is equal to 0, means it's not true, if it's equal to 1, means it's true
example: if [$connected == 0] reconnect, it will make you reconnect if you are not connected

Key ID's
Choose the key you want to use, for example: 'Y key'. Go to a website, do CTRL+F and type 'Y key', it will find the decimal value '89', then just use it on your hotkey. For example: if [$key.89] say 'Yeah!', it will say 'Yeah!' if you're holding the 'Y key'.
This is useful for making hotkeys like: CTRL+SHIFT+END do Exori San, CTRL+END do Exori Con, END do SD Target. Make a hotkey on the END Key:
if [$target.isshootable] {if [$ctrl && $shift] {if [$mp >= 20 && $attacked.distance <= 4 && $attacked] {say 'Exori San' | wait 300} | end} | if [$ctrl] {if [$mp >= 25 && $attacked.distance <= 7 && $attacked] {say 'Exori Con' | wait 300} | end} | sd target | if $fired wait 300}

Skull Types:
No Skull -> 0
Yellow Skull -> 1
Green Skull -> 2
White Skull -> 3
Red Skull -> 4
Black Skull -> 5

Party Types:
No Party -> 0
Inviting (Leader Yellow) -> 1
Inviting (Member Blue) -> 2
on Party (Member Blue) -> 3
on Party (Leader Yellow) -> 4
Exp Sharing, working (Member Blue) -> 5
Exp Sharing, working (Leader Yellow) -> 6
Exp Sharing, on standby (Member Blue) -> 7
Exp Sharing, on standby (Leader Yellow) -> 8
Exp Sharing, not working (Member Blue) -> 9
Exp Sharing, not working (Leader Yellow) -> 10

War Banner Types:
No War -> 0
Green Banner (Friend) -> 1
Red Banner (Enemy) -> 2
Blue Banner (In a War that you're not fighting) -> 3

Direction Types:
North -> 0
East -> 1
South -> 2
West -> 3