Sua Comunidade de servidores derivados


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

#1
 RenataPT


Membro
Membro
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:
Spoiler:
<?xml version='1.0' encoding='UTF-8'?>
<mod name='HappyHours' version='1.0' author='Tomek/Xevis' contact='xevis@ovi.com' 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:
Spoiler:
Script: Tomek
Xevis
Chiitus(poster Tibiaking)
Renatapt(copiar post para aqui)
Ver perfil do usuário

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]


Permissão deste fórum:
Você não pode responder aos tópicos neste fórum