Ir para conteúdo
  • Cadastre-se

OTClient Module teleporte list/Pokémon


Posts Recomendados

Funciona da seguinte forma;

O player clica no nome da cidade e é teleportado.

baixe o modulo e jogue na pasta modules do seu cliente:

 

Download:

https://www.dropbox.com/s/1dn9c2p25en8c8c/TP LIST.rar?dl=0

 

 

Scan:

https://www.virustotal.com/gui/file/06ef6e8655eadb9a0bb4f38ef5afaad354e3bb508e325ff9e392ae9f466b864b/detection

 

talkaction/script/crie um arquivo com o nome tele.lua e adicione:

 

Spoiler
Spoiler

local poke = {"Espeon", "Shiny Xatu", "Jynx", "Shiny Jynx", "Xatu", "Natu", "Exeggutor", "Slowking", "Slowbro", "Shiny Mr. Mime", 'Mew', 'Mewtwo', 'Abra', 'Kadabra', 'Alakazam', 'Drowzee', 'Hypno', 'Mr. Mime', 'Porygon', 'Shiny Abra', 'Shiny Alakazam', 
'Shiny Hypno', 'Porygon2'}  --alterado v1.9

local etele = 9499
local cdtele = 16

local config = {
premium = true, -- se precisa ser premium account (true or false)
battle = true    -- se precisa estar sem battle (true). Se colocar false, poderá usar teleport no meio de batalhas
}

local places = {-- Kanto --
[1] = {name = "Saffron", id = 1, sto = 897530},
[2] = {name = "Cerulean", id = 2, sto = 897531},
[3] = {name = "Lavender", id = 3, sto = 897532},
[4] = {name = "Fuchsia", id = 4, sto = 897533},
[5] = {name = "Celadon", id = 5, sto = 897534},
[6] = {name = "Pallet", id = 6, sto = 897535},
[7] = {name = "Pewter", id = 8, sto = 897536},
[8] = {name = "Viridian", id = 9, sto = 897537},
[9] = {name = "Vermilion", id = 10, sto = 897538},
[10] = {name = "Cinnabar", id = 11, sto = 897539},
-- Hoeen --
[11] = {name = "Larosse", id = 13, sto = 897540},
[12] = {name = "Orre", id = 7, sto = 897541},
[13] = {name = "Canavale", id = 16, sto = 897542},
-- Vip
[14] = {name = "Singer", id = 12, sto = 897543},
[15] = {name = "Hunter Village", id = 14, sto = 897544},
[16] = {name = "Sunshine", id = 15, sto = 897545},
[17] = {name = "Battle City", id = 31, sto = 897546},
-- Johto --
[18] = {name = "Goldenrod", id = 23, sto = 897547},
[19] = {name = "Azalea", id = 24, sto = 897548},
[20] = {name = "Ecruteak", id = 25, sto = 897549},
[21] = {name = "Olivine", id = 26, sto = 897550},
[22] = {name = "Violet", id = 27, sto = 897551},
[23] = {name = "Cherrygrove", id = 28, sto = 897552},
[24] = {name = "New Bark", id = 29, sto = 897553},
[25] = {name = "Mahogany", id = 30, sto = 897554},
[26] = {name = "Blackthron", id = 32, sto = 897555},
-- Outro --

[27] = {name = "Cianwood", id = 42, sto = 897557},
-- Novas Citys
}


function onSay(cid, words, param)

    if #getCreatureSummons(cid) == 0 then
        doPlayerSendCancel(cid, "You need a pokemon to use teleport.")
    return true
    end

    if not isInArray(poke, getCreatureName(getCreatureSummons(cid)[1])) then
    return 0
    end
    
    if getPlayerStorageValue(cid, 22545) == 1 then      --golden arena
       doPlayerSendCancel(cid, "You can't do that while the golden arena!")
    return true
    end
    
    if getPlayerStorageValue(cid, 212124) >= 1 then         --alterado v2.6
       return doPlayerSendCancel(cid, "You can't do it with a pokemon with mind controlled!")
    end

    if getPlayerStorageValue(cid, 52480) >= 1 then
       return doPlayerSendCancel(cid, "You can't do it while a duel!")  --alterado v2.6
    end
    
    if exhaustion.get(cid, etele) and exhaustion.get(cid, etele) > 0 then
        local tempo = tonumber(exhaustion.get(cid, etele)) or 0
        local min = math.floor(tempo)
        doPlayerSendCancel(cid, "Seu pokemon está cansado, espere "..getStringmytempo(tempo).."Para Teleportar de novo.")
    return true
    end

    if config.premium and not isPremium(cid) then
        doPlayerSendCancel(cid, "Somente os membros premium podem usar o teletransporte.")
    return true
    end

    if config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
        doPlayerSendCancel(cid, "Seu pokémon nao pode se concentrar durante as batalhas.")
    return true
    end

    if (param == '') then
        local str = ""
        str = str .. "Lugares para ir :\n\nHouse\n"
            for a = 1, #places do
                str = str..""..string.lower(places[a].name).."\n"
            end
        doShowTextDialog(cid, 7416, str)
    return true
    end

    local item = getPlayerSlotItem(cid, ?
    local nome = getPokeballName(item.uid)
    local summon = getCreatureSummons(cid)[1]
    local lastppos = getThingPos(cid)
    local lastspos = getThingPos(summon)
    local telepos = {}
    local myplace = ""
    local townid = 0

    if string.lower(param) == "house" then

        if not getHouseByPlayerGUID(getPlayerGUID(cid)) then
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Voce nao possui uma casa.")
        return true
        end

        telepos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid)))
        myplace = "nosso Lar"

    else

        for x = 1, #places do
            if string.find(string.lower(places[x].name), string.lower(param)) then
                townid = places[x].id
                myplace = places[x].name
            end
        end

        if myplace == "" then
            doPlayerSendCancel(cid, "Esse lugar nao existe.")
        return true
        end

    end

    if myplace ~= "" and townid > 0 then
        telepos = getTownTemplePosition(townid)
    end

    doSendMagicEffect(getThingPos(summon), 29)
    doSendMagicEffect(getThingPos(cid), 29)
    
    doReturnPokemon(cid, summon, item, 0)
    doTeleportThing(cid, telepos, false)
    local pos2 = getClosestFreeTile(cid, getPosByDir(getThingPos(cid), SOUTH))

    --doTeleportThing(summon, pos2, false)

    --doSendMagicEffect(getThingPos(cid), 29)

    doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", TALKTYPE_ORANGE_1)
    doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", TALKTYPE_ORANGE_1, false, 0, lastppos)

    doCreatureSetLookDir(cid, SOUTH)
    exhaustion.set(cid, etele, cdtele)

return true
end

 

Agora em talkaction.xml adicione:

<talkaction  words="!teleport;!tp;!h" event="script" value="tele.lua"/>

 

Creditos:

Spoiler

brazvct: Pela postagem do module

                                                                                                 

Walox: Pelo script de teleporte

 

Bom uso ? 

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 OT Archive
      OTClient Redemption (mehah) para navegadores
      Em nome da OTServList Brasil e do OT Archive, adaptei o OTClient Redemption para rodar em navegadores web.
       
       
      Source: https://github.com/mehah/otclient/pull/894 Guia de compilação e uso: https://github.com/OTArchive/otclient/wiki/Guia-‐-OTClient-Redemption-Web Demo sem assets: https://demo.otarchive.com Versão modular: https://webclient.otarchive.com Vídeo demonstrando o client se conectando a um servidor:  


       
       
      Em caso de dúvidas sobre o client web ou sobre servidores com suporte a websockets, por favor poste aqui.
       
      Disponibilizou um client web para seu servidor? Me avise para que eu inclua seu OT na categoria Web na OTServList Brasil, com um botão "Jogar Agora".
    • Por maikon1993
      Fala galerinha de boas ?
       
      Preciso de ajuda, preciso de um macro para otcV8, que faça um item dar use no outro.
      Exemplo: Tem um item no servidor "spellswand" e ela é usada para vender item, dando "use" nela e no item que quer vender, queria deixar isso automático, se alguém poder me ajudar agradeço.
    • Por AddroJhonny
      Andei buscando de tudo que é forma para que o minimap fique com a imagem já liberada, assim como é no PxG. Porém, não encontrei em nenhum lugar alguma instrução. Comecei a mexer no arquivo minimap.lua e consegui avançar em algo.
       
      Meu script ficou assim:
      function updateCameraPosition() local player = g_game.getLocalPlayer() if not player then return end local pos = player:getPosition() if not pos then return end if not minimapWidget:recursiveGetChildById('posLabel') then local minimap = g_ui.createWidget('Minimap', minimapWidget) minimapWidget:setImageSource('/mapa/pisos/piso1') minimapWidget:setId('posLabel') minimapWidget:setOpacity(0.3) minimapWidget:centerInPosition(map, {x = 1015, y=1012, z=7}) end if not minimapWidget:isDragging() then if not fullmapView then minimapWidget:setCameraPosition(player:getPosition()) end minimapWidget:setCrossPosition(player:getPosition()) end minimapPos = minimapWindow:recursiveGetChildById('posLabel') minimapPos:setText('X:'..pos.x..' Y:'..pos.y..' Z:'..pos.z) if minimapWidget:getCameraPosition().z ~= 7 then local minimap = minimapWidget:recursiveGetChildById('posLabel') minimap:setVisible(false) minimapWidget:setColor('black') end end  
      Agora a imagem realmente está aparecendo no minimap com transparência... e quase perfeito. Mas ainda falta conseguir fazer ela acompanhar a posição do player no lugar de ficar aberto por inteiro.
       
      Segue como ficou:
       

       
      Alguém consegue ajudar a melhor maneira de fazer isso? Ou se fiz errado também...
       
      Ty.
    • Por brunei
      Olá galera bom dia , boa tarde e boa noite a todos !
      venho trazer meu primeiro projeto para contribuir com o TK , se trata de um modulo bastante util 
      como é minha primeira vez trazendo algo aqui , talvez eu esqueça de algo , sem enrolação vamos la.

      o modulo é um Shiny Ditto Memory para PDA ,o melhor é que nao precisa de source e é bem simples de instalar !

      1° ponto - Adicionar o memory sistem por TalkAction do @zipter98 (fiz algumas correçoes e melhorias no script para funcionar de uma melhor forma com o modulo)

      em Talkactions.xml adicione a tag :  <talkaction words="/memory;!memory" event="script" value="sdittomemory.lua"/>
       
      2° - Em talkaction/script ,crie um arquivo sdittomemory.lua e cole esse script : 
       
      em : local cd = 2 (em segundos) mude para o numero que desejar como cooldown para efetuar a troca .
      Para efetuar a troca o pokemon precisa esta com os Moves 100% ,caso contrario ira mandar uma mensagem de bloqueio.
       

      3° - em somefunctions.lua adicione essas funçoes !

       
      tem umas correções q eu mesmo fiz no ditto system e shiny ditto system ,e é necessario pro modulo funcionar 100% .

      4° - extraia e adicione o arquivo na pasta Modulos do seu OTClient !

      pronto , com isso vai funcionar o modulo 
       

       
      1 - no icone salvar , vc consegue salvar o pokemon que o ditto esta transformado em cada slot (pokebola) e reverter o ditto.
      2 - no icone check , vc consegue remover uma memoria ou checar quais memorias o seu ditto esta usando.
      3 - e no icone transformar vc transforma em cada memoria salva no s.ditto e tbm consegue reverter para virar um pokemon novo sem usar a memori etc..

      entao é isso galera , espero que seja util .

      CREDITOS :
      @zipter98 
      @usoparagames Eu
      game_memory.rar
    • Por Gryffindori
      Já procurei à fundo mas não achei nada resolvido sobre isso, sempre que vou compilar acaba dando o erro. Alguém tem alguma solução?
       
      Problema - > . C2139 'OTMLNode': an undefined class is not allowed as an argument to compiler intrinsic type trait '__is_convertible_to' (compiling source file ..\src\client\localplayer.cpp) type_traits 325
       

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo