Postado Setembro 12, 2016 10 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 9 anos por chaito.soft (veja o histórico de edições)
Postado Setembro 13, 2016 10 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(). _ .-'` `} _./) / } .'o \ | } '.___.'`.\ {` /`\_/ , `. } ME DA UMA NOZ! \=' .-' _`\ { `'`;/ `, } _\ @ ; } /__`;-...'--' Cluck!
Postado Setembro 17, 2016 9 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 9 anos por OtFunEX (veja o histórico de edições) OT PURA DIVERSÃO | IP: otfun.servegame.com | 8.60 | Port: 7171
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.