Ir para conteúdo

Doughell

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Doughell recebeu reputação de Peixola em Listão de NPCs, Monsters & Raids   
    Listão de NPCs, Monsters & Raids





    Nome do Tópico: NPC Mount


    Autor: Trypox
    Link do Tópico: http://tibiaking.com/forum/topic/7814-npc-mount/
    Comentário:





    Nome do Tópico: Outfit Maker


    Autor: ThalesMesquita
    Link do Tópico: http://tibiaking.com/forum/topic/7731-outfit-maker/
    Comentário:






    Nome do Tópico: NPC BLESS


    Autor: DevilMoon
    Link do Tópico: http://tibiaking.com/forum/topic/7675-npc-bless/
    Comentário:






    Nome do Tópico: [NPC] Mission


    Autor: Dudu Ruller
    Link do Tópico: http://tibiaking.com/forum/topic/7582-npc-mission/
    Comentário:






    Nome do Tópico: Pet system


    Autor: Fox B.
    Link do Tópico: http://tibiaking.com/forum/topic/4339-pet-system-by-delyria/
    Comentário:






    Nome do Tópico: Aprendar a criar e postar um NPC no seu Map


    Autor: JhonatanCWest
    Link do Tópico: http://tibiaking.com/forum/topic/2414-aprenda-a-criar-e-postar-um-npc-no-seu-map/
    Comentário:






    Nome do Tópico: [NPC] Mate o monstro e complete sua tarefa


    Autor: thalia
    Link do Tópico: http://tibiaking.com/forum/topic/2094-npc-mate-o-monstro-e-complete-sua-tarefa/
    Comentário:






    Nome do Tópico: [NPC] Apostador de Vegas


    Autor: thalia
    Link do Tópico: http://tibiaking.com/forum/topic/2066-npc-apostador-de-vegas/
    Comentário:







    OBSERVAÇÃO: Como há muitos tópicos apenas os das primeiras páginas serão adicionados, os que não forem atualizados ou os autores de seus tópicos abandonar o tópico, será excluido dando chance a outro tópico.





    A ultima atualização ocorreu:


    18/10/2011 ás 22:15


    Você não está com seu tópico em nossa lista?


    Comentem em nosso tópico que atualizaremos no ato!

  2. Gostei
    Doughell recebeu reputação de GniusPlay em [TalkAction] Scripts para PokeTIBIA   
    Olá a todos!
    Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.
    Não é nada mais do quem um SHOP in-game.

    Como assim?
    Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.
    Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.
    Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.
    Chega de enrolação e vamos direto ao script.







    Changename Script:
    Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.
    (Este script serve para modificar o nome do jogador pelo jogo).


    -- Creditos a Doughell function onSay(cid, words, param) local maxLen = 15 -- tamanho maximo do nome local itemid = 2145 ------ Numero do Item que ser&#225; removido local proibido = [{"!","@","*"}-- simbolos proibidos for i = 1, #proibido do if string.find(tostring(param), proibido[i]) then doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.") return TRUE end end if tostring(param) == "" then -- checkar se n&#227;o &#233; nome vazio doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.") return TRUE end if string.len(tostring(param)) > maxLen then doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.") return TRUE end if not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.") return TRUE end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerRemoveItem(cid, itemid, 5) db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.") addEvent(doRemoveCreature, 5*1000, cid, true) else doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.") end return TRUE end Agora em talkactions.xml adicione em Players: <talkaction words="!changename" event="script" value="changename.lua"/> -- Explicação do Script (Changename): local maxLen = 15 -- tamanho maximo do nome O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome. local itemid = 2145 ------ Numero do Item que será removido Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds. local proibido = {"!","@","*"} -- simbolos proibidos Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte: {"!","@","*","?"} adicionando dessa seguinte maneira: ,"?"} Ditto Script: Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo: (Este script serve para adicionar a caixa do Ditto no jogador). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione em Players: <talkaction words="!buyditto" event="script" value="ditto2.lua"/> A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte: (Este script serve para o id da caixa ser usado para conseguir o Ditto) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 15215) <= 100 then doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.") setPlayerStorageValue(cid, 15215, 1) local pox = getTownTemplePosition(1) local health = 325 local maxhealth = 325 local description = "Contains a Ditto." local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Ditto") doItemSetAttribute(item, "apelido", "Ditto") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.") doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.") doTeleportThing(cid, pox) doSendMagicEffect(pox, 21) doPlayerAddSoul(cid, 1) doPlayerRemoveItem(cid,1738,1) setPlayerStorageValue(cid, 54842, "Ditto, ") return TRUE else doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.") end end Agora em actions.xml adicione: <action itemid="1738" event="script" value="ditto_.lua"/> -- Explicação do Script (Ditto): PARTE DAS TALKACTIONS if doPlayerRemoveItem(cid,2145,10) == TRUE then O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto. doPlayerAddItem(cid,1738,1) O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml! PARTE DAS ACTIONS doSendMagicEffect(pox, 21) O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir. doPlayerAddSoul(cid, 1) Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira. doPlayerRemoveItem(cid,1738,1) Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem. Kit Script: Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele: (Este script serve para receber Revives, Ultra Balls e Hyper Potions). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,2) == TRUE then doPlayerAddItem(cid,2269,100) doPlayerAddItem(cid,2275,100) doPlayerAddItem(cid,2146,100) doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione: <talkaction words="!buykit" event="script" value="kit.lua"/> -- Explicação do Script (Kit): if doPlayerRemoveItem(cid,2145,2) == TRUE then O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit. doPlayerAddItem(cid,2269,100) O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls. doPlayerAddItem(cid,2275,100) O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives. doPlayerAddItem(cid,2146,100) O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions. Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base: function onSay(cid,words,param) if doPlayerRemoveMoney(cid,10000) == TRUE then doPlayerAddItem(cid,2173,1) doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"Mensagem quando n&#227;o possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1) end end


    if doPlayerRemoveMoney(cid,10000) == TRUE then
    Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:

    doPlayerRemoveItem(cid,1738,1)
    ficando assim:
    doPlayerRemoveItem(cid,1738,1) = TRUE then
    O id do shield você modifica no 1738 e a quantidade no número 1.


    doPlayerAddItem(cid,2173,1)
    Esas função adiciona o item e a quantidade no jogador, exemplo:
    2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.

    O que você pode adicionar em um script?
    Efeitos, para adicionar um efeito basta colocar essa função:

    doSendMagicEffect(getThingPos(cid), 132)
    O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:
    /z 1, /z 2, /z 3 até o seu limite.


    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
    Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!
  3. Gostei
    Doughell recebeu reputação de Alecrim em Perfect VIP System 2.0   
    Literamente perfect VIP System, haha!
    Reputado.

    @Gabriel10101
    A respeito da sua dúvida, você procedeu dessa seguinte maneira na hora de adicionar os novos outfits:

    <outfit id="24" premium="yes">

    <list gender="0" lookType="366" name="Wayfarer"/>
    <list gender="1" lookType="367" name="Wayfarer"/>
    </outfit>

    <outfit id="25" premium="yes">
    <list gender="0-3" lookType="159" name="Elf"/>
    </outfit>

    <outfit id="26" premium="yes">
    <list gender="0-3" lookType="160" name="Dwarf"/>
    </outfit>

    <outfit id="27" premium="yes">
    <list gender="0-3" lookType="226" name="Frog"/>
    </outfit>

    <outfit id="28" premium="yes">
    <list gender="0-3" lookType="194" name="Cult"/>
    </outfit>

    Por acaso você ao adicionar as novas outfits, colocou os <outfid id="?"> sucessivamente, por exemplo:
    24, 25, 26...
    A respeito da sua pergunta se tem limites de outfits, não há limites.

    Não sei se essa era sua dúvida, mais caso não for mande me PM especificando melhor!
  4. Gostei
    Doughell recebeu reputação de frank007 em Listão de NPCs, Monsters & Raids   
    Listão de NPCs, Monsters & Raids





    Nome do Tópico: NPC Mount


    Autor: Trypox
    Link do Tópico: http://tibiaking.com/forum/topic/7814-npc-mount/
    Comentário:





    Nome do Tópico: Outfit Maker


    Autor: ThalesMesquita
    Link do Tópico: http://tibiaking.com/forum/topic/7731-outfit-maker/
    Comentário:






    Nome do Tópico: NPC BLESS


    Autor: DevilMoon
    Link do Tópico: http://tibiaking.com/forum/topic/7675-npc-bless/
    Comentário:






    Nome do Tópico: [NPC] Mission


    Autor: Dudu Ruller
    Link do Tópico: http://tibiaking.com/forum/topic/7582-npc-mission/
    Comentário:






    Nome do Tópico: Pet system


    Autor: Fox B.
    Link do Tópico: http://tibiaking.com/forum/topic/4339-pet-system-by-delyria/
    Comentário:






    Nome do Tópico: Aprendar a criar e postar um NPC no seu Map


    Autor: JhonatanCWest
    Link do Tópico: http://tibiaking.com/forum/topic/2414-aprenda-a-criar-e-postar-um-npc-no-seu-map/
    Comentário:






    Nome do Tópico: [NPC] Mate o monstro e complete sua tarefa


    Autor: thalia
    Link do Tópico: http://tibiaking.com/forum/topic/2094-npc-mate-o-monstro-e-complete-sua-tarefa/
    Comentário:






    Nome do Tópico: [NPC] Apostador de Vegas


    Autor: thalia
    Link do Tópico: http://tibiaking.com/forum/topic/2066-npc-apostador-de-vegas/
    Comentário:







    OBSERVAÇÃO: Como há muitos tópicos apenas os das primeiras páginas serão adicionados, os que não forem atualizados ou os autores de seus tópicos abandonar o tópico, será excluido dando chance a outro tópico.





    A ultima atualização ocorreu:


    18/10/2011 ás 22:15


    Você não está com seu tópico em nossa lista?


    Comentem em nosso tópico que atualizaremos no ato!

  5. Gostei
    Doughell recebeu reputação de Jonathan alcino em Anuncio de entrada e saída   
    Olá a todos!
    Estou aqui para mostrar uma script (creaturescript) aonde tem de função: mandar um broadcast (mensagem) para o servidor avisando que o tal player entrou ou saiu do servidor.

    As duas actions são iguais, as modificações são apenas as funções:
    function onLogout(cid)
    e
    function onLogin(cid)
    Bom, vamos chegar de inrolação e vamos direto ao script!







    Login
    Crie um arquivo em otserv/creaturescript/scripts com o nome de login.lua e adicione isso em seu arquivo:
    (Este script serve para anunciar que o tal player entrou no servidor).


    function onLogin(cid) doBroadcastMessage(getPlayerName(cid) .. "[" .. getPlayerLevel(cid) .. "]: acabou de entrar no servidor", MESSAGE_STATUS_CONSOLE_BLUE) return TRUE end Agora em creaturescripts.xml adicione: <event type="login" name="PlayerLogin" event="script" value="script/login.lua"/> -- Explicação do Script (login): [" .. getPlayerLevel(cid) .. "] Essa função falará o level do jogador que entrou no servidor. (getPlayerName(cid) .. " Essa função falará o nome do jogador que entrou no servidor. "acabou de entrar no servidor" Esta frase pode ser modificada do seu gosto. , MESSAGE_STATUS_CONSOLE_BLUE) Esta função serve para que a mensagem apareça no default com a cor azul. Logout Crie um arquivo em otserv/creaturescript/scripts com o nome de logout.lua e adicione isso em seu arquivo: (Este script serve para anunciar que o tal player saiu do servidor). function onLogout(cid) doBroadcastMessage(getPlayerName(cid) .. " [" .. getPlayerLevel(cid) .. "]: acabou de sair do servidor", MESSAGE_STATUS_CONSOLE_ORANGE) return TRUE end Agora em creaturescripts.xml adicione: <event type="logout" name="PlayerLogout" event="script" value="script/logout.lua"/>

    -- Explicação do Script (logout):

    Não há o que explicar, todas funções são iguais no script login (que está logo acima), o que você pode modificar e a mensagem do "acabou de sair do servidor" e a função "MESSAGE_STATUS_CONSOLE_ORANGE)" que funciona para que a mensagem apareca no default com a cor laranja, dai vocês modificam ao gosto de vocês.



    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
  6. Gostei
    Doughell recebeu reputação de henriquesafadao em [TalkAction] Scripts para PokeTIBIA   
    Olá a todos!
    Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.
    Não é nada mais do quem um SHOP in-game.

    Como assim?
    Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.
    Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.
    Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.
    Chega de enrolação e vamos direto ao script.







    Changename Script:
    Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.
    (Este script serve para modificar o nome do jogador pelo jogo).


    -- Creditos a Doughell function onSay(cid, words, param) local maxLen = 15 -- tamanho maximo do nome local itemid = 2145 ------ Numero do Item que ser&#225; removido local proibido = [{"!","@","*"}-- simbolos proibidos for i = 1, #proibido do if string.find(tostring(param), proibido[i]) then doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.") return TRUE end end if tostring(param) == "" then -- checkar se n&#227;o &#233; nome vazio doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.") return TRUE end if string.len(tostring(param)) > maxLen then doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.") return TRUE end if not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.") return TRUE end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerRemoveItem(cid, itemid, 5) db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.") addEvent(doRemoveCreature, 5*1000, cid, true) else doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.") end return TRUE end Agora em talkactions.xml adicione em Players: <talkaction words="!changename" event="script" value="changename.lua"/> -- Explicação do Script (Changename): local maxLen = 15 -- tamanho maximo do nome O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome. local itemid = 2145 ------ Numero do Item que será removido Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds. local proibido = {"!","@","*"} -- simbolos proibidos Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte: {"!","@","*","?"} adicionando dessa seguinte maneira: ,"?"} Ditto Script: Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo: (Este script serve para adicionar a caixa do Ditto no jogador). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione em Players: <talkaction words="!buyditto" event="script" value="ditto2.lua"/> A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte: (Este script serve para o id da caixa ser usado para conseguir o Ditto) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 15215) <= 100 then doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.") setPlayerStorageValue(cid, 15215, 1) local pox = getTownTemplePosition(1) local health = 325 local maxhealth = 325 local description = "Contains a Ditto." local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Ditto") doItemSetAttribute(item, "apelido", "Ditto") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.") doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.") doTeleportThing(cid, pox) doSendMagicEffect(pox, 21) doPlayerAddSoul(cid, 1) doPlayerRemoveItem(cid,1738,1) setPlayerStorageValue(cid, 54842, "Ditto, ") return TRUE else doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.") end end Agora em actions.xml adicione: <action itemid="1738" event="script" value="ditto_.lua"/> -- Explicação do Script (Ditto): PARTE DAS TALKACTIONS if doPlayerRemoveItem(cid,2145,10) == TRUE then O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto. doPlayerAddItem(cid,1738,1) O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml! PARTE DAS ACTIONS doSendMagicEffect(pox, 21) O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir. doPlayerAddSoul(cid, 1) Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira. doPlayerRemoveItem(cid,1738,1) Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem. Kit Script: Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele: (Este script serve para receber Revives, Ultra Balls e Hyper Potions). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,2) == TRUE then doPlayerAddItem(cid,2269,100) doPlayerAddItem(cid,2275,100) doPlayerAddItem(cid,2146,100) doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione: <talkaction words="!buykit" event="script" value="kit.lua"/> -- Explicação do Script (Kit): if doPlayerRemoveItem(cid,2145,2) == TRUE then O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit. doPlayerAddItem(cid,2269,100) O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls. doPlayerAddItem(cid,2275,100) O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives. doPlayerAddItem(cid,2146,100) O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions. Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base: function onSay(cid,words,param) if doPlayerRemoveMoney(cid,10000) == TRUE then doPlayerAddItem(cid,2173,1) doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"Mensagem quando n&#227;o possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1) end end


    if doPlayerRemoveMoney(cid,10000) == TRUE then
    Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:

    doPlayerRemoveItem(cid,1738,1)
    ficando assim:
    doPlayerRemoveItem(cid,1738,1) = TRUE then
    O id do shield você modifica no 1738 e a quantidade no número 1.


    doPlayerAddItem(cid,2173,1)
    Esas função adiciona o item e a quantidade no jogador, exemplo:
    2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.

    O que você pode adicionar em um script?
    Efeitos, para adicionar um efeito basta colocar essa função:

    doSendMagicEffect(getThingPos(cid), 132)
    O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:
    /z 1, /z 2, /z 3 até o seu limite.


    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
    Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!
  7. Gostei
    Doughell recebeu reputação de salatiel em [TalkAction] Scripts para PokeTIBIA   
    Olá a todos!
    Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.
    Não é nada mais do quem um SHOP in-game.

    Como assim?
    Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.
    Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.
    Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.
    Chega de enrolação e vamos direto ao script.







    Changename Script:
    Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.
    (Este script serve para modificar o nome do jogador pelo jogo).


    -- Creditos a Doughell function onSay(cid, words, param) local maxLen = 15 -- tamanho maximo do nome local itemid = 2145 ------ Numero do Item que ser&#225; removido local proibido = [{"!","@","*"}-- simbolos proibidos for i = 1, #proibido do if string.find(tostring(param), proibido[i]) then doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.") return TRUE end end if tostring(param) == "" then -- checkar se n&#227;o &#233; nome vazio doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.") return TRUE end if string.len(tostring(param)) > maxLen then doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.") return TRUE end if not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.") return TRUE end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerRemoveItem(cid, itemid, 5) db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.") addEvent(doRemoveCreature, 5*1000, cid, true) else doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.") end return TRUE end Agora em talkactions.xml adicione em Players: <talkaction words="!changename" event="script" value="changename.lua"/> -- Explicação do Script (Changename): local maxLen = 15 -- tamanho maximo do nome O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome. local itemid = 2145 ------ Numero do Item que será removido Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds. local proibido = {"!","@","*"} -- simbolos proibidos Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte: {"!","@","*","?"} adicionando dessa seguinte maneira: ,"?"} Ditto Script: Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo: (Este script serve para adicionar a caixa do Ditto no jogador). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione em Players: <talkaction words="!buyditto" event="script" value="ditto2.lua"/> A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte: (Este script serve para o id da caixa ser usado para conseguir o Ditto) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 15215) <= 100 then doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.") setPlayerStorageValue(cid, 15215, 1) local pox = getTownTemplePosition(1) local health = 325 local maxhealth = 325 local description = "Contains a Ditto." local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Ditto") doItemSetAttribute(item, "apelido", "Ditto") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.") doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.") doTeleportThing(cid, pox) doSendMagicEffect(pox, 21) doPlayerAddSoul(cid, 1) doPlayerRemoveItem(cid,1738,1) setPlayerStorageValue(cid, 54842, "Ditto, ") return TRUE else doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.") end end Agora em actions.xml adicione: <action itemid="1738" event="script" value="ditto_.lua"/> -- Explicação do Script (Ditto): PARTE DAS TALKACTIONS if doPlayerRemoveItem(cid,2145,10) == TRUE then O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto. doPlayerAddItem(cid,1738,1) O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml! PARTE DAS ACTIONS doSendMagicEffect(pox, 21) O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir. doPlayerAddSoul(cid, 1) Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira. doPlayerRemoveItem(cid,1738,1) Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem. Kit Script: Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele: (Este script serve para receber Revives, Ultra Balls e Hyper Potions). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,2) == TRUE then doPlayerAddItem(cid,2269,100) doPlayerAddItem(cid,2275,100) doPlayerAddItem(cid,2146,100) doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione: <talkaction words="!buykit" event="script" value="kit.lua"/> -- Explicação do Script (Kit): if doPlayerRemoveItem(cid,2145,2) == TRUE then O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit. doPlayerAddItem(cid,2269,100) O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls. doPlayerAddItem(cid,2275,100) O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives. doPlayerAddItem(cid,2146,100) O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions. Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base: function onSay(cid,words,param) if doPlayerRemoveMoney(cid,10000) == TRUE then doPlayerAddItem(cid,2173,1) doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"Mensagem quando n&#227;o possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1) end end


    if doPlayerRemoveMoney(cid,10000) == TRUE then
    Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:

    doPlayerRemoveItem(cid,1738,1)
    ficando assim:
    doPlayerRemoveItem(cid,1738,1) = TRUE then
    O id do shield você modifica no 1738 e a quantidade no número 1.


    doPlayerAddItem(cid,2173,1)
    Esas função adiciona o item e a quantidade no jogador, exemplo:
    2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.

    O que você pode adicionar em um script?
    Efeitos, para adicionar um efeito basta colocar essa função:

    doSendMagicEffect(getThingPos(cid), 132)
    O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:
    /z 1, /z 2, /z 3 até o seu limite.


    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
    Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!
  8. Gostei
    Doughell recebeu reputação de Linkz em [TalkAction] Scripts para PokeTIBIA   
    Olá a todos!
    Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.
    Não é nada mais do quem um SHOP in-game.

    Como assim?
    Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.
    Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.
    Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.
    Chega de enrolação e vamos direto ao script.







    Changename Script:
    Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.
    (Este script serve para modificar o nome do jogador pelo jogo).


    -- Creditos a Doughell function onSay(cid, words, param) local maxLen = 15 -- tamanho maximo do nome local itemid = 2145 ------ Numero do Item que ser&#225; removido local proibido = [{"!","@","*"}-- simbolos proibidos for i = 1, #proibido do if string.find(tostring(param), proibido[i]) then doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.") return TRUE end end if tostring(param) == "" then -- checkar se n&#227;o &#233; nome vazio doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.") return TRUE end if string.len(tostring(param)) > maxLen then doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.") return TRUE end if not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.") return TRUE end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerRemoveItem(cid, itemid, 5) db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.") addEvent(doRemoveCreature, 5*1000, cid, true) else doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.") end return TRUE end Agora em talkactions.xml adicione em Players: <talkaction words="!changename" event="script" value="changename.lua"/> -- Explicação do Script (Changename): local maxLen = 15 -- tamanho maximo do nome O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome. local itemid = 2145 ------ Numero do Item que será removido Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds. local proibido = {"!","@","*"} -- simbolos proibidos Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte: {"!","@","*","?"} adicionando dessa seguinte maneira: ,"?"} Ditto Script: Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo: (Este script serve para adicionar a caixa do Ditto no jogador). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione em Players: <talkaction words="!buyditto" event="script" value="ditto2.lua"/> A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte: (Este script serve para o id da caixa ser usado para conseguir o Ditto) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 15215) <= 100 then doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.") setPlayerStorageValue(cid, 15215, 1) local pox = getTownTemplePosition(1) local health = 325 local maxhealth = 325 local description = "Contains a Ditto." local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Ditto") doItemSetAttribute(item, "apelido", "Ditto") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.") doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.") doTeleportThing(cid, pox) doSendMagicEffect(pox, 21) doPlayerAddSoul(cid, 1) doPlayerRemoveItem(cid,1738,1) setPlayerStorageValue(cid, 54842, "Ditto, ") return TRUE else doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.") end end Agora em actions.xml adicione: <action itemid="1738" event="script" value="ditto_.lua"/> -- Explicação do Script (Ditto): PARTE DAS TALKACTIONS if doPlayerRemoveItem(cid,2145,10) == TRUE then O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto. doPlayerAddItem(cid,1738,1) O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml! PARTE DAS ACTIONS doSendMagicEffect(pox, 21) O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir. doPlayerAddSoul(cid, 1) Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira. doPlayerRemoveItem(cid,1738,1) Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem. Kit Script: Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele: (Este script serve para receber Revives, Ultra Balls e Hyper Potions). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,2) == TRUE then doPlayerAddItem(cid,2269,100) doPlayerAddItem(cid,2275,100) doPlayerAddItem(cid,2146,100) doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione: <talkaction words="!buykit" event="script" value="kit.lua"/> -- Explicação do Script (Kit): if doPlayerRemoveItem(cid,2145,2) == TRUE then O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit. doPlayerAddItem(cid,2269,100) O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls. doPlayerAddItem(cid,2275,100) O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives. doPlayerAddItem(cid,2146,100) O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions. Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base: function onSay(cid,words,param) if doPlayerRemoveMoney(cid,10000) == TRUE then doPlayerAddItem(cid,2173,1) doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"Mensagem quando n&#227;o possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1) end end


    if doPlayerRemoveMoney(cid,10000) == TRUE then
    Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:

    doPlayerRemoveItem(cid,1738,1)
    ficando assim:
    doPlayerRemoveItem(cid,1738,1) = TRUE then
    O id do shield você modifica no 1738 e a quantidade no número 1.


    doPlayerAddItem(cid,2173,1)
    Esas função adiciona o item e a quantidade no jogador, exemplo:
    2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.

    O que você pode adicionar em um script?
    Efeitos, para adicionar um efeito basta colocar essa função:

    doSendMagicEffect(getThingPos(cid), 132)
    O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:
    /z 1, /z 2, /z 3 até o seu limite.


    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
    Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!
  9. Gostei
    Doughell recebeu reputação de SWAT O MITO em [War System] Guild War com escudos! (Completo)   
    Este script de fato é muito pesquisado pela inovação de guild x guild e tals, muito bom a contribuição.

    -
    Gostei do final, sobre os preguiçosos, pra baixarem completo.
  10. Gostei
    Doughell recebeu reputação de Luucaszzz em [TalkAction] Scripts para PokeTIBIA   
    Olá a todos!
    Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.
    Não é nada mais do quem um SHOP in-game.

    Como assim?
    Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.
    Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.
    Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.
    Chega de enrolação e vamos direto ao script.







    Changename Script:
    Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.
    (Este script serve para modificar o nome do jogador pelo jogo).


    -- Creditos a Doughell function onSay(cid, words, param) local maxLen = 15 -- tamanho maximo do nome local itemid = 2145 ------ Numero do Item que ser&#225; removido local proibido = [{"!","@","*"}-- simbolos proibidos for i = 1, #proibido do if string.find(tostring(param), proibido[i]) then doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.") return TRUE end end if tostring(param) == "" then -- checkar se n&#227;o &#233; nome vazio doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.") return TRUE end if string.len(tostring(param)) > maxLen then doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.") return TRUE end if not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.") return TRUE end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerRemoveItem(cid, itemid, 5) db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.") addEvent(doRemoveCreature, 5*1000, cid, true) else doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.") end return TRUE end Agora em talkactions.xml adicione em Players: <talkaction words="!changename" event="script" value="changename.lua"/> -- Explicação do Script (Changename): local maxLen = 15 -- tamanho maximo do nome O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome. local itemid = 2145 ------ Numero do Item que será removido Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds. local proibido = {"!","@","*"} -- simbolos proibidos Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte: {"!","@","*","?"} adicionando dessa seguinte maneira: ,"?"} Ditto Script: Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo: (Este script serve para adicionar a caixa do Ditto no jogador). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione em Players: <talkaction words="!buyditto" event="script" value="ditto2.lua"/> A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte: (Este script serve para o id da caixa ser usado para conseguir o Ditto) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 15215) <= 100 then doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.") setPlayerStorageValue(cid, 15215, 1) local pox = getTownTemplePosition(1) local health = 325 local maxhealth = 325 local description = "Contains a Ditto." local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Ditto") doItemSetAttribute(item, "apelido", "Ditto") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.") doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.") doTeleportThing(cid, pox) doSendMagicEffect(pox, 21) doPlayerAddSoul(cid, 1) doPlayerRemoveItem(cid,1738,1) setPlayerStorageValue(cid, 54842, "Ditto, ") return TRUE else doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.") end end Agora em actions.xml adicione: <action itemid="1738" event="script" value="ditto_.lua"/> -- Explicação do Script (Ditto): PARTE DAS TALKACTIONS if doPlayerRemoveItem(cid,2145,10) == TRUE then O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto. doPlayerAddItem(cid,1738,1) O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml! PARTE DAS ACTIONS doSendMagicEffect(pox, 21) O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir. doPlayerAddSoul(cid, 1) Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira. doPlayerRemoveItem(cid,1738,1) Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem. Kit Script: Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele: (Este script serve para receber Revives, Ultra Balls e Hyper Potions). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,2) == TRUE then doPlayerAddItem(cid,2269,100) doPlayerAddItem(cid,2275,100) doPlayerAddItem(cid,2146,100) doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione: <talkaction words="!buykit" event="script" value="kit.lua"/> -- Explicação do Script (Kit): if doPlayerRemoveItem(cid,2145,2) == TRUE then O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit. doPlayerAddItem(cid,2269,100) O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls. doPlayerAddItem(cid,2275,100) O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives. doPlayerAddItem(cid,2146,100) O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions. Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base: function onSay(cid,words,param) if doPlayerRemoveMoney(cid,10000) == TRUE then doPlayerAddItem(cid,2173,1) doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"Mensagem quando n&#227;o possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1) end end


    if doPlayerRemoveMoney(cid,10000) == TRUE then
    Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:

    doPlayerRemoveItem(cid,1738,1)
    ficando assim:
    doPlayerRemoveItem(cid,1738,1) = TRUE then
    O id do shield você modifica no 1738 e a quantidade no número 1.


    doPlayerAddItem(cid,2173,1)
    Esas função adiciona o item e a quantidade no jogador, exemplo:
    2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.

    O que você pode adicionar em um script?
    Efeitos, para adicionar um efeito basta colocar essa função:

    doSendMagicEffect(getThingPos(cid), 132)
    O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:
    /z 1, /z 2, /z 3 até o seu limite.


    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
    Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!
  11. Gostei
    Doughell recebeu reputação de Mauro Sérgio em [TalkAction] Scripts para PokeTIBIA   
    Olá a todos!
    Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.
    Não é nada mais do quem um SHOP in-game.

    Como assim?
    Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.
    Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.
    Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.
    Chega de enrolação e vamos direto ao script.







    Changename Script:
    Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.
    (Este script serve para modificar o nome do jogador pelo jogo).


    -- Creditos a Doughell function onSay(cid, words, param) local maxLen = 15 -- tamanho maximo do nome local itemid = 2145 ------ Numero do Item que ser&#225; removido local proibido = [{"!","@","*"}-- simbolos proibidos for i = 1, #proibido do if string.find(tostring(param), proibido[i]) then doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.") return TRUE end end if tostring(param) == "" then -- checkar se n&#227;o &#233; nome vazio doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.") return TRUE end if string.len(tostring(param)) > maxLen then doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.") return TRUE end if not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.") return TRUE end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerRemoveItem(cid, itemid, 5) db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.") addEvent(doRemoveCreature, 5*1000, cid, true) else doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.") end return TRUE end Agora em talkactions.xml adicione em Players: <talkaction words="!changename" event="script" value="changename.lua"/> -- Explicação do Script (Changename): local maxLen = 15 -- tamanho maximo do nome O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome. local itemid = 2145 ------ Numero do Item que será removido Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds. local proibido = {"!","@","*"} -- simbolos proibidos Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte: {"!","@","*","?"} adicionando dessa seguinte maneira: ,"?"} Ditto Script: Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo: (Este script serve para adicionar a caixa do Ditto no jogador). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione em Players: <talkaction words="!buyditto" event="script" value="ditto2.lua"/> A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte: (Este script serve para o id da caixa ser usado para conseguir o Ditto) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 15215) <= 100 then doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.") setPlayerStorageValue(cid, 15215, 1) local pox = getTownTemplePosition(1) local health = 325 local maxhealth = 325 local description = "Contains a Ditto." local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Ditto") doItemSetAttribute(item, "apelido", "Ditto") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.") doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.") doTeleportThing(cid, pox) doSendMagicEffect(pox, 21) doPlayerAddSoul(cid, 1) doPlayerRemoveItem(cid,1738,1) setPlayerStorageValue(cid, 54842, "Ditto, ") return TRUE else doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.") end end Agora em actions.xml adicione: <action itemid="1738" event="script" value="ditto_.lua"/> -- Explicação do Script (Ditto): PARTE DAS TALKACTIONS if doPlayerRemoveItem(cid,2145,10) == TRUE then O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto. doPlayerAddItem(cid,1738,1) O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml! PARTE DAS ACTIONS doSendMagicEffect(pox, 21) O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir. doPlayerAddSoul(cid, 1) Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira. doPlayerRemoveItem(cid,1738,1) Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem. Kit Script: Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele: (Este script serve para receber Revives, Ultra Balls e Hyper Potions). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,2) == TRUE then doPlayerAddItem(cid,2269,100) doPlayerAddItem(cid,2275,100) doPlayerAddItem(cid,2146,100) doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione: <talkaction words="!buykit" event="script" value="kit.lua"/> -- Explicação do Script (Kit): if doPlayerRemoveItem(cid,2145,2) == TRUE then O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit. doPlayerAddItem(cid,2269,100) O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls. doPlayerAddItem(cid,2275,100) O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives. doPlayerAddItem(cid,2146,100) O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions. Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base: function onSay(cid,words,param) if doPlayerRemoveMoney(cid,10000) == TRUE then doPlayerAddItem(cid,2173,1) doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"Mensagem quando n&#227;o possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1) end end


    if doPlayerRemoveMoney(cid,10000) == TRUE then
    Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:

    doPlayerRemoveItem(cid,1738,1)
    ficando assim:
    doPlayerRemoveItem(cid,1738,1) = TRUE then
    O id do shield você modifica no 1738 e a quantidade no número 1.


    doPlayerAddItem(cid,2173,1)
    Esas função adiciona o item e a quantidade no jogador, exemplo:
    2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.

    O que você pode adicionar em um script?
    Efeitos, para adicionar um efeito basta colocar essa função:

    doSendMagicEffect(getThingPos(cid), 132)
    O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:
    /z 1, /z 2, /z 3 até o seu limite.


    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
    Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!
  12. Gostei
    Doughell recebeu reputação de Magalhaes92 em NPC Troca de Itens   
    Bem diferente o NPC, com uma otima função, parabéns.
    A ideia do Lpz também e muito boa, tipo ele poderia pedir uma "receita" de items para trocar por um diferente com tal elemento.
  13. Gostei
    Doughell recebeu reputação de G3 Yuri em Listão de NPCs, Monsters & Raids   
    Listão de NPCs, Monsters & Raids





    Nome do Tópico: NPC Mount


    Autor: Trypox
    Link do Tópico: http://tibiaking.com/forum/topic/7814-npc-mount/
    Comentário:





    Nome do Tópico: Outfit Maker


    Autor: ThalesMesquita
    Link do Tópico: http://tibiaking.com/forum/topic/7731-outfit-maker/
    Comentário:






    Nome do Tópico: NPC BLESS


    Autor: DevilMoon
    Link do Tópico: http://tibiaking.com/forum/topic/7675-npc-bless/
    Comentário:






    Nome do Tópico: [NPC] Mission


    Autor: Dudu Ruller
    Link do Tópico: http://tibiaking.com/forum/topic/7582-npc-mission/
    Comentário:






    Nome do Tópico: Pet system


    Autor: Fox B.
    Link do Tópico: http://tibiaking.com/forum/topic/4339-pet-system-by-delyria/
    Comentário:






    Nome do Tópico: Aprendar a criar e postar um NPC no seu Map


    Autor: JhonatanCWest
    Link do Tópico: http://tibiaking.com/forum/topic/2414-aprenda-a-criar-e-postar-um-npc-no-seu-map/
    Comentário:






    Nome do Tópico: [NPC] Mate o monstro e complete sua tarefa


    Autor: thalia
    Link do Tópico: http://tibiaking.com/forum/topic/2094-npc-mate-o-monstro-e-complete-sua-tarefa/
    Comentário:






    Nome do Tópico: [NPC] Apostador de Vegas


    Autor: thalia
    Link do Tópico: http://tibiaking.com/forum/topic/2066-npc-apostador-de-vegas/
    Comentário:







    OBSERVAÇÃO: Como há muitos tópicos apenas os das primeiras páginas serão adicionados, os que não forem atualizados ou os autores de seus tópicos abandonar o tópico, será excluido dando chance a outro tópico.





    A ultima atualização ocorreu:


    18/10/2011 ás 22:15


    Você não está com seu tópico em nossa lista?


    Comentem em nosso tópico que atualizaremos no ato!

  14. Gostei
    Doughell recebeu reputação de zLockey9 em [TalkAction] Scripts para PokeTIBIA   
    Olá a todos!
    Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.
    Não é nada mais do quem um SHOP in-game.

    Como assim?
    Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.
    Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.
    Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.
    Chega de enrolação e vamos direto ao script.







    Changename Script:
    Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.
    (Este script serve para modificar o nome do jogador pelo jogo).


    -- Creditos a Doughell function onSay(cid, words, param) local maxLen = 15 -- tamanho maximo do nome local itemid = 2145 ------ Numero do Item que ser&#225; removido local proibido = [{"!","@","*"}-- simbolos proibidos for i = 1, #proibido do if string.find(tostring(param), proibido[i]) then doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.") return TRUE end end if tostring(param) == "" then -- checkar se n&#227;o &#233; nome vazio doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.") return TRUE end if string.len(tostring(param)) > maxLen then doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.") return TRUE end if not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.") return TRUE end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerRemoveItem(cid, itemid, 5) db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.") addEvent(doRemoveCreature, 5*1000, cid, true) else doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.") end return TRUE end Agora em talkactions.xml adicione em Players: <talkaction words="!changename" event="script" value="changename.lua"/> -- Explicação do Script (Changename): local maxLen = 15 -- tamanho maximo do nome O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome. local itemid = 2145 ------ Numero do Item que será removido Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds. local proibido = {"!","@","*"} -- simbolos proibidos Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte: {"!","@","*","?"} adicionando dessa seguinte maneira: ,"?"} Ditto Script: Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo: (Este script serve para adicionar a caixa do Ditto no jogador). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione em Players: <talkaction words="!buyditto" event="script" value="ditto2.lua"/> A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte: (Este script serve para o id da caixa ser usado para conseguir o Ditto) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 15215) <= 100 then doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.") setPlayerStorageValue(cid, 15215, 1) local pox = getTownTemplePosition(1) local health = 325 local maxhealth = 325 local description = "Contains a Ditto." local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Ditto") doItemSetAttribute(item, "apelido", "Ditto") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.") doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.") doTeleportThing(cid, pox) doSendMagicEffect(pox, 21) doPlayerAddSoul(cid, 1) doPlayerRemoveItem(cid,1738,1) setPlayerStorageValue(cid, 54842, "Ditto, ") return TRUE else doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.") end end Agora em actions.xml adicione: <action itemid="1738" event="script" value="ditto_.lua"/> -- Explicação do Script (Ditto): PARTE DAS TALKACTIONS if doPlayerRemoveItem(cid,2145,10) == TRUE then O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto. doPlayerAddItem(cid,1738,1) O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml! PARTE DAS ACTIONS doSendMagicEffect(pox, 21) O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir. doPlayerAddSoul(cid, 1) Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira. doPlayerRemoveItem(cid,1738,1) Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem. Kit Script: Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele: (Este script serve para receber Revives, Ultra Balls e Hyper Potions). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,2) == TRUE then doPlayerAddItem(cid,2269,100) doPlayerAddItem(cid,2275,100) doPlayerAddItem(cid,2146,100) doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione: <talkaction words="!buykit" event="script" value="kit.lua"/> -- Explicação do Script (Kit): if doPlayerRemoveItem(cid,2145,2) == TRUE then O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit. doPlayerAddItem(cid,2269,100) O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls. doPlayerAddItem(cid,2275,100) O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives. doPlayerAddItem(cid,2146,100) O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions. Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base: function onSay(cid,words,param) if doPlayerRemoveMoney(cid,10000) == TRUE then doPlayerAddItem(cid,2173,1) doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"Mensagem quando n&#227;o possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1) end end


    if doPlayerRemoveMoney(cid,10000) == TRUE then
    Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:

    doPlayerRemoveItem(cid,1738,1)
    ficando assim:
    doPlayerRemoveItem(cid,1738,1) = TRUE then
    O id do shield você modifica no 1738 e a quantidade no número 1.


    doPlayerAddItem(cid,2173,1)
    Esas função adiciona o item e a quantidade no jogador, exemplo:
    2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.

    O que você pode adicionar em um script?
    Efeitos, para adicionar um efeito basta colocar essa função:

    doSendMagicEffect(getThingPos(cid), 132)
    O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:
    /z 1, /z 2, /z 3 até o seu limite.


    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
    Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!
  15. Gostei
    Doughell recebeu reputação de Tava sem ideia em [TalkAction] Scripts para PokeTIBIA   
    Olá a todos!
    Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.
    Não é nada mais do quem um SHOP in-game.

    Como assim?
    Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.
    Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.
    Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.
    Chega de enrolação e vamos direto ao script.







    Changename Script:
    Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.
    (Este script serve para modificar o nome do jogador pelo jogo).


    -- Creditos a Doughell function onSay(cid, words, param) local maxLen = 15 -- tamanho maximo do nome local itemid = 2145 ------ Numero do Item que ser&#225; removido local proibido = [{"!","@","*"}-- simbolos proibidos for i = 1, #proibido do if string.find(tostring(param), proibido[i]) then doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.") return TRUE end end if tostring(param) == "" then -- checkar se n&#227;o &#233; nome vazio doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.") return TRUE end if string.len(tostring(param)) > maxLen then doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.") return TRUE end if not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.") return TRUE end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerRemoveItem(cid, itemid, 5) db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.") addEvent(doRemoveCreature, 5*1000, cid, true) else doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.") end return TRUE end Agora em talkactions.xml adicione em Players: <talkaction words="!changename" event="script" value="changename.lua"/> -- Explicação do Script (Changename): local maxLen = 15 -- tamanho maximo do nome O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome. local itemid = 2145 ------ Numero do Item que será removido Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds. local proibido = {"!","@","*"} -- simbolos proibidos Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte: {"!","@","*","?"} adicionando dessa seguinte maneira: ,"?"} Ditto Script: Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo: (Este script serve para adicionar a caixa do Ditto no jogador). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione em Players: <talkaction words="!buyditto" event="script" value="ditto2.lua"/> A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte: (Este script serve para o id da caixa ser usado para conseguir o Ditto) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 15215) <= 100 then doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.") setPlayerStorageValue(cid, 15215, 1) local pox = getTownTemplePosition(1) local health = 325 local maxhealth = 325 local description = "Contains a Ditto." local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Ditto") doItemSetAttribute(item, "apelido", "Ditto") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.") doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.") doTeleportThing(cid, pox) doSendMagicEffect(pox, 21) doPlayerAddSoul(cid, 1) doPlayerRemoveItem(cid,1738,1) setPlayerStorageValue(cid, 54842, "Ditto, ") return TRUE else doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.") end end Agora em actions.xml adicione: <action itemid="1738" event="script" value="ditto_.lua"/> -- Explicação do Script (Ditto): PARTE DAS TALKACTIONS if doPlayerRemoveItem(cid,2145,10) == TRUE then O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto. doPlayerAddItem(cid,1738,1) O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml! PARTE DAS ACTIONS doSendMagicEffect(pox, 21) O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir. doPlayerAddSoul(cid, 1) Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira. doPlayerRemoveItem(cid,1738,1) Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem. Kit Script: Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele: (Este script serve para receber Revives, Ultra Balls e Hyper Potions). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,2) == TRUE then doPlayerAddItem(cid,2269,100) doPlayerAddItem(cid,2275,100) doPlayerAddItem(cid,2146,100) doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione: <talkaction words="!buykit" event="script" value="kit.lua"/> -- Explicação do Script (Kit): if doPlayerRemoveItem(cid,2145,2) == TRUE then O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit. doPlayerAddItem(cid,2269,100) O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls. doPlayerAddItem(cid,2275,100) O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives. doPlayerAddItem(cid,2146,100) O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions. Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base: function onSay(cid,words,param) if doPlayerRemoveMoney(cid,10000) == TRUE then doPlayerAddItem(cid,2173,1) doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"Mensagem quando n&#227;o possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1) end end


    if doPlayerRemoveMoney(cid,10000) == TRUE then
    Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:

    doPlayerRemoveItem(cid,1738,1)
    ficando assim:
    doPlayerRemoveItem(cid,1738,1) = TRUE then
    O id do shield você modifica no 1738 e a quantidade no número 1.


    doPlayerAddItem(cid,2173,1)
    Esas função adiciona o item e a quantidade no jogador, exemplo:
    2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.

    O que você pode adicionar em um script?
    Efeitos, para adicionar um efeito basta colocar essa função:

    doSendMagicEffect(getThingPos(cid), 132)
    O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:
    /z 1, /z 2, /z 3 até o seu limite.


    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
    Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!
  16. Gostei
    Doughell recebeu reputação de dinegro em Perfect VIP System 2.0   
    Literamente perfect VIP System, haha!
    Reputado.

    @Gabriel10101
    A respeito da sua dúvida, você procedeu dessa seguinte maneira na hora de adicionar os novos outfits:

    <outfit id="24" premium="yes">

    <list gender="0" lookType="366" name="Wayfarer"/>
    <list gender="1" lookType="367" name="Wayfarer"/>
    </outfit>

    <outfit id="25" premium="yes">
    <list gender="0-3" lookType="159" name="Elf"/>
    </outfit>

    <outfit id="26" premium="yes">
    <list gender="0-3" lookType="160" name="Dwarf"/>
    </outfit>

    <outfit id="27" premium="yes">
    <list gender="0-3" lookType="226" name="Frog"/>
    </outfit>

    <outfit id="28" premium="yes">
    <list gender="0-3" lookType="194" name="Cult"/>
    </outfit>

    Por acaso você ao adicionar as novas outfits, colocou os <outfid id="?"> sucessivamente, por exemplo:
    24, 25, 26...
    A respeito da sua pergunta se tem limites de outfits, não há limites.

    Não sei se essa era sua dúvida, mais caso não for mande me PM especificando melhor!
  17. Gostei
    Doughell recebeu reputação de Bluester em [TalkAction] Scripts para PokeTIBIA   
    Olá a todos!
    Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.
    Não é nada mais do quem um SHOP in-game.

    Como assim?
    Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.
    Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.
    Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.
    Chega de enrolação e vamos direto ao script.







    Changename Script:
    Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.
    (Este script serve para modificar o nome do jogador pelo jogo).


    -- Creditos a Doughell function onSay(cid, words, param) local maxLen = 15 -- tamanho maximo do nome local itemid = 2145 ------ Numero do Item que ser&#225; removido local proibido = [{"!","@","*"}-- simbolos proibidos for i = 1, #proibido do if string.find(tostring(param), proibido[i]) then doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.") return TRUE end end if tostring(param) == "" then -- checkar se n&#227;o &#233; nome vazio doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.") return TRUE end if string.len(tostring(param)) > maxLen then doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.") return TRUE end if not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.") return TRUE end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerRemoveItem(cid, itemid, 5) db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.") addEvent(doRemoveCreature, 5*1000, cid, true) else doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.") end return TRUE end Agora em talkactions.xml adicione em Players: <talkaction words="!changename" event="script" value="changename.lua"/> -- Explicação do Script (Changename): local maxLen = 15 -- tamanho maximo do nome O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome. local itemid = 2145 ------ Numero do Item que será removido Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds. local proibido = {"!","@","*"} -- simbolos proibidos Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte: {"!","@","*","?"} adicionando dessa seguinte maneira: ,"?"} Ditto Script: Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo: (Este script serve para adicionar a caixa do Ditto no jogador). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione em Players: <talkaction words="!buyditto" event="script" value="ditto2.lua"/> A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte: (Este script serve para o id da caixa ser usado para conseguir o Ditto) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 15215) <= 100 then doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.") setPlayerStorageValue(cid, 15215, 1) local pox = getTownTemplePosition(1) local health = 325 local maxhealth = 325 local description = "Contains a Ditto." local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Ditto") doItemSetAttribute(item, "apelido", "Ditto") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.") doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.") doTeleportThing(cid, pox) doSendMagicEffect(pox, 21) doPlayerAddSoul(cid, 1) doPlayerRemoveItem(cid,1738,1) setPlayerStorageValue(cid, 54842, "Ditto, ") return TRUE else doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.") end end Agora em actions.xml adicione: <action itemid="1738" event="script" value="ditto_.lua"/> -- Explicação do Script (Ditto): PARTE DAS TALKACTIONS if doPlayerRemoveItem(cid,2145,10) == TRUE then O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto. doPlayerAddItem(cid,1738,1) O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml! PARTE DAS ACTIONS doSendMagicEffect(pox, 21) O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir. doPlayerAddSoul(cid, 1) Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira. doPlayerRemoveItem(cid,1738,1) Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem. Kit Script: Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele: (Este script serve para receber Revives, Ultra Balls e Hyper Potions). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,2) == TRUE then doPlayerAddItem(cid,2269,100) doPlayerAddItem(cid,2275,100) doPlayerAddItem(cid,2146,100) doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione: <talkaction words="!buykit" event="script" value="kit.lua"/> -- Explicação do Script (Kit): if doPlayerRemoveItem(cid,2145,2) == TRUE then O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit. doPlayerAddItem(cid,2269,100) O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls. doPlayerAddItem(cid,2275,100) O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives. doPlayerAddItem(cid,2146,100) O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions. Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base: function onSay(cid,words,param) if doPlayerRemoveMoney(cid,10000) == TRUE then doPlayerAddItem(cid,2173,1) doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"Mensagem quando n&#227;o possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1) end end


    if doPlayerRemoveMoney(cid,10000) == TRUE then
    Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:

    doPlayerRemoveItem(cid,1738,1)
    ficando assim:
    doPlayerRemoveItem(cid,1738,1) = TRUE then
    O id do shield você modifica no 1738 e a quantidade no número 1.


    doPlayerAddItem(cid,2173,1)
    Esas função adiciona o item e a quantidade no jogador, exemplo:
    2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.

    O que você pode adicionar em um script?
    Efeitos, para adicionar um efeito basta colocar essa função:

    doSendMagicEffect(getThingPos(cid), 132)
    O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:
    /z 1, /z 2, /z 3 até o seu limite.


    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
    Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!
  18. Gostei
    Doughell recebeu reputação de everson oliveira em [TalkAction] Scripts para PokeTIBIA   
    Olá a todos!
    Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.
    Não é nada mais do quem um SHOP in-game.

    Como assim?
    Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.
    Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.
    Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.
    Chega de enrolação e vamos direto ao script.







    Changename Script:
    Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.
    (Este script serve para modificar o nome do jogador pelo jogo).


    -- Creditos a Doughell function onSay(cid, words, param) local maxLen = 15 -- tamanho maximo do nome local itemid = 2145 ------ Numero do Item que ser&#225; removido local proibido = [{"!","@","*"}-- simbolos proibidos for i = 1, #proibido do if string.find(tostring(param), proibido[i]) then doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.") return TRUE end end if tostring(param) == "" then -- checkar se n&#227;o &#233; nome vazio doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.") return TRUE end if string.len(tostring(param)) > maxLen then doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.") return TRUE end if not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.") return TRUE end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerRemoveItem(cid, itemid, 5) db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.") addEvent(doRemoveCreature, 5*1000, cid, true) else doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.") end return TRUE end Agora em talkactions.xml adicione em Players: <talkaction words="!changename" event="script" value="changename.lua"/> -- Explicação do Script (Changename): local maxLen = 15 -- tamanho maximo do nome O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome. local itemid = 2145 ------ Numero do Item que será removido Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds. local proibido = {"!","@","*"} -- simbolos proibidos Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte: {"!","@","*","?"} adicionando dessa seguinte maneira: ,"?"} Ditto Script: Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo: (Este script serve para adicionar a caixa do Ditto no jogador). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione em Players: <talkaction words="!buyditto" event="script" value="ditto2.lua"/> A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte: (Este script serve para o id da caixa ser usado para conseguir o Ditto) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 15215) <= 100 then doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.") setPlayerStorageValue(cid, 15215, 1) local pox = getTownTemplePosition(1) local health = 325 local maxhealth = 325 local description = "Contains a Ditto." local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Ditto") doItemSetAttribute(item, "apelido", "Ditto") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.") doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.") doTeleportThing(cid, pox) doSendMagicEffect(pox, 21) doPlayerAddSoul(cid, 1) doPlayerRemoveItem(cid,1738,1) setPlayerStorageValue(cid, 54842, "Ditto, ") return TRUE else doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.") end end Agora em actions.xml adicione: <action itemid="1738" event="script" value="ditto_.lua"/> -- Explicação do Script (Ditto): PARTE DAS TALKACTIONS if doPlayerRemoveItem(cid,2145,10) == TRUE then O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto. doPlayerAddItem(cid,1738,1) O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml! PARTE DAS ACTIONS doSendMagicEffect(pox, 21) O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir. doPlayerAddSoul(cid, 1) Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira. doPlayerRemoveItem(cid,1738,1) Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem. Kit Script: Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele: (Este script serve para receber Revives, Ultra Balls e Hyper Potions). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,2) == TRUE then doPlayerAddItem(cid,2269,100) doPlayerAddItem(cid,2275,100) doPlayerAddItem(cid,2146,100) doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione: <talkaction words="!buykit" event="script" value="kit.lua"/> -- Explicação do Script (Kit): if doPlayerRemoveItem(cid,2145,2) == TRUE then O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit. doPlayerAddItem(cid,2269,100) O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls. doPlayerAddItem(cid,2275,100) O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives. doPlayerAddItem(cid,2146,100) O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions. Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base: function onSay(cid,words,param) if doPlayerRemoveMoney(cid,10000) == TRUE then doPlayerAddItem(cid,2173,1) doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"Mensagem quando n&#227;o possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1) end end


    if doPlayerRemoveMoney(cid,10000) == TRUE then
    Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:

    doPlayerRemoveItem(cid,1738,1)
    ficando assim:
    doPlayerRemoveItem(cid,1738,1) = TRUE then
    O id do shield você modifica no 1738 e a quantidade no número 1.


    doPlayerAddItem(cid,2173,1)
    Esas função adiciona o item e a quantidade no jogador, exemplo:
    2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.

    O que você pode adicionar em um script?
    Efeitos, para adicionar um efeito basta colocar essa função:

    doSendMagicEffect(getThingPos(cid), 132)
    O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:
    /z 1, /z 2, /z 3 até o seu limite.


    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
    Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!
  19. Gostei
    Doughell recebeu reputação de komuki zkm em Portal WoE   
    Olá a todos!
    Estou aqui novamente para mostrar um de meus novos scripts, o Portal.
    Mais afinal, se perguntam: Qual é a utilidade?
    Muitos possuem evento como o WoE, ou Castle War, e afinal são belos scripts! Mas com esta talkactions será possível deixar esses eventos bem mais, vamos dizer "legais" rs.

    No Ragnarok, possui algo na magia do clã que seria o "recall" algo assim, aonde todos os players aparecem no Castelo, a talkaction tem a mesma utilidade.
    Chega de enrolação, e vamos direto ao script!





    Portal WoE
    Crie um arquivo em otserv/actions/scripts chamdo woe.lua e adicione isso em arquivo:



    local mensagens = { ['blocked'] = "Voc&#234; n&#227;o pode usar esse item.", ['pzed'] = "Voc&#234; n&#227;o pode usar esse item em protection zone.", ['usingInCreature'] = "Voc&#234; n&#227;o pode usar esse item.", ['alreadUsing'] = "Voc&#234; j&#225; est&#225; usando um elemental gate.", ['noMana'] = "Voc&#234; n&#227;o tem mana points suficientes para usar esse item.", ['noSoul'] = "Voc&#234; n&#227;o tem soul points suficientes para usar esse item." } local config = { dist = 1, intervalo = 750, efeito = {[2156] = 6}, vezes = 15, mana = 300, soul = 30, actionID = {[2156] = 3001}, storage = 3001 } function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getThingPos(cid) local dir = getPlayerLookDir(cid) local p = {math.fmod(dir,2)*(-(dir-2)),(dir-1)*(dir-1-(dir-1)*math.abs(dir-2))} local newPos = {x=pos.x+(p[1])*config.dist,y=pos.y+(p[2])*config.dist,z=pos.z} newPos.stackpos = 0 local aid = getThingFromPos(newPos).actionid -- Verificar Erros if getCreatureMana(cid) < config.mana then doPlayerSendCancel(cid, mensagens['noMana']) return FALSE end if getPlayerSoul(cid) < config.soul then doPlayerSendCancel(cid, mensagens['noSoul']) return FALSE end if isCreature(getTopCreature(newPos).uid) == 1 and getPlayerAccess(cid) < 2 then doPlayerSendCancel(cid, mensagens['usingInCreature']) return FALSE end if isWalkable(newPos) == FALSE and getPlayerAccess(cid) < 2 then doPlayerSendCancel(cid, mensagens['blocked']) return FALSE end if (getTilePzInfo(newPos) == TRUE or getTilePzInfo(getThingPos(cid)) == TRUE) and getPlayerAccess(cid) < 2 then doPlayerSendCancel(cid, mensagens['pzed']) return FALSE end if getPlayerStorageValue(cid, config.storage) > 0 and getPlayerAccess(cid) < 2 then doPlayerSendCancel(cid, mensagens['alreadUsing']) return FALSE end doCreatureAddMana(cid, config.mana * (-1)) doPlayerAddSpentMana(cid, config.mana * (-1)) doPlayerAddSoul(cid, config.soul * (-1)) doRemoveItem(item.uid) if doTileQueryAdd(cid, newPos) == 1 then setPlayerStorageValue(cid, config.storage, 1) doSetItemActionId(getThingFromPos(newPos).uid, config.actionID[item.itemid]) doLoopEffect(cid, newPos, aid, config.efeito[item.itemid], 1) end return TRUE end function doLoopEffect(cid, pos, aid, effect, times) doSendMagicEffect(pos, effect) times = times + 1 if times < config.vezes then addEvent(doLoopEffect, config.intervalo, cid, pos, aid, effect, times) else doSetItemActionId(getThingFromPos(pos).uid, aid) setPlayerStorageValue(cid, config.storage, 0) end end function isWalkable(pos) -- Version by Pivigu local thing = getTileThingByPos({x=pos.x, y=pos.y, z=pos.z, stackpos = 0}) local points = 0 if thing.uid ~= 0 and hasProperty(thing.uid, 3) == FALSE and hasProperty(thing.uid, 7) == FALSE then for i = 1, 2 do thing = getTileThingByPos({x=pos.x, y=pos.y, z=pos.z, stackpos = i}) if thing.uid == 0 or (hasProperty(thing.uid, 3) == FALSE and hasProperty(thing.uid, 7) == FALSE) then points = points + 1 end end end if points > 1 then return TRUE end return FALSE end Agora em actions.xml adicione: <action itemid="2156" script="woe.lua"/> 2 parte do Script WoE Crie um arquivo em otserv/movements/scripts chamado recall.lua e adicione isso em seu arquivo: local area = { [3001] = {x=699,y=699,z=7}, } function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) == TRUE then doSendMagicEffect(position, CONST_ME_POFF) doTeleportThing(cid, area[item.actionid], FALSE) doSendMagicEffect(area[item.actionid], CONST_ME_TELEPORT) end return TRUE end -- Explicação do Script local area = { [3001] = {x=152,y=100,z=7} Esta e a posição do começo do castelo, a posição tem que se determinado não da pra escolher na hora! Agora em movements.xml adicione: <movevent event="StepIn" actionid="3001" script="recall.lua"/> Comentário: Como no Ragnarok é o sumo-sacerdote que possui a magia recall da guild, no caso agora apenas os elders druids e master sorcerers que poderma utilizar a magia recall. Adicione em spells.xml: <conjure name="Recall Guild" words="recall" lvl="20" mana="20" prem="0" conjureId="2156" exhaustion="6500" needlearn="0" function="conjureItem"> <vocation name="Master Sorcerer"/> <vocation name="Elder Druid"/> </conjure>


    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
  20. Gostei
    Doughell recebeu reputação de Luiz NerD em [TalkAction] Scripts para PokeTIBIA   
    Olá a todos!
    Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.
    Não é nada mais do quem um SHOP in-game.

    Como assim?
    Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.
    Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.
    Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.
    Chega de enrolação e vamos direto ao script.







    Changename Script:
    Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.
    (Este script serve para modificar o nome do jogador pelo jogo).


    -- Creditos a Doughell function onSay(cid, words, param) local maxLen = 15 -- tamanho maximo do nome local itemid = 2145 ------ Numero do Item que ser&#225; removido local proibido = [{"!","@","*"}-- simbolos proibidos for i = 1, #proibido do if string.find(tostring(param), proibido[i]) then doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.") return TRUE end end if tostring(param) == "" then -- checkar se n&#227;o &#233; nome vazio doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.") return TRUE end if string.len(tostring(param)) > maxLen then doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.") return TRUE end if not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.") return TRUE end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerRemoveItem(cid, itemid, 5) db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.") addEvent(doRemoveCreature, 5*1000, cid, true) else doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.") end return TRUE end Agora em talkactions.xml adicione em Players: <talkaction words="!changename" event="script" value="changename.lua"/> -- Explicação do Script (Changename): local maxLen = 15 -- tamanho maximo do nome O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome. local itemid = 2145 ------ Numero do Item que será removido Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds. local proibido = {"!","@","*"} -- simbolos proibidos Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte: {"!","@","*","?"} adicionando dessa seguinte maneira: ,"?"} Ditto Script: Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo: (Este script serve para adicionar a caixa do Ditto no jogador). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione em Players: <talkaction words="!buyditto" event="script" value="ditto2.lua"/> A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte: (Este script serve para o id da caixa ser usado para conseguir o Ditto) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 15215) <= 100 then doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.") setPlayerStorageValue(cid, 15215, 1) local pox = getTownTemplePosition(1) local health = 325 local maxhealth = 325 local description = "Contains a Ditto." local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Ditto") doItemSetAttribute(item, "apelido", "Ditto") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.") doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.") doTeleportThing(cid, pox) doSendMagicEffect(pox, 21) doPlayerAddSoul(cid, 1) doPlayerRemoveItem(cid,1738,1) setPlayerStorageValue(cid, 54842, "Ditto, ") return TRUE else doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.") end end Agora em actions.xml adicione: <action itemid="1738" event="script" value="ditto_.lua"/> -- Explicação do Script (Ditto): PARTE DAS TALKACTIONS if doPlayerRemoveItem(cid,2145,10) == TRUE then O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto. doPlayerAddItem(cid,1738,1) O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml! PARTE DAS ACTIONS doSendMagicEffect(pox, 21) O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir. doPlayerAddSoul(cid, 1) Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira. doPlayerRemoveItem(cid,1738,1) Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem. Kit Script: Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele: (Este script serve para receber Revives, Ultra Balls e Hyper Potions). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,2) == TRUE then doPlayerAddItem(cid,2269,100) doPlayerAddItem(cid,2275,100) doPlayerAddItem(cid,2146,100) doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione: <talkaction words="!buykit" event="script" value="kit.lua"/> -- Explicação do Script (Kit): if doPlayerRemoveItem(cid,2145,2) == TRUE then O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit. doPlayerAddItem(cid,2269,100) O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls. doPlayerAddItem(cid,2275,100) O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives. doPlayerAddItem(cid,2146,100) O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions. Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base: function onSay(cid,words,param) if doPlayerRemoveMoney(cid,10000) == TRUE then doPlayerAddItem(cid,2173,1) doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"Mensagem quando n&#227;o possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1) end end


    if doPlayerRemoveMoney(cid,10000) == TRUE then
    Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:

    doPlayerRemoveItem(cid,1738,1)
    ficando assim:
    doPlayerRemoveItem(cid,1738,1) = TRUE then
    O id do shield você modifica no 1738 e a quantidade no número 1.


    doPlayerAddItem(cid,2173,1)
    Esas função adiciona o item e a quantidade no jogador, exemplo:
    2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.

    O que você pode adicionar em um script?
    Efeitos, para adicionar um efeito basta colocar essa função:

    doSendMagicEffect(getThingPos(cid), 132)
    O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:
    /z 1, /z 2, /z 3 até o seu limite.


    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
    Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!
  21. Gostei
    Doughell recebeu reputação de Gean Otmaster em [TalkAction] Scripts para PokeTIBIA   
    Olá a todos!
    Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.
    Não é nada mais do quem um SHOP in-game.

    Como assim?
    Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.
    Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.
    Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.
    Chega de enrolação e vamos direto ao script.







    Changename Script:
    Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.
    (Este script serve para modificar o nome do jogador pelo jogo).


    -- Creditos a Doughell function onSay(cid, words, param) local maxLen = 15 -- tamanho maximo do nome local itemid = 2145 ------ Numero do Item que ser&#225; removido local proibido = [{"!","@","*"}-- simbolos proibidos for i = 1, #proibido do if string.find(tostring(param), proibido[i]) then doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.") return TRUE end end if tostring(param) == "" then -- checkar se n&#227;o &#233; nome vazio doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.") return TRUE end if string.len(tostring(param)) > maxLen then doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.") return TRUE end if not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.") return TRUE end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerRemoveItem(cid, itemid, 5) db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.") addEvent(doRemoveCreature, 5*1000, cid, true) else doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.") end return TRUE end Agora em talkactions.xml adicione em Players: <talkaction words="!changename" event="script" value="changename.lua"/> -- Explicação do Script (Changename): local maxLen = 15 -- tamanho maximo do nome O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome. local itemid = 2145 ------ Numero do Item que será removido Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds. local proibido = {"!","@","*"} -- simbolos proibidos Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte: {"!","@","*","?"} adicionando dessa seguinte maneira: ,"?"} Ditto Script: Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo: (Este script serve para adicionar a caixa do Ditto no jogador). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione em Players: <talkaction words="!buyditto" event="script" value="ditto2.lua"/> A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte: (Este script serve para o id da caixa ser usado para conseguir o Ditto) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 15215) <= 100 then doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.") setPlayerStorageValue(cid, 15215, 1) local pox = getTownTemplePosition(1) local health = 325 local maxhealth = 325 local description = "Contains a Ditto." local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Ditto") doItemSetAttribute(item, "apelido", "Ditto") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.") doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.") doTeleportThing(cid, pox) doSendMagicEffect(pox, 21) doPlayerAddSoul(cid, 1) doPlayerRemoveItem(cid,1738,1) setPlayerStorageValue(cid, 54842, "Ditto, ") return TRUE else doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.") end end Agora em actions.xml adicione: <action itemid="1738" event="script" value="ditto_.lua"/> -- Explicação do Script (Ditto): PARTE DAS TALKACTIONS if doPlayerRemoveItem(cid,2145,10) == TRUE then O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto. doPlayerAddItem(cid,1738,1) O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml! PARTE DAS ACTIONS doSendMagicEffect(pox, 21) O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir. doPlayerAddSoul(cid, 1) Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira. doPlayerRemoveItem(cid,1738,1) Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem. Kit Script: Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele: (Este script serve para receber Revives, Ultra Balls e Hyper Potions). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,2) == TRUE then doPlayerAddItem(cid,2269,100) doPlayerAddItem(cid,2275,100) doPlayerAddItem(cid,2146,100) doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione: <talkaction words="!buykit" event="script" value="kit.lua"/> -- Explicação do Script (Kit): if doPlayerRemoveItem(cid,2145,2) == TRUE then O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit. doPlayerAddItem(cid,2269,100) O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls. doPlayerAddItem(cid,2275,100) O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives. doPlayerAddItem(cid,2146,100) O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions. Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base: function onSay(cid,words,param) if doPlayerRemoveMoney(cid,10000) == TRUE then doPlayerAddItem(cid,2173,1) doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"Mensagem quando n&#227;o possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1) end end


    if doPlayerRemoveMoney(cid,10000) == TRUE then
    Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:

    doPlayerRemoveItem(cid,1738,1)
    ficando assim:
    doPlayerRemoveItem(cid,1738,1) = TRUE then
    O id do shield você modifica no 1738 e a quantidade no número 1.


    doPlayerAddItem(cid,2173,1)
    Esas função adiciona o item e a quantidade no jogador, exemplo:
    2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.

    O que você pode adicionar em um script?
    Efeitos, para adicionar um efeito basta colocar essa função:

    doSendMagicEffect(getThingPos(cid), 132)
    O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:
    /z 1, /z 2, /z 3 até o seu limite.


    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
    Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!
  22. Gostei
    Doughell recebeu reputação de Junior STIFLER em [TalkAction] Scripts para PokeTIBIA   
    Olá a todos!
    Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.
    Não é nada mais do quem um SHOP in-game.

    Como assim?
    Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.
    Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.
    Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.
    Chega de enrolação e vamos direto ao script.







    Changename Script:
    Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.
    (Este script serve para modificar o nome do jogador pelo jogo).


    -- Creditos a Doughell function onSay(cid, words, param) local maxLen = 15 -- tamanho maximo do nome local itemid = 2145 ------ Numero do Item que ser&#225; removido local proibido = [{"!","@","*"}-- simbolos proibidos for i = 1, #proibido do if string.find(tostring(param), proibido[i]) then doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.") return TRUE end end if tostring(param) == "" then -- checkar se n&#227;o &#233; nome vazio doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.") return TRUE end if string.len(tostring(param)) > maxLen then doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.") return TRUE end if not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.") return TRUE end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerRemoveItem(cid, itemid, 5) db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.") addEvent(doRemoveCreature, 5*1000, cid, true) else doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.") end return TRUE end Agora em talkactions.xml adicione em Players: <talkaction words="!changename" event="script" value="changename.lua"/> -- Explicação do Script (Changename): local maxLen = 15 -- tamanho maximo do nome O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome. local itemid = 2145 ------ Numero do Item que será removido Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds. local proibido = {"!","@","*"} -- simbolos proibidos Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte: {"!","@","*","?"} adicionando dessa seguinte maneira: ,"?"} Ditto Script: Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo: (Este script serve para adicionar a caixa do Ditto no jogador). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione em Players: <talkaction words="!buyditto" event="script" value="ditto2.lua"/> A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte: (Este script serve para o id da caixa ser usado para conseguir o Ditto) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 15215) <= 100 then doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.") setPlayerStorageValue(cid, 15215, 1) local pox = getTownTemplePosition(1) local health = 325 local maxhealth = 325 local description = "Contains a Ditto." local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Ditto") doItemSetAttribute(item, "apelido", "Ditto") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.") doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.") doTeleportThing(cid, pox) doSendMagicEffect(pox, 21) doPlayerAddSoul(cid, 1) doPlayerRemoveItem(cid,1738,1) setPlayerStorageValue(cid, 54842, "Ditto, ") return TRUE else doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.") end end Agora em actions.xml adicione: <action itemid="1738" event="script" value="ditto_.lua"/> -- Explicação do Script (Ditto): PARTE DAS TALKACTIONS if doPlayerRemoveItem(cid,2145,10) == TRUE then O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto. doPlayerAddItem(cid,1738,1) O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml! PARTE DAS ACTIONS doSendMagicEffect(pox, 21) O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir. doPlayerAddSoul(cid, 1) Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira. doPlayerRemoveItem(cid,1738,1) Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem. Kit Script: Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele: (Este script serve para receber Revives, Ultra Balls e Hyper Potions). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,2) == TRUE then doPlayerAddItem(cid,2269,100) doPlayerAddItem(cid,2275,100) doPlayerAddItem(cid,2146,100) doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione: <talkaction words="!buykit" event="script" value="kit.lua"/> -- Explicação do Script (Kit): if doPlayerRemoveItem(cid,2145,2) == TRUE then O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit. doPlayerAddItem(cid,2269,100) O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls. doPlayerAddItem(cid,2275,100) O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives. doPlayerAddItem(cid,2146,100) O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions. Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base: function onSay(cid,words,param) if doPlayerRemoveMoney(cid,10000) == TRUE then doPlayerAddItem(cid,2173,1) doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"Mensagem quando n&#227;o possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1) end end


    if doPlayerRemoveMoney(cid,10000) == TRUE then
    Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:

    doPlayerRemoveItem(cid,1738,1)
    ficando assim:
    doPlayerRemoveItem(cid,1738,1) = TRUE then
    O id do shield você modifica no 1738 e a quantidade no número 1.


    doPlayerAddItem(cid,2173,1)
    Esas função adiciona o item e a quantidade no jogador, exemplo:
    2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.

    O que você pode adicionar em um script?
    Efeitos, para adicionar um efeito basta colocar essa função:

    doSendMagicEffect(getThingPos(cid), 132)
    O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:
    /z 1, /z 2, /z 3 até o seu limite.


    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
    Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!
  23. Gostei
    Doughell recebeu reputação de Erro em [MoveEvent] Premium Tile   
    Muitos scripters fazem scripts que impeça a passagem de um no-vip, já servidores mais sérios não possui vips é o que mais importa no jogo seria a premium account. Com esta action, será bem útil pois não permitirá a passagem de frees. Confiram:






    Premium Tile

    Crie um arquivo em movements/scripts com o nome de pt.lua e adicione o seguinte:


    local increasingItems = {[416] = 417, [426] = 425, [446] = 447, [3216] = 3217, [3202] = 3215} local decreasingItems = {[417] = 416, [425] = 426, [447] = 446, [3217] = 3217, [3215] = 3202} function onStepIn(cid, item, position, fromPosition) if(increasingItems[item.itemid] ~= nil) then if(isPlayer(cid) ~= TRUE or isPlayerGhost(cid) ~= TRUE) then doTransformItem(item.uid, increasingItems[item.itemid]) end end if item.actionid == 7890 then if isPremium(cid) == FALSE and getPlayerAccess(cid) < 4 then doTeleportThing(cid, fromPosition, FALSE) doPlayerSendCancel(cid,"Apenas premium accounts passam aqui.") return FALSE end end return TRUE end Agora adicione em movements.xml a seguinte linha: <movevent event="StepIn" actionid="7890" script="pt.lua"/> <movevent event="StepOut" actionid="7890" script="tiles.lua"/>



    É isso, galera espero que tenham gostado qualquer dúvida comentem!
  24. Gostei
    Doughell recebeu reputação de eduardocucco em Listão de GlobalEvents, Spells e CreatureEvents   
    Listão de Sistemas e MOD's







    Nome do Tópico: Meteor Rain



    Autor: Lpz
    Link do Tópico: http://tibiaking.com...22-meteor-rain/
    Comentário:







    Nome do Tópico: Rank Militar



    Autor: Guilherme
    Link do Tópico: http://tibiaking.com/forum/topic/8680-creatureevent-rank-militar/
    Comentário:







    Nome do Tópico: Infinity Aol



    Autor: Aluccard
    Link do Tópico: http://tibiaking.com...5-infinity-aol/
    Comentário:







    Nome do Tópico: Sistema de Owner para Equips



    Autor: Antharaz
    Link do Tópico: http://tibiaking.com...er-para-equips/
    Comentário:







    Nome do Tópico: Um novo modo de criar magias



    Autor: Lpz
    Link do Tópico: http://tibiaking.com/forum/topic/8522-um-novo-modo-de-criar-magias/
    Comentário:







    Nome do Tópico: War Of Emperium



    Autor: DevilMoon
    Link do Tópico: http://tibiaking.com...ar-of-emperium/
    Comentário:







    Nome do Tópico: Ant Mage Bomb Kickers and MC



    Autor: lukaszG
    Link do Tópico: http://tibiaking.com...kickers-and-mc/
    Comentário: Eu recomendo!







    Nome do Tópico: Connected



    Autor: lukaszG
    Link do Tópico: http://tibiaking.com.../7953-conected/
    Comentário:







    Nome do Tópico: Raids automáticos



    Autor: Antharaz
    Link do Tópico: http://tibiaking.com...ds-automaticos/
    Comentário:







    Nome do Tópico: Estações do Ano



    Autor: Guilherme
    Link do Tópico: http://tibiaking.com/forum/topic/8681-globalevent-estacoes-do-ano/
    Comentário:







    Nome do Tópico: 2.0 Database Cleaner



    Autor: DuduRuller
    Link do Tópico: http://tibiaking.com...kills-items-et/
    Comentário:







    Nome do Tópico: [shop.lua]



    Autor: DuduRuller
    Link do Tópico: http://tibiaking.com...shop-do-gesior/
    Comentário:







    Nome do Tópico: [Pack] Spells do Update



    Autor: Yogo
    Link do Tópico: http://tibiaking.com...ells-do-update/
    Comentário:







    Nome do Tópico: [CreatureEvents] Mensagem ao Dropar Loot



    Autor: Guilherme
    Link do Tópico: http://tibiaking.com...ao-dropar-loot/
    Comentário:







    Nome do Tópico: [CreatureEvent] Ganhar premium ao upar tal level



    Autor: Renato
    Link do Tópico: http://tibiaking.com...upar-tal-level/
    Comentário:







    Nome do Tópico: Element Attack



    Autor: yogo
    Link do Tópico: http://tibiaking.com...element-attack/
    Comentário:







    Nome do Tópico: [CreatureScript] Ganhar 3 dias de premium ao logar pela primeira vez



    Autor: Matheus
    Link do Tópico: http://tibiaking.com...a-primeira-vez/
    Comentário:







    Nome do Tópico: [GlobalEvents] Trovejar a cada 3 dias tibianos



    Autor: JhonatanCWest
    Link do Tópico: http://tibiaking.com...-dias-tibianos/
    Comentário:







    Nome do Tópico: [CreatureEvent] Ganhar dinheiro ao upar tal level



    Autor: Renato
    Link do Tópico: http://tibiaking.com...upar-tal-level/
    Comentário:







    Nome do Tópico: [GlobalEvents] Chão falador



    Autor: JhonatanCWest
    Link do Tópico: http://tibiaking.com...s-chao-falador/
    Comentário:







    Nome do Tópico: [GlobalEvents] Mensagems Automáticas



    Autor: Renato
    Link do Tópico: http://tibiaking.com...ns-automaticas/
    Comentário:







    OBSERVAçãO: Como há muitos tópicos apenas os das primeiras páginas serão adicionados, os que não forem atualizados ou os autores de seus tópicos abandonar o tópico, será excluido dando chance a outro tópico.







    A ultima atualização ocorreu:



    02/11/2011 ás 17:16



    Você não está com seu tópico em nossa lista?



    Comentem em nosso tópico que atualizaremos no ato!

  25. Gostei
    Doughell recebeu reputação de pedrojosex em [TalkAction] Scripts para PokeTIBIA   
    Olá a todos!
    Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.
    Não é nada mais do quem um SHOP in-game.

    Como assim?
    Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.
    Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.
    Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.
    Chega de enrolação e vamos direto ao script.







    Changename Script:
    Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.
    (Este script serve para modificar o nome do jogador pelo jogo).


    -- Creditos a Doughell function onSay(cid, words, param) local maxLen = 15 -- tamanho maximo do nome local itemid = 2145 ------ Numero do Item que ser&#225; removido local proibido = [{"!","@","*"}-- simbolos proibidos for i = 1, #proibido do if string.find(tostring(param), proibido[i]) then doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.") return TRUE end end if tostring(param) == "" then -- checkar se n&#227;o &#233; nome vazio doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.") return TRUE end if string.len(tostring(param)) > maxLen then doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.") return TRUE end if not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.") return TRUE end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerRemoveItem(cid, itemid, 5) db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.") addEvent(doRemoveCreature, 5*1000, cid, true) else doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.") end return TRUE end Agora em talkactions.xml adicione em Players: <talkaction words="!changename" event="script" value="changename.lua"/> -- Explicação do Script (Changename): local maxLen = 15 -- tamanho maximo do nome O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome. local itemid = 2145 ------ Numero do Item que será removido Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds. local proibido = {"!","@","*"} -- simbolos proibidos Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte: {"!","@","*","?"} adicionando dessa seguinte maneira: ,"?"} Ditto Script: Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo: (Este script serve para adicionar a caixa do Ditto no jogador). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione em Players: <talkaction words="!buyditto" event="script" value="ditto2.lua"/> A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte: (Este script serve para o id da caixa ser usado para conseguir o Ditto) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 15215) <= 100 then doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.") setPlayerStorageValue(cid, 15215, 1) local pox = getTownTemplePosition(1) local health = 325 local maxhealth = 325 local description = "Contains a Ditto." local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Ditto") doItemSetAttribute(item, "apelido", "Ditto") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.") doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.") doTeleportThing(cid, pox) doSendMagicEffect(pox, 21) doPlayerAddSoul(cid, 1) doPlayerRemoveItem(cid,1738,1) setPlayerStorageValue(cid, 54842, "Ditto, ") return TRUE else doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.") end end Agora em actions.xml adicione: <action itemid="1738" event="script" value="ditto_.lua"/> -- Explicação do Script (Ditto): PARTE DAS TALKACTIONS if doPlayerRemoveItem(cid,2145,10) == TRUE then O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto. doPlayerAddItem(cid,1738,1) O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml! PARTE DAS ACTIONS doSendMagicEffect(pox, 21) O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir. doPlayerAddSoul(cid, 1) Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira. doPlayerRemoveItem(cid,1738,1) Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem. Kit Script: Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele: (Este script serve para receber Revives, Ultra Balls e Hyper Potions). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,2) == TRUE then doPlayerAddItem(cid,2269,100) doPlayerAddItem(cid,2275,100) doPlayerAddItem(cid,2146,100) doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione: <talkaction words="!buykit" event="script" value="kit.lua"/> -- Explicação do Script (Kit): if doPlayerRemoveItem(cid,2145,2) == TRUE then O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit. doPlayerAddItem(cid,2269,100) O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls. doPlayerAddItem(cid,2275,100) O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives. doPlayerAddItem(cid,2146,100) O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions. Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base: function onSay(cid,words,param) if doPlayerRemoveMoney(cid,10000) == TRUE then doPlayerAddItem(cid,2173,1) doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"Mensagem quando n&#227;o possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1) end end


    if doPlayerRemoveMoney(cid,10000) == TRUE then
    Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:

    doPlayerRemoveItem(cid,1738,1)
    ficando assim:
    doPlayerRemoveItem(cid,1738,1) = TRUE then
    O id do shield você modifica no 1738 e a quantidade no número 1.


    doPlayerAddItem(cid,2173,1)
    Esas função adiciona o item e a quantidade no jogador, exemplo:
    2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.

    O que você pode adicionar em um script?
    Efeitos, para adicionar um efeito basta colocar essa função:

    doSendMagicEffect(getThingPos(cid), 132)
    O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:
    /z 1, /z 2, /z 3 até o seu limite.


    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
    Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!

Informação Importante

Confirmação de Termo