-
Quem Está Navegando 0 membros estão online
Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
Por Leohige
Evento Loteria
Esse evento loteria é diferente dos demais que existem hoje nos servidores, é baseado em cima de um evento que ocorre no CraftLandia (um servidor de Minecraft).
Quando o evento for iniciado o jogador poderá pagar um valor (configurável) para tentar acertar o número premiado (que vai de 1 até o número configurado). O evento tem um tempo de duração (configurável) e o primeiro jogador a acertar qual é o número premiado levará um premio em dinheiro (configurável) e o evento será encerrado.
Demonstrações:
Comandos:
Configuração:
Caso queira implementar este evento em seu servidor, crie os arquivos abaixo.
data/lib/lottery/event.lua (as configurações ficam neste arquivo)
data/globalevents/scripts/lottery.lua
data/globalevents/globalevents.xml
você pode por com um intervalo de tempo
ou horário fixo
data/talkactions/scripts/lottery.lua
data/talkactions/talkactions.xml
Tradução para PT-BR!
Caso deseje traduzir o evento, substitua o Lottery.messages inteiro em data/lib/lottery/event.lua por este
Qualquer problema, sugestão, bug ou dúvida utilize este tópico!!!
-
Por
Absolute
Fala galera do TIBIAKING!
Trago hoje um sistema fácil de adaptação, ou seja apenas um arquivo MOD!
Sem mimimi vamos ao que interessa:
Crie um arquivo com o nome de Loterry.xml na pasta data/mods do seu servidor e dentro do arquivo adicione:
<mod name="Lottery System" version="1.5" author="Absolute" contact="[email protected]" enabled="yes"> <config name="lottery_config"><![CDATA[ config = { lottery_hour = "2 hour", -- Time to next lottery (only for broadcast message, real time you can set on globalevents.xml) rewards_id = {2160}, -- Rewards ID crystal_counts = 10, -- Used only if on rewards_id is crystal coin (ID: 2160). website = "no" -- Only if you have php scripts and table `lottery` in your database! } ]]></config> <globalevent name="lottery" interval="3600000" event="script"><![CDATA[ domodlib('lottery_config') function onThink(interval, lastExecution) if(getWorldCreatures(0) == 0)then return true end 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("[Loteria Automatica] Ganhador: " .. getCreatureName(winner) .. ", Reward: " .. getItemNameById(random_item) .. "! Parabens (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> No seu PHPMYADMIN, execute a seguinte query:
CREATE TABLE `lottery` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `item` varchar(255) NOT NULL, `world_id` tinyint(2) unsigned NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; Depois:
INSERT INTO `lottery` (`id`, `name`, `item`, `world_id`) VALUES (NULL, 'Nobody', 'nothing', 0); Agora na pasta do seu site, htdocs ou www crie um arquivo com o nome de loteria.php e dentro adicione:
<?PHP $main_content .= '<center><h1>Lottery</h1><h3>As loterias acontecem todo dia no servidor.</h3></center><br><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><tr BGCOLOR="'.$config['site']['vdarkborder'].'"><td CLASS=white><center><b>Nome do ganhador</b></center></td><td CLASS=white width=184 colspan=2><center><b>Recompensa</b></center></td><td width=100 CLASS=white><center><b>World</b></center></td></tr>'; $lottery = $SQL->query('SELECT id, name, item, world_id FROM lottery WHERE world_id = 0 ORDER BY id DESC;'); foreach($lottery as $result) { $players++; if(is_int($players / 2)) $bgcolor = $config['site']['lightborder']; else $bgcolor = $config['site']['darkborder']; $main_content .= '<TR BGCOLOR='.$bgcolor.'><TD WIDTH=35%><center><a href="?subtopic=characters&name='.urlencode($result['name']).'">'.$result['name'].'</a></center></td><TD WIDTH=5%><img src=\'/images/'.urlencode($result['item']).'.gif\'></td><TD WIDTH=30%><b>'.$result['item'].'</b></td><TD WIDTH=30%><center>Norah World</center></td></tr> <center><a href="http://www.tibiaking.com/forum/user/116608-absolute/">Absolute</a> on tibiaking - Todos os direitos reservados</center> '; } $main_content .= '</table>'; ?> Em seu index.php adicione:
case "lottery"; $topic = "Lottery System"; $subtopic = "lottery"; include("lottery.php"); break; Adicione onde preferir no menu do seu Gesior no layout.php
Modelo base:
Créditos:
Absolute
vdK
KleKSu
Caso haja dúvidas não deixe de perguntar
Até o próximo.
Absolute.
-
Por MateusAquino
Eae Galera Do TibiaKing! Bem, estou com uma duvida, no OT que eu baixei tem um sistema de loteria, porém tava OFFLINE (O SISTEMA) mas daí resolvi por on-line, só que, eu preciso entender o tempo (intervals) que fica no globalevents.xml eu queria botar loteria a cada 1 hora, você pode botar esse interval de 1 hora no meu script?
<globalevent name="sistemadeloteria" interval="____" script="sistemadeloteria.lua" />
Essa é a script, se alguém também puder me explicar como funciona esse sistema de interval fico agradecido
#OBG REP+
-
Por maiconmnt
Boa noite pessoal. Tenho uma ideia de sistema de loteria diferente para ot, se alguém se dispor a fazer eu agradeço. E creio que será de grande valia para outros ots também.
O script seria para a versão 8.60. tfs 0.4, ou otx 2
Seguinte, gostaria de um sistema de loteria bem semelhante ao da realidade que ocorresse umas três vezes na semana somente. Para participar o player vai ate um npc e paga um valor para poder participar. Quando chegar no dia e na hora de ocorrer o sorteio, o npc/script faz o sorteio apenas para os players que compraram com ele baseado na quantidade do valor juntado das apostas de todos os players. Por exemplo, digamos que o valor seja 10k para apostar. E ate o fechamento da aposta, 10 players foram ate o npc e compraram seu "bilete de aposta", entao o valor a ser sorteado para o ganhador seja 100k. e depois recomeça tudo ate o proximo sorteio.
Vou fazer um rascunho com dialogo do npc abaixo para tentar exemplificar melhor.
Player: Hi
Npc Loteria: Ola player name, sou o reponsavel pela loteria desse ot. Para fazer sua aposta diga {aposta}, para saber em quanto o premio esta cumulado diga {premio}, ou então diga {receber) caso voce seja o ganhador do ultimo sorteio da nossa loteria.
Player: aposta
Npc Loteria: O valor atual para apostas em nossa loteria é de 10000 gold, tem certeza de que deseja apostar?
Player: yes
Npc Loteria: Muito bem! Voce esta participando do proximo sorteio da nossa loteria.
Dai quando ocorresse o sorteio fosse anunciando na tela via broadcast mesmo com o ganhador, ou algo relacionado ao site, tanto faz. Se possível ter que ir ao npc para poder pegar o premio. Mas caso nao, pode ser entregue direto ao player mesmo assim como ocorre com o sistema de loteria normal que tem nos ots atualmente.
Tudo isso pode ser adaptado de acordo com as possibilidades e ideias, mas o objetivo principal com essa ideia é fazer com que para participar do sorteio do sistema de loteria o player tenha que pagar um valor para isso, e que o premio seja a soma do valor de todos os players que apostaram.
Bom é isso ai, se alguma alma boa e com conhecimento para tal puder desenvolver esse script ai para nós, seremos muito gratos!
-
Por JuremaFox
Olá pessoal venho aqui postar o script de loteria mostrando os itens e os resultados na página do gesior, pesquisei no forum mas não achei o sistema com a página no gesior compatível com TFS 1.2 (os que achei não mostrava o resultado no site ou deu algum erro no distro). Achei o script em um forum gringo e a página do gesior aqui no forum, mas modifiquei porque haviam erros. Peço que se eu estiver enganado me avisem que removerei esse tópico. NÃO DAREI SUPORTE, PRA QUEM ENTENDE O BÁSICO DE SCRIPT SERÁ FÁCIL CONFIGURAR.
Vamos lá primeiramente crie um arquivo lua em globalevent/scripts com o nome lottery.lua e adicione
em seguida em globalevents.xml adicione
agora crie uma página no seu gesior com o nome lottery.php e coloque
agora vá na sua database e execute o comando SQL
pronto o sistema está ok, configurado para sortear 1 dos membros online de 3 em 3 horas, editar no globalevent e na página do gesior os itens que será sorteado. Agora a imagem de como ficará no site.
Créditos : Shyzoul do forum gringo pelo script.
WalaceBz pela página do gesior, que fiz uma pequena modificação, o script original dele é encontrado nesse post AQUI.
Eu por trazer ao forum e funcionando perfeitamente em TFS 1.2
-