Ir para conteúdo

aLD

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    aLD recebeu reputação de Augusto em Looting, Refiller e Depositer   
    Bom 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
  2. Gostei
    aLD recebeu reputação de Private Sub Teste em Looting, Refiller e Depositer   
    Bom 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
  3. Gostei
    aLD recebeu reputação de Guilherme em Looting, Refiller e Depositer   
    Bom 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
  4. Gostei
    aLD deu reputação a Renato em [TalkAction] Comprar premium por dias   
    Cré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>
  5. Gostei
    aLD recebeu reputação de Froostiin em Tray Message   
    E 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!
  6. Gostei
    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
  7. Negativo
    aLD recebeu reputação de cool em Recomendem jogos   
    Firefall







    Fists of Fu



  8. Gostei
    aLD deu reputação a Guilherme em Você conhece esse joinha?   
    riairairairiarairiairaaririaari
  9. Gostei
    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
  10. Gostei
    aLD deu reputação a Froostiin em [Tutorial] Minimizar para o Tray   
    erro teu , funciona sim e as funções continuam acabei de testar e foi .
  11. Gostei
    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
  12. Gostei
    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
  13. Gostei
    aLD deu reputação a EdsonJunior em 2# - Concurso Exana Lag!   
    é noix!


    Login: EdsonJunior

Informação Importante

Confirmação de Termo