Ir para conteúdo
  • 0

Bug safado Double exp!


Nosifero

Pergunta

Amigos to usando esse certo script meu servidor, ele funciona bem para alguns player porem para outros ele fala que está sendo usado, não estou conseguindo arrumar, o script seria para double exp....

 

local config = {
rate = 2, -- 4x More Experience
time = 1, -- Hours of Exp Time
storage = 21123
}
local function endExpRate(cid)
if isPlayer(cid) == TRUE then
doPlayerSetRate(cid, SKILL__LEVEL, 1) -- config.lua rate
setPlayerStorageValue(cid, config.storage, -1)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Your extra experience time has ended.")
end
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
if(getPlayerStorageValue(cid, config.storage) < 0) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Your extra experience rate is now: " .. config.rate .. ". It will last for ".. config.time .." hours.")
doPlayerSetRate(cid, SKILL__LEVEL, config.rate)
setPlayerStorageValue(cid, config.storage, os.time() + config.time * 3600)
addEvent(endExpRate, config.time * 3600 * 1000, cid)
doRemoveItem(item.uid, 1)
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You still have extra experience time left.")
end
return TRUE

end

 

 

 

 

Nãos ei por o script em lua nesses fórum ehehehhe

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Tem que checar se o player está offline e tratar essa "excessão" na função "endExpRate()", não? Vamos supor que na hora de chamar essa função ele esteja offline, ele continuará tendo a exp dobrada.

 

Tentarei ajudar mais:

 

crie mais duas funções nesse script, onLogout e onLogin.

 

Em onLogout você salvará o tempo restante e em onLogin você irá checar, pela storage, se o player ainda possui a experiência dobrada e adicionará um novo evento.

Espero ter ajudado.

Editado por warotserv
Link para o comentário
Compartilhar em outros sites

  • 0

function onLogout(params)

if(getPlayerStorageValue(cid, config.storage) > 0) then

setPlayerStorageValue(cid, config.storage, -1)

end

end

 

function onDeath(params)

if(getPlayerStorageValue(cid, config.storage) > 0) then

setPlayerStorageValue(cid, config.storage, -1)

end

end

 

 

 

editado, leia de novo.

Editado por warotserv
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...