Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Sistema de Pet V1.0

 


 

 

E ai Galera, suave? :D

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:





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":

 

 

Quote

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

Editado por PsyMcKenzie (veja o histórico de edições)

  • Respostas 9
  • Visualizações 3.6k
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

  • 3 weeks later...
Postado

Hello when i click right on empty pokeball(7632) or destroyed pokeball(7633) i got error

 

[23/05/2013 16:29:09] [Error - Action Interface] 
[23/05/2013 16:29:09] data/actions/scripts/inne/pet_system.lua:onUse
[23/05/2013 16:29:09] Description: 
[23/05/2013 16:29:09] (luaGetCreatureHealth) Creature not found
 
how i can fix it?
  • 6 months later...
Postado

Cara você nao tem 1 que o sistema seja diferente por exemplo ia em 1 npc comprasse o pet e exeplo lvl 50 era 1 e lvl 100 ele evoluisse e lvl 200 evoluia denovo e se morrese era so ir nesse npc e reviver er ele nao teria 1 sistema assim?

  • 4 weeks later...
Postado

é cara mt bom mas tem um porem ;/

 

qndo o pet morre e vc o tenta trazer de volta acontece isso na distro

 

[17:1:02.182] [Error - Action Interface]
[17:1:02.183] data/actions/scripts/VaiVolta.lua:onUse
[17:1:02.185] Description:
[17:1:02.186] (luaGetCreatureMaxHealth) Creature not found
 
e se o player tentar trazer ele de volta mts vezes a distro fecha
 
teria como caso ele morre-se aparecer uma mensagem dizendo q ele esta morto ou sei la so pra nao ter esse erro ae e cair o serv agrade-ço desde jah ;D

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.7k

Informação Importante

Confirmação de Termo