Legal rep+ bom esse sistema
- Fórum
- OTServ
- Recursos
- Scripting
- Mods, funções e outros
- Sistema de Pet V1.0 By PsyMcKenzie
Sistema de Pet V1.0 By PsyMcKenzie
Por PsyMcKenzie, 07 de mai. de 2013 em Mods, funções e outros
info
Grupo: Campones
Registrado: 28/04/13
Posts: 2
Reputação: 0

info
Grupo: Marquês
Registrado: 18/05/11
Posts: 1.1k
Reputação: +150
Gênero: Masculino

Muito obrigado! ![]()
info
Grupo: Conde
Registrado: 14/02/13
Posts: 702
Reputação: +196
Gênero: Masculino

Agora é terminar o sistema né, com as funções na morte do summon, deslogar etc.
info
Grupo: Marquês
Registrado: 18/05/11
Posts: 1.1k
Reputação: +150
Gênero: Masculino

Pode crer mano, vou começar a trabalhar essa parte.
Obrigado!
info
Grupo: Banidos
Registrado: 11/01/13
Posts: 576
Reputação: +109
Char no Tibia: Darashia del Shee

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
2.
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
Ps: no ultimo script da pra remover essa linha aqui:
print(tonumber(getItemAttribute(item.uid, "lifepet")),tonumber(getItemAttribute(item.uid, "maxlifepet")))
Isso ai vai ficar printando a life do pet no distro, oque seria desnecessário.
Editado Maio 7 por Gears
info
Grupo: Barão
Registrado: 18/10/10
Posts: 246
Reputação: +89
Char no Tibia: Elite Pamcadaum

Sistema legal cara, mas, é como o Banana falou, ainda tem umas coisas que você tem adicionar pro sistema ficar melhor e se diferenciar dos outros.
info
Grupo: Marquês
Registrado: 18/05/11
Posts: 1.1k
Reputação: +150
Gênero: Masculino

Obrigado MaXwEllDeN, vou procurar melhorar o código.
Abraços!
info
Grupo: Campones
Registrado: 15/04/13
Posts: 26
Reputação: +4

Cara, muito foda....
info
Grupo: Marquês
Registrado: 18/05/11
Posts: 1.1k
Reputação: +150
Gênero: Masculino

Obrigado brow. ^^
info
Grupo: Campones
Registrado: 14/04/13
Posts: 89
Reputação: 0
Char no Tibia: GM Strikker

Muito bom cara! Parabéns!
info
Grupo: Campones
Registrado: 12/08/11
Posts: 83
Reputação: +3
Char no Tibia: Che Mc

Esse Sistema esta perfeito parabéns rep+ ![]()
info
Grupo: Marquês
Registrado: 18/05/11
Posts: 1.1k
Reputação: +150
Gênero: Masculino

Obrigado galera!
Em breve V2.0
info
Grupo: Campones
Registrado: 05/11/12
Posts: 11
Reputação: 0
Char no Tibia: Permaganato

Aee Dahora xD
info
Grupo: Marquês
Registrado: 18/05/11
Posts: 1.1k
Reputação: +150
Gênero: Masculino

Valew man! =)





info
Grupo: Marquês
Registrado: 18/05/11
Posts: 1.1k
Reputação: +150
Gênero: Masculino
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 endEm 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 endAgora em Actions.xml, adicione as tags:
Configurando
Nesta parte você irá editar:
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":
Caso queira mudar, troque no script e na tag no actions.xml.
Este é o item de captura:
Bom, é isso galera, espero que gostem e que façam um bom uso do sistema!
Aproveitem!
Dúvidas? Sugestões? Criticas?
Comentem!!
Editado Maio 7 por PsyMcKenzie