Ir para conteúdo
  • Cadastre-se

(Resolvido)Evoluir Pokemon Com Talkaction


Ir para solução Resolvido por Thiago Rulexz,

Posts Recomendados

Tipo queria um Talkaction que evoluísse o pokemon até ele morrer

quando ele morrer ele volte a ser o pokemon antigo

Isso ajudaria Muitas pessoas e Principalmente eu Por Favor Tibiaking!!

Link para o post
Compartilhar em outros sites
  • Respostas 39
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Claro. local evolutions = {     --["Pokemon_name"] = "Evolution_name",     ["Alakazam"] = "Mega Alakazam", } local effect = xxx                --Animação/efeito. function onSay(cid, words)     if #getCreatureSummons(cid) > 0 then         local poke = getCreatureSummons(cid)[1]         if evolutions[getCreatureName(poke)] then             local position, lookDir, pokeName = getThingPos(poke), getCreatureLookDirection(poke), getCreatureName(poke)             doPlayerSendTextMessage(cid, 27,

LoL vlw msm cara Arrazou xD   @Edit Adicionei o script do joaod123 e funcionou xD muda os atk Pra quem n sabe add segue o script pronto  

Pessoal pra quem quer q evolua o pokemon com um item ta ai local evolutions = { --["Pokemon_name"] = {ID_do_item_necessário_para_evoluir, "Evolution_name"}, ["Charizard"] = {14208, "Mega Charizard"}, } function onSay(cid, words) if #getCreatureSummons(cid) > 0 then local poke = getCreatureSummons(cid)[1] if evolutions[getCreatureName(poke)] then if getPlayerItemCount(cid, evolutions[getCreatureName(poke)][1]) >= 1 then local position, lookDir, pokeName = getThingPos(poke), ge


local evo = {
       
        ["Abra"] = "kadabra",
        ["Kadabra"] = "alakazam",
        ["Drowzee"] = "hypno",
        ["Slowpoke"] = "slowbro",
        ["Exeggcute"] = "exeggutor",
        ["Psyduck"] = "golduck",
        ["Mime Jr"] = "mr.mime",
        ["Togepi"] = "togetic",
        ["Slowbro"] = "slowking",

}

function onSay(cid, words, param)
    local monster  = getCreatureName(getCreatureSummons(cid)[1])
    if evo[monster] then
            doRemoveCreature(getCreatureSummons(cid)[1])
            local summon = doCreateMonster(evo[monster], toPosition)
            doConvinceCreature(cid, summon)
            doSendMagicEffect(getThingPos(summon), 18)
            return TRUE
    end
    return FALSE
end
Editado por david0703 (veja o histórico de edições)

Atenciosamente, David Araujo

Meu Conteúdo

 

Fui útil? Gostou? 
Faça uma doação.

 
 
 

"É errando que se erra."

"Gambiarras resolvem instantemente, porém podem complicar em problemas futuros."

"Cada dia vivido é um aprendizado."

Link para o post
Compartilhar em outros sites
  Em 18/03/2015 em 20:25, david0703 disse:

local evo = {
       
        ["Abra"] = "kadabra",
        ["Kadabra"] = "alakazam",
        ["Drowzee"] = "hypno",
        ["Slowpoke"] = "slowbro",
        ["Exeggcute"] = "exeggutor",
        ["Psyduck"] = "golduck",
        ["Mime Jr"] = "mr.mime",
        ["Togepi"] = "togetic",
        ["Slowbro"] = "slowking",

}

function onSay(cid, words, param)
    local monster  = getCreatureName(getCreatureSummons(cid)[1])
    if evo[monster] then
            doRemoveCreature(itemEx.uid)
            local summon = doCreateMonster(evo[monster], toPosition)
            doConvinceCreature(cid, summon)
            doSendMagicEffect(getThingPos(summon), 18)
            return TRUE
    end
    return FALSE
end
Mostrar mais  

mais isso remove o monstro e summona outro, visualmente vai funcionar mas, no caso dos pogmon precisaria pegar os status, que estão em atributos na pokebola pra tudo funcionar certo. e outra coisa não sei oque acontece se vc estiver com um pokemon e usar esse script e depois tentar puxar ele de volta pra pokebola deve da um bug do c@raHUE

Link para o post
Compartilhar em outros sites
  Em 18/03/2015 em 20:38, vyctor17 disse:

mais isso remove o monstro e summona outro, visualmente vai funcionar mas, no caso dos pogmon precisaria pegar os status, que estão em atributos na pokebola pra tudo funcionar certo. e outra coisa não sei oque acontece se vc estiver com um pokemon e usar esse script e depois tentar puxar ele de volta pra pokebola deve da um bug do c@raHUE

Expand   Mostrar mais  

Assim como esse script foi totalmente Ctrl + C, Ctrl + V

 

doRemoveCreature(itemEx.uid)

??? Onde tem esse parâmetro meu amigo, itemEx.

                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Link para o post
Compartilhar em outros sites

Desculpe, mas estava atrasado pra facul, não fiz nem o teste de mesa... Quando chegar em casa faço o script pra você...
Obrigado por olhar vyctor17
(É errando que se erra...)


Qual a base de seu servidor?

Editado por david0703 (veja o histórico de edições)

Atenciosamente, David Araujo

Meu Conteúdo

 

Fui útil? Gostou? 
Faça uma doação.

 
 
 

"É errando que se erra."

"Gambiarras resolvem instantemente, porém podem complicar em problemas futuros."

"Cada dia vivido é um aprendizado."

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Leohige
      The Ruby Server - Base Pokémon
      Ao olhar as diversas bases que podem ser encontradas aqui no fórum e em outros locais da internet, pude ver que todas elas carecem de qualidade. Todas estas bases são feitas utilizando gambiarras para diversos sistemas funcionarem, e com isso vários problemas surgem, como de sistemas que não funcionam direito, e o mais importante, com um desempenho extremamente baixo, gerando apenas servidores instáveis. Com isso eu decidi que iria começar a desenvolver uma base para servidores relacionados a Pokémon, com dois objetivos. Um dos objetivos é ganhar mais conhecimento em cima da linguagem de programação C++, o outro objetivo é disponibilizar uma base completamente estável, funcional e de fácil configuração e desenvolvimento para servidores de Pokémon, para que mais ótimos trabalhos possam surgir. Este projeto também irá incluir um cliente próprio e estável, junto com um website.
       
      Também planejo criar uma espécie de Wiki para o servidor, cliente e website, com o objetivo de auxiliar quem for desenvolver em cima deste servidor, e também aqueles que pouco entendem do assunto relacionando a criação de escripts, Pokémon, spells e etc.
       
      Alguns poucos sistemas foram implementados no servidor por ora. Sistemas como o de catch e de goback serão implementados mais para frente, quando outros sistemas forem completamente implementados, como o sistema de configuração de Pokeballs, criação de Pokémons e sistema de shinys. Estou visando a qualidade do servidor como um todo, por isso algumas coisas irão demorar para aparecer.

      O sistema de Pokeballs e de criação de Pokémon já está bem encaminhado, e um sistema de gêneros também já está pronto com fácil configuração, onde o spawn destes Pokémon com sexo será por % igual aos jogos da franquia. Um sistema de surgimento de Ditto aleatório já está praticamente implementado, onde um Pokémon aleatório pode ser um Ditto disfarçado.
       
      [+] Informações do Servidor
      Baseado em: TFS 1.3
      Protocolo: 10.98
       
      [+] Informações do Client
      Baseado em: otclient 0.6.6

      [+] Informações do Website
      Baseado em: nenhum
      Desenvolvido em: PHP (por ser o mais comum na comunidade)
       
      Como contribuir?
      Eu gostaria muito que a comunidade ajudasse no desenvolvimento deste projeto, pois o mesmo será disponibilizado para todos, e para contribuir não necessariamente é preciso entender de programação. Você pode também ajudar testando e reportando os bugs encontrados no repositório do projeto no GitHub, assim como com sugestões e ideias de mudança/implementação no servidor através do próprio repositório ou através do Discord, ou ajudar na criação de guias para o website do projeto.
       
      Links
       
      [+] RubyServer - GitHub
      https://github.com/rubyserver/rubyserver
       
      [+] RubyClient - GitHub
      https://github.com/rubyserver/rubyclient
       
      [+] RubyServer - Website
      https://rubyserver.github.io/rubyserver/
       
      [+] RubyServer - Discord
      https://discord.gg/XTrZGpy
       
      Algumas Imagens
       
       
       
       
       
    • Por alun0n0v0
      Ola Galera Venho trazer uma base que todos nos adorava, a Poke Hand(Antiga) sim é elas mesmo estou com ela alguns anos baixada em meu pc e venho traser para a comunidade ela, etão vamos la.
       
      Base Poke hand
      Shiny e mega
      Sistema de Auto loot
      respaw de shiny free
      Mega pokemon 
      sistema de bike
      sistema de Held T1 ao T7
      50 Quest
      Sistema de Rare candy e Boost stone
      Master ball
      -----------------------------------------------------------------------------
       
      download:  http://www.mediafire.com/file/vjbpo5m3b6x6w5p/Base_Hand_g.rar/file
      Scan: https://www.virustotal.com/gui/url/6efa9873650435768ab6d5817919c8c2201006a36d09448a01b9619bf0bdd41d/detection
      -------------------------------------------------------------------------------------
       
      Creditos: a Mim
       Hang caxias ( desenvovedor da base)
       
       
       
      ME PERDO PESSOAL SE ESTA FALTANDO ALGO, MAS É MEU PRIMEIRO POST NO TK. PESSOAL DEIXA UM UP PARA FORTALECER
       
    • Por SwayaDzn
      ##Change Log##
      Foram feita muitas modificações na base PokeImperium que foi feita pelo Lord Baxx. (Todos os devidos créditos da base vão para ele.)
      A principal ídeia era fazer um servidor BASEADO na PokeXGames, eu criei muito conteúdo assim como estava adicionando novos pokemons,
      então vou deixar esse changelog de várias coisas que eu adicionei/fui mechendo
      * Foram Feitas várias modificações no mapa, adicionando novas hunts da "cosmic world" como se fosse a nightmare world do pokexgames.
      * Adicionado todos os pokemons do TIER 1 de todos os clans, "os t1h da pokexgames"
      Zoroark, Shiny Pachirisu, Shiny Gardevoir, Shiny Rampardos, Shiny Hariyama, Shiny Heatmor, Shiny Mawile, Mega Pidgeot, Mega Glalie.
      * Foram CRIADOS novos MOVES para TODOS os pokémons de TIER 1.
      * Adicionado alguns novos pokemons de cada clan (não está nem um pouco completo, falta adicionar/balancear diversos pokemons de seus diversos clans
      * Adicionado mais de 3k+ de newtypes(outfit) e items novos no servidor.
      * Todos os pokémons novos tem seus proprios portraits/corpse. INCLUINDO os pokémons megas.
      * Eu criei uma base pra "clones quest" que séria uma quest que resetava a cada semana.
      * Sistema de travel estava sendo feito, porém não terminei (sistema de travel séria o "teleport" para a cosmic world.
      * Alteração no Task System.
      * Alterado Client/Modules/Ui/Interface.

      Principal Bug do servidor, este bug já tinha na propria base do lord baxx que é o auto loot, basicamente se você separa vários items iguais na sua mochila,
      e coletar algum loot de pokémon que tenha esse mesmo item, basicamente duplica, triplica, etc. esse item na sua mochila.
      Meu foco era deixar primeralmente o servidor "divertido" então não corri atrás de arrumar bugs.
      Não tenho mais tempo/vontade de mecher no servidor, então estou disponibilizando.
       
      Imagens/Vídeos
       
      Download: https://www.mediafire.com/file/nqgja991oomtfz0/PokeGhost+Project.rar/file
      scan: https://www.virustotal.com/gui/file/545e3c5e7a894e82cce5e9cb885f2dc4f8f2b8ce1d7f31ff75bb2d8e7bbf4095/detection
       
      Database: Imperium.s3db
    • Por Jnetworks
      Olá pessoal tudo bem? sou novo aqui no fórum, mais vou tentar ajudar um pouco com meu conhecimento  
      Hoje estarei trazendo para vocês um script que todos tem vontade de ter(eu acho) HUAHAUHAUH
      quando você entra naquele baiak e digita !autoloot e ve aquele scriptzão de pega loot e fica com vontade de ter,
      hoje estarei trazendo ele aqui pra vocês:
       

       
      Primeiramente o sistema é contido em 3 arquivos(Talkactions,creaturescripts,login.lua)
       
      Vamos começar pelo talkactions!
       
      Em talkactions.xml adicione a seguinte tag:
      <talkaction words="!autoloot" event="script" value="Auto Loot.lua"/> Agora vá na pasta talkactions/scripts e crie 1 arquivo chamado Auto Loot.lua e nele adicione o seguinte codigo:
      function ExistItemByName(name) -- by vodka local items = io.open("data/items/items.xml", "r"):read("*all") local get = items:match('name="' .. name ..'"') if get == nil or get == "" then return false end return true end local function getPlayerList(cid) local tab = {} if getPlayerStorageValue(cid, 04420021) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420021)) end if getPlayerStorageValue(cid, 04420031) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420031)) end if getPlayerStorageValue(cid, 04420041) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420041)) end if getPlayerStorageValue(cid, 04420051) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420051)) end if #tab > 0 then return tab end return false end local function addToList(cid, name) local itemid = getItemIdByName(name) if getPlayerList(cid) and isInArray(getPlayerList(cid), itemid) then return false end if getPlayerStorageValue(cid, 04420021) == -1 then return doPlayerSetStorageValue(cid, 04420021, itemid) elseif getPlayerStorageValue(cid, 04420031) == -1 then return doPlayerSetStorageValue(cid, 04420031, itemid) elseif getPlayerStorageValue(cid, 04420041) == -1 then return doPlayerSetStorageValue(cid, 04420041, itemid) elseif getPlayerStorageValue(cid, 04420051) == -1 then return doPlayerSetStorageValue(cid, 04420051, itemid) end end local function removeFromList(cid, name) local itemid = getItemIdByName(name) if getPlayerStorageValue(cid, 04420021) == itemid then return doPlayerSetStorageValue(cid, 04420021, -1) elseif getPlayerStorageValue(cid, 04420031) == itemid then return doPlayerSetStorageValue(cid, 04420031, -1) elseif getPlayerStorageValue(cid, 04420041) == itemid then return doPlayerSetStorageValue(cid, 04420041, -1) elseif getPlayerStorageValue(cid, 04420051) == itemid then return doPlayerSetStorageValue(cid, 04420051, -1) end return false end function onSay(cid, words, param) if param == "" then local fi = getPlayerStorageValue(cid, 04420021) ~= -1 and getItemNameById(getPlayerStorageValue(cid, 04420021)) or "" local se = not vip.hasVip(cid) and "Não disponível para free account" or getPlayerStorageValue(cid, 04420031) ~= -1 and getItemNameById(getPlayerStorageValue(cid, 04420031)) or "" local th = not vip.hasVip(cid) and "Não disponível para free account" or getPlayerStorageValue(cid, 04420041) ~= -1 and getItemNameById(getPlayerStorageValue(cid, 04420041)) or "" local fo = not vip.hasVip(cid) and "Não disponível para free account" or getPlayerStorageValue(cid, 04420051) ~= -1 and getItemNameById(getPlayerStorageValue(cid, 04420051)) or "" local stt = getPlayerStorageValue(cid, 04421011) == 1 and "sim" or "não" local str = getPlayerStorageValue(cid, 04421001) == 1 and "sim" or "não" doPlayerPopupFYI(cid, "{Auto-Loot} ---Menu Auto Loot do jogador\n{Auto-Loot} ----------------\n{Auto-Loot} ---Coletar dinheiro: "..stt..". Para ligar/desligar: !autoloot gold \n{Auto-Loot} ---Coletar itens únicos: "..str..". Para ligar/desligar: !autoloot power\n{Auto-Loot} --Configuração dos slots:\n{Auto-Loot} ---Slot 1: "..fi.."\n{Auto-Loot} ---Slot 2: "..se.."\n{Auto-Loot} ---Slot 3: "..th.."\n{Auto-Loot} ---Slot 4: "..fo.."\n{Auto-Loot} ---Para adicionar um novo item aos slots: !autoloot add, <nome do item>\n{Auto-Loot} ---Para retirar um item dos slots: !autoloot remove, <nome do item>\n{Auto-Loot} ---Para limpar todos os slots utilize: !autoloot clear\n{Auto-Loot} ---Para informações de quanto você já fez utilizando a coleta de dinheiro, use: !autoloot goldinfo\n\nSe seu autoloot bugar use !autoloot desbug\n\n{Auto-Loot} ----------------") return true end local t = string.explode(param, ",") if t[1] == "power" then local check = getPlayerStorageValue(cid, 04421001) == -1 and "ligou" or "desligou" doPlayerSetStorageValue(cid, 04421001, getPlayerStorageValue(cid, 04421001) == -1 and 1 or -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você "..check.." o auto loot.") elseif t[1] == "gold" then local check = getPlayerStorageValue(cid, 04421011) == -1 and "ligou" or "desligou" doPlayerSetStorageValue(cid, 04421011, getPlayerStorageValue(cid, 04421011) == -1 and 1 or -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você "..check.." a coleta de dinheiro.") doPlayerSetStorageValue(cid, 04421021, 0) elseif t[1] == "goldinfo" then local str = getPlayerStorageValue(cid, 04421011) == -1 and "O sistema de coleta de dinheiro está desligado" or "O sistema já coletou "..getPlayerStorageZero(cid, 04421021).." gold coins" doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, str) elseif t[1] == "add" then if ExistItemByName(t[2]) then local item = getItemIdByName(t[2]) if isInArray({2160, 2148, 2152}, item) then return doPlayerSendCancel(cid, "Você não pode adicionar moedas no autoloot. Para coletar dinheiro use !autoloot gold") end if vip.hasVip(cid) then if getPlayerStorageValue(cid, 04420011) < 3 then if addToList(cid, t[2]) then doPlayerSetStorageValue(cid, 04420011, getPlayerStorageValue(cid, 04420011) + 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, t[2].." adicionado à sua lista do auto loot! Para ver sua lista diga !autoloot list") else doPlayerSendCancel(cid, t[2].." já está em sua lista!") end else doPlayerSendCancel(cid, "Sua lista já tem 4 itens! Você deve remover algum antes de adicionar outro.") end else if getPlayerStorageValue(cid, 04420011) == -1 then if addToList(cid, t[2]) then doPlayerSetStorageValue(cid, 04420011, getPlayerStorageValue(cid, 04420011) + 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, t[2].." adicionado à sua lista do auto loot! Para ver sua lista diga !autoloot") else doPlayerSendCancel(cid, t[2].." já está em sua lista!") end else doPlayerSendCancel(cid, "Você já tem um item adicionado no auto loot! Para adicionar outro, você deve remover o item atual.") end end else doPlayerSendCancel(cid, "Este item não existe!") end elseif t[1] == "remove" then if ExistItemByName(t[2]) then if removeFromList(cid, t[2]) then doPlayerSetStorageValue(cid, 04420011, getPlayerStorageValue(cid, 04420011) - 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, t[2].." removido da sua lista do auto loot!") else doPlayerSendCancel(cid, "Este item não está na sua lista!") end else doPlayerSendCancel(cid, "Este item não existe!") end elseif t[1] == "clear" then if getPlayerStorageValue(cid, 04420011) > -1 then doPlayerSetStorageValue(cid, 04420011, -1) doPlayerSetStorageValue(cid, 04420021, -1) doPlayerSetStorageValue(cid, 04420031, -1) doPlayerSetStorageValue(cid, 04420041, -1) doPlayerSetStorageValue(cid, 04420051, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Lista limpa!") else doPlayerSendCancel(cid, "Sua lista ja esta limpa!") end elseif t[1] == "desbug" or t[1] == "desbugar" then doPlayerSetStorageValue(cid, 04420011, -1) doPlayerSetStorageValue(cid, 04420021, -1) doPlayerSetStorageValue(cid, 04420031, -1) doPlayerSetStorageValue(cid, 04420041, -1) doPlayerSetStorageValue(cid, 04420051, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Desbugado!") elseif t[1] == "list" then local fi = getPlayerStorageValue(cid, 04420021) ~= -1 and ""..getItemNameById(getPlayerStorageValue(cid, 04420021)).."\n" or "" local se = getPlayerStorageValue(cid, 04420031) ~= -1 and ""..getItemNameById(getPlayerStorageValue(cid, 04420031)).."\n" or "" local th = getPlayerStorageValue(cid, 04420041) ~= -1 and ""..getItemNameById(getPlayerStorageValue(cid, 04420041)).."\n" or "" local fo = getPlayerStorageValue(cid, 04420051) ~= -1 and ""..getItemNameById(getPlayerStorageValue(cid, 04420051)).."\n" or "" doPlayerPopupFYI(cid, "O sistema auto loot está coletando:\n "..fi..""..se..""..th..""..fo) end return true end Lembrando esse script libera dois slots de autoloot pra free account e quatro slots para vip account, o sistema configurado nele é o vipSystemByMock caso use um script diferente basta alterar função vip.hasVip(cid)
       
      Vamos continuar?
      Próximo passo vamos adicionar o creaturescripts!
       
      Na pasta creaturescripts, abra o creaturescripts.xml e adicione a seguinte tag:
      <event type="kill" name="autoloot" event="script" value="Auto Loot.lua"/> Agora dentro da pasta creaturescripts vá ate a pasta scripts e crie um arquivo chamado Auto Loot.lua e adicione o seguinte codigo:
      local aloot_boost = {[2406] = 36, [2537] = 4800, [2377] = 480, [2663] = 600, [2472] = 195000, [2398] = 36, [2475] = 7200, [2519] = 6500, [2497] = 10700, [2523] = 180000, [2494] = 325000, [2400] = 144000, [2491] = 6000, [2421] = 325000, [2646] = 260000, [2477] = 7200, [2413] = 84, [2656] = 18000, [2498] = 52000, [2647] = 600, [2534] = 32500, [7402] = 19500, [2466] = 26000, [2465] = 240, [2408] = 120000, [2518] = 1800, [2500] = 3000, [2376] = 30, [2470] = 91000, [2388] = 24, [2645] = 26000, [2434] = 2400, [2463] = 480, [2536] = 11700, [2387] = 240, [2396] = 4800, [2381] = 240, [2528] = 4800, [2409] = 1800, [2414] = 12000, [2427] = 9000, [2407] = 7200, [2458] = 42, [2383] = 960, [2392] = 3600, [2488] = 18000, [2525] = 120, [2423] = 240, [7382] = 13000, [2462] = 1300, [2520] = 39000, [2390] = 180000, [2417] = 72, [2436] = 1200, [5741] = 52000, [2378] = 120, [2487] = 24000, [2476] = 6500, [8891] = 36000, [2459] = 36, [2195] = 52000, [2391] = 7200, [2464] = 120, [8889] = 72000, [2432] = 13000, [2431] = 108000, [2492] = 52000, [2515] = 240, [2430] = 2400, [2393] = 13000, [7419] = 36000, [2522] = 130000, [2514] = 65000} local function getPlayerStorageZero(cid, storage) -- By Killua local sto = getPlayerStorageValue(cid, storage) if tonumber(sto) then return tonumber(sto) > tonumber(0) and tonumber(sto) or tonumber(0) end return tonumber(0) end local tabela = {} local function getPlayerList(cid) local tab = {} if getPlayerStorageValue(cid, 04420021) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420021)) end if getPlayerStorageValue(cid, 04420031) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420031)) end if getPlayerStorageValue(cid, 04420041) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420041)) end if getPlayerStorageValue(cid, 04420051) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420051)) end if #tab > 0 then return tab end return {} end local function boost(cid) return tonumber(getPlayerStorageValue(cid,722381)) >= os.time() end local function autoLoot(cid, pos) if not isPlayer(cid) then return end local check = false local str = "" local position = {} for i = 1, 255 do pos.stackpos = i if getThingFromPos(pos).uid and getThingFromPos(pos).uid > 0 and isContainer(getThingFromPos(pos).uid) then position = pos check = true break end end if check then local corpse = getContainerItemsInfo(getThingFromPos(position).uid) if corpse then for index, info in pairs(corpse) do if index < countTable(corpse) then if info.uid and info.itemid then if isContainer(info.uid) then local bag = getContainerItemsInfo(info.uid) for i = 1, countTable(bag) do if isInArray(getPlayerList(cid), bag[i].itemid) then if bag[i].quant > 1 then doRemoveItem(bag[i].uid, bag[i].quant) doPlayerAddItem(cid, bag[i].itemid, bag[i].quant) str = str.." "..bag[i].quant.." "..getItemNameById(bag[i].itemid).." +" else doRemoveItem(bag[i].uid) if boost(cid) then if aloot_boost[bag[i].itemid] then doPlayerSetBalance(cid,getPlayerBalance(cid) + aloot_boost[bag[i].itemid]) str = str.." 1 "..getItemNameById(bag[i].itemid).." ("..aloot_boost[bag[i].itemid].."gp no banco) +" else doPlayerAddItem(cid, bag[i].itemid, 1) str = str.." 1 "..getItemNameById(bag[i].itemid).." +" end else doPlayerAddItem(cid, bag[i].itemid, 1) str = str.." 1 "..getItemNameById(bag[i].itemid).." +" end end end end end end end if isInArray(getPlayerList(cid), info.itemid) then if info.quant > 1 then doRemoveItem(info.uid, info.quant) doPlayerAddItem(cid, info.itemid, info.quant) str = str.." "..info.quant.." "..getItemNameById(info.itemid).." +" else doRemoveItem(info.uid) if boost(cid) then if aloot_boost[info.itemid] then doPlayerSetBalance(cid,getPlayerBalance(cid) + aloot_boost[info.itemid]) str = str.." 1 "..getItemNameById(info.itemid).." ("..aloot_boost[info.itemid].."gps no banco) +" else doPlayerAddItem(cid, info.itemid, 1) str = str.." 1 "..getItemNameById(info.itemid).." +" end else doPlayerAddItem(cid, info.itemid, 1) str = str.." 1 "..getItemNameById(info.itemid).." +" end end end end end end setPlayerTableStorage(cid,822564,{[1] = str, [2] = 0}) end local function autoGold(cid, pos) if not isPlayer(cid) then return end local check = false local total = 0 local position = {} for i = 1, 255 do pos.stackpos = i if getThingFromPos(pos).uid and getThingFromPos(pos).uid > 0 and isContainer(getThingFromPos(pos).uid) then position = pos check = true break end end if check then local corpse = getContainerItemsInfo(getThingFromPos(position).uid) if corpse then for index, info in pairs(corpse) do if info.uid and info.itemid then if index < countTable(corpse) then if isContainer(info.uid) then local bag = getContainerItemsInfo(info.uid) for i = 1, countTable(bag) do if isInArray({2148, 2152, 2160}, bag[i].itemid) then local multiplie = 1 if bag[i].itemid == 2148 then multiplie = 1 elseif bag[i].itemid == 2152 then multiplie = 100 elseif bag[i].itemid == 2160 then multiplie = 10000 end doRemoveItem(bag[i].uid, bag[i].quant) doPlayerSetBalance(cid, getPlayerBalance(cid) + tonumber(bag[i].quant) * multiplie) total = total + bag[i].quant * multiplie doPlayerSetStorageValue(cid, 04421021, tonumber(getPlayerStorageZero(cid, 04421021)) + tonumber(info.quant) * tonumber(multiplie)) end end end end if isInArray({2148, 2152, 2160}, info.itemid) then local multiplie = 1 if info.itemid == 2148 then multiplie = 1 elseif info.itemid == 2152 then multiplie = 100 elseif info.itemid == 2160 then multiplie = 10000 end doRemoveItem(info.uid, info.quant) doPlayerSetBalance(cid, getPlayerBalance(cid) + info.quant * multiplie) doPlayerSetStorageValue(cid, 04421021, tonumber(getPlayerStorageZero(cid, 04421021)) + tonumber(info.quant) * tonumber(multiplie)) total = total + info.quant * multiplie end end end end end if total > 0 then total = total - (total * 0.2) total = math.ceil(total) doPlayerSetBalance(cid,getPlayerBalance(cid) + total) local tab = getPlayerTableStorage(cid,822564) tab[2] = total setPlayerTableStorage(cid,822564,tab) end end local function sendMsg(cid) if not isPlayer(cid) then return end local tab = getPlayerTableStorage(cid,822564) if countTable(tab) >= 1 then if tab[1] then if tab[2] and tab[2] > 0 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "[Auto Loot System] Coletados: ".. tab[1] .." ".. tab[2] .." gold coins.") else if type(tab[1]) == "string" and string.len(tab[1]) > 1 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "[Auto Loot System] Coletados: "..tab[1]) end end elseif not tab[1] then if tab[2] then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "[Auto Loot System] Coletados: "..tab[2].." gold coins.") end end end doPlayerSetStorageValue(cid,822564,-1) end function onKill(cid, target, lastHit) if isPlayer(cid) and isMonster(target) then if getPlayerStorageValue(cid, 04421001) == 1 and #getPlayerList(cid) > 0 then local pos = getCreaturePosition(target) addEvent(autoLoot, 500, cid, pos) end if getPlayerStorageValue(cid, 04421011) == 1 then local pos = getCreaturePosition(target) addEvent(autoGold, 540, cid, pos) end if getPlayerStorageValue(cid, 04421001) == 1 or getPlayerStorageValue(cid, 04421011) == 1 then addEvent(sendMsg, 560, cid) end end return true end  
      E por fim ainda dentro da pagina scripts procure o arquivo login.lua e registre a seguinte tag:
       
      registerCreatureEvent(cid, "autoloot") registerCreatureEvent(cid, "Auto Loot")  
      Créditos: Killua - Vitor cardoso bertolucci
       
      Obrigado a todos e até a próxima!
      JNetworks.com.br
       
       

      Jnetworks agradece a preferência!
       
       
       
      Está querendo abrir 1 OTServer e não sabe onde hospedar?
      Acesse: JNetworks.com.br
      Instalamos seu OTServer apartir da contratação de 3GB de ram!
    • Por Zagaf
      ShowOff Poketibia
       
      Bom a alguns dias atrás eu comecei a reformular um mapa de poketibia que eu baixei (pokexmaster) , ate o momento eu refiz a cidade de saffron.
       
       
       
       
       
  • Estatísticas dos Fóruns

    96844
    Tópicos
    519603
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo