levelbot
30/04/2006, 23:48:20
TUTORIAL AGUARDANDO REVISÃO
By K
Acho que vai ser de grande ajuda pra muita gente.
Algumas variáveis do kore pra usar nas macros.
# Como utiliza-las?
Sete uma variável ($x = @invamount (#)) onde # é o valor.
Dai coloque return $::tipo->{variável}. Ele vai setar a variável de acordo com o valor dela pelo kore.
Variáveis char
{exp}
Seta a variável com o número de pontos de XP que você possui atualmente. (Número de pontos, não porcentagem)
{exp_max}
Seta a variável com o número de pontos de XP do seu nível, isto é, o número de xp que precisa adiquirir pra passar pro próximo nível (XP maxima).
{exp_job}
O mesmo só que com os pontos de job.
{exp_job_max}
O mesmo só que com os pontos de job.
{lv}
Seu nível base.
{lv_job}
Seu nível de classe.
{weight}
Seu peso atual.
{weight_max}
Sua capacidade máxima de peso atual.
{pos}{x} {y}
Sua posição atual (já setada pelo macro por $.pos, porém, você pode usar somente x ou y.).
Utilização:
{pos}{x} -> x
{pos}{y} -> y
{sp}
Retorna a quantidade de sp atual.
{sp_max}
Retorna a quantidade de sp máxima.
{hp}
Retorna a quantidade de sp atual.
{hp_max}
Retorna a quantidade de sp máxima.
{zenny}
Retorna sua quantidade de zennys atual. (Dinheiro :P)
{pos_to}{x}{y}
Retorna o valor de x ou y do seu próximo destino.
Exemplo:
move 150 100
O pos_to $::char->{pos_to}{150} para somente x, e $::char->{pos_to}{100} para somente y.
Utiliza-se:
$::char->{pos_to}{x} | Para X
$::char->{pos_to}{y} | Para Y
{skills}{nome}{lv}
Retorna nome e nível da skill especificada.
No caso utiliza-se o nome encontrado no arquivo skills.txt da pasta tables.
Exemplo:
S::char->{skills}{PR_MAGNIFICAT}{lv}
(Não encontrei muita utilidade (nenhuma) pra skills.)
{master}{map}{x}{y}
Retorna a posição e o mapa do seu master setado na config.
Utiliza-se:
$::char->{master}{map} | Para mapa
$::char->{master}{x} | Para X
$::char->{master}{y} | Para Y
Variáveis storage
{items}
Quantidade atual de itens contidos no storage. (Número de slots ocupados, ex:
3 maçãs e 2 escudos -> 3 slots, pois cada equipamento pega um slot, e os itens utilizáveis são cumulativos por slot.)
Utiliza-se:
$::storage->{items}
{items_max}
Capacidade máxima de itens no storage. (Número máximo de slots que podem ser ocupados.)
Utiliza-se
$::storage->{items_max}
~~~~~~
Uma dica é olhar as variáveis que o kore define pra mostrar na interface, porque a maioria é dada de uma forma diferente.
Um exemplo disso é a % de xp ->
$x1 = @eval (return $::char->{exp})
$x2 = @eval (return $::char->{exp_max})
$x = @eval ($x1 / $x2 * 100)
~~~~~~
Bem, acho que é de uma boa ajuda já.
Para checar por mais procure nos arquivos do source do openkore.
Aqui uma lista que deve ajudar->
By Arachno
AI/lockMap (src/functions.pl)
AI_post (src/functions.pl)
AI_pre/manual (src/functions.pl)
AI_pre (src/functions.pl)
AI_pre (src/Plugins.pm)
AI_sell_done (src/functions.pl)
AI_storage_done (src/functions.pl)
attack_start (src/AI.pm)
avoidGM_near (src/Misc.pm)
avoidGM_talk (src/Misc.pm)
changed_status (src/Misc.pm)
charNameUpdate (src/Network/Receive.pm)
charSelectScreen (src/Misc.pm)
ChatQueue::add (src/ChatQueue.pm)
ChatQueue::processChatResponse (src/ChatQueue.pm)
checkMonsterCondition (src/Misc.pm)
checkSelfCondition (src/Misc.pm)
Command_post (src/Commands.pm)
Commands::cmdConf (src/Commands.pm)
Commands::run/post (src/Commands.pm)
Commands::run/pre (src/Commands.pm)
configModify (src/Misc.pm)
FileParsers::RODescLUT (src/FileParsers.pm)
FileParsers::ROLUT (src/FileParsers.pm)
initialized (openkore.pl)
IPC::Processors::process (src/IPC/Processors.pm)
is_casting (src/Network/Receive.pm)
item_skill (src/Network/Receive.pm)
loadfiles (src/Settings.pm)
mainLoop_post (src/functions.pl)
mainLoop_pre (src/functions.pl)
Network::connectTo (src/Network.pm)
Network::serverConnect/charselect (src/Network.pm)
Network::serverConnect/char (src/Network.pm)
Network::serverConnect/mapserver (src/Network.pm)
Network::serverConnect/master (src/Network.pm)
Network::serverConnect/special (src/Network.pm)
npc_talk_done (src/Network/Receive.pm)
objectAdded (src/Misc.pm)
objectRemoved (src/Misc.pm)
packet_areaSpell (src/Network/Receive.pm)
packet_attack (src/Network/Receive.pm)
packet_cart (src/Network/Receive.pm)
packet_charSkills (src/Network/Receive.pm)
packet_charStats (src/Network/Receive.pm)
packet_guildMsg (src/Network/Receive.pm)
packet/$handler->[0] (src/Network/Receive.pm (see "parse"))
packet_inventory (src/Network/Receive.pm)
packet_item_removed (src/Network/Receive.pm)
packet_mapChange (src/functions.pl)
packet_partyMsg (src/Network/Receive.pm)
packet_pre/$handler->[0] (src/Network/Receive.pm (see "parse"))
packet_privMsg (src/Network/Receive.pm)
packet_pubMsg (src/Network/Receive.pm)
packet_selfChat (src/Network/Receive.pm)
packet_sentPM (src/Network/Receive.pm)
packet_skillfail (src/Network/Receive.pm)
packet_skilluse (src/Network/Receive.pm)
packet_storage_close (src/Network/Receive.pm)
packet_storage_open (src/Network/Receive.pm)
packet_useitem (src/Network/Receive.pm)
packet_vender (src/Network/Receive.pm)
packet_vender_store2 (src/Network/Receive.pm)
packet_vender_store (src/Network/Receive.pm)
parseMsg/addPrivMsgUser (src/Network/Receive.pm)
parseMsg/pre (src/functions.pl)
parseMsg/recvChars (src/Network/Receive.pm)
parseMsg/unknown (src/functions.pl)
player (src/Network/Receive.pm)
postloadfiles (src/Settings.pm)
preloadfiles (src/Settings.pm)
RO_sendMsg_pre (src/functions.pl)
start2 (openkore.pl)
start3 (openkore.pl)
start (openkore.pl)
waypoint/arrived (src/functions.pl)
XKore/characters (src/XKore2.pm)
XKore/map (src/XKore2.pm)
XKore/master_login (src/XKore2.pm)
XKore/packet/in (src/XKore2.pm)
XKore/packet/out (src/XKore2.pm)
(Não será sempre a variável $::char.)
By K
Acho que vai ser de grande ajuda pra muita gente.
Algumas variáveis do kore pra usar nas macros.
# Como utiliza-las?
Sete uma variável ($x = @invamount (#)) onde # é o valor.
Dai coloque return $::tipo->{variável}. Ele vai setar a variável de acordo com o valor dela pelo kore.
Variáveis char
{exp}
Seta a variável com o número de pontos de XP que você possui atualmente. (Número de pontos, não porcentagem)
{exp_max}
Seta a variável com o número de pontos de XP do seu nível, isto é, o número de xp que precisa adiquirir pra passar pro próximo nível (XP maxima).
{exp_job}
O mesmo só que com os pontos de job.
{exp_job_max}
O mesmo só que com os pontos de job.
{lv}
Seu nível base.
{lv_job}
Seu nível de classe.
{weight}
Seu peso atual.
{weight_max}
Sua capacidade máxima de peso atual.
{pos}{x} {y}
Sua posição atual (já setada pelo macro por $.pos, porém, você pode usar somente x ou y.).
Utilização:
{pos}{x} -> x
{pos}{y} -> y
{sp}
Retorna a quantidade de sp atual.
{sp_max}
Retorna a quantidade de sp máxima.
{hp}
Retorna a quantidade de sp atual.
{hp_max}
Retorna a quantidade de sp máxima.
{zenny}
Retorna sua quantidade de zennys atual. (Dinheiro :P)
{pos_to}{x}{y}
Retorna o valor de x ou y do seu próximo destino.
Exemplo:
move 150 100
O pos_to $::char->{pos_to}{150} para somente x, e $::char->{pos_to}{100} para somente y.
Utiliza-se:
$::char->{pos_to}{x} | Para X
$::char->{pos_to}{y} | Para Y
{skills}{nome}{lv}
Retorna nome e nível da skill especificada.
No caso utiliza-se o nome encontrado no arquivo skills.txt da pasta tables.
Exemplo:
S::char->{skills}{PR_MAGNIFICAT}{lv}
(Não encontrei muita utilidade (nenhuma) pra skills.)
{master}{map}{x}{y}
Retorna a posição e o mapa do seu master setado na config.
Utiliza-se:
$::char->{master}{map} | Para mapa
$::char->{master}{x} | Para X
$::char->{master}{y} | Para Y
Variáveis storage
{items}
Quantidade atual de itens contidos no storage. (Número de slots ocupados, ex:
3 maçãs e 2 escudos -> 3 slots, pois cada equipamento pega um slot, e os itens utilizáveis são cumulativos por slot.)
Utiliza-se:
$::storage->{items}
{items_max}
Capacidade máxima de itens no storage. (Número máximo de slots que podem ser ocupados.)
Utiliza-se
$::storage->{items_max}
~~~~~~
Uma dica é olhar as variáveis que o kore define pra mostrar na interface, porque a maioria é dada de uma forma diferente.
Um exemplo disso é a % de xp ->
$x1 = @eval (return $::char->{exp})
$x2 = @eval (return $::char->{exp_max})
$x = @eval ($x1 / $x2 * 100)
~~~~~~
Bem, acho que é de uma boa ajuda já.
Para checar por mais procure nos arquivos do source do openkore.
Aqui uma lista que deve ajudar->
By Arachno
AI/lockMap (src/functions.pl)
AI_post (src/functions.pl)
AI_pre/manual (src/functions.pl)
AI_pre (src/functions.pl)
AI_pre (src/Plugins.pm)
AI_sell_done (src/functions.pl)
AI_storage_done (src/functions.pl)
attack_start (src/AI.pm)
avoidGM_near (src/Misc.pm)
avoidGM_talk (src/Misc.pm)
changed_status (src/Misc.pm)
charNameUpdate (src/Network/Receive.pm)
charSelectScreen (src/Misc.pm)
ChatQueue::add (src/ChatQueue.pm)
ChatQueue::processChatResponse (src/ChatQueue.pm)
checkMonsterCondition (src/Misc.pm)
checkSelfCondition (src/Misc.pm)
Command_post (src/Commands.pm)
Commands::cmdConf (src/Commands.pm)
Commands::run/post (src/Commands.pm)
Commands::run/pre (src/Commands.pm)
configModify (src/Misc.pm)
FileParsers::RODescLUT (src/FileParsers.pm)
FileParsers::ROLUT (src/FileParsers.pm)
initialized (openkore.pl)
IPC::Processors::process (src/IPC/Processors.pm)
is_casting (src/Network/Receive.pm)
item_skill (src/Network/Receive.pm)
loadfiles (src/Settings.pm)
mainLoop_post (src/functions.pl)
mainLoop_pre (src/functions.pl)
Network::connectTo (src/Network.pm)
Network::serverConnect/charselect (src/Network.pm)
Network::serverConnect/char (src/Network.pm)
Network::serverConnect/mapserver (src/Network.pm)
Network::serverConnect/master (src/Network.pm)
Network::serverConnect/special (src/Network.pm)
npc_talk_done (src/Network/Receive.pm)
objectAdded (src/Misc.pm)
objectRemoved (src/Misc.pm)
packet_areaSpell (src/Network/Receive.pm)
packet_attack (src/Network/Receive.pm)
packet_cart (src/Network/Receive.pm)
packet_charSkills (src/Network/Receive.pm)
packet_charStats (src/Network/Receive.pm)
packet_guildMsg (src/Network/Receive.pm)
packet/$handler->[0] (src/Network/Receive.pm (see "parse"))
packet_inventory (src/Network/Receive.pm)
packet_item_removed (src/Network/Receive.pm)
packet_mapChange (src/functions.pl)
packet_partyMsg (src/Network/Receive.pm)
packet_pre/$handler->[0] (src/Network/Receive.pm (see "parse"))
packet_privMsg (src/Network/Receive.pm)
packet_pubMsg (src/Network/Receive.pm)
packet_selfChat (src/Network/Receive.pm)
packet_sentPM (src/Network/Receive.pm)
packet_skillfail (src/Network/Receive.pm)
packet_skilluse (src/Network/Receive.pm)
packet_storage_close (src/Network/Receive.pm)
packet_storage_open (src/Network/Receive.pm)
packet_useitem (src/Network/Receive.pm)
packet_vender (src/Network/Receive.pm)
packet_vender_store2 (src/Network/Receive.pm)
packet_vender_store (src/Network/Receive.pm)
parseMsg/addPrivMsgUser (src/Network/Receive.pm)
parseMsg/pre (src/functions.pl)
parseMsg/recvChars (src/Network/Receive.pm)
parseMsg/unknown (src/functions.pl)
player (src/Network/Receive.pm)
postloadfiles (src/Settings.pm)
preloadfiles (src/Settings.pm)
RO_sendMsg_pre (src/functions.pl)
start2 (openkore.pl)
start3 (openkore.pl)
start (openkore.pl)
waypoint/arrived (src/functions.pl)
XKore/characters (src/XKore2.pm)
XKore/map (src/XKore2.pm)
XKore/master_login (src/XKore2.pm)
XKore/packet/in (src/XKore2.pm)
XKore/packet/out (src/XKore2.pm)
(Não será sempre a variável $::char.)