TI
action

Pet System Simples

Por Tingasgo, 21 de jul. de 2016 em Actions e Talkactions

tfs 0.4
8.60
4
5.7k
TingasgoT
21 de julho de 2016 às 11:13

 

 

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"

                           

10 meses depois...
DarciioD
15 de maio de 2017 às 18:29

Da pra fazer o pet dar um bonus para o player tipo um poco mais de mana uma poco mais de vida etc  ? healar ele etc?

10 meses depois...
NecamanuelN
07 de março de 2018 às 12:20

tem como botar pra domar so com um item especifico? tipo com um item x voce pode domar so a montaria x daquele item, se tiver poderia me ajudar?

2 anos depois...
KaboFlowK
07 de maio de 2020 às 22:11
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