Postado Fevereiro 19, 2015 10 anos Dúvida sanada. Editado Março 1, 2015 10 anos por ScythePhantom (veja o histórico de edições)
Postado Fevereiro 19, 2015 10 anos Solução Qual versão do seu servidor? Tente este, originário deste tópico que adaptei para sua necessidade: local rate = 35 --- 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 * Game.getExperienceStage(player:getLevel())) / 100) * rate) player:addExperience(math.floor(expFormula), true) end end end return true end Registre as tags abaixo em seus respectivos lugares: Creaturescripts.xml: <event type="kill" name="Exp_Extra" event="script" value="extraexp.lua"/> Login.lua: player:registerEvent("Exp_Extra") Boa sorte. Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
Postado Fevereiro 19, 2015 10 anos Autor TFS 0.4. Olha, o script aparentemente funcionou, porém fica dando um erro no distro ao logar e deslogar os characters. Erro: Creature Not Found, o erro é no login.lua P.s. eu registrei dessa maneira; registerCreatureEvent("Exp_Extra") que da outra maneira o char nem logava. Obrigado. ____________________________________________________________________________________________________________________ @EDIT: Eu retirei o "registro" do login.lua e aparentemente o erro foi arrumado, há mesmo a necessidade desse registro para algo? Editado Fevereiro 19, 2015 10 anos por ScythePhantom (veja o histórico de edições)
Postado Fevereiro 19, 2015 10 anos É que este script foi projetado para TFS 1.0. Vou editar, já retorno. Se removeu e o erro parou, é porque provavelmente não está executando a função, então não terá erro.. Com a tag removida, o erro parou e o script funcionou? Pode também tentar este: function onLogin(cid) local rate = 1.35 local days = getPlayerPremiumDays(cid) local config = { yes_premium = "Você tem "..((rate - 1)*100).."% de EXP em vantagem, ainda lhe restam "..days.." dias de VIP!", not_premium = "Tornesse VIP e tenha "..((rate - 1)*100).."% a mais de EXP!", premium = isPremium(cid) } if (config.premium == TRUE) then doPlayerSetExperienceRate(cid, rate) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.yes_premium) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.not_premium) end return TRUE end Editado Fevereiro 19, 2015 10 anos por Adriano SwaTT (veja o histórico de edições) Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
Postado Fevereiro 19, 2015 10 anos Autor Eu removi o registro do login.lua e o script anterior que você passou e já funcionou corretamente... Corro risco de haver algum bug?
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.