• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [Sistema] Perfect Lottery System (MySql) - Atualizado

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Sistema de Loterias

    hola usuarios de tibiaface hoy consegui este sistema fabuloso;

    que es lo que hace?

    Nada mas que sortear un item o varios item.

    pero quienes reciven los item?

    los item son sorteados con todos los usuarios de la base de datos registrados. no importa si no esta online tambien los player offline participan en el sorteo:

    instlacion:

    nos vamos a:


    data/globalevents/scripts

    copiamos cualquier archivo y renombramos por loterry.lua y pegamos esto dentro:

    Código:
    local function getPlayerWorldId(cid)
        if not(isPlayer(cid)) then
            return false
        end
        local pid = getPlayerGUID(cid)
        local worldPlayer = 0
        local result_plr = db.getResult("SELECT * FROM `players` WHERE `id` = "..pid..";")
        if(result_plr:getID() ~= -1) then
            worldPlayer = tonumber(result_plr:getDataInt("world_id"))
            result_plr:free()
            return worldPlayer
        end
        return false
    end

    local function getOnlineParticipants()
        local players = {}
        for _, pid in pairs(getPlayersOnline()) do
            if getPlayerAccess(pid) <= 2 and getPlayerStorageValue(pid, 281821) <= os.time() then
                table.insert(players, pid)
            end
        end
        if #players > 0 then
            return players
        end
        return false
    end

    local config = {
    lottery_hour = "2 hours", -- Tempo ate a proxima loteria (Esse tempo vai aparecer somente como broadcast message)
    rewards_id = {2494, 2472, 2514, 2160}, -- ID dos Itens Sorteados na Loteria
    crystal_counts = 10, -- Usado somente se a rewards_id for crystal coin (ID: 2160).
    website = "yes", -- Only if you have php scripts and table `lottery` in your database!
    days = {
    "Monday-08:00",
    "Monday-13:00",
    "Monday-19:30",

    "Tuesday-08:00",
    "Tuesday-13:00",
    "Tuesday-19:30",

    "Wednesday-08:00",
    "Wednesday-13:00",
    "Wednesday-19:30",

    "Thursday-08:00",
    "Thursday-13:00",
    "Thursday-19:30",

    "Friday-01:22",
    "Friday-13:00",
    "Friday-19:30",

    "Saturday-01:49",
    "Saturday-01:50",
    "Saturday-01:51",

    "Sunday-08:00",
    "Sunday-13:00",
    "Sunday-19:30"}
    }
       
    function onThink(cid, interval)
        if table.find(config.days, os.date("%A-%H:%M")) then
            if(getWorldCreatures(o) <= 0)then
                return true
            end

            local query = db.query or db.executeQuery
            local random_item = config.rewards_id[math.random(1, #config.rewards_id)]
            local item_name = getItemNameById(random_item) 
            local data = os.date("%d/%m/%Y - %H:%M:%S")
            local online = getOnlineParticipants()
         
            if online then
                local winner = online[math.random(1, #online)]
                local world = tonumber(getPlayerWorldId(winner))
             
                if(random_item == 2160) then
                    doPlayerSetStorageValue(winner, 281821, os.time() + 3600 * 24)
                    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
                    doPlayerSetStorageValue(winner, 281821, os.time() + 3600 * 24)
                    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
                    query("INSERT INTO `lottery` (`name`, `item`, `world_id`, `item_name`, `date`) VALUES ('".. getCreatureName(winner) .."', '".. random_item .."', '".. world .."', '".. item_name .."', '".. data .."');")
                end
            else
                print("Ninguem ON pra ganhar na loteria")
            end
        end
        return true
    end


    recomendaciones:


    luego nos vamos a:


    Data/ globalevents/ globalevents.xml


    y añadimos esta tag:

    Código:
    <globalevent name="lottery" interval="60000" event="script" value="lottery.lua"/>


    con esto ya tienen instalado el sistema de loteria automatico



    y por ultimo debemos ingresar a nuestro panel mysql y entrar a nuestra base de datos y ejecutar esta tabla:

    Código:
    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',
      `item_name` varchar(255) NOT NULL,
      `date` varchar(256) NOT NULL,
      PRIMARY KEY  (`id`)
     ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

    Si usted desea colocar en su web un pagina dedicada a este sistema de loteria donde todo lo usuarios podran verificar quienes son los ganadores puede usted entonces añadir a su web como indican estos pasos

    1.- crear un nuevo archivo php o copiar alguno que ya estan y renombrar por lottery.php luego pegan esto dentro:

    Código:
    <?PHP
    $main_content .= '<center><h1>Lottery</h1><h3>Lotterys held at 09:00, 14:00 and 20:30 hour, brazil time.</h3></center><br><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><tr BGCOLOR="'.$config['site']['vdarkborder'].'"><td CLASS=white><center><b>Player Name</b></center></td><td CLASS=white width=184 colspan=2><center><b>Winning Item</b></center></td><td width=50 CLASS=white><center><b>World</b></center></td><td width=100 CLASS=white><center><b>Date and Time</b></center></td></tr>';
    $lottery = $SQL->query('SELECT id, name, item, world_id, item_name, date 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=\'/item_images/'.urlencode($result['item']).'.gif\'></td><TD WIDTH=30%><center>'.$result['item_name'].'</center></td><TD WIDTH=7%><center>MegaTibia</center></td></td><TD WIDTH=30%><center>'.$result['date'].'</center></td></tr>';
    }
    $main_content .= '</table>';
    ?>

    2.-ir a al index.php y adicionar esta linea:

    Código:
    case "lottery";
      $topic = "Lottery";
      $subtopic = "lottery";
      include("lottery.php");
    break;


    3.- ir a nuestro layouts.php y adicionar donde van los demas subtopic:

    Código:
     <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_lottery" class="ActiveSubmenuItemIcon" style="background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);"></div>
                                    <div id="ActiveSubmenuItemLabel_lottery" class="SubmenuitemLabel">Lottery</div>
                                    <div class="RightChain" style="background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);"></div>
                            </div>
                    </a>


    y listo cone so tendremos el sistema de loteria igual en nuestra web imagen:

    [Sistema] Perfect Lottery System (MySql) - Atualizado 77lv


    Créditos:
    .lua - Killua e Matheus
    .php - Matheus e Natanael Beckman
    querys - Natanael Beckman e Matheus


    Código:
    Atualizaçion 24/05/2014
    - Adicionado reglas para no sortear miembro de staff(GM, GOD)
    - Adicionando sistema de Storage para no correr o riesgo de un player pueda ganar 2 veses el  mismo dia.



    [Sistema] Perfect Lottery System (MySql) - Atualizado YNU5B25
    4 participantes
    http://www.tibiaface.com

    Juan Carlos

    Juan Carlos
    Miembro
    Miembro
    Hay manera de que funcione para TFS 1.0

    4 participantes
    http://dybbuk.jimdo.com/

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    dybbuk escribió:Hay manera de que funcione para TFS 1.0

    aqui hay uno puedes probar pero no es el mismo pero tiene la misma funcion


    Código:
    local config = {
      interval = "3 hours",
      rewards = {[2195] = 1, [2472] = 1, [2514] = 1, [2157] = 1, [8902] = 1},
        -- [itemid] = count; [2160] = 50 - it gives 50 crystal coins
      website = true
    }


    function onThink(interval)
      if Game.getPlayerCount() == 0 then
        return true
      end

      local players = Game.getPlayers()
      local winner  = players[math.random(1, #players)]

      local items = {}
      for itemid, count in pairs(config.rewards) do
        items[#items + 1] = itemid
      end

      local itemid = items[math.random(1, #items)]
      local amount = config.rewards[itemid]
      winner:addItem(itemid, amount)

      local it  = ItemType(itemid)
      local name = ""
      if amount == 1 then
        name = it:getArticle() .. " " .. it:getName()
      else
        name = amount .. " " .. it:getPluralName()
      end

      broadcastMessage("[LOTTERY SYSTEM] " .. winner:getName() .. " won " .. name .. "! Congratulations! (Next lottery in " .. config.interval .. ")")

      if config.website then
        db.query("INSERT INTO `lottery` (`name`, `item`) VALUES (\"".. db.escapeString(winner:getName()) .."\", \"".. db.escapeString(it:getName()) .."\");")
      end
      return true
    end



    [Sistema] Perfect Lottery System (MySql) - Atualizado YNU5B25
    4 participantes
    http://www.tibiaface.com

    TheFlariuz

    TheFlariuz
    Miembro
    Miembro
    maya y para que sea casa 1 horas

    4 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    TheFlariuz escribió:maya y para que sea casa 1 horas

    modifique el intervalo

    interval="60000" ----> en milesengudos calcule una hora en milisegundos



    [Sistema] Perfect Lottery System (MySql) - Atualizado YNU5B25
    4 participantes
    http://www.tibiaface.com

    cimmeria

    cimmeria
    Miembro
    Miembro
    es posible para tfs 1.3?

    4 participantes
    http://sayayinz.ddns.net

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    cimmeria escribió:es posible para tfs 1.3?

    no



    [Sistema] Perfect Lottery System (MySql) - Atualizado YNU5B25
    4 participantes
    http://www.tibiaface.com

    8[Sistema] Perfect Lottery System (MySql) - Atualizado Empty para tfs 1.3 Vie Mayo 29, 2020 9:43 pm

    cimmeria

    cimmeria
    Miembro
    Miembro
    Código:
    <globalevent name="Lottery" interval="7200000" script="lottery.lua"/>

    Código:
    local config = {
        interval = "2 hours",
        rewards = {[2160] = 3, [2159] = 1, [24774] = 1},
        -- [itemid] = count; [2160] = 50 - it gives 50 crystal coins
        website = false
    }
     
    function onThink(interval)
        local players = {}
        for _, player in ipairs(Game.getPlayers()) do
            if not player:getGroup():getAccess() then
                table.insert(players, player)
            end
        end
     
        local c = #players
        if c <= 0 then
            return true
        end
     
        local winner  = players[math.random(#players)]
     
        local items = {}
        for itemid, count in pairs(config.rewards) do
            items[#items + 1] = itemid
        end
     
        local itemid = items[math.random(1, #items)]
        local amount = config.rewards[itemid]
        winner:addItem(itemid, amount)
     
        local it   = ItemType(itemid)
        local name = ""
        if amount == 1 then
            name = it:getArticle() .. " " .. it:getName()
        else
            name = amount .. " " .. it:getPluralName()
        end
     
        broadcastMessage("[LOTTERY SYSTEM] " .. winner:getName() .. " won " .. name .. "! Congratulations! (Next lottery in " .. config.interval .. ")")
     
        return true
    end

    parte de web uso gesior 2019

    pages añadimos un archivo lo renombramos lottery.php

    Código:
    <?php
    if(!defined('INITIALIZED'))
       exit;
    $main_content .= '                  <div class="Border_2">
                                        <div class="Border_3">
                                            <div class="BoxContent" style="background-image:url(./layouts/tibiacom/images/global/content/scroll.gif);">
                                                
          <div class="TableContainer">
             <div class="CaptionContainer">
                   <div class="CaptionInnerContainer">
                      <span class="CaptionEdgeLeftTop" style="background-image:url(./layouts/tibiacom/images/global/content/box-frame-edge.gif);"></span>
                      <span class="CaptionEdgeRightTop" style="background-image:url(./layouts/tibiacom/images/global/content/box-frame-edge.gif);"></span>
                      <span class="CaptionBorderTop" style="background-image:url(./layouts/tibiacom/images/global/content/table-headline-border.gif);"></span>
                      <span class="CaptionVerticalLeft" style="background-image:url(./layouts/tibiacom/images/global/content/box-frame-vertical.gif);"></span>
                      <div class="Text">Lottery System</div>
                      <span class="CaptionVerticalRight" style="background-image:url(./layouts/tibiacom/images/global/content/box-frame-vertical.gif);"></span>
                      <span class="CaptionBorderBottom" style="background-image:url(./layouts/tibiacom/images/global/content/table-headline-border.gif);"></span>
                      <span class="CaptionEdgeLeftBottom" style="background-image:url(./layouts/tibiacom/images/global/content/box-frame-edge.gif);"></span>
                      <span class="CaptionEdgeRightBottom" style="background-image:url(./layouts/tibiacom/images/global/content/box-frame-edge.gif);"></span>
                   </div>
                </div><table class="Table3" cellpadding="0" cellspacing="0">

                <tbody><tr>
                   <td><div class="InnerTableContainer">
                      <table style="width:100%;">
                         <tbody><tr>
                            <td>
                               <div class="TableShadowContainerRightTop">
                                     <div class="TableShadowRightTop" style="background-image:url(./layouts/tibiacom/images/global/content/table-shadow-rt.gif);"></div>
                                  </div>
                                  <div class="TableContentAndRightShadow" style="background-image:url(./layouts/tibiacom/images/global/content/table-shadow-rm.gif);">
                                     <div class="TableContentContainer">
                                        <table class="TableContent" width="100%">
                                           <tbody><tr bgcolor="#D4C0A1">
                                              <td>Every 2 hours, a random item is drawn among all online players.</td>
                                           </tr>
                                        </tbody></table>
                                     </div>
                                  </div>
                                  <div class="TableShadowContainer">
                                     <div class="TableBottomShadow" style="background-image:url(./layouts/tibiacom/images/global/content/table-shadow-bm.gif);">
                                        <div class="TableBottomLeftShadow" style="background-image:url(./layouts/tibiacom/images/global/content/table-shadow-bl.gif);"></div>
                                        <div class="TableBottomRightShadow" style="background-image:url(./layouts/tibiacom/images/global/content/table-shadow-br.gif);"></div>
                                     </div>
                                  </div>
                               </td>
                            </tr>
                            <tr>
                               <td><div class="TableShadowContainerRightTop">
                                     <div class="TableShadowRightTop" style="background-image:url(./layouts/tibiacom/images/global/content/table-shadow-rt.gif);"></div>
                                  </div>
                                  <div class="TableContentAndRightShadow" style="background-image:url(./layouts/tibiacom/images/global/content/table-shadow-rm.gif);">
                                     <div class="TableContentContainer">
                                        <table class="TableContent" width="100%">
                                           <tbody><tr bgcolor="#D4C0A1">
                                              <td><b>Rewards:</b>
                                              <br><br>These are the rewards that can be obtained in the lottery randomly:
                                              <br><li><img width="32" height"32"="" src="https://vignette.wikia.nocookie.net/tibia/images/d/d0/Green_Light.gif/revision/latest?cb=20140530113950&amp;path-prefix=en"> Increase all your skills +2.
                                              <br></li><li><img width="32" height"32"="" src="https://vignette.wikia.nocookie.net/tibia/images/5/55/Crystal_Coin.gif/revision/latest?cb=20101111033338&amp;path-prefix=en"> 100 Crystal Coins.
                                              <br></li><li><img width="32" height"32"="" src="https://vignette.wikia.nocookie.net/tibia/images/6/6a/Jester_Doll.gif/revision/latest?cb=20090401153357&amp;path-prefix=en"> Addon Doll.
                                              <br></li><li><img width="32" height"32"="" src="https://vignette.wikia.nocookie.net/tibia/images/c/c6/Broken_Amulet.gif/revision/latest?cb=20101110204212&amp;path-prefix=es"> Empiric Amulet.
                                              <br></li><li><img width="32" height"32"="" src="https://vignette.wikia.nocookie.net/tibia/images/5/5c/Draken_Doll.gif/revision/latest?cb=20150603184424&amp;path-prefix=en"> Mount Doll.
                                              <br></li><li><img width="32" height"32"="" src="https://vignette.wikia.nocookie.net/tibia/images/8/8f/Horn_%28Ring%29.gif/revision/latest?cb=20130903162130&amp;path-prefix=en"> Empiric Ring.
                                              <br></li><li><img width="32" height"32"="" src="https://vignette.wikia.nocookie.net/tibia/images/f/f3/Sweet_Mangonaise_Elixir.gif/revision/latest?cb=20100623220658&amp;path-prefix=en"> Stamina Refill.
                                              <br></li><li><img width="32" height"32"="" src="https://vignette.wikia.nocookie.net/tibia/images/f/fd/Rod_of_Mayhem_%28Overcharged%29.gif/revision/latest?cb=20160927120852&amp;path-prefix=en"> Empiric Rod.
                                              <br></li><li><img width="32" height"32"="" src="https://vignette.wikia.nocookie.net/tibia/images/0/02/Wand_of_Mayhem_%28Overcharged%29.gif/revision/latest?cb=20160927120936&amp;path-prefix=en"> Empiric Wand.
                                              <br></li><li><img width="32" height"32"="" src="https://vignette.wikia.nocookie.net/tibia/images/3/30/Bow_of_Mayhem_%28Overcharged%29.gif/revision/latest?cb=20160620124420&amp;path-prefix=en"> Empiric Bow.
                                              <br></li><li><img width="32" height"32"="" src="https://vignette.wikia.nocookie.net/tibia/images/e/e4/Blade_of_Mayhem_%28Overcharged%29.gif/revision/latest?cb=20160621082323&amp;path-prefix=en"> Empiric Sword.
                                              <br></li><li><img width="32" height"32"="" src="https://vignette.wikia.nocookie.net/tibia/images/6/6e/Axe_of_Mayhem_%28Overcharged%29.gif/revision/latest?cb=20160623213755&amp;path-prefix=en"> Empiric Axe.
                                              <br></li><li><img width="32" height"32"="" src="https://vignette.wikia.nocookie.net/tibia/images/d/da/Mace_of_Mayhem_%28Overcharged%29.gif/revision/latest?cb=20161107190726&amp;path-prefix=en"> Empiric Club.
                                          <br></li></td>
                                           </tr>
                                        </tbody></table>
                                     </div>
                                  </div>
                                  <div class="TableShadowContainer">
                                     <div class="TableBottomShadow" style="background-image:url(./layouts/tibiacom/images/global/content/table-shadow-bm.gif);">
                                        <div class="TableBottomLeftShadow" style="background-image:url(./layouts/tibiacom/images/global/content/table-shadow-bl.gif);"></div>
                                        <div class="TableBottomRightShadow" style="background-image:url(./layouts/tibiacom/images/global/content/table-shadow-br.gif);"></div>
                                     </div>
                                  </div>
                                  <div style="margin:15px 0px 15px 0px">
                                     <table border="0" style="width: 99%; border-radius:5px; border:1px dashed #A7D7F9; background-color:#EEF6FA; padding:2px">
                                     <tbody><tr>
                                        <td><b>Note:</b> the information about this in the <a href="" title="Reward Chest">Lottery System</a> you can check on <b><font color="green">Tibiarl2 World.</font></b></td>
                                     </tr></tbody></table>
                                                 </div>
                                              
                                              <div class="TableShadowContainer">
                                                 <div class="TableBottomShadow" style="background-image:url(./layouts/tibiacom/images/global/content/table-shadow-bm.gif);">
                                                    <div class="TableBottomLeftShadow" style="background-image:url(./layouts/tibiacom/images/global/content/table-shadow-bl.gif);"></div>
                                                    <div class="TableBottomRightShadow" style="background-image:url(./layouts/tibiacom/images/global/content/table-shadow-br.gif);"></div>
                                                 </div>
                                              </div></td></tr><tr>
                                        </tr></tbody></table>
                                     </div>
                                  
                               </td>
                            </tr>
                         </tbody></table>


                      </div>
                                            </div>
                                        </div>
                                    </div>';

    aora layout.php añadimos

    Código:
                                    <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/global/general/chain.gif);"></div>
                                            <div id="ActiveSubmenuItemIcon_lottery" class="ActiveSubmenuItemIcon" style="background-image:url(<?php echo $layout_name; ?>/images/global/menu/icon-activesubmenu.gif);"></div>
                                            <div id="ActiveSubmenuItemLabel_lottery" class="SubmenuitemLabel"><font color="green">Lotery<img src="./images/new.gif"</font></div>
                                            <div class="RightChain" style="background-image:url(<?php echo $layout_name; ?>/images/global/general/chain.gif);"></div>
                                        </div>
                                    </a>

    listo ya añaden a su antojo

    4 participantes
    http://sayayinz.ddns.net

    Contenido patrocinado


    4 participantes

    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).