Ir para conteúdo

Featured Replies

Postado

Alguém pode me ajudar com esse script, era pra ele retorna o level do meu pet system só que tem algo errado e não sei o que é !!

OBS: No pet aparece Level -1 e o certo é aparecer o level do 0 +

 

Spoiler

local config = {
storage = 489061564,
tempo = 6000, -- tempo, em segundos que o efeito demorará para sair.
}

local eggo = {
["Holy Pet"] = {id = 6541, mon = "Holy Pet", cor = TEXTCOLOR_YELLOW, efeito = 21},
["Fire Pet"] = {id = 6542, mon = "Fire Pet", cor = TEXTCOLOR_RED, efeito = 6},
["Ice Pet"] = {id = 6543, mon = "Ice Pet", cor = TEXTCOLOR_TEAL, efeito = 43},
["Terra Pet"] = {id = 6544, mon = "Terra Pet", cor = TEXTCOLOR_LIGHTGREEN, efeito = 45},
["Phoenix Pet"] = {id = 2695, mon = "Phoenix Pet", cor = TEXTCOLOR_GREY, efeito = 17},
["Draug Pet"] = {id = 6544, mon = "Draug Pet", cor = TEXTCOLOR_BROWN, efeito = 37},
["Many Pet"] = {id = 2695, mon = "Many Pet", cor = TEXTCOLOR_TEAL, efeito = 37},
["Energy Pet"] = {id = 6545, mon = "Energy Pet", cor = TEXTCOLOR_PURPLE, efeito = 22},
["Jester Pet"] = {id = 9693, mon = "Jester Pet", cor = TEXTCOLOR_DARKPURPLE, efeito = 31},
["Ferumbras Pet"] = {id = 11715, mon = "Ferumbras Pet", cor = TEXTCOLOR_DARKRED, efeito = 29}
}

function onThink(cid, interval)
local function Macabro(cid) 
for k, v in pairs(eggo) do
if isCreature(cid) and getCreatureName(cid) == k then
doSendMagicEffect(getThingPos(cid), v.efeito)
doSendAnimatedText(getThingPos(cid), "Level: " ..(getPlayerStorageValue(cid,489061564)).. "", v.cor)
addEvent(function()
  Macabro(cid)
  end, 6000)
end
end
end

if (getPlayerStorageValue(cid, 70079)) <= 0 then -- storage que guarda o tempo do efeito.
Macabro(cid)
setPlayerStorageValue(cid, 70079, config.tempo + os.time())
else
return true
end
return TRUE
end

 

 

  • Respostas 6
  • Visualizações 350
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • É porque acontece o seguinte: Todos storages, quando declarados, recebem o valor de -1, e de alguma maneira, em outro script que seta o level do seu pokemon, ao invés de definir como 0, o mesmo perman

  • Essa primeira storage, serve para o quê? O código comenta algumas coisas, mas esqueceu de falar sobre ela. Edit 1: Certamente é pra pegar o level, mas onde ela é trabalhada em outro script? Preciso

  • if getPlayerStorageValue(cid, config.storagesorte) < config.levelsorte then   poe assim    if getPlayerStorageValue(cid, config.storagesorte) < 0 then    setPlayerStorageValu

Postado

Essa primeira storage, serve para o quê? O código comenta algumas coisas, mas esqueceu de falar sobre ela.
Edit 1: Certamente é pra pegar o level, mas onde ela é trabalhada em outro script? Preciso dá uma olhada, porque aparentemente tá tudo ok no código.

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

Feliz daquele que ensina o que sabe, e aprende o que ensina.

 

               

star-wars-animated-gif-23.gif

Postado
  • Autor

A primeira storage é a mesma que a segunda é que esqueci de tirar ela só. Ela é trabalhada no NPC que troca a storage por x item, até ai esta tudo ok, por talkaction ele checa o level certinho agr nesse script ai, acho que ta dando conflito com a storage do level e a storage que guarda o tempo do efeito, não sei rsrs

Postado

É porque acontece o seguinte: Todos storages, quando declarados, recebem o valor de -1, e de alguma maneira, em outro script que seta o level do seu pokemon, ao invés de definir como 0, o mesmo permanece como padrão, pois não foi setado como outro valor. 
Repare nesta parte do código:
 

doSendAnimatedText(getThingPos(cid), "Level: " ..(getPlayerStorageValue(cid,489061564)).. "", v.cor)

o storage 489061564 provavelmente é o que guarda o valor do level do pokemon, certo? E por padrão, quando ele foi declarado, recebeu -1, ou seja, se não houver modificação no level do pokemon, ele vai tá sempre com -1 por não ter sido declarado com valor nulo. É por isso que falei que o código que você está postando, aparentemente, está tudo ok (tirando algumas coisas de configurável ao usuário).

Feliz daquele que ensina o que sabe, e aprende o que ensina.

 

               

star-wars-animated-gif-23.gif

Postado
  • Autor

Então @lordzetros pra ver se o player estava recebendo a storage eu criei um Book no Creaturescripts e esta contando os níveis normalmente.

 

Apenas aqui esta ficando -1: 

Citar

doSendAnimatedText(getThingPos(cid), "Level: " ..(getPlayerStorageValue(cid,489061564)).. "", v.cor)

 

NPC:

Spoiler

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 onThink()     npcHandler:onThink()     end

function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end
    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
    local msg = msg:lower()

local config = {
   effectonuse = 14, -- efeito que sai
   levelsorte = 10,  --- leveis que terão
   item = 10563,
   quant = 1,
   storagesorte = 489061564 -- storage que será verificado
   }


if(msgcontains(msg, 'sim' )) then
    if getPlayerStorageValue(cid, config.storagesorte) < config.levelsorte then
        if getPlayerItemCount(cid, config.item) >= config.quant then
                        doPlayerRemoveItem(cid, config.item, config.quant)
                        doSendAnimatedText(getPlayerPosition(cid), "SABEDORIA!", TEXTCOLOR_YELLOW)
                        doBroadcastMessage("[MENSAGEM]: O jogador (" .. getCreatureName(cid) .. ") recebeu um nivel de sabedoria da NPC Emily.", 19)
            selfSay('Você recebeu pontos de sabedoria, verifique seu nível no pet elemental.', cid)
            setPlayerStorageValue(cid, config.storagesorte, getPlayerStorageValue(cid, config.storagesorte)+1)
                        elseif getPlayerStorageValue(cid, config.storagesorte) >= config.levelsorte then
            
        else
            selfSay('Você não tem o item necessario {Book of Player}.', cid)
        end
    else
        selfSay('Você ja esta no level maxímo.' , cid)
      end
    end
   return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())


 

 

Book:

Spoiler

function onLook(cid, thing, position, lookDistance)
if thing.itemid == 1961 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Habilidades:")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorte: "..(getPlayerStorageValue(cid,489061563).. ""))")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coragem: "..(getPlayerStorageValue(cid,489061562).. ""))")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sabedoria: " ..(getPlayerStorageValue(cid,489061564).. ""))
end
return TRUE
end

 

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo