Postado Setembro 12, 2016 8 anos Este é um post popular. Olá pessoal, este sistema já existe nas versões +9.86, porém para 8.60 ainda não existia então decidimos por faze-lo e distribuir ele para a comunidade. Criticas construtivas são sempre bem vindas Imagem da Página Web A imagem da página web que acompanha o sistema já explica como o sistema funciona e como ele está pré-instalado. Arquivos Crie uma arquivo em data/lib chamado weekend_exp.lua e insira o código abaixo dentro: config_weekend_exp = { dates = {"Tuesday", "Wednesday"}, -- Dias da semana que será ativo rates = { {1, 1.05}, -- {quantidade de jogador online, taxa de bonus} {200, 1.10}, {300, 1.15}, }, storage_bonus = 30303, } function get_bonus_weekend_exp() for _, rate in ipairs(config_weekend_exp.rates) do if #getPlayersOnline() >= rate[1] then if getGlobalStorageValue(config_weekend_exp.storage_bonus) ~= 1 then doBroadcastMessage("[Weekend Exp Event] The server reached "..rate[1].." players online! The bonus of exp is now "..((rate[2] - 1)*100).."%!") end setGlobalStorageValue(config_weekend_exp.storage_bonus, 1) --Bonus ativado return rate[2] --retornando a taxa de exp que deve ser adicionada else setGlobalStorageValue(config_weekend_exp.storage_bonus, -1) end end return 1 end function set_bonus_weekend_exp(cid, monster_name) local rate_bonus = get_bonus_weekend_exp() local monster = getMonsterInfo(monster_name) if getGlobalStorageValue(config_weekend_exp.storage_bonus) == 1 then if getConfigValue("experienceStages") == true then doPlayerAddExp(cid, (monster.experience * getExperienceStage(getPlayerLevel(cid))) * rate_bonus) doPlayerSendTextMessage(cid, 25, "[Weekend Exp Event] Voce esta com "..((rate_bonus - 1)*100).."% de bonus experiencia.") end end return true end Crie uma arquivo em data/creaturescripts chamado weekend_exp.lua e insira o código abaixo dentro: function onKill(cid, target, lastHit) if lastHit and isMonster(target) then local master = getCreatureMaster(target) if not master or master == target then set_bonus_weekend_exp(cid, getCreatureName(target)) end end return true end Crie uma arquivo em data/globalevents chamado weekend_exp.lua e insira o código abaixo dentro: function onThink() if table.find(config_weekend_exp.dates, os.date("%A")) then get_bonus_weekend_exp() end return true end Siga até o diretório data/creaturescripts e adiciona a linha abaixo no arquivo login.lua: registerCreatureEvent(cid, "weekend_exp") Tags XML Adicione cada tag em seu respectivo lugar. creaturescripts.xml <event type="kill" name="weekend_exp" event="script" value="weekend_exp.lua"/> globalevents.xml <globalevent name="weekend_exp" interval="55000" event="script" value="weekend_exp.lua"/> Páǵina PHP Compatível com versões gesior. <?php $main_content .= ' <center> <h2>Weekend Experience Event</h2> </br> Este é um <b>evento automático</b> que é ativado todo final de semana, começando no sábado e terminando no final de domingo. Quando o server atingir uma determinada quantidade de jogadores online, irá ativar um bonus de exp específico, O mesmo vale para quando o servidor diminuir de players, o bonus irá diminuir de acordo com a tabela, confira a seguir. </center> </br> <table width="100%" border="0" cellpadding="4" cellspacing="1"> <tbody> <tr> <td colspan="3" bgcolor="#d4c0a1"> A partir de <b>50 jogadores online</b>, o bonus de exp será de <b>2%</b>. </td> </tr> <tr> <td colspan="3" bgcolor="#f1e0c6"> A partir de <b>100 jogadores online</b>, o bonus de exp será de <b>5%</b>. </td> </tr> <tr> <td colspan="3" bgcolor="#d4c0a1"> A partir de <b>150 jogadores online</b>, o bonus de exp será de <b>10%</b>. </td> </tr> <tr> <td colspan="3" bgcolor="#f1e0c6"> A partir de <b>200 jogadores online</b>, o bonus de exp será de <b>15%</b>. </td> </tr> <tr> <td colspan="3" bgcolor="#d4c0a1"> A partir de <b>300 jogadores online</b>, o bonus de exp será de <b>20%</b>. </td> </tr> </tbody> </table> </br> Quando atingir determinada quantidade de players online, uma mensagem automática será enviada, por exemplo quando atingir 1000:<br><br> <b>Weekend Event:</b> The server reached 1000 players online! The bonus of exp is now 2%!.<br><br> Se vocês forem calcular a porcentagem, podem ver que não é nada exagerado, por exemplo, bonus de 6%: Se ao matar um monstro você for ganhar 2000 de exp, com 6% de bonus você irá ganhar 2120.</font> </br> <center>Desenvolvido por <a href="http://chaitosoft.com/">ChaitoSoft.com</a>.</center> '; ?> Acho que não tem créditos, se alguém souber o nome do idealizador do sistema deixe no comentário. Editado Setembro 17, 2016 8 anos por chaito.soft (veja o histórico de edições)
Postado Setembro 13, 2016 8 anos Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP. Spoiler Congratulations, your content has been approved! Thank you for your contribution, we of Tibia King we are grateful. Your content will help many other users, you received +1 REP. Não li tudo, mas o primeiro erro que vi foi essa função: countPlayersOnline() Por que usar isso? Se dá para usar #getPlayersOnline().
Postado Setembro 17, 2016 8 anos dois arquivos com o mesmo nome, no mesmo local ta certo isso ?? no começo tem o mesmo nome no mesmo local só o conteúdo diferente... ta incompleto ta faltando o lua do globalevents... Crie uma arquivo em data/lib chamado weekend_exp.lua e insira o código abaixo dentro: function onThink() if table.find(config_weekend_exp.dates, os.date("%A")) then get_bonus_weekend_exp() end return true end Em 14/09/2016 ás 13:18, chaito.soft disse: Show muito obrigado, atualizamos o post! Editado Setembro 17, 2016 8 anos por OtFunEX (veja o histórico de edições)
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.