eu acho que ninguém vai conseguir faser
info
Grupo: Campones
Registrado: 25/12/11
Posts: 16
Reputação: +1
Char no Tibia: Brasil Paladino

info
Grupo: Campones
Registrado: 11/04/12
Posts: 13
Reputação: 0

crie um arquivo em actions/scripts nome egg.lua e bote isso dentro
function onUse(cid, item, fromPosition, itemEx, toPosition)
local egg = {
["Amarelo"] = {id = 6541, mon = "Cave Rat"},
["Roxo"] = {id = 6545, mon = "Wolf"}
}
for k,v in pairs(egg) do
if item.itemid == v.id then
x = doSummonCreature(v.mon, getCreaturePosition(cid))
doConvinceCreature(cid, x)
doPlayerRemoveItem(cid, v.id, 1)
end
end
end
agora vá em actions.xml e adc isso dentro
<action itemid="6541;6545" event="script" value="egg.lua"/>
lembreçe de verificar se os id's ja estão sendo usados e se tiverem apague ele e só deixe o da tag acima.
Como adc novo monstros e novos itens
["Cor do ovo (Tambem Pode Usar um nome de item )"] = {id = ( Aqui fica o Id Do item ), mon = "( Aqui o Nome do monstro, não esqueça de por exatamente certo, se n o script da erro"}
OBS quando for adc um novo item no script vc deve por encima de
["Amarelo"] = {id = 6541, mon = "Cave Rat"},
e com a virgula, SÓMENTE O ULTIMO ELEMENTO DA TABELA N PODE TER VIRGULA.
Certifiquece de que o item que vc botou no script não esta sendo usado por outro script.
e lembreçe de por o novo id do item na tag em action.xml
OBS ; eu n fiz o revive, mais acada vez que vc da use no egg vc cria um pet
Editado Abril 13 por ForeverTobi
info
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: Warrior of Mort

Fiz o script pra ti, foi complicadinho mais até eu gostei =)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Vamos começar com os talkactions.
Primeiro vai em data/talkaction/scripts, duplica dois arquivos. Um você nomeia para "petsystem" sem as aspas e o outro para "petrevive" sem as aspas.
Agora no petsystem.lua cole:
local petNames = {"RAT","DRAGON","DEMON"}
local petStorage = {
["RAT"] = 203105, -- storage do pet 1
["DRAGON"] = 203106, -- storage do pet 2
["DEMON"] = 203107 -- storage do pet 3
}
function onSay(cid, words, param, channel)
local summons = getCreatureSummons(cid)
if param == "" then
local text = "Você não possui pets!"
local o = 0
for i=1, #petNames do
if getPlayerStorageValue(cid, petStorage[petNames[i]]) > 0 then
o = o + 1
if o == 1 then
text = o.." - ".. string.lower(petNames[i]) .."\n"
else
text = text.. o .." - ".. string.lower(petNames[i]) .."\n"
end
end
end
doShowTextDialog(cid,8977,text)
return true
end
if param == "back" then
for k = 1, #summons do
pet = getCreatureName(summons[k])
doCreatureSay(cid, string.lower(pet) ..", back!", 1)
doRemoveCreature(summons[k])
setPlayerStorageValue(cid, petStorage[pet], 1)
end
return true
end
param = string.upper(param)
if isInArray(petNames, param) then
if getPlayerStorageValue(cid, petStorage[param]) == -1 then
doPlayerSendCancel(cid,"Você não possui esse Pet.")
return true
elseif getPlayerStorageValue(cid, petStorage[param]) == 1 then
if getTilePzInfo(getCreaturePosition(cid)) == false then
x = doSummonCreature(param, getCreaturePosition(cid))
doConvinceCreature(cid, x)
doCreatureSay(cid, string.lower(param) ..", go!", 1)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 2)
setPlayerStorageValue(cid, petStorage[param], 2)
else
doPlayerSendTextMessage(cid, 22, "Você não pode sumonar seu Pet em Pz.")
return true
end
elseif getPlayerStorageValue(cid, petStorage[param]) == 2 and #summons > 0 then
doPlayerSendTextMessage(cid, 22, "Seu Pet esta sumonado, fale !pet back.")
return true
else
doPlayerSendTextMessage(cid, 22, "Seu Pet esta morto, fale !petrevive nomedopet para revivelo.")
return true
end
else
doPlayerSendCancel(cid,"Esse Pet não existe.")
end
return true
end
Depois no petrevive.lua cole:
local petNames = {"RAT","DRAGON","DEMON"}
local petInfos = {
["RAT"] = {storage = 203105, custo = 2000}, -- nome do pet, storage do pet, custo para reviver pet.
["DRAGON"] = {storage = 203106, custo = 4000},
["DEMON"] = {storage = 203107, custo = 6000}
}
function onSay(cid, words, param, channel)
local summons = getCreatureSummons(cid)
param = string.upper(param)
if isInArray(petNames, param) then
if getPlayerStorageValue(cid, petInfos[param].storage) == -1 then
doPlayerSendCancel(cid,"Você não possui esse Pet.")
return true
elseif getPlayerStorageValue(cid, petInfos[param].storage) == 2 and #summons == 0 then
if doPlayerRemoveMoney(cid, petInfos[param].custo) then
doSendMagicEffect(getThingPos(cid), 3) -- troque o 2 pelo efeito desejado
setPlayerStorageValue(cid, petInfos[param].storage, 1)
doPlayerSendTextMessage(cid, 22,"Seu Pet foi revivido")
return true
else
doPlayerSendTextMessage(cid, 22,"Você não possui ".. (petInfos[param].custo) .." gps.")
return true
end
else
doPlayerSendCancel(cid,"Seu Pet não esta morto.")
return true
end
else
doPlayerSendCancel(cid,"Esse Pet não existe.")
end
return true
end
Agora em talkactions.xml cole as tags:
<talkaction words="!pet" event="script" value="petsystem.lua"/> <talkaction words="!petrevive" event="script" value="petrevive.lua"/>
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Pronto, terminado a parte de talkactions, agora vamos para as actions.
Vai na pasta data/actions/scripts, duplica um arquivo e nomeia para "egg_one" sem as aspas e nele cole:
function onUse(cid, item, fromPosition, itemEx, toPosition)
local petGain = {pet = "Rat", storage = 203105} -- nome do pet, storage.
if getPlayerStorageValue(cid, petGain.storage) <= 0 then
setPlayerStorageValue(cid, petGain.storage, 1)
doPlayerSendTextMessage(cid, 22,"Você recebeu um novo Pet: ".. petGain.pet ..".")
doSendMagicEffect(getThingPos(cid), 28) -- troque o 28 pelo efeito desejado
doRemoveItem(item.uid, 1)
else
doPlayerSendTextMessage(cid, 22,"Você ja possui esse Pet.")
doSendMagicEffect(getThingPos(cid), 2)
end
return TRUE
end
E por fim, em actions.xml cole a tag:
<action itemid="iddoovo1" script="egg_one.lua"/>
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Bom agora vou te explicar como vai funcionar:
Primeiro você deve fazer mais arquivos nos actions com todos os eggs que você quiser e a unica linha que vc deve configurar é essa:
local petGain = {pet = "Rat", storage = 203105} -- nome do pet, storage.
E ir adicionando mais tags no actions.xml conforme adicionar mais eggs nos scripts.
No petsystem.lua, voce deve configurar essas linhas:
local petNames = {"RAT","DRAGON","DEMON"}
local petStorage = {
["RAT"] = 203105,
["DRAGON"] = 203106,
["DEMON"] = 203107
}
Alterando os nomes dos pets para os que voce adicionou nos actions e seus respectivos storages, lembrando que para funcionar perfeitamente sempre adicionar os nomes com letras maiusculas e após o último storage não coloque virgula.
E no petrevive.lua, essas são as linhas configuraveis:
local petNames = {"RAT","DRAGON","DEMON"}
local petInfos = {
["RAT"] = {storage = 203105, custo = 2000}, -- nome do pet, storage do pet, custo para reviver pet em gps.
["DRAGON"] = {storage = 203106, custo = 4000},
["DEMON"] = {storage = 203107, custo = 6000}
}
Você deve configura-lo como o script anterior apenas adicionando os custos para o pet ser revivido.
------------------------------------------------------------------------------------------------------------------------------------------------------------------
É isso aew, os comandos que você vai usar com o player são:
!pet -- mostrar lista de pets que você possui. !pet NomeDoPet -- invocar pet, quaso você tenha. !pet back -- retornar pet. !petrevive NomeDoPet -- reviver pet morto.
me ajudou até =D
info
Grupo: Campones
Registrado: 05/10/11
Posts: 27
Reputação: +1
Char no Tibia: Exivinha ( Ot )

nao tem com fazer so para vips ? so vips podem ter o tál pet, que vem na vocação que ele ganha quando paga a vip, as vocações dos vip fica assim
: (BkVip) Elder Druid. "no meu server fico assim"
e depois que a vip acaba a voc volta ao normal intão o player nao podera mais invocar o Pet
tem como me ajudar nesse sistema de pet? dou +7 REP
vlw rep+
Dúvida sanada, movido.
info
Grupo: Campones
Registrado: 21/12/12
Posts: 1
Reputação: 0
Char no Tibia: Leon nemesis

Por favor não sei se esse é o local certo mas to com dúvida ainda, quero um sistema de pet q seja assim quando eu clicar em algum coloured egg como o amarelo, aparecer um holy pet, azul ice pet, vermelho, fire pet, verde, tera pet, roxo energy pet, por favor necessito desse script
info
Grupo: Conde
Registrado: 27/07/12
Posts: 757
Reputação: +57
Char no Tibia: [ADM] Bhoris

Por favor não sei se esse é o local certo mas to com dúvida ainda, quero um sistema de pet q seja assim quando eu clicar em algum coloured egg como o amarelo, aparecer um holy pet, azul ice pet, vermelho, fire pet, verde, tera pet, roxo energy pet, por favor necessito desse script
Amigo, sei que voce é novo no forum mais por favor leia as regras.
Nao pessa duvida em Topicos de outras pessoas .
se voce esta com uma duvida crie um novo topico e fale qual sua duvida, sertifique-se de postar na area correta.
e eu garanto que iremos lhe ajudar. mais atençao.
tenha um otimo natal.
Jhon Tem Um Probleminha No Script...
eu consigo invocar o monstro certinho...
quando ele volta...
eu vou soltalo dinovo aparece que o pet está morto....
sendo que eu só voltei o pet ele nao morreu.....




info
Grupo: Campones
Registrado: 06/10/08
Posts: 5
Reputação: 0
Char no Tibia: Aranny Rufegansd
Tipo do script: Pet System
Protocolo (versão do Tibia): 8.54
Servidor utilizado: TFS 0.3.6
Nível de experiência: Intermediario
Adicionais/Informações:
Um dia eu estava pensando oque fazer com os coulored eggs e com o hydra egg, que no meu ot estão sem função, entao pensei... que tal eles serem Pet Eggs e dropem de seus respectivos monstros (Hydra egg, dropar de hydra) e ao usar o ovo foce adcionado ao personagem o pet do respectivo ovo, esse pet poderia ser invocado e poder regressar para o personagem falando !pet < para retornar e ser invocado.
Resumo: Seria usado um ovo, que ao ser usado desapareceria e adcionaria ao personagem um pet ja que são varios coloured eggs cada um tem que ser um pet, e se o pet morrer ter que falar !revive e pagar 20k para revivelo assim podendo usa-lo novamente,
Coloured egg 1: Cave Rat
Coloured egg 2: Wolf
Coloured egg 3: Dragon Hatchiling
Coloured egg 4: Dragon Lord Hatchiling
Coloured egg 5: Frost Dragon Hatchiling
Hydra egg : Hydra (aváh)
Vamo ver quem é que vai conseguir fazer esse script.