Ir para conteúdo

Featured Replies

  • 3 years later...
  • Respostas 9
  • Visualizações 3.6k
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

Postado
Em 07/05/2013 ás 23:10, PsyMcKenzie disse:

Sistema de Pet V1.0

 

 

 

 

E ai Galera, suave? :grin:

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. :wink:

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:

 

 

 

 

 

 

 

Quote

 

 

 

 

["Rat"] = {hp = 1000maxhp = 1000corpse = 2813chance = 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":

 

 

 

 

 

 

 

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!!

 

 

 

 

 

 

 

 

MAIS SE O MONSTRO NÃO TA NA LISTA O SCRIPT TERIA QUE FALAR ALGO TIPO...

 

Este Monstro não pode ser capturado...

 

Att; Robson

 

 

Postado
local mtrs = {

                ["Rat"] = {hp = 100, maxhp = 100, corpse = 5964, chance = 100},
                ["Rotworm"] = {hp = 100, maxhp = 100, corpse = 5967, chance = 50},
                ["Skeleton"] = {hp = 500, maxhp = 500, corpse = 5972, chance = 90},
                ["Demon skeleton"] = {hp = 1000, maxhp = 1000, corpse = 5963, chance = 80},
                ["Monk"] = {hp = 1500, maxhp = 1500, corpse = 6080, chance = 70},
}

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 .. ".")
												doSendMagicEffect(getThingPos(cid), 46)
                                                doRemoveItem(item2.uid, 1)
                                                doRemoveItem(item.uid, 1)
                                                local itemcatch = doPlayerAddItem(cid, 21553, 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.")
												doSendMagicEffect(getThingPos(cid), 83)
												doRemoveItem(item.uid, 1)
												doRemoveItem(item2.uid, 1)
                                        end
                                end
                end
                return true
end

 

 

eu dei uma melhorada nesta parte pelo menos para ficar melhor no meu ot..
só cuidado com os ids coloquem outros.. 

 

e tambem alterem o efeitos conforme seu ot server.

 

doSendMagicEffect(getThingPos(cid), 46)

doSendMagicEffect(getThingPos(cid), 83)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo