Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Fiz este script inspirado no sistema de Online Bônus do antigo servidor FoxWorld.

Consiste em dar dias de Premium Account esporadicamente para aqueles jogadores que são ativos no servidor, estimulando todos a permanecerem o máximo de tempo conectados, especialmente os jogadores Free Account, que não podem contribuir com o servidor através de doações.

 

Explicação:

A cada uma hora initerrupta que o personagem ficar online, o mesmo irá ganhar 1 Online Bônus. 

Acumulando 30 Online Bônus, o personagem ganha 1 dia de Premium Account, e a sua quantidade de Online Bônus recomeçará a ser contada a partir do zero.

Para deixar bem claro, se dentro dessa uma hora o personagem deslogar por qualquer motivo, o contador da tal uma hora para.

 

Exemplo:

Zezinho entrou no servidor 15:00, então às 16:00 ele ganharia 1 Online Bônus. Mas Zezinho precisou ir na padaria, portanto deslogou às 15:20 (antes de 16:00).

Digamos que ele tenha voltado às 15:30, sendo assim ele precisaria ficar online até 16:30, e de fato fica, ganhando o seu primeiro Online Bônus.

Conforme os dias se passam, Zezinho vai ganhando alguns Online Bônus todos os dias, e finalmente consegue acumular 30 Online Bônus, ganhando então 1 dia de Premium Account, e zerando os seus 30 Online Bônus para que possa ganhar outro dia de Premium Account, quando acumular 30 novamente.

 

Agora vamos ao código:

Em data\creaturescripts\scripts crie um arquivo LUA com o nome de de "onlinebonus" e cole dentro:

function addOnlineBonus(cid, horas, bonus_contador, bonus_max)

   if not isPlayer(cid) then
   return false
   end  
   setPlayerStorageValue(cid, bonus_contador, getPlayerStorageValue(cid, bonus_contador) + 1)
   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Por completar uma hora online sem deslogar, você ganhou 1 Online Bônus. Total: ".. getPlayerStorageValue(cid,bonus_contador) .. ".")   
   if getPlayerStorageValue(cid, bonus_contador) >= bonus_max then
   doPlayerSendTextMessage(cid, 19, "Seus ".. bonus_max .." Online Bônus foram convertidos em 1 dia de Premium Account!") 
   doPlayerAddPremiumDays(cid, 1)
   setPlayerStorageValue(cid, bonus_contador, 0)
   end	  
   addEvent(addOnlineBonus, horas * 3600 * 1000, cid, horas, bonus_contador, bonus_max)   
   
end

function onLogin(cid)

   local bonus_contador = 72702 -- Storage que vai guardar quantos online bonus o char possui.
   local horas = 1 -- Quantidade de horas o char precisa ficar logado pra receber cada online bonus. 
   local bonus_max = 30 -- Quantidade de bonus que o char precisa atingir para ganhar 1 dia de premium account, zerando o contador.
   if getPlayerStorageValue(cid, bonus_contador) > 0 then
   doPlayerSendTextMessage(cid,22,"Você está com: " .. getPlayerStorageValue(cid,bonus_contador) .. " Online Bônus.")
   else
   setPlayerStorageValue(cid, bonus_contador, 0)
   doPlayerSendTextMessage(cid,22,"Você está com: 0 Online Bônus.")
   end
   addEvent(addOnlineBonus, horas * 3600 * 1000, cid, horas, bonus_contador, bonus_max) 

return true   
end

 

Agora em data\creaturescripts\creaturescripts.xml adicione a tag:

<event type="login" name="onlinebonus" event="script" value="onlinebonus.lua"/>	

 

E por último vá em data\creaturescripts\scripts\login.lua e adicione esta linha:

registerCreatureEvent(cid, "onlinebonus")

 

Pronto ;)

  • Respostas 6
  • Visualizações 5.4k
  • Created
  • Última resposta

Top Posters In This Topic

Postado

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.

 

@139 adicione os créditos do criador caso não seja você.

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

  • 1 year later...
  • 9 months later...
Postado

Mto bom eu andei um bom tempo atras desse script joguei mto o foxworld e esse sistema visa muito aos player que n tem condições de estar doando , parabéns , eu não sei se ja tem aqui no fórum , porém nunca achei um script do foxworld que o local levava até da gema do (sorcerer) que era varios teleports que levava em lugares aleatórios até q vc acertava e caia na sala de vários warlocks ex. O teleport. tinha y% de levar a sala "a" o mesmo teleport tinha x% de levar a sala "b" e z% de levar a sala "c". É um script mto massa também

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo