Postado Setembro 10, 2013 11 anos Este é um post popular. Este script dá double exp à todos os player que estiverem online ou entrarem durante o tempo especificado no dia X. Pra quem não sabe, apenas crie um arquivo "QUALQUER-NOME.xml" na pasta "mods" (mesmo lugar do executável do servidor), cole isso dentro e salve: <?xml version='1.0' encoding='UTF-8'?> <mod name='HappyHours' version='1.0' author='Tomek/Xevis' contact='[email protected]' enabled='yes'> <config name='happyHoursConf'> <![CDATA[ HH_STORAGE = 2327 -- nº storage, tenha certeza de colocar uma não usada HH_EXTRA_EXP_PERCENT = 10 -- porcentagem à mais de exp, caso queira double, coloque 100 -- CONFIGURAR O DIA E A DURAÇÃO DO EVENTO -- EXEMPLO: ['DIA], from = '10:00:00', to = '11:00:00' (formato 24 horas) -- EXPLICAÇÃO: ocorrerá no dia tal, das 10 de manhã às 11 da manhã. DAYS = { ['Monday'] = { {from = '16:00:00', to = '22:00:00'} }, ['Tuesday'] = { {from = '16:00:00', to = '22:00:00'} }, ['Sunday'] = { {from = '16:00:00', to = '22:00:00'} }, ['Wednesday'] = { {from = '16:00:00', to = '22:00:00'} }, ['Thursday'] = { {from = '16:00:00', to = '22:00:00'} }, ['Friday'] = { {from = '16:00:00', to = '22:00:00'} }, ['Saturday'] = { {from = '16:00:00', to = '22:00:00'} }, ['Sunday'] = { {from = '16:00:00', to = '22:00:00'} } } ]]> </config> <lib name='happyHoursLib'> <![CDATA[ function doPlayerSetSkills(cid, value) for i = 0, 8 do doPlayerSetRate(cid, i, value) end end function stopNewWorld() doSetStorage(HH_STORAGE, -1) for _, cid in ipairs(getPlayersOnline()) do doPlayerSetSkills(cid, 1) end doBroadcastMessage('MSG QUANDO ACABAR') end ]]> </lib> <globalevent name="happyHoursStop" interval="1000" event="script"> <![CDATA[ domodlib('happyHoursConf') domodlib('happyHoursLib') local daysOpen = {} for k, v in pairs(DAYS) do table.insert(daysOpen, k) end function onThink(interval) if isInArray(daysOpen, os.date('%A')) then for k, v in pairs(DAYS[os.date('%A')]) do if isInArray(v.to, os.date('%X', os.time())) then stopNewWorld() break end end end return true end ]]> </globalevent> <globalevent name="happyHoursStart" interval="1000" event="script"> <![CDATA[ domodlib('happyHoursConf') domodlib('happyHoursLib') local daysOpen = {} for k, v in pairs(DAYS) do table.insert(daysOpen, k) end function onThink(cid, interval) if isInArray(daysOpen, os.date('%A')) then for _, d in pairs(DAYS[os.date('%A')]) do if isInArray(d.from, os.date('%X', os.time())) then local newRate = 1 + (HH_EXTRA_EXP_PERCENT/100) for _, cid in ipairs(getPlayersOnline()) do doPlayerSetSkills(cid, newRate) end doSetStorage(HH_STORAGE, 1) doBroadcastMessage('MSG À TODOS DO SERVIDOR', MESSAGE_STATUS_WARNING) break end end end return true end ]]> </globalevent> <event type='login' name='happyHoursLogin' event='script'> <![CDATA[ domodlib('happyHoursConf') domodlib('happyHoursLib') function onLogin(cid) if getStorage(HH_STORAGE) == 1 then local newRate = 1 + (HH_EXTRA_EXP_PERCENT/100) doPlayerSetSkills(cid, newRate) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'MSG QUANDO O PLAYER LOGAR') else doPlayerSetSkills(cid, 1) end return true end ]]> </event> </mod> É isso aí galera, caso tenha dúvidas poste aqui. Créditos: Script: Tomek Xevis Tópico: Eu '-' Editado Setembro 10, 2013 11 anos por Chiitus (veja o histórico de edições)
Postado Setembro 25, 2013 11 anos Autor Sim, funciona 100%. Apenas tive que modificar o evento "onlogin" por causa que meu server tem potion 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.