Lottery System

DevilMoon
em Globalevents e Spells
  • 1
  • 2

DevilMoon

@leonartei
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/01/10Posts: 706Gênero: MasculinoChar no Tibia: Bakwin

Lottery System

 

 

Explicação:

 

Lottery System é um Sistema que Todos os Players que Estiverem Online no Seu OtServer Poderam Ganhar.

O Script Sortea algum Player Online, e Sorteia o Item que o Player Ganhará é claro que ele sorteia so os items que voce escolheu no Script, ele esta arrumado para o evento acontecer em 3 a 3 horas é so arruma na tag o 10800 que no Caso é 3 Horas.

 

Versoes Testadas:

 

TFS> 0.3.4, 0.3.5 e 0.3.6 Forao Testadas!

 

8.50 :button_ok:

8.52 :button_ok:

8.54 :button_ok:

8.60 :button_ok:

 

Script Em Mods:

 

Vá em Data>Mods crie uma pasta.xml chamada lottery e coloque isto dentro dela:

 

<mod name="Lottery System" version="1.4" author="vDk" contact="zlom290@gmail.com" enabled="yes">
       <config name="lottery_config"><![CDATA[
               config = {
                       lottery_hour = "3 Hours", -- Time to next lottery (only for broadcast message, real time you can set on globalevents.xml)
                       rewards_id = {2494, 2472, 2514, 2160}, -- Rewards ID
                       crystal_counts = 10, -- Used only if on rewards_id is crystal coin (ID: 2160).
                       website = "yes" -- Only if you have php scripts and table `lottery` in your database!
               }
       ]]></config>
       <globalevent name="lottery" interval="10800" event="script"><![CDATA[
               domodlib('lottery_config')
       function onThink(interval, lastExecution)
               local list = {}
               for i, tid in ipairs(getPlayersOnline()) do
               list[i] = tid
       end

               local winner = list[math.random(1, #list)]
               local random_item = config.rewards_id[math.random(1, #config.rewards_id)]

       if(random_item == 2160) then
               doPlayerAddItem(winner, random_item, config.crystal_counts)
               doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " .. config.crystal_counts .. " " .. getItemNameById(random_item) .. "s! Congratulations! (Next Lottery in " .. config.lottery_hour .. "")
       else
               doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " .. getItemNameById(random_item) .. "! Congratulations! (Next Lottery in " .. config.lottery_hour .. "")
               doPlayerAddItem(winner, random_item, 1)
       end

       if(config.website == "yes") then
               db.executeQuery("INSERT INTO `lottery` (`name`, `item`) VALUES ('".. getCreatureName(winner) .."', '".. getItemNameById(random_item) .."');")
       end
       return true
       end 
       ]]></globalevent>
</mod>

 

Feche e Salve!

 

Script Em Arquivos.lua:

 

Se seu OtServer nao Tiver a Pasta Mods, Voce podera colocar normalmente em pastas.lua!!

 

 

Vá em Data>Globalevents.xml abra-lo e Adicione esta Tag:

 

<globalevent name="lottery" interval="10800" event="script" value="lottery.lua"/>

 

Agora vá em Data>GlobalEvents>Scripts crie uma pasta.lua chamada lottery e coloque isto:

 

-- by vDk
local config = {
   lottery_hour = "3 Hours", -- Time to next lottery (only for broadcast message, real time you can set on globalevents.xml)
   rewards_id = {2494, 2472, 2514, 2160}, -- Rewards ID
   crystal_counts = 10, -- Used only if on rewards_id is crystal coin (ID: 2160).
   website = "yes" -- Only if you have php scripts and table `lottery` in your database!
   }
function onThink(interval, lastExecution)
   local list = {}
   for i, tid in ipairs(getPlayersOnline()) do
   list[i] = tid
end

       local winner = list[math.random(1, #list)]
       local random_item = config.rewards_id[math.random(1, #config.rewards_id)]

       if(random_item == 2160) then
               doPlayerAddItem(winner, random_item, config.crystal_counts)
               doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " .. config.crystal_counts .. " " .. getItemNameById(random_item) .. "s! Congratulations! (Next Lottery in " .. config.lottery_hour .. "")
       else
               doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " .. getItemNameById(random_item) .. "! Congratulations! (Next Lottery in " .. config.lottery_hour .. "")
               doPlayerAddItem(winner, random_item, 1)
       end

       if(config.website == "yes") then
               db.executeQuery("INSERT INTO `lottery` (`name`, `item`) VALUES ('".. getCreatureName(winner) .."', '".. getItemNameById(random_item) .."');")
       end
       return true
end

 

Feche e Salve Tudo!

 

Para Sites.php e MySql:

 

Bom Se voce Tem um Site e Quiser adicionar este Script nele, para Anunciar no Seu site quem Ganhou a Loteria entao Siga essas Etapas.

 

(Nao Sei mecher Muinto Nisso.)

 

 

Crie uma Pasta.php e Coloque o Nome de Lottery (Lottery.Php) e adicione isto:

 

<?PHP
$lottery = $SQL->query('SELECT id, name, item FROM lottery ORDER BY id DESC LIMIT 1;');
foreach($lottery as $result) {
$main_content .= '<center><h1>Lottery</h1></center>
<center>Every X hours we will choose one player who will win random item!<br/>
Last Winner: <a href="?subtopic=characters&name='.urlencode($result['name']).'">'.$result['name'].'</a> Item: <i>'.$result['item'].'</i> Congratulations!</center>';
}
?>

 

Abra o Index.Php e Adicione Isto:

 

     case "lottery";
         $topic = "Lottery System";
         $subtopic = "lottery";
         include("lottery.php");
     break;

 

e Por Ultimo na DateBase, Crie uma e Coloque:

 

CREATE TABLE `lottery` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `item` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;

 

INSERT INTO `lottery`(`id`, `name`, `item`) VALUES (NULL , 'Nobody', 'nothing');

 

Feche e Salve Tudo, e Esta Pronto.

 

 

Creditos:

 

Criador do Script = Vdk 100%

Criador do Topico = DevilMoon

 

 

 

Abraços..

Contato: DevilMoon@Xtibia.com

matheus1000

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 14/05/10Posts: 114

Ótimo,

 

vale apena por no OT. ;D

att,

MasterMathw

 

 

Voltando aos poucos.

dener7

Most than Become ..
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 10/08/08Posts: 1Char no Tibia: Simplzynhu

dáah pra dar uma explicadinha mlr?

DB ?

:withstupidsmiley:

 

 

Gtz :D

DevilMoon

@leonartei
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/01/10Posts: 706Gênero: MasculinoChar no Tibia: Bakwin

Oque Tu nao Entendeu?

Contato: DevilMoon@Xtibia.com

Churijo

.
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 10/07/10Posts: 62

Como sempre ein Devil :thumbsupsmiley:

Parabéns

 

Muito bom pra colocar em OT , para deixar mais atraente :bigsmile:

 

Dúvida: 8.54 para mais, aceita?

 

Abraços. :biggrin:

"Soldados! não batalheis pela escravidão! lutai pela liberdade!"



daily_gifdump_56_05.gif

ZaskxD

Imperial Zasks!
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/04/10Posts: 74Char no Tibia: Walking Knight

vou Implantar no meu OT! MUITO BOM!!!!!!!

 

 

 

Crie Você Tbm Seu Avatar Clique aqui

Dobol

MATHEUSP.COM.BR
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 18/10/09Posts: 246Gênero: MasculinoChar no Tibia: Aran Than

Pow, muito bacana...

 

Mais está muito mal explicado...

 

O Player estara concorrendo do nada? Sempre vai ter ganhador? Para onde vai o item?

 

Explique melhor... ¬¬'

Antigo TheSleeper (Mapper) voltando para a área de jogos como Dobol ;)

Meus Trabalhos
• Annihilator Full Global
Talkaction - !aol
 

DevilMoon

@leonartei
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/01/10Posts: 706Gênero: MasculinoChar no Tibia: Bakwin

Sim , qualquer Player Online no teu Ot , Vai Estar Concorrendo !

o item aparece na backpack dele! e sim sempre tem um ganhador!

 

@edit

 

Topico Reformulado!

Contato: DevilMoon@Xtibia.com

HeartBreak

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/07/10Posts: 48

DB = DATABASE !

 

pra adicionar aquele valor salve no bloco de notas como "nome.sql" entre na sua database [pelo http://localhost/phpmyadmin] e clique em importar.

 

ou apos chegar na sua database clique em SQL e coloque o valor ali e clique em executar [2° modo acabaram de me falar que funciona , não testei]

DevilMoon

@leonartei
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/01/10Posts: 706Gênero: MasculinoChar no Tibia: Bakwin

Obrigado Heath Break :p

 

Obrigado all Pelos Elogios!

Contato: DevilMoon@Xtibia.com

felipedorgas

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 01/06/10Posts: 230

em quanto em quanto tempo? tem como edita isso tbm?

papeldeparededopalmeira.jpg

Leoprotons

Rock nas Veia, e nas Véia tambêm!!!
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 14/08/10Posts: 186

*Topico organizado

*Funfanfo no 8.60

Parabens muito bom continue assim

 

Rep +

otserver.png

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

@Felipe

 

edita aqui no vermelho:

 

<globalevent name="lottery" interval="10800" event="script" value="lottery.lua"/>

 

 

lembrando que são o tempo em segundos. ( no caso ali está 3 horas)

bossisg.png

DevilMoon

@leonartei
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/01/10Posts: 706Gênero: MasculinoChar no Tibia: Bakwin

Opa nao tinha visto valew pelo REP + E Pelo Test em 8.6 , Vodkart Valew por ajudar! e Obrigado pelos Elogios!

 

Abraços..

Contato: DevilMoon@Xtibia.com

magnoataide

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 21/06/10Posts: 11Char no Tibia: Goth Icewood

Cara mal explicado porem funciona!

 

Para aparecer no Community do seu SITE

 

<a href='?subtopic=lottery'>
 <div id='submenu_lottery' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)' onMouseOut='MouseOutSubmenuItem(this)'>
   <div class='LeftChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div>
   <div id='ActiveSubmenuItemIcon_characters' class='ActiveSubmenuItemIcon' style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);'></div>
   <div class='SubmenuitemLabel'><font color="blue">Lottery</font></div>
   <div class='RightChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div>
 </div>
</a>

  • 1
  • 2