
aLD
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
aLD recebeu reputação de Augusto em Looting, Refiller e DepositerBom galera, vou fazer um tutorial de Looting, Refiller e Depositer, como ja diz o titulo.
Looting
O looting eh o mais facil de se configurar:
O ordem das BPs sao essas. Se voce abrir a primeira, ela vai ser numerada com 0. A segunda BP sera numerada como 1 e assim por diante.
Abra o NeoBot e siga o caminho dessa imagem:
No caso eu nomiei como gold coin, por ser um item basico para o looting, mas nada impede que seja outro item.
Agora usaremos as BPs numeradas. Dentro da propridade do item tem o parametro Destination. E ai voce configura com os numero das BPs. Facil
Refiller
No Refiller usaremos alguns scripts. No caso dos waypoints, tambem serve para o depositer. Entao vamos la!
Crie um esquema de waypoints parecido com esse:
Desculpe pelo tema Restart
♪ ~ Crie os waypoints da sua hunt normalmente;
♪ ~ Aqui voce adiciona um Action, que fara os checks que preisaremos pra decidir se o char volta ou nao.
Vou colocar checks basicas que podem ser modificadas como voce quiser...
if itemcount(IDDOITEM) > 10 then gotolabel("hunt1") else gotolabel("volta1") end if Explicando: Se o item de ID X for maior que 10, ele vai para o waypoint nomeado de hunt1 (ou seja, ele volta pro primeiro waypoint da cave). Se nao, ele vai pro volta1, que voltar pra Refill/Depositer. Mude de acordo com o que voce quer. Voce pode usar a variavel $cap pra checar seu cap (exemplo: if $cap > 100 then...). Voce tambem pode combinar os checks se quiser fazer checagens multiplas, por exemplo, checar a quantidade de tal item e tambem o cap: if (itemcount(IDDOITEM) > 10) and ($cap > 100) then gotolabel("hunt1") else gotolabel("volta1") end if Se voce quiser checar a quantidade OU o item, se um ou mais desses forem verdadeiro ele prossegue os script: if (itemcount(IDDOITEM) > 10) or ($cap > 100) then gotolabel("hunt1") else gotolabel("volta1") end if Ou seja, sao duas checagens independentes. ♪ ~ Crie waypoints para retornar ate o NPC. Lembrando de usar sempre NODES se nao for um sqm exato (no caso, os caminhos); ♪ ~ Aqui o waypoint PRECISA ser em Stand, pois eh um sqm exato. Se voce deixar em NODE, a variacao do raio de alcance que o node tem pode nao chegar ate o NPC as vezes; ♪ ~ Crie uma Action. Aqui faremos o script de compras; No script de compras eh so usar a logica. Vou dar mais um exemplo de script para compras. Primeiro de tudo, o script tem fazer o char falar com o NPC. Entao, antes de tudo, adicione: say("hi") Nao use o NPC Say, pois se o canal NPC estiver fechado, ele nao vai conversar com o NPC. Faremos o script de compras. Iremos usar o itemcount novamente pra fazer as formulas de quanto comprar de tal item. Por exemplo, se voce quer comprar 100 potions: init start local comprarpots = 100 - (itemcount(IDDOITEM)) init end Definimos umas variavel comprarpots, ela vai ser um numero inteiro que substituiremos em um dos parametros na hora de comprar a quantidade de potion. buyitems("NOMEDOITEM",comprarpots) Depois de efetuar as compras, ele vai voltar para a cave normalmente. ♪ ~ Crie mais waypoints de volta para a cave. Depositer O depositer vai funcionar igual o refiller, so mude as checagens do cap, etc. Pra depositar o dinheiro, use: npc("hi") npc("deposit all") npc("yes")
E o tutorial eh isso galera, se faltar alguma coisa (o que pode aconter) eh so avisar aqui no topico que eu completo com informacoes adicionais.
Valeu
-
aLD recebeu reputação de Private Sub Teste em Looting, Refiller e DepositerBom galera, vou fazer um tutorial de Looting, Refiller e Depositer, como ja diz o titulo.
Looting
O looting eh o mais facil de se configurar:
O ordem das BPs sao essas. Se voce abrir a primeira, ela vai ser numerada com 0. A segunda BP sera numerada como 1 e assim por diante.
Abra o NeoBot e siga o caminho dessa imagem:
No caso eu nomiei como gold coin, por ser um item basico para o looting, mas nada impede que seja outro item.
Agora usaremos as BPs numeradas. Dentro da propridade do item tem o parametro Destination. E ai voce configura com os numero das BPs. Facil
Refiller
No Refiller usaremos alguns scripts. No caso dos waypoints, tambem serve para o depositer. Entao vamos la!
Crie um esquema de waypoints parecido com esse:
Desculpe pelo tema Restart
♪ ~ Crie os waypoints da sua hunt normalmente;
♪ ~ Aqui voce adiciona um Action, que fara os checks que preisaremos pra decidir se o char volta ou nao.
Vou colocar checks basicas que podem ser modificadas como voce quiser...
if itemcount(IDDOITEM) > 10 then gotolabel("hunt1") else gotolabel("volta1") end if Explicando: Se o item de ID X for maior que 10, ele vai para o waypoint nomeado de hunt1 (ou seja, ele volta pro primeiro waypoint da cave). Se nao, ele vai pro volta1, que voltar pra Refill/Depositer. Mude de acordo com o que voce quer. Voce pode usar a variavel $cap pra checar seu cap (exemplo: if $cap > 100 then...). Voce tambem pode combinar os checks se quiser fazer checagens multiplas, por exemplo, checar a quantidade de tal item e tambem o cap: if (itemcount(IDDOITEM) > 10) and ($cap > 100) then gotolabel("hunt1") else gotolabel("volta1") end if Se voce quiser checar a quantidade OU o item, se um ou mais desses forem verdadeiro ele prossegue os script: if (itemcount(IDDOITEM) > 10) or ($cap > 100) then gotolabel("hunt1") else gotolabel("volta1") end if Ou seja, sao duas checagens independentes. ♪ ~ Crie waypoints para retornar ate o NPC. Lembrando de usar sempre NODES se nao for um sqm exato (no caso, os caminhos); ♪ ~ Aqui o waypoint PRECISA ser em Stand, pois eh um sqm exato. Se voce deixar em NODE, a variacao do raio de alcance que o node tem pode nao chegar ate o NPC as vezes; ♪ ~ Crie uma Action. Aqui faremos o script de compras; No script de compras eh so usar a logica. Vou dar mais um exemplo de script para compras. Primeiro de tudo, o script tem fazer o char falar com o NPC. Entao, antes de tudo, adicione: say("hi") Nao use o NPC Say, pois se o canal NPC estiver fechado, ele nao vai conversar com o NPC. Faremos o script de compras. Iremos usar o itemcount novamente pra fazer as formulas de quanto comprar de tal item. Por exemplo, se voce quer comprar 100 potions: init start local comprarpots = 100 - (itemcount(IDDOITEM)) init end Definimos umas variavel comprarpots, ela vai ser um numero inteiro que substituiremos em um dos parametros na hora de comprar a quantidade de potion. buyitems("NOMEDOITEM",comprarpots) Depois de efetuar as compras, ele vai voltar para a cave normalmente. ♪ ~ Crie mais waypoints de volta para a cave. Depositer O depositer vai funcionar igual o refiller, so mude as checagens do cap, etc. Pra depositar o dinheiro, use: npc("hi") npc("deposit all") npc("yes")
E o tutorial eh isso galera, se faltar alguma coisa (o que pode aconter) eh so avisar aqui no topico que eu completo com informacoes adicionais.
Valeu
-
aLD recebeu reputação de Guilherme em Looting, Refiller e DepositerBom galera, vou fazer um tutorial de Looting, Refiller e Depositer, como ja diz o titulo.
Looting
O looting eh o mais facil de se configurar:
O ordem das BPs sao essas. Se voce abrir a primeira, ela vai ser numerada com 0. A segunda BP sera numerada como 1 e assim por diante.
Abra o NeoBot e siga o caminho dessa imagem:
No caso eu nomiei como gold coin, por ser um item basico para o looting, mas nada impede que seja outro item.
Agora usaremos as BPs numeradas. Dentro da propridade do item tem o parametro Destination. E ai voce configura com os numero das BPs. Facil
Refiller
No Refiller usaremos alguns scripts. No caso dos waypoints, tambem serve para o depositer. Entao vamos la!
Crie um esquema de waypoints parecido com esse:
Desculpe pelo tema Restart
♪ ~ Crie os waypoints da sua hunt normalmente;
♪ ~ Aqui voce adiciona um Action, que fara os checks que preisaremos pra decidir se o char volta ou nao.
Vou colocar checks basicas que podem ser modificadas como voce quiser...
if itemcount(IDDOITEM) > 10 then gotolabel("hunt1") else gotolabel("volta1") end if Explicando: Se o item de ID X for maior que 10, ele vai para o waypoint nomeado de hunt1 (ou seja, ele volta pro primeiro waypoint da cave). Se nao, ele vai pro volta1, que voltar pra Refill/Depositer. Mude de acordo com o que voce quer. Voce pode usar a variavel $cap pra checar seu cap (exemplo: if $cap > 100 then...). Voce tambem pode combinar os checks se quiser fazer checagens multiplas, por exemplo, checar a quantidade de tal item e tambem o cap: if (itemcount(IDDOITEM) > 10) and ($cap > 100) then gotolabel("hunt1") else gotolabel("volta1") end if Se voce quiser checar a quantidade OU o item, se um ou mais desses forem verdadeiro ele prossegue os script: if (itemcount(IDDOITEM) > 10) or ($cap > 100) then gotolabel("hunt1") else gotolabel("volta1") end if Ou seja, sao duas checagens independentes. ♪ ~ Crie waypoints para retornar ate o NPC. Lembrando de usar sempre NODES se nao for um sqm exato (no caso, os caminhos); ♪ ~ Aqui o waypoint PRECISA ser em Stand, pois eh um sqm exato. Se voce deixar em NODE, a variacao do raio de alcance que o node tem pode nao chegar ate o NPC as vezes; ♪ ~ Crie uma Action. Aqui faremos o script de compras; No script de compras eh so usar a logica. Vou dar mais um exemplo de script para compras. Primeiro de tudo, o script tem fazer o char falar com o NPC. Entao, antes de tudo, adicione: say("hi") Nao use o NPC Say, pois se o canal NPC estiver fechado, ele nao vai conversar com o NPC. Faremos o script de compras. Iremos usar o itemcount novamente pra fazer as formulas de quanto comprar de tal item. Por exemplo, se voce quer comprar 100 potions: init start local comprarpots = 100 - (itemcount(IDDOITEM)) init end Definimos umas variavel comprarpots, ela vai ser um numero inteiro que substituiremos em um dos parametros na hora de comprar a quantidade de potion. buyitems("NOMEDOITEM",comprarpots) Depois de efetuar as compras, ele vai voltar para a cave normalmente. ♪ ~ Crie mais waypoints de volta para a cave. Depositer O depositer vai funcionar igual o refiller, so mude as checagens do cap, etc. Pra depositar o dinheiro, use: npc("hi") npc("deposit all") npc("yes")
E o tutorial eh isso galera, se faltar alguma coisa (o que pode aconter) eh so avisar aqui no topico que eu completo com informacoes adicionais.
Valeu
-
aLD deu reputação a Renato em [TalkAction] Comprar premium por diasCréditos no script.
Explicação: A talkaction de alguns otservers você não escolhe quantos dias de premium você deseja. E sim é algo pré-configurado no server. Então aqui neste script você escolhe quantos dias de premium você quer pagando 1k por cada dia dizendo !addpremium DIAS.
Exemplo: !addpremium 50 -- comprará 50 dias de p.a
Você não pode possuir mais que 360 dias de p.a então coloquei algumas checagens. Tal como adicionar mais de 360 dias de uma vez e também somando seus dias atuais com o tanto desejado assim se o resultado for maior que 360 aparecerá uma mensagem falando que não é possível junto ao número de dias que você poderá comprar calculado por 360 menos dias atuais.
• Crie um arquivo LUA com o nome addpremium.lua em data/talkactions/scripts e ponha:
-- Author: Renato Ribeiro
-- Thanks for help: thalia, mkalo
-- Url: www.tibiaking.com
function onSay(cid, words, param, channel)
local prm = tonumber(param)
local maxdays = 360
local precopordia = 1000
if (prm == nil) then
doSendMagicEffect(getPlayerPosition(cid), 2)
return doPlayerSendCancel(cid, "Diga quantos dias deseja comprar.")
elseif (prm == 0) then
doSendMagicEffect(getPlayerPosition(cid), 2)
return doPlayerSendCancel(cid, "Você não pode comprar 0 dias de premium.")
elseif (prm > maxdays) then
doSendMagicEffect(getPlayerPosition(cid), 2)
return doPlayerSendCancel(cid, "Você não pode comprar mais que "..maxdays.." dias de premium de uma só vez.")
else
if getPlayerPremiumDays(cid)+prm > maxdays then
doSendMagicEffect(getPlayerPosition(cid), 2)
return doPlayerSendCancel(cid, "Você só pode ter "..maxdays.." dias de premium, no entanto você só poderá comprar no máximo "..maxdays-getPlayerPremiumDays(cid).." dias.")
else
if getPlayerMoney(cid) >= prm*precopordia then
doSendMagicEffect(getPlayerPosition(cid), 12)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você comprou "..prm.." dias de premium account por "..prm*precopordia.." gold coins.")
doPlayerAddPremiumDays(cid, prm)
doPlayerRemoveMoney(cid, prm*precopordia)
return TRUE
else
doSendMagicEffect(getPlayerPosition(cid), 2)
return doPlayerSendCancel(cid, "Você precisa de "..prm*precopordia .." gold coins para comprar "..prm.." dia(s) de premium.")
end
end
end
end[/code] [b]• Depois em data/talkactions/talkactions.xml ponha a tag em qualquer lugar:[/b] [code]<talkaction log="yes" words="!addpremium" access="0" event="script" value="addpremium.lua">
Testado e funcionando!</talkaction>
-
aLD recebeu reputação de Froostiin em Tray MessageE ai galera, meu primeiro topico de Script explicando um pouco sobre uma funcao do NeoBot, a Tray Message.
Explicando:
▪ Indica um titulo para o balao.
▪ Indica um texto para o balao.
▪ Indica o tempo em que o balao permanecera na tela, em milliseconds. Padrao eh 2000 ms (2 segundos), opcional.
Exemplo de codigo:
if $hp > 1 then traymessage("TibiaKing.com", "Sua HP e maior que 1") end
O TrayMessage pode ser usado para avisos importante como a HP, Cap, Potions, Waypoints. Basta usar com criatividade!
-
aLD deu reputação a DragonBoss em Função Say para o Tibia (Sem TibiaAPI)Falaaa galera x.x
Tentando dar uma continuidade à programação para tibia sem uso de tibiaapi, vo postar uma função aqui (meio que 'gambiarra', mas, funciona)...
No outro tutorial eu expliquei um pouco sobre leitura de memoria.. esse aqui não tem muito a ver, mas, complementa aquele pra quem quer fazer bot sem TibiaAPI x.X
Primeira observação: As funções são declaradas abaixo do implementation, e ae podem ser usadas somente completando os argumentos delas... como de costume, minhas funções usam argumentos simples.
Segunda observação: Essa função vai digitar letra por letra da mensagem e depois dar um enter.
Função Say:
function say(mensagem: string):string; var h: HWND; letra: Integer; B: Byte; begin h := FindWindow(nil, 'tibia'); for letra := 1 to Length(mensagem) do begin B := Byte(mensagem[letra]); SendMessage(h, WM_CHAR, B, 0); end; SendMessage(h, WM_CHAR, 13, 0); end; Analisando a função: H = janela do tibia. Mensagem = mensagem que a função vai digitar no tibia. as variáveis Letra e B trabalharam assim: a letra vai de 1 até a quantia de caracteres da mensagem, e o B se torna o byte da letra a ser enviada... e ele envia com a API SendMessage (é uma API do windows, e NÃO tem nada a ver com TibiaAPI ). No fim temos: SendMessage(h, WM_CHAR, 13, 0); Isso será responsável por apertar um Enter após ele terminar de digitar a mensagem ( 13 = VK_return = Enter ). Olhando a primeira linha, vemos como podemos usa-la: function say(mensagem: string):string; Ou seja, é só usar assim: Say('mensagem aqui'); ou com um edit: Say(edit1.text);
Pode usar de diversas formas, desde que ele trabalhe com uma string =]
Segue em Anexo a source de um projeto somente com a função, e um exemplo de usa-la, com um edit e um botão (você digita a mensagem no edit, e clica no botão.. e ele envia pro tibia \o/ )....
Flw galera, abraços...
Sei que tá bem simples, mas, espero que ajude vocês.
_____________________________________________________________
Usando Função Say.rar
-
aLD recebeu reputação de cool em Recomendem jogosFirefall
Fists of Fu
-
aLD deu reputação a Guilherme em Você conhece esse joinha?riairairairiarairiairaaririaari
-
aLD recebeu reputação de Private Sub Teste em [Tutorial] Minimizar para o TrayÉ muito facil, não tem porque eu ficar enrolando...
Primeiro voce precisa OBRIGATORIAMENTE de um ícone, pra ficar na hora do tray.
Crie um botão;
Crie um NotifyIcon;
No botão, coloque o codigo:
Me.Hide() No NotifyIcon, coloque o código: Me.Show()
No NotifyIcon, tem uma propriedade chamada Icon, coloque lá o icone que você escolheu.
Pronto
-
aLD deu reputação a Froostiin em [Tutorial] Minimizar para o Trayerro teu , funciona sim e as funções continuam acabei de testar e foi .
-
aLD recebeu reputação de Froostiin em [Tutorial] Minimizar para o TrayÉ muito facil, não tem porque eu ficar enrolando...
Primeiro voce precisa OBRIGATORIAMENTE de um ícone, pra ficar na hora do tray.
Crie um botão;
Crie um NotifyIcon;
No botão, coloque o codigo:
Me.Hide() No NotifyIcon, coloque o código: Me.Show()
No NotifyIcon, tem uma propriedade chamada Icon, coloque lá o icone que você escolheu.
Pronto
-
aLD recebeu reputação de GTibia em Edron Earth Elementals [depositer + refiller + task maker]Edron (Perto da Dragon Lair)
Sorcerer or Druid (Level 50+) - com Terra Set é bem melhor
Premium (claro)
XP/h: 30-60k~
GP/h: 5-10k
Extras: Depositer, Refiller, Task-Maker, Drop cash.
Hotkeys/HUD: Earth Elemental Counter, Eatfood, Exp/h,tempo pra upar.
O script vai refazer as tasks quando matar 80 earth elementals.
Quando ele refizer as tasks ele vai pra edron, onde vai depositar os loots, tirar o cash do banco e ir comprar mais manas, vai comprar até 150 STRONG MANA POTIONS, e depois vai comprar mais brown mushroom até 150 tbm.
Backpack:
1ª backpack: Manas
2ª backpack: Loot
Por: Aabcd.
Earth Elementals Task - Depositer + Refiller.xml
-
aLD deu reputação a EdsonJunior em 2# - Concurso Exana Lag!é noix!
Login: EdsonJunior