Gabrielkss 10 Postado Dezembro 6, 2011 Share Postado Dezembro 6, 2011 (editado) Olá, Vou Ensiar hoje como por Loteria Sytem no seu server Para TFS 0.3.5 (MOD) 1º:Vai em Mods na Pasta do seu ot e Crie um Aquivo Chamado "lottery.xml" (Sem Aspas) e Adicone isso dentro dele : <mod name="Lottery System" version="1.5" author="" contact="" 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) 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("[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> 2º: Agora Va em data/globalevents e Adicione "lottery.lua" e dentro dela Adicione : function onThink(cid, interval, lastExecution) local config = { hours = 4, items = {{2472,1},{2160,10},{2494,1},{2514,1}} } local on,list = getPlayersOnline(),{} if #on > 0 then for i = 1, #on do if getPlayerAccess(on[i]) < 3 and getCreatureName(on[i]) ~= "Account Manager" then table.insert(list, on[i]) end end if #list > 0 then local p,r = list[math.random(#list)],config.items[math.random(#config.items)] doPlayerAddItem(p, r[1], r[2] or 1) doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(p) .. ", Reward: "..r[2].." "..getItemNameById(r[1]).."! Congratulations! (Next Lottery in "..config.hours.." hours)") end end return true end 3º: Agora Va em data/globalevents/globalevents.xml e Adicione: <globalevent name="lottery" interval="10800" event="script" value="lottery.lua"/> Pronto.... Agora se Quer Adicionar o Sistema de Loteria no Site e o Seguinte : 1º: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>'; } ?> 2º: Abra o Index.php e Adicione : case "lottery"; $topic = "Lottery System"; $subtopic = "lottery"; include("lottery.php"); break; 3º: DB: 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'); Pronto Sua Loteria ja esta adc no seu Site Bom Proveito Editado Novembro 27, 2012 por gabreilk Coiyote reagiu a isso 1 Link para o comentário https://xtibia.com/forum/topic/174454-sistema-de-loteriaexclusivo/ Compartilhar em outros sites More sharing options...
DeadSmok3r 4 Postado Dezembro 6, 2011 Share Postado Dezembro 6, 2011 (editado) Link de Concorrente Retirado. Editado Dezembro 27, 2011 por AnyurCT Link para o comentário https://xtibia.com/forum/topic/174454-sistema-de-loteriaexclusivo/#findComment-1146163 Compartilhar em outros sites More sharing options...
CoGames 29 Postado Dezembro 6, 2011 Share Postado Dezembro 6, 2011 o meu ot n tem nenhuma pasta mods -.- Link para o comentário https://xtibia.com/forum/topic/174454-sistema-de-loteriaexclusivo/#findComment-1146248 Compartilhar em outros sites More sharing options...
ADMJuan 7 Postado Dezembro 24, 2011 Share Postado Dezembro 24, 2011 post Duplicado!! Link para o comentário https://xtibia.com/forum/topic/174454-sistema-de-loteriaexclusivo/#findComment-1160270 Compartilhar em outros sites More sharing options...
Avuenja 253 Postado Dezembro 27, 2011 Share Postado Dezembro 27, 2011 muito bom estou adicionando no meu ot vamos ver se funciona!! mas oq ele sorteia? kk Link para o comentário https://xtibia.com/forum/topic/174454-sistema-de-loteriaexclusivo/#findComment-1162603 Compartilhar em outros sites More sharing options...
lucasquevedobr 3 Postado Dezembro 28, 2011 Share Postado Dezembro 28, 2011 Muito bom, mas poderia tirar esse erro aqui caso nao tenha player online? [28/12/2011 10:13:43] [Error - GlobalEvent Interface] [28/12/2011 10:13:43] buffer:onThink [28/12/2011 10:13:43] Description: [28/12/2011 10:13:43] [string "loadBuffer"]:8: bad argument #2 to 'random' (interval is empty) [28/12/2011 10:13:43] stack traceback: [28/12/2011 10:13:43] [C]: in function 'random' [28/12/2011 10:13:43] [string "loadBuffer"]:8: in function <[string "loadBuffer"]:2> [28/12/2011 10:13:43] [Error - GlobalEvents::think] Couldn't execute event: lottery Obrigado REP+ Link para o comentário https://xtibia.com/forum/topic/174454-sistema-de-loteriaexclusivo/#findComment-1162956 Compartilhar em outros sites More sharing options...
72asdf 2 Postado Dezembro 28, 2011 Share Postado Dezembro 28, 2011 muito obrigado pela contribuição. Link para o comentário https://xtibia.com/forum/topic/174454-sistema-de-loteriaexclusivo/#findComment-1163440 Compartilhar em outros sites More sharing options...
96luli96 0 Postado Abril 8, 2012 Share Postado Abril 8, 2012 Eu acho que foi mau feito pelo fato de ela nao ter explicada para que serveria cada coisa exemplo, ela nao disse o que eu iria querer sortear na loteria e tambem o tempo entre essas loterias, isso pode deixar muitas pessoas com duvidaas pra mim foi mal feito Link para o comentário https://xtibia.com/forum/topic/174454-sistema-de-loteriaexclusivo/#findComment-1235312 Compartilhar em outros sites More sharing options...
cruelShark 18 Postado Abril 19, 2012 Share Postado Abril 19, 2012 Explica melhor.. Aonde Mudo Os Ids dos itens que o Player pode Ganhar? Ele vai ganhar todos os itens que eu colocar? vai só pra quem ta online?, a cada quanto tempo ocorre o system? e como muda essas coisa vlws ai Link para o comentário https://xtibia.com/forum/topic/174454-sistema-de-loteriaexclusivo/#findComment-1244968 Compartilhar em outros sites More sharing options...
limathago 1 Postado Junho 10, 2012 Share Postado Junho 10, 2012 Galera oque eu entendi que pra mudar a HORA que vai ocorrer voces tenque mudar essa tag: lottery_hour = "3 Hours", -- Time to next lottery (only for broadcast message, real time you can set on globalevents.xml) E para mudar oque vai sortear e so por o ID do item ae ! rewards_id = {2494, 2472, 2514, 2160}, -- Rewards ID OBS: nao sei si esta correto mais se estiver REP+ ae xD Link para o comentário https://xtibia.com/forum/topic/174454-sistema-de-loteriaexclusivo/#findComment-1275371 Compartilhar em outros sites More sharing options...
Subwat 405 Postado Junho 10, 2012 Share Postado Junho 10, 2012 isso qualquer pessoa com uma "mínima" noção de vida saberia neh cara, bastava ler o script. Link para o comentário https://xtibia.com/forum/topic/174454-sistema-de-loteriaexclusivo/#findComment-1275374 Compartilhar em outros sites More sharing options...
Vinc 101 Postado Junho 10, 2012 Share Postado Junho 10, 2012 (editado) @subwat na verdade tem uma parte errada la,alem de isso ser facil ashusauhsahu Galera oque eu entendi que pra mudar a HORA que vai ocorrer voces tenque mudar essa tag: lottery_hour = "3 Hours", -- Time to next lottery (only for broadcast message, real time you can set on globalevents.xml) traduzindo o que esta em vermelho apenas para a mensagem no broadcast,o tempo real você pode mudar em globalevenst.xml @CruelShark o lugar correto para mudar o tempo é na globalevents.xml nessa tag na parte em vermelho( o tempo é em segundos,se n me engano) <globalevent name="lottery" interval="10800" event="script" value="lottery.lua"/> Editado Junho 10, 2012 por lordbug99 Link para o comentário https://xtibia.com/forum/topic/174454-sistema-de-loteriaexclusivo/#findComment-1275394 Compartilhar em outros sites More sharing options...
roriscrave 21 Postado Junho 28, 2012 Share Postado Junho 28, 2012 (editado) Bom ,uso tfs 0.3.6 e não tenho site para o ot. Entao a unica coisa que eu teria que mudar é isso: website = "yes" -- Only if you have php scripts and table `lottery` in your database! Para isso website = "no" -- Only if you have php scripts and table `lottery` in your database! Fiz tudo como mostra o script, mas da o seguinte erro: [Error - GlobalEvent Interface] buffer:onThink Description: [string "loadBuffer"]:8: bad argument #2 to 'random' (interval is empty) stack traceback: [C]: in function 'random' [string "loadBuffer"]:8: in function <[string "loadBuffer"]:2> [Error - GlobalEvents::think] Couldn't execute event: lottery Editado Junho 28, 2012 por roriscrave Link para o comentário https://xtibia.com/forum/topic/174454-sistema-de-loteriaexclusivo/#findComment-1285817 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Junho 28, 2012 Share Postado Junho 28, 2012 (editado) @UP function onThink(cid, interval, lastExecution) local config = { hours = 4, items = {{2472,1},{2160,10},{2494,1},{2514,1}} } local on,list = getPlayersOnline(),{} if #on > 0 then for i = 1, #on do if getPlayerAccess(on[i]) < 3 and getCreatureName(on[i]) ~= "Account Manager" then table.insert(list, on[i]) end end if #list > 0 then local p,r = list[math.random(#list)],config.items[math.random(#config.items)] doPlayerAddItem(p, r[1], r[2] or 1) doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(p) .. ", Reward: "..r[2].." "..getItemNameById(r[1]).."! Congratulations! (Next Lottery in "..config.hours.." hours)") end end return true end Editado Junho 30, 2012 por Vodkart Link para o comentário https://xtibia.com/forum/topic/174454-sistema-de-loteriaexclusivo/#findComment-1285917 Compartilhar em outros sites More sharing options...
roriscrave 21 Postado Junho 29, 2012 Share Postado Junho 29, 2012 (editado) Vlw vodkart, tu é foda man, rep+ Edit: Só uma dúvida, tem como por pro acc manager nunca ganhar? Editado Junho 29, 2012 por roriscrave Link para o comentário https://xtibia.com/forum/topic/174454-sistema-de-loteriaexclusivo/#findComment-1286098 Compartilhar em outros sites More sharing options...
Posts Recomendados