Ir para conteúdo

Pet System Simples


Tingasgo

Posts Recomendados

 

 

Ha um tempo atrás eu procurei um Pet System bem simples pro meu servidor, e achei um muito bacana.

 

TFS: 0.4

Tibia: 8.6

 

O script funciona corretamente, eu fiz apenas algumas alterações e queria compartilhar caso vocês tenham as mesmas exigências que eu;

 

* Ao tentar usar o PET em PZ não da mais erro na distro, sobe um efeito FAILED! no player e manda uma mensagem.

* Agora cada PET precisa de um storage para ser usado, no meu caso, cada PET tem sua quest individual.

 

Indo para o assunto...

 

Vá em "data/actions/scripts", copie algum arquivo da pasta e cole, renomeie para "simple_pet" e adicione isso dentro:

 

function onUse(cid, item, frompos, item2, topos)local dolls = {[11256] = {pet = "Rat"},[11207] = {pet = "Demon"},[5791] = {pet = "Dragon"},}local go = dolls[item.itemid]local summon = getCreatureSummons(cid)---------------------------------------------------if not (getTilePzInfo(getCreaturePosition(cid))) thenif #summon >= 1 thenfor _, pid in ipairs(summon) dodoRemoveCreature(pid)doCreatureSay(cid, ""..go.pet..", Recuar!", TALKTYPE_ORANGE_1)endreturn trueendif item.itemid == 5791 thenif getPlayerStorageValue(cid, 6666) == 1 thendoConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1)else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!")doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180)endend if item.itemid == 11256 thenif getPlayerStorageValue(cid, 4444) == 1 thendoConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1)else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!")doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180)endendif item.itemid == 11207 thenif getPlayerStorageValue(cid, 4445) == 1 thendoConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1)else doPlayerSendTextMessage(cid, 19, "Voce precisa fazer a quest para usar esse PET!")doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180)endendelsedoPlayerSendTextMessage(cid, 19, "Voce nao pode sumonar seu PET em Protect Zone!")doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180)return trueendend

 

Muito bem, agora sigamos para "actions.xml" e adicione essa tag:

 

<action itemid="11256;11207;11144;9019" event="script" value="simple_pet.lua"/>

 

Agora para você configurar:

 

Nesta parte do código:

 

local dolls = {[11256] = {pet = "Crystal Spider"},[11207] = {pet = "Ashmunrah"},[11144] = {pet = "Demon"},[9019] = {pet = "Vampire"},}

Oque está entre [ e ] nós colocamos os Item ID dos items que vão chamar o PET. Já entre { e } aonde está entre aspas, colocamos o nome do PET.

E na tag do "actions.xml" adicionamos estes MESMOS Item Ids, separando-os por ; ficando:

 

 

<action itemid="ID;ID;ID;ID" event="script" value="simple_pet.lua"/>

 

Para o PET  teleportar para você quando subir escadas, ou ficar muito longe, vá em "config.lua" e procure por:

 

 

teleportPlayerSummons

 

Se estiver false coloque true, se estiver "no", coloque "yes"

 

Demonstração:

http://imgur.com/a/emO4I

 

Obrigado pela atenção galera, espero que tenham gostado, e qualquer dúvida tentarei ajudar vocês.

 

Não tenho certeza se esse sistema não tem aqui, mas não estava achando então decidi postar :3

 

Se Ajudei Rep + :xtibia:

 

CRÈDITOS: LUQUINHA "Um Sitezinho Qualquer"

                           

Link para o comentário
Compartilhar em outros sites

  • 9 months later...
  • 9 months later...
  • 2 years later...
Em 21/07/2016 em 09:13, Tingasgo disse:

 

 

Ha um tempo atrás eu procurei um Pet System bem simples pro meu servidor, e achei um muito bacana.

 

TFS: 0.4

Tibia: 8.6

 

O script funciona corretamente, eu fiz apenas algumas alterações e queria compartilhar caso vocês tenham as mesmas exigências que eu;

 

* Ao tentar usar o PET em PZ não da mais erro na distro, sobe um efeito FAILED! no player e manda uma mensagem.

* Agora cada PET precisa de um storage para ser usado, no meu caso, cada PET tem sua quest individual.

 

Indo para o assunto...

 

Vá em "data/actions/scripts", copie algum arquivo da pasta e cole, renomeie para "simple_pet" e adicione isso dentro:

 


function onUse(cid, item, frompos, item2, topos)local dolls = {[11256] = {pet = "Rat"},[11207] = {pet = "Demon"},[5791] = {pet = "Dragon"},}local go = dolls[item.itemid]local summon = getCreatureSummons(cid)---------------------------------------------------if not (getTilePzInfo(getCreaturePosition(cid))) thenif #summon >= 1 thenfor _, pid in ipairs(summon) dodoRemoveCreature(pid)doCreatureSay(cid, ""..go.pet..", Recuar!", TALKTYPE_ORANGE_1)endreturn trueendif item.itemid == 5791 thenif getPlayerStorageValue(cid, 6666) == 1 thendoConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1)else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!")doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180)endend if item.itemid == 11256 thenif getPlayerStorageValue(cid, 4444) == 1 thendoConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1)else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!")doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180)endendif item.itemid == 11207 thenif getPlayerStorageValue(cid, 4445) == 1 thendoConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1)else doPlayerSendTextMessage(cid, 19, "Voce precisa fazer a quest para usar esse PET!")doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180)endendelsedoPlayerSendTextMessage(cid, 19, "Voce nao pode sumonar seu PET em Protect Zone!")doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180)return trueendend

 

Muito bem, agora sigamos para "actions.xml" e adicione essa tag:

 


<action itemid="11256;11207;11144;9019" event="script" value="simple_pet.lua"/>

 

Agora para você configurar:

 

Nesta parte do código:

 


local dolls = {[11256] = {pet = "Crystal Spider"},[11207] = {pet = "Ashmunrah"},[11144] = {pet = "Demon"},[9019] = {pet = "Vampire"},}

Oque está entre [ e ] nós colocamos os Item ID dos items que vão chamar o PET. Já entre { e } aonde está entre aspas, colocamos o nome do PET.

E na tag do "actions.xml" adicionamos estes MESMOS Item Ids, separando-os por ; ficando:

 

 


<action itemid="ID;ID;ID;ID" event="script" value="simple_pet.lua"/>

 

Para o PET  teleportar para você quando subir escadas, ou ficar muito longe, vá em "config.lua" e procure por:

 

 


teleportPlayerSummons

 

Se estiver false coloque true, se estiver "no", coloque "yes"

 

Demonstração:

http://imgur.com/a/emO4I

 

Obrigado pela atenção galera, espero que tenham gostado, e qualquer dúvida tentarei ajudar vocês.

 

Não tenho certeza se esse sistema não tem aqui, mas não estava achando então decidi postar :3

 

Se Ajudei Rep + :xtibia:

 

CRÈDITOS: LUQUINHA "Um Sitezinho Qualquer"

                           

pet pra poke?

tipo ajudante

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...