Sistema de Pet V1.0
E ai Galera, suave?

Hoje venho trazer pra vocês, meu sistema de pet.
É bem do tipo pokemon, mas tenho certeza que irão gostar.
Vou liberá-lo porque gosto de compartilhar as coisas, e sei que alguém esta querendo
um sistema desses. Assim como eu quis um dia e nunca encontrei um que funcionasse.
O sistema está na versão 1.0, mas em em breve trarei um npc para healar o pet e algumas talks para o pet soltar spells.

Vamos lá!
Primeiramente, vá em data/action/scripts, crie um arquivo com o nome de CatchPet.lua e adicione:
local mtrs = { ["Rat"] = {hp = 1000, maxhp = 1000, corpse = 2813, chance = 100}, ["Rotworm"] = {hp = 1000, maxhp = 1000, corpse = 5967, chance = 100}, ["Skeleton"] = {hp = 1000, maxhp = 1000, corpse = 5972, chance = 100}, ["Dragon"] = {hp = 1000, maxhp = 1000, corpse = 3104, chance = 100}, ["Dragon Lord"] = {hp = 1000, maxhp = 1000, corpse = 5984, chance = 100}, } function onUse(cid, item, frompos, item2, topos) for pet_name, v in pairs(mtrs) do if item2.itemid == v.corpse then if math.random(0,100) <= v.chance then doPlayerSendTextMessage(cid, 27, "Você capturou um ".. pet_name .. ".") doRemoveItem(item2.uid, 1) doRemoveItem(item.uid, 1) local itemcatch = doPlayerAddItem(cid, 7632, 1) doItemSetAttribute(itemcatch, "namepet", pet_name) doItemSetAttribute(itemcatch, "description", "Contém um ".. pet_name ..".") doItemSetAttribute(itemcatch, "lifepet", v.hp) doItemSetAttribute(itemcatch, "maxlifepet", v.maxhp) else doPlayerSendTextMessage(cid, 27, "Falhou.") end end end return true end
Em seguida, duplique o arquivo, renomeie para VaiVolta e adicione:
function onUse(cid, item, frompos, item2, topos) local health = tonumber(getItemAttribute(item.uid, "lifepet")) local mhp = tonumber(getItemAttribute(item.uid, "maxlifepet")) if health <= 0 then return doPlayerSendCancel(cid, "Esse pet esta morto.") end local pet_name = getItemAttribute(item.uid, "namepet") if item.itemid == 7632 then if not getTilePzInfo(getPlayerPosition(cid)) then if #getCreatureSummons(cid) < 1 then doTransformItem(item.uid, 7633) local summon = doSummonCreature(pet_name, getThingPos(cid)) doConvinceCreature(cid, summon) setCreatureMaxHealth(summon, mhp) doCreatureAddHealth(summon, mhp) doCreatureAddHealth(summon, health - mhp) doSendMagicEffect(getCreaturePosition(summon), 67) doCreatureSay(cid, "Vai, ".. pet_name .. "!", TALKTYPE_SAY) else doPlayerSendCancel(cid, "Você já sumonou um Pet.") end else doPlayerSendCancel(cid, "Você não pode estar em Protection Zone para sumonar seu Pet.") end elseif item.itemid == 7633 then local hp, maxhp = getCreatureHealth(getCreatureSummons(cid)[1]), getCreatureMaxHealth(getCreatureSummons(cid)[1]) if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 67) doRemoveCreature(getCreatureSummons(cid)[1]) doTransformItem(item.uid, 7632) doItemSetAttribute(item.uid, "lifepet", hp) doItemSetAttribute(item.uid, "maxlifepet", maxhp) doCreatureSay(cid, "Volta, " .. pet_name .. ".", TALKTYPE_SAY) end end return true end
Agora em Actions.xml, adicione as tags:
<action itemid="2149" event="script" value="CatchPet.lua"/> <action itemid="7632;7633" event="script" value="VaiVolta.lua"/>
Configurando
Nesta parte você irá editar:
["Rat"] = {hp = 1000, maxhp = 1000, corpse = 2813, chance = 100},
["Rotworm"] = {hp = 1000, maxhp = 1000, corpse = 5967, chance = 100},
["Skeleton"] = {hp = 1000, maxhp = 1000, corpse = 5972, chance = 100},
["Dragon"] = {hp = 1000, maxhp = 1000, corpse = 3104, chance = 100},
["Dragon Lord"] = {hp = 1000, maxhp = 1000, corpse = 5984, chance = 100},
NOME DO PET / HP / HP MÁXIMO / CORPSE ID ( AQUELE QUE FICA QUANDO O MONSTRO MORRE) / CHANCE DE CAPTURA DO PET.
Esse são os id's das "pokeballs":
if item.itemid == 7632 then
elseif item.itemid == 7633 then
Caso queira mudar, troque no script e na tag no actions.xml.
Este é o item de captura:
<action itemid="2149" event="script" value="CatchPet.lua"/>
Bom, é isso galera, espero que gostem e que façam um bom uso do sistema!
Aproveitem!
Dúvidas? Sugestões? Criticas?
Comentem!!
Créditos/Agradecimentos:
BananaFight
LuckOake
MaXwElldEn
Gears