Ir para conteúdo

Featured Replies

Postado

Pessoal, eu tenho um script que da bonus 50% exp para P.A, e que funcioa 100%
Ele esta no creature scripts, com evento kill registrado no login.

 

 

local rate = 50 --- porcentagem que irá ganhar a mais.

 
function onKill(cid, target, lastHit)
 
if isPremium(cid) then
local monster = Monster(target)
if not monster then
return true
end
 
for id, damage in pairs(monster:getDamageMap()) do
local player = Player(id)
if player then
local experience = damage.total / monster:getType():getHealth() * monster:getType():getExperience() 
local expFormula = ((experience / 100) * rate)
player:addExperience(math.floor(expFormula), true)
local mensagem_premium = "You have "..player:getPremiumDays().." and 50% more experience."
if isPremium(cid) then
player:sendTextMessage(MESSAGE_STATUS_DEFAULT, mensagem_premium)
end
end
end
end
 
return true
end


Agora, eu tentei fazer um double exp, um item que da um storage por x tempo, e quem tem o storage ganha 2 exp.
Usei o mesmo script para fazer isso, mas não deu certo (eu registrei o evento no login)

 

 

local rate = 100 --- porcentagem que irá ganhar a mais.

 
function onKill(cid, target, lastHit)
 
local thing = self:getStorageValue(80000)
    if thing > os.time() then
local monster = Monster(target)
if not monster then
return true
end
 
for id, damage in pairs(monster:getDamageMap()) do
local player = Player(id)
if player then
local experience = damage.total / monster:getType():getHealth() * monster:getType():getExperience() 
local expFormula = ((experience / 100) * rate)
player:addExperience(math.floor(expFormula), true)
end
end
end
 
return true
end


Não da certo, alguém sabe onde ta errando?

  • Respostas 11
  • Visualizações 847
  • Created
  • Última resposta

Top Posters In This Topic

Postado
  • Autor

Não thiago, você não entendeu.

O primeiro script, que ESTA FUCIONANDO, da 50% exp para player que for premium

 

 

if isPremium(cid) then

O segundo script, que da double exp para o player que tiver o storage, a diferença dos 2 scripts é só a do if
 

 

local thing = self:getStorageValue(80000)

    if thing > os.time() then

Não importa se o player conseguiu o storage por item ou não, não faz diferença.

Se o primeiro script ta funcionando, porque o segundo não esta? Sendo que eu só mudei o que era necessário para adquirir o double exp.

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

Informação Importante

Confirmação de Termo