Lista de Variáveis para Elfbot

Para quem está querendo criar seus próprios scripts, veja esta lista completa de variáveis e seus exemplos práticos para você poder tirar suas dúvidas

Lista de Variáveis para Elfbot
desenho de diagramas de organizacao indicando variaveis de elfbot

Normalmente buscamos scripts ou hotkeys para elfbot prontos, mas se você estiver buscando uma forma de criar seus próprios scripts ou hotkeys, este é um bom lugar para começar! 

Veja abaixo uma lista de variáveis com exemplos práticos de como funciona cada variável. 

Lista de Variáveis:

Character:

Essas variáveis são usadas para acessar as informações do seu personagem.

$mp - irá retornar seu mana atual

Usa mana potion se sua mana estiver igual ou abaixo de 200

exemplo:

if [$mp <= 200] mana self


$maxmp - irá retornar a quantidade máxima da sua mana

Usa uma mana potion se a quantidade máxima de sua mana for igual ou maior que 500 

exemplo:

if [($maxmp-$mp) >= 500] mana self


$mppc - retornará sua porcentagem de mana

Fará você usar mana potion se sua mana for menor que 60%

exemplo: 

if [$mppc <= 60] mana self


$hp - retornará sua vida atual

Tocará o som lowhealth.wav se sua vida estiver abaixo de 1500

exemplo : 

if [$hp <= 1500] playsound lowhealth.wav


$maxhp - retornará sua vida máxima

Lançará 'exura san' se sua % de HP for inferior a 65

exemplo: 

if [$hp < 65*$maxhp/100] say 'exura san'


$hppc - retornará sua porcentagem de vida

Fará com que você use 'exura' se o seu HP% for inferior a 90

exemplo:

if [$hppc <= 90] say 'exura',


$cap - retornará sua capacidade

Ele irá para o rótulo 'deposit' se o seu limite estiver abaixo de 300

exemplo:

if [$cap < 300] gotolabel deposit


$exp - retornará sua experiência

Ele irá para o rótulo 'logout' se sua exp for maior que 4200

exemplo:

if [$exp > 4200] gotolabel logout


$level - retornará seu nível

Irá para o label 'gobuyexura' se você atingir o nível 9

exemplo:

if [$level >= 9] gotolabel gobuyexura


$mlevel - retornará seu Magic Level

Disparará uma runa SD se seu nível for maior que 45 e se seu nível mágico for maior que 15

exemplo:

if [$mlevel >= 15 && $level >= 45] sd target,


$posx - retornará sua posição X atual

Ele fará logout se sua posição X estiver entre 12345 e 54321

exemplo:

if [$posx > 12345 && $posx < 54321] xlog


$posy - retornará sua posição Y atual

Fará com que seu personagem diga sua posição Y atual

exemplo:

say 'Y = $posy'


$posz - retornará sua posição Z atual

Fará seu personagem dizer "bye" se sua posição Z for igual a 7

exemplo:

if [$posz == 7] say 'bye'


$soul - retornará a sua quantidade atual de pontos de soul

Fará uma runa de SD se seus pontos de soul forem maiores que 5 e se você estiver acima do nível 45 quando estiver em maxmana-20

exemplo

if [$soul >= 5 && $level >= 45] makerune [$maxmp-20] 'adori gran mort'


$stamina - retornará seu tempo de stamina atual em minutos

fará com que você de logout se sua stamina estiver abaixo de 14 horas

exemplo:

if [$stamina <= 60*14] xlog


$count - retornará a última coisa que você contou

irá para o label 'depositgold' se a quantidade de itens do ID 3031 for maior que 1500

exemplo

countitemsvisible 3031 | if [$count >= 1500] gotolabel depositgold


$name - retornará seu próprio nome

Vai fazer você dizer: 'oi, meu nome é SEU NOME'

exemplo

say 'oi, meu nome é $name'


$skill.type - retornará sua habilidade atual.

Ele tocará o som 'advancedskill.wav' e vai avisar se sua skill com espadas for maior que 90.

exemplo

auto 100 if [$skill.'sword' >= 90] {playsound 'advancedskill.wav' | flash}


$skillpc.type - retornará sua porcentagem de Skill atual.

Ele tocará o som 'advancedskill.wav' e vai avisar se o seu nível de Magic Level estiver prestes a avançar.

exemplo:

auto 100 if [$skillpc.'mlevel' == 1] {playsound 'advancedskill.wav' | flash}


$skilltime.type - retornará o tempo estimado restante em segundos para avançar uma habilidade.

Ele tocará o som 'advancedskill.wav' e avisará se faltarem 60 segundos para avançar sua skill de pescaria.

exemplo:

auto 100 if [$skilltime.'fishing' <= 60] {playsound 'advancedskill.wav' | flash}


$dmgs, retornará a quantidade de dano que você recebeu no último segundo

Fará com que a variável $spell seja definida como 'Exura Vita' se você receber mais de 500 de dano no último segundo

exemplo: 

if [$dmgs >= 500] set $spell 'Exura Vita'


$lastdmg irá retornar o último valor de dano que você recebeu

Ele salvará uma captura de tela se o último dano que você recebeu foi superior a 500.

Exemplo: auto 100 if [$lastdmg > 500] savescreen


$lastdmgtype it will return the type of the last damage you recieved

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.

example: 

auto 100 if [$lastdmgtype == 30 && $lastdmg > 50 && $poisoned] {say 'Exana Pox' | wait 900}


Informações da tela

Essas variáveis são utilizadas para acessar informações sobre a tela do jogo, como mensagens, efeitos, projéteis e textos animados.

$screenleft - retornará o número correto para posicionar um texto na parte esquerda da tela.

Ele vai mostrar o texto: 'Testando a posição' nas coordenadas X na parte esquerda da tela do Tibia e nas coordenadas Y no pixel 100

exemplo

auto 200 setpos $screenleft 100 | displaytext 'Testing the position'


$screenright - retornará o número correto para posicionar um texto na parte direita da tela.

Vai mostrar o texto: 'Testando a posição' nas coordenadas X na parte direita da tela do Tibia e nas coordenadas Y no pixel 100

exemplo

auto 200 setpos $screenright 100 | displaytext 'Testando a posição'


$screentop - retornará o número correto para posicionar um texto na parte superior da tela.

Mostrará o texto: 'Testando a posição' nas coordenadas X no pixel 256 da tela do Tibia e nas coordenadas Y na parte superior e mais 200 pixels abaixo

exemplo:

auto 200 setpos 256 [$screentop+200] | displaytext 'Testando a posição'


$screenbottom - retornará o número correto para posicionar um texto na parte inferior da tela.

Vai mostrar o texto: 'Testando a posição' nas coordenadas X no pixel 256 da tela do Tibia e nas coordenadas Y na parte inferior e mais 200 pixels acima

exemplo

auto 200 setpos 256 [$screenbottom-200] | displaytext 'Testando a posição'


$formatnum.yy - organizará qualquer número em um números com pontos e virgulas, como transformar 160293 em 160.293

Aparecerá no título da janela: 'Exp To Level 167: FORMATED EXP TO LEVEL167

exemplo:

setcaption 'Exp To Level 167: $formatnum.$exptolevel.167


Tempo

Essas variáveis podem ser usadas para verificar o tempo entre algumas ações ou quanto tempo alguma condição foi satisfeita.


$time - retornará um tempo em segundos

exemplo: ..., explicação sobre o exemplo


$times - retornará um tempo em milissegundos

exemplo: ..., explicação sobre o exemplo


$deltatime will return how long since you loaded the bot (in seconds)

it will show in the window title: 'Played this session: TIMEINSECONDS'

example: 

setcaption 'Played this session: $deltatime', 


$deltatimems will return how long since you loaded the bot (in miliseconds)

it will show in the window title: 'Played this session: TIMEINMILISECONDS'

example: 

setcaption 'Played this session: $deltatimems' 


$exptnl will return how much experience left for your next level

it will show in the window title the text: 'Exp Left: EXPERIENCETONEXTLEVEL'

example: 

setcaption 'Exp Left: $exptnl'


$formattime.yy will transform any number to a time number, the number must be in seconds, like 06:07:08 or 06h07m08s

it will show in the window title: 'Played this session: FORMATEDTIME'

example: 

setcaption 'Played this session: $formattime.$deltatime'


$sbtime will return how much time of soft boots you still have (you must look the soft boots first)

it will show in the window title: 'Soft Boots Time: SOFTTIME'

example: 

setcaption 'Soft Boots Time: $formattime.$sbtime', 


$timetolevel.xx will return how long would you take to level to XX level with your current experience/hour

it will show in the window title the text: 'Time to Level 100: TIMETOLEVEL100'

example: 

setcaption 'Time to Level 100: $timetolevel.100'


$timetnl will return you how long would you take to level up with your current experience/hour

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

example: 

setcaption 'Exp Left: $exptnl / Exp/Hour: $exph' / Gained this session: $expgained / Time Left: $timetnl


$sstime will return the time to serversave in seconds (only if a serversave message appears)

it will add to your caption the time left for the serversave.

example: 

auto 1000 setcaption 'Time to Server Save: $sstime'


Estatisticas

Essas variáveis são usadas para acessar algumas estatísticas de bot, como taxas de experiência ou tempo para o próximo nível.


$exph will return how your average experience/hour

it will show in the window title the text: ' Exp Left: EXPERIENCE TO NEXT LEVEL / Exp/Hour: EXPERIENCE PER HOUR'

example: setcaption 'Exp Left: $exptnl / Exp/Hour: $exph'


$expgained will return how much experience you gained since you loaded the ElfBot

it will show in the window title the text: 'Exp Left: EXPERIENCETONEXTLEVEL / Exp/Hour: EXPERIENCEPERHOUR / Gained this session: EXPERIENCEYOUGAINED'

example: 

setcaption 'Exp Left: $exptnl / Exp/Hour: $exph' / Gained this session: $expgained, 


$exptolevel.xx will return how much of experience left for XX level

it will show in the window title the text: 'Exp to Level 100: EXPERIENCETOLEVEL100'

example: 

setcaption 'Exp to Level 100: $exptolevel.100'


Criaturas

$monstersaround.xx will return you how many monsters are around XX SQMs around you

it will make you cast 'Exori' if there are more than 4 monsters around you in a range of 1 SQM

example: 

if [$monstersaround.1 >= 4] say Exori


Contagem de Itens

$itemcount.ITEMID will return the ammount of a visible item, you must change the ITEMID to a number, like 1234

it will go to the label 'droplootonground' if the ammount of visible items of ID 3286 is higher than 10

example: 

if [$itemcount.3286 > 10] gotolabel droplootonground, 


$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'

 it will go to the label 'buymfs' if a message with 'Using one of 50 mana potions...' appears

example: if [$itemcount.'mana potion' <= 50] gotolabel buymfs


Elots de Equipamentos

$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


count -> it will return the amount of items that are in the desired slot.

it will refill the ammunition if you have less than 20 items in the left hand

example: if [$beltslot.count < 20] refillammo


id -> it will return the number ID of the item that are in the desired slot.

it will equip the left hand with a 1234 if there isn't a 1234 equiped

example: if [$lhandslot.id != 1234] equiplhand 1234


Efeitos

$poisoned will return if you are poisoned

it will cast 'Exana Pox' if you're poisoned

example: 

if [$poisoned == 1] say 'Exana Pox',


$poisondmg will return how much of damage you are recieving from the poison

it will say 'Exana Pox' if the poison damage is higher than 10

example: 

if [$poisondmg > 10] say 'Exana Pox]


shielded -> will return if you are using mana shield

it will cast 'Utamo Vita' if you are not mana shielded

example: 

if [$manashielded == 0] say 'Utamo Vita'


$drunk - will return if you are drunk

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

example: 

if [$drunk == 1] {equipsring 3097 3099 | wait 15000 | equipring 3007},


$hasted - will return if you are using haste

it will cast 'Utani Hur' if you are not hasting

example: 

if [$hasted == 0] say 'Utani Hur'


$paralyzed - will return if you are paralyzed

it will cast 'Exura' if you are paralyzed

example: 

if [$paralyzed == 1] say 'Exura'


$mshieldtime - will return the time left in miliseconds to your magic shield goes out

it will make you cast 'Utamo Vita' if your magic shield is going out in less than 8 seconds

example: 

if [$mshieldtime <= 8000] say 'Utamo Vita'


$hastetime, will return the time left in miliseconds to your haste goes out

it will make you cast 'Utani Gran Hur' if your haste is going out in less than 2 seconds

example: 

if [$hastetime <= 2000] say 'Utani Gran Hur'


$invistime, will return the time left in miliseconds to your invisible goes out

it will make you cast 'Utana Vid' if your invisible is going out in less than 5 seconds

example: 

if [$invistime <= 5000] say 'Utana Vid'


$strengthtime, will return the time left in miliseconds to your strenght goes out

it will make you cast 'Utito Tempo' if your strenthen is going out in less than 1.5 seconds

example: if [$strengthtime <= 1500] say 'Utito Tempo'


$invisible, will return if you are invisible or not

it will make you cast 'Utana Vid' if you are not invisible

example: 

if [$invisible == 0] say 'Utana Vid'


Informações do Tibia Client

$connected will return if you are connected

it will make you reconnect if you are not connected

example: 

if [$connected == 0] reconnect


$ping, it will return your roundtrip time to the server in milliseconds

it will make you logout if your ping is higher than 500

example: 

if [$ping >= 500] xlog


Informações de Players

$pkname will return the name of player that's attacking you

it will make attack back the player that's attacking you

example: 

ifplayerattacking attack $pkname


$enemycount - will return the amount of enemies on your screen

it will make you force logout if an enemy appears on your screen

example: 

if [$enemycount >= 1] xlog,


$friendcount - will return the amount of friends on your screen

it will make you say 'Hi Friend' if a friend appears on your screen

example: 

if [$friendcount >= 1] say 'Hi friend'


$playersaround.xx will return you how many players are around XX SQMs around you

it will make you cast 'Exori Mas' if there aren't any players around you in a range of 4 SQMs

example: 

if [$playersaround.4 == 0] say Exori Mas


Modificações no Elfbot NG

$cutstr.'string'.startpos.lenght, will let you cut a part of a sentence

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)

example: 

$cutstr.'123456'.2.3, will return 234, 


$waypointson, will return if the follow waypoints is enabled or not

it will disable the follow waypoints if it was on

example: 

if [$waypointson == 1] setfollowwaypoints off


$targetingon - will return if the targeting is enabled or not

it will disable the targeting if it was on

example: 

if [$targetingson == 1] settargeting off


$autocomboon - will return if the auto combo is enabled or not

it will disable the auto combo if it was on

example: 

if [$autocomboon == 1] setautocombo off


$caveboton - will return 1 if the follow waypoints is on, 0 if not (same as $waypointson)

it will enable the cavebot if it wasn't enabled

example: 

ifnot $caveboton setcavebot on


Arquivos em texto .txt

$fileisline.'filename'.'linetext' - it will return 1 if a certain line in the 'filename' equals to 'linetext', 0 otherwise.

it will make you say 'Okay' if there is a line with the words 'utani gran hur' in the file 'test.txt'.

example: 

if [$fileisline.'test.txt'.'utani gran hur'] say 'Okay'


$filerandomline.'filename', it will return a random line from the 'filename'.

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

example: if [$curmsg.content ? 'hello' && $curmsg.isdefault] say "$filerandomline.'himsgsresponder.txt'"


$fileline.'filename.xyz'.n - will return the nth line of the file filename.xyz

it will make you say the 30th line of the file testbot.txt

example: 

say '[$fileline."testbot.txt".30]'


$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=1 will return: 12, n=2 will return: 34 56, and n=3 will return: 78

It will make you logout if the first name of the last message you recieve is 'GM':

example: 

if [$token.'$lastmsg.sender' == 'GM'] logout


$fishspots, will return the amount of fishable spots on your screen

it will make you go to label 'ContinueFishing' if there are less than 5 fishable spots in your screen

example: 

if [$fishspots <= 5] gotolabel 'ContinueFishing'


$idlerecvtime, it will return the amount of time elapsed since the server has sent any information in milliseconds

it will play the sound 'freezed.wav' if you freezed for more than 5 seconds

example: 

if [$idlerecvtime >= 5000] playsound freezed.wav


$standtime, it will return the amount of time you have been standing in the same place in milliseconds

it will play the sound 'playeronscreen.wav' if you are in the same SQM for more than 45 seconds

example: 

if [$standtime >= 45000] playsound playeronscreen.wav


Informações do seu Computador

$systime -  it will return a formatted string displaying the current time on your system/computer in the format: hh:mm:ss

it will display a status message with your current time

example: 

statusmessage '$systime'


$sysdate, it will return a formatted string displaying the current date on your computer in the format: dayname, monthname dd yyyy

it will display a status message with your current date

example: 

statusmessage '$sysdate'


Verifica seu nível de Batalha

$battlesign, it will return 1 if you are battle signed, and 0 if you are not

it will make you logout if you aren't PZ locked.

example: 

ifnot $battlesign logout


$redbattlesign, it will return 1 if you are red battle signed, and 0 if you are not

it will make you logout if you aren't PvP PZ locked.

example: 

ifnot $redbattlesign logout


$inpz, it will return 1 if you are inside a protection zone, and 0 if you are not

it will make you logout if you are inside a pz zone.

example: 

if $inpz xlog


Outros:

$rand.x.y will return a random number from x to y, or just $rand.x for one from 0 to x

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

example: 

auto 100 tradesay 'sell knight armor' | wait [($rand.200.350)*1000]


$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).

it will equip you with the item '1234' if there are more than 20 '1234' in your backpack

example: 

if [$winitemcount.1234 > 20] equiprhand 1234 100


$fired - will return 1 if the preceding command has succesfully issued an attack or used a rune on someone.

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.

example: 

auto 100 sd target | if $fired wait 900, 


$synctime - will return the time in milliseconds left for a sync shot if one is in progress.

it will shoot a sudden death rune on your target only if a sync shot order isn't in progress

example: ifnot $synctime sd target


$navion will return 1 if you are connected to the navigation and 0 if not.

if you are connected to the navigation it will show on the hotkeys activated list the message 'Connected to the navigation'.

example: auto 100 if $navion listas '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.

it will show on your Tibia window the time needed to execute the bot functions.

example: 

auto 100 setcaption 'Exec Time: $exectime'


$topitem.posx.posy.posz will return the ID of the top item on a tile

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.

example: 

auto 100 if [$topitem.32222.34444.7 == 3031] moveitemonground 32222 34444 7 32223 34445 7


$istileitem.posx.posy.posz.itemid it will return 1 there is a item of X item ID

if an item of ID 3031 is at the tile 32222 34444 7 it will play the sound 'monster.wav'.

example: 

auto 100 if [$istileitem.32222.34444.7.3031] playsound 'monster.wav'


$mcount."conditions" it will return the amount of monster satisfying certain conditions.

it will make you equip an energy ring if there are more than 2 dragon lords shootable on your screen.

example: 

auto 100 if [$mcount."$m.name == 'Dragon Lord' && $m.isshootable" >= 2] equipring 3051


$pcount."conditions" it will return the amount of players satisfying certain conditions.

it will show the text 'There are X enemies mages 80+ on your screen'.

example: 

auto 100 listas 'There are [$pcount."$p.isenemy && $p.ismage && $p.level > 80" 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.

it will show the text 'X demons are found on your screen.'

example: 

auto 100 listas '[$screencount."Demon"] 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"

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.

example: 

auto 100 if [$screencount."Stalker" == 0 && $lastdmgtime < 300 && $lastdmgername == "Stalker"] {useoncreature 3191 self | wait 300}, 


$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.


Teclas do Teclado

$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

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.

example: 

if [$alt] crosshair 3003 | else crosshair 5710


$key.id it will return if you're holding some key. More information about the keys on the end of this article

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).

example: 

if [$key.68] countitems 3031 | else statusmessage "You must hold the 'D' Key."


Tipos que podemos combinar:

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


Variáveis para: Líder, inimigo sub inimigo, ou amigo ou sub amigo

Essas variáveis abaixo retornarão se alguém estiver em um líder ou inimigo ou subinimigo ou amigo ou subamigo

$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

it will play the sound 'privatemessage.wav' if a player who is not on your friends list sends you a private message.

example: 

auto 100 foreach 'newmessages' $i if [$isfriend.'$i.sender' == 0 && $i.ispvt] {playsound 'privatemessage.wav' | flash | break}


Variáveis para verificar Propriedades de Players

Você pode usar sua variável pessoal, usando o comando foreach (allcreatures, allplayers, allmonsters, floorcreatures, floorplayers, floormonsters, screencreatures, screenplayers, screenmonsters, shootablecreatures, shootableplayers, shootablemonsters). Ou as variáveis internas listadas abaixo.

$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.


Criando a própria Variável

$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, 

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, 

example: auto 100 set $i $mostshot.'enemy mage'


Variáveis para Players e Criaturas, com algumas propriedades

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


Variáveis após usar Look no Player

Além disso, haverá algumas variáveis exclusivas se o bot conseguir dar uma olhada no jogador, ele terá a propriedade 'haslookinfo' definida. Você deve verificar se está definido antes de usar os campos abaixo:

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, f

or 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.


Variáveis para Mensagens: foreach 'newmessages' $varname.

Essas variáveis possuem algumas propriedades, vou usar uma mensagem como exemplo 16:16 Lucas Terra: ei, vc aí?, que foi enviado no Default.

sender -> will return the name of the message sender 

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'


Operação Matemática em Variáveis

+ -> 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)'


Igualdades

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

Choose the key you want to use, for example: 'Y key'. Go to the 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


Damage Type IDs

ID's given when using the $lastdmgtype variable. i.e. auto 100 | if [$lastdmgtime < 500] {say '$lastdmgtype' | wait 500 | end}


PHYSICALDAMAGE = 180

ENERGYDAMAGE =

EARTHDAMAGE = 66

POISONDAMAGE = 66

FIREDAMAGE = 192

HEALING = 18

ICEDAMAGE = 143

HOLYDAMAGE = 210

DEATHDAMAGE = 108

DROWNDAMAGE =


UNDEFINEDDAMAGE =

LIFEDRAIN =

MANADRAIN =

Nenhum comentário:

Postar um comentário