• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Sistema] SNOWBAL EVENT TIBIA

    Compartir:

    Ir a la página : 1, 2  Siguiente

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

    1[Sistema] SNOWBAL EVENT TIBIA Empty [Sistema] SNOWBAL EVENT TIBIA Jue Dic 08, 2016 11:29 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Hola usuarios de tibiaface

    bueno aqui les traigo un evento que se lllama snow ball o guera con bolas de nieves el evento trata de atacar a tu oponen te con bolas de nieves el que tiene mas puntuacion  gana obvio que es el que a pegado mas con bolas de nieve.

    [Sistema] SNOWBAL EVENT TIBIA Ymmrwk10

    sin mas preangulos aqui les dejo el evento

    data/actions/actions.xml


    Código:
    <action actionid="7900" event="script" value="snowballaction.lua" />

    luego nos vamos a :

    data/actions/scripts

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

    Código:
    function onUse(cid, item, frompos, item2, topos)
    if item.actionid == 7900 then
     if(SBW_AMMOINFI) then
     doPlayerSendTextMessage(cid, 27, "as bolas de neve sao infinitas, nao ha necessidade que voce compre-as.")
     else
     if (getPlayerStorageValue(cid, SBW_SCORE) > 0) and (getPlayerStorageValue(cid, SBW_AMMO) < 30) then
     doPlayerSetStorageValue(cid, SBW_SCORE, getPlayerStorageValue(cid, SBW_SCORE)-1)
     doPlayerSetStorageValue(cid, SBW_AMMO, getPlayerStorageValue(cid, SBW_AMMO)+SBW_AMMOBUY)
     doPlayerSendTextMessage(cid, 27, "Voce trocou " .. SBW_AMMOBUY .. "x bolas de neve por 1 ponto de placar.")
     doSendMagicEffect(getCreaturePosition(cid),4)
     else
     doPlayerSendTextMessage(cid, 27, "Voce nao possui pontos de jogo o suficiente ou ja esta carregando muitas bolas de neve.")                      
     end
     end
    end
    end

    ahora nos vamos a:

    data/talkactions/talkactions.xml

    Código:
    <talkaction words="!snowball" event="script" value="snowballtalk.lua"/>

    luego nos vamos a:

    data/talkactions/scripts

    copiamos cualquier archivo y renombramos por snowballtalk.lua y pegamos esto dentro

    Código:
    function onSay(cid, words, param, channel)
    local k = string.explode(param, ",")
    if(k[1] ~= nil) then
     if(string.upper(k[1]) == 'INFO') then
     local score = {}
     local output =  "Voce tem " .. getPlayerStorageValue(cid, SBW_SCORE) .. " pontos.\nVoce tem "..getPlayerStorageValue(cid, SBW_AMMO).."x municoes.\n------------------\nO maior matador:\n"
     for _, pid in ipairs(getPlayersOnline()) do
     if getPlayerStorageValue(pid, SBW_INEVENT) then
     table.insert(score, {getCreatureName(pid), getPlayerStorageValue(pid, SBW_SCORE)})
     end
     end
     local lx = table.getn(score)
     if(lx > 3) then lx = 3 end
     table.sort(score, function(a, b) return a[2] > b[2] end)
     for k = 1,lx do
     output = output .. k..". "..score[k][1] .." [".. score[k][2] .."].\n"
     end
     doPlayerPopupFYI(cid, output)
     end
    if (string.upper(k[1]) == 'ATIRAR') then
     if(getPlayerStorageValue(cid, SBW_INEVENT) == 1) and not getTileInfo(getThingPos(cid)).protection then
     if getPlayerStorageValue(cid, SBW_EXAUSTHED) <= 1 then
     if(getPlayerStorageValue(cid, SBW_AMMO) > 0) then
     if SBW_STATUS == 'on' then
     if(SBW_AMMOINFI == false) then
     doPlayerSetStorageValue(cid, SBW_AMMO, getPlayerStorageValue(cid, SBW_AMMO)-1)
     end
     doPlayerSetStorageValue(cid, SBW_EXAUSTHED, 2)
     lineAnimation(getPlayerLookDirection(cid),getCreaturePosition(cid),12,cid,1,0,1,0,0,0,1,0)
     addEvent(doPlayerSetStorageValue, SBW_SHOOTEXAUSTHED, cid, SBW_EXAUSTHED, 1)
     if (getPlayerStorageValue(cid, SBW_AMMO) ~= 1) then
     doPlayerSendTextMessage(cid, 27, "Restam "..getPlayerStorageValue(cid, SBW_AMMO).."x bolas de neve.")
     else
     doPlayerSendTextMessage(cid, 27, "Usando sua ultima bola de neve, recarregue.")
     end
     end
     else
     doPlayerSendCancel(cid, "Voce esta sem bolas de neve, recarregue no centro do campo ou mate um inimigo.")
     doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)    
     end
     else
     doPlayerPopupFYI(cid, "Acalme-se voce deve esperar para atirar novamente.")
     doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
     return false
     end
     else
     doPlayerPopupFYI(cid, "Voce precisa estar dentro evento ou fora da pz.")
     doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
     end
    end
    end
    return true
    end
     
     
                    function lineAnimation(lookDir,playerPos,effect,cid,fvar,fpos,ffound,fposV,fcheck,fvcid,floopCounter,fvpid, name)
                    local var = fvar
                    local pos = fpos
                    local found = ffound
                    local posV = fposV
                    local check = fcheck
                    local vcid = fvcid
                    local loopCounter = floopCounter
                    local vpid = fvpid
                    local storage = SBW_EXAUSTHED
                            if var < 2 then
                                    vcid = cid
                            end
                            pos = playerPos
                            if not isInWallArray(convert(lookDir,pos)) then--isInWallArray({x=convert(lookDir,pos).x, y=convert(lookDir,pos).y,z=convert(lookDir,pos).z}) then --isInArray(t.onShoot.misc.walls_id, getThingfromPos({x=convert(lookDir,pos).x, y=convert(lookDir,pos).y,z=convert(lookDir,pos).z, stackpos=0}).itemid) then
                                    doSendDistanceShoot(pos, convert(lookDir,pos),effect)
                                    pos = convert(lookDir,pos)
                                    var=var+1
                                    posV = convertV(lookDir,playerPos)
                                    for _, pid in ipairs(getPlayersOnline()) do
                                            if (getCreaturePosition(pid).x == pos.x and getCreaturePosition(pid).y == pos.y and getCreaturePosition(pid).z == pos.z) then
                                                    --if loopCounter > 2 then
                                                    vpid = pid
                                                    --end
                                                    if (vpid ~= vcid) then
                                                            if var > 2 then
                                                                    if (getCreaturePosition(pid).x == posV.x and getCreaturePosition(pid).y == posV.y and getCreaturePosition(pid).z == posV.z) then
                                                                            killPlayer(pid,pos,getCreatureName(vcid))
                                                                            if (lookDir == 0) or (lookDir == 2) then
                                                                                    var = 6
                                                                            else
                                                                                    var = 8
                                                                            end
                                                                    end
                                                            end
                                                            killPlayer(pid,pos,vcid)
                                                            if (lookDir == 0) or (lookDir == 2) then
                                                                    var = 6
                                                            else
                                                                    var = 8
                                                            end
                                                    end
                                            end
                                            loopCounter = loopCounter +1
                                    end    
                                    if (lookDir == 0) or (lookDir == 2) then
                                            if var ~= 6 then
                                                    addEvent(lineAnimation, SBW_BALLSPEED, lookDir,pos,effect,nil,var,pos,found,posV,check,vcid,loopCounter,vpid)
                                            else
                                                    var = 1
                                            end
                                    else
                                            if var ~= 8 then
                                                    addEvent(lineAnimation,  SBW_BALLSPEED, lookDir,pos,effect,nil,var,pos,found,posV,check,vcid,loopCounter,vpid)
                                            else
                                                    var = 1
                                            end
                                    end
                            else
                                    doSendMagicEffect(convert(lookDir,pos),2)
                                    var = 1
                            end
                    end
     
                    local ret = {}
                    function convert(lookDir,pos)
                    local positions = {
                            [0] = {x = pos.x, y = pos.y-1, z = pos.z},
                            [1] = {x = pos.x+1, y = pos.y, z = pos.z},
                            [2] = {x = pos.x, y = pos.y+1, z = pos.z},
                            [3] = {x = pos.x-1, y = pos.y, z = pos.z}
                            }
                            ret = positions[lookDir]
                    return ret
                    end
     
     
                    local ret = {}
                    function convertV(lookDir,pos)
                    local positions = {
                            [0] = {x = pos.x, y = pos.y+1, z = pos.z},
                            [1] = {x = pos.x-1, y = pos.y, z = pos.z},
                            [2] = {x = pos.x, y = pos.y-1, z = pos.z},
                            [3] = {x = pos.x+1, y = pos.y, z = pos.z}
                            }
                            ret = positions[lookDir]
                    return ret
                    end
     
     function isInWallArray(pos)
                            for k = 0, table.getn(SBW_WALLSID) do
                                    if getTileItemById(pos, SBW_WALLSID[k]).itemid == SBW_WALLSID[k] then --this doesn't even make sense but tried other ways and it gave errors, so meh 2lazy2search
     return true    
                                    end
                            end
                            return false
                    end
                                  
                    function killPlayer(cid, pos, killer)
                        local t_l = SBW_AREA[1]
     local b_r = SBW_AREA[2]
     local posti = {}
     local isPossibleToTeleportPlayer = false
     while (isPossibleToTeleportPlayer == FALSE) do
     posti = Position(math.random(t_l.x,b_r.x), math.random(t_l.y, b_r.y), 7)
     if isInWallArray(posti) == FALSE then
     isPossibleToTeleportPlayer = TRUE
     end
     end
     doTeleportThing(cid, posti)
     doSendMagicEffect(pos,2)
     doSendMagicEffect(posti,6)
     doSendAnimatedText(pos, ""..getCreatureName(killer).." ", 55)
     doPlayerSendTextMessage(cid, 27, "Voce morreu para "..getCreatureName(killer)..".")
     doPlayerSetStorageValue(killer, SBW_SCORE, getPlayerStorageValue(killer, SBW_SCORE)+SBW_POINTSKILL)
     doPlayerSendTextMessage(killer, 27, "You've killed "..getCreatureName(cid)..".")
     if SBW_LOSTSCORE then
     doPlayerSetStorageValue(cid, SBW_SCORE, getPlayerStorageValue(cid, SBW_SCORE)-1)
     end
     if SBW_RESETAMMO then
     doPlayerSetStorageValue(cid, SBW_AMMO, SBW_MINAMMO)
     end
                    end
                                                  
                    


    ahora nos vamos a:

    data/globalevents/globalevents.xml

    <globalevent name="StartSBW" time="19:00" event="script" value="snowballglobalevent.lua"/>


    ahora nos vamos a:

    data/globalevents/scripts

    copias cualquier archivo y renombras por snowballglobalevent.lua y pegas esto dentro


    Código:
    function onTime()
     
    function isInWallArray(pos)
        for k = 0, table.getn(SBW_WALLSID) do
            if (getTileItemById(pos, SBW_WALLSID[k]).itemid == SBW_WALLSID[k]) then
     return true    
            end
        end
     return false
    end

                  
    function endsnowball()
     local score = {}
     if not SBW_USEWAIT then
     doRemoveItem(getTileItemById(SBW_TP, 1387).uid)
     end
     for _, pid in ipairs(getPlayersOnline()) do
     if getPlayerStorageValue(pid, SBW_INEVENT) > 0 then
     table.insert(score, {getCreatureName(pid), getPlayerStorageValue(pid, SBW_SCORE)})
     doPlayerSetStorageValue(pid, SBW_INEVENT, 0)
     doPlayerSetStorageValue(pid, SBW_SCORE, 0)
     doPlayerSetStorageValue(pid, SBW_AMMO, 0)
     doTeleportThing(pid, SBW_TPEND)
     end
     end
     table.sort(score, function(a, b) return a[2] > b[2] end)
     --local random_item = SBW_REWARDS[math.random(1, #SBW_REWARDS)]
     local hora = os.date("%X")
     local data = os.date("%x")
     if table.getn(score) > 0 then
     if SBW_ADDREWARD then
     for _, pid in ipairs(getPlayersOnline()) do
     if getCreatureName(pid) == score[1][1] then
     for op,ad in pairs(SBW_REWARDS) do
     doPlayerAddItem(pid, ad[1], ad[2])
     end
     break
                    end
                end
            end
     db.query("INSERT INTO `snowballwar`  VALUES ('', ".. db.escapeString(score[1][1]) ..  ",".. score[1][2] ..", ".. db.escapeString(data) ..", ".. db.escapeString(hora) ..");")  
     db.query("UPDATE `players` SET `sbw_points`=`sbw_points`+".. score[1][2] .." WHERE `name` = " .. db.escapeString(score[1][1]) .. ";")
            doBroadcastMessage("[SNOWBALL EVENT] encerrou-se, parabens ao jogador "..score[1][1].." que venceu o SnowBall Event com "..score[1][2].." pontos.")
        end
     return true
    end

    local t_l = SBW_AREA[1]
    local b_r = SBW_AREA[2]

    function moveToEvent()
    for _, pid in ipairs(getPlayersOnline()) do
     if isInRange(getCreaturePosition(pid), SBW_WAITROOM[1], SBW_WAITROOM[2]) then
     local posti = {}
     local isPossibleToTeleportPlayer = false
     while (isPossibleToTeleportPlayer == FALSE) do
     posti = Position(math.random(t_l.x,b_r.x), math.random(t_l.y, b_r.y), 7)
     if (isInWallArray(posti) == FALSE) then
     isPossibleToTeleportPlayer = TRUE
     end
     end
     doTeleportThing(pid, posti)
     doPlayerSetStorageValue(pid, SBW_INEVENT, 1)
     doPlayerSetStorageValue(pid, SBW_AMMO, SBW_MINAMMO)
     doPlayerSetStorageValue(pid, SBW_SCORE, 0)
     doPlayerSendTextMessage(pid, 27, "[SNOWBALL WAR] Seja bem vindo, aqui estao os comandos que voce vai usar durante o evento\n!snowball atirar --Atirar uma bola de neve.\n!snowball info --Isso mostra seus pontos de jogos e a quantia de bolas de neve que voce tem. Tambem mostra o ranking de pontos do evento.\n Recarregue suas bolas de neve clicando em frente ao gerador no centro do campo.\nAltamente recomendado adicionar estes comandos a sua hotkeys.")              
     end
    end
    doRemoveItem(getTileItemById(SBW_TP, 1387).uid)
    addEvent(endsnowball, SBW_DURATION*1000*60)
    doBroadcastMessage(SBW_MSGSTART)
    end

    local time = os.date("*t")
    local timeopen1 = math.ceil(SBW_TIMEWAIT / 4)
    local timeopen2 = math.ceil(SBW_TIMEWAIT / 2)
    if (SBW_STARTAUTO) and (isInArray(SBW_DAYS,time.wday)) then
     doBroadcastMessage(SBW_MSGWARNING)
     if SBW_USEWAIT then
     addEvent(doBroadcastMessage, timeopen1*1000*60, "[SNOWBALL WAR] - Resta(m) ".. timeopen2 .." minuto(s) para iniciar o evento!")
     if (timeopen2 ~= timeopen1) then
     addEvent(doBroadcastMessage, timeopen2*1000*60, "[SNOWBALL WAR] - Resta(m) ".. timeopen1 .." minuto(s) para iniciar o evento!")
     end
            addEvent(moveToEvent, SBW_TIMEWAIT*1000*60)
            doCreateTeleport(1387, SBW_TPGO, SBW_TP)
        else
     if SBW_TFS == "0.3" then
     doItemSetAttribute(doCreateItem(1387, SBW_TP), "aid", 2880)
     else
     doSetItemActionId(doCreateItem(1387, SBW_TP), 2880)
            end
            if(SBW_DURATION > 0) then
                addEvent(endsnowball, SBW_DURATION*1000*60)
            end
        end
    end
    return true
    end

    nos vamos a:

    data/movements/movements.xml

    Código:
    <movevent type="StepIn" actionid ="2880" event="script" value="snowballmovement.lua"/>


    luego nos vamos a:

    data/movements/scripts

    copian cualquier archivo y renombran por snowballglobalmovement.lua y pegan esto dentro


    Código:
    function onStepIn(cid, item, pos)
     doTeleportThing(cid, SBW_TPGO)
     doBroadcastMessage("[SNOWBALL WAR] O " ..getCreatureName(cid).. " player esta participando do evento snowball.", MESSAGE_STATUS_CONSOLE_ORANGE)
     doPlayerSetStorageValue(cid, SBW_INEVENT, 1)
     doPlayerSetStorageValue(cid, SBW_AMMO, SBW_MINAMMO)
     doPlayerSetStorageValue(cid, SBW_SCORE, 0)          
    end


    ahora nos vamos a:

    data/lib

    copiamos cualquier archivno y renombramos por SBW.lua y pegamos esto dentro


    Código:
    -- This script is part of Snow Ball War Event Tibiaking Absolute
    --
    -- This program is free software: you can redistribute it and/or modify
    -- it under the terms of the GNU General Public License as published by
    -- the Free Software Foundation, either version 3 of the License, or
    -- (at your option) any later version.
    --
    -- This program is distributed in the hope that it will be useful,
    -- but WITHOUT ANY WARRANTY; without even the implied warranty of
    -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -- GNU General Public License for more details.
    --
    -- You should have received a copy of the GNU General Public License
    -- along with this program.  If not, see <http://www.gnu.org/licenses/>.

    -- //

    -- POSIÇÕES IMPORTANTES
    SBW_AREA = {{x = 1214, y = 1205, z = 7}, {x = 1251, y = 1242, z = 7}}-- AREA DO EVENTO | Canto superior esquerdo / inferior direito
    SBW_WAITROOM = {{x = 1229, y = 1220, z = 6}, {x = 1235, y = 1226, z = 6}} -- AREA DE ESPERA | Canto superior esquerdo / inferior direito
    SBW_TP = {x = 165, y = 45, z = 7} -- local onde teleport sera criado (entrada de jogadores)
    SBW_TPGO = {x = 1232, y = 1223, z = 6} -- local onde teleport vai levar (saida de jogadores)
    SBW_TPEND = {x = 155, y = 54, z = 7} -- local onde serao teleport ao final do evento
    SBW_GERADOR = {x = 1232, y = 1223, z = 7} -- local onde gerador vai ficar

    -- CONFIGURAÇÕES DO EVENTO
    SBW_DAYS = {1,2,3,4,5,6,7} -- dias de semana que vai abrir
    SBW_DURATION = 10 -- duração do evento em minutos
    SBW_POINTSKILL = 1 -- pontos de jogo por morte
    SBW_AMMOBUY = 20 -- quantia de munições compradas por cada ponto
    SBW_MINAMMO = 50 -- munição inicial dos jogadores
    SBW_TIMEWAIT = 3 -- tempo na sala de espera em minutos
    SBW_AMMOINFI = false
    SBW_LOSTSCORE = true
    SBW_RANDOMIZE = true
    SBW_RESETAMMO = true
    SBW_STARTAUTO = true
    SBW_USEWAIT = true

    --PREMIO DO EVENTO
    SBW_ADDREWARD = true
    SBW_REWARDS = {
     {6527,500},
     {2345,1}
     }


    -- // Não mexa daqui para baixo
    SBW_TFS = "0.4"

    -- STORAGES
    SBW_EXAUSTHED = 2455
    SBW_INEVENT = 2460
    SBW_SCORE = 2465
    SBW_AMMO = 2400


    SBW_WALLSID = {5324,7003,7021,6712,7023,7002,6713,6714,6869,6822,6823,6824,6825,6826,6827,6828,6829,6830,6831,6832,6833,6707,6708,6709,6710,6711,2698,2697,7020,6719,6720,6721,6722,6723,6724,6725,6726,6727,6761,6762,6768,6769,4608,4609,4610,4611,4612,4613,4614,4615,4616,4617,4618,4619,4620,4621,4622,4623,4624,4625,4664,4665,4666,7008,7009,7010,7011,8239,7004,7005,7006,7007,6627,6628,6629,6630,6631,6632,6633,6634,6635,6636,6637,6638,7022}
    SBW_BALLSPEED = 150
    SBW_SHOOTEXAUSTHED = 1000
    SBW_SHOOTDIR = 0                            
    SBW_STATUS = 'on'

    -- MENSAGENS
    SBW_MSGWARNING = "[SNOWBALL WAR] Abriu o teleport de ingresso para o evento, para participar se dirija ate o templo do servidor."
    SBW_MSGSTART = "[SNOWBALL WAR] O teleport foi removido e o evento foi iniciado, boa sorte a todos participantes."


    y en el php admin en nuestra base de datos ejecutamos estas dos tablas:

    Código:
    CREATE TABLE IF NOT EXISTS `snowballwar` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(255) NOT NULL,
      `score` int(11) NOT NULL,
      `data` varchar(255) NOT NULL,
      `hora` varchar(255) NOT NULL,
      PRIMARY KEY (`id`),
      KEY `id` (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    Código:
    ALTER TABLE `players` ADD `sbw_points` int(11);


    link del mapa :
    [Tienes que estar registrado y conectado para ver este vínculo]


    y listo eso es todo



    [Sistema] SNOWBAL EVENT TIBIA YNU5B25
    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes
    http://www.tibiaface.com

    2[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Sáb Dic 10, 2016 3:23 pm

    gzdiaz20

    gzdiaz20
    Miembro
    Miembro
    eso funciona para SERVER 8.60 CON DATA BASE SQLITE

    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes

    3[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Sáb Dic 10, 2016 4:25 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    gzdiaz20 escribió:eso funciona para SERVER 8.60 CON DATA BASE SQLITE

    no amigo es mysql habria que transformar la tabla a sqlite



    [Sistema] SNOWBAL EVENT TIBIA YNU5B25
    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes
    http://www.tibiaface.com

    4[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Sáb Dic 10, 2016 4:44 pm

    God Aries

    God Aries
    Miembro
    Miembro
    Woo este evento esta muy bueno para estas fechas q buen aporte Very Happy, para q versiones de tfs funciona?

    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes

    5[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Sáb Dic 10, 2016 4:45 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    God Aries escribió:Woo este evento esta muy bueno para estas fechas q buen aporte Very Happy, para q versiones de tfs funciona?

    si funciona en tfs



    [Sistema] SNOWBAL EVENT TIBIA YNU5B25
    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes
    http://www.tibiaface.com

    6[Sistema] SNOWBAL EVENT TIBIA Empty [Web] error al insertar codigo Mar Jun 13, 2017 11:48 pm

    Miguel Albertto

    Miguel Albertto
    Miembro
    Miembro
    Me sale este error al insertar este código :
    Código:
    CREATE TABLE IF NOT EXISTS `snowballwar` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(255) NOT NULL,
      `score` int(11) NOT NULL,
      `data` varchar(255) NOT NULL,
      `hora` varchar(255) NOT NULL,
      PRIMARY KEY (`id`),
      KEY `id` (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;



    [Tienes que estar registrado y conectado para ver este vínculo]

    porfa ayúdenme :v

    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes

    7[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Miér Jun 14, 2017 1:31 am

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Miguel Albertto escribió:Me sale este error al insertar este código :
    Código:
    CREATE TABLE IF NOT EXISTS `snowballwar` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(255) NOT NULL,
      `score` int(11) NOT NULL,
      `data` varchar(255) NOT NULL,
      `hora` varchar(255) NOT NULL,
      PRIMARY KEY (`id`),
      KEY `id` (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;



    [Tienes que estar registrado y conectado para ver este vínculo]

    porfa ayúdenme :v


    nose podra ejecutarla no es compatible con tu mysql



    [Sistema] SNOWBAL EVENT TIBIA YNU5B25
    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes
    http://www.tibiaface.com

    8[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Dom Nov 05, 2017 11:49 am

    cimmeria

    cimmeria
    Miembro
    Miembro
    hola maya yo tengo un problema e puesto todo bien y cuando hace el tp para que entren los jugadores no entran a dentro del tp es decir como si  el tp no tubiera un destino haber si me puedes ayudar porfavor

    tengo algun error mas si me puedes ayudar me dices y te digo me gustaria tener este evento en funcionamiento para mi servidor y es la version de server la sulla

    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes
    http://sayayinz.ddns.net

    9[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Dom Nov 05, 2017 6:13 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    cimmeria escribió:hola maya yo tengo un problema e puesto todo bien y cuando hace el tp para que entren los jugadores no entran a dentro del tp es decir como si  el tp no tubiera un destino haber si me puedes ayudar porfavor

    tengo algun error mas si me puedes ayudar me dices y te digo me gustaria tener este evento en funcionamiento para mi servidor y es la version de server la sulla

    que protocolo y version de sever usas



    [Sistema] SNOWBAL EVENT TIBIA YNU5B25
    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes
    http://www.tibiaface.com

    10[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Lun Nov 06, 2017 9:39 am

    cimmeria

    cimmeria
    Miembro
    Miembro
    [th]Server:[/th]
    The Forgotten Server 0.4_SVN
    es un 8.6 e consegido areglar lo del tp te envia a la sala de espera pero no te envia al evento y no me deja lanzar las snowball

    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes
    http://sayayinz.ddns.net

    11[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Lun Nov 06, 2017 11:41 am

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    cimmeria escribió:[th]Server:[/th]
    The Forgotten Server 0.4_SVN
    es un 8.6 e consegido areglar lo del tp te envia a la sala de espera pero no te envia al evento y no me deja lanzar las snowball

    te marca algun error en la consola tiene que mostrar algun error aunque sea



    [Sistema] SNOWBAL EVENT TIBIA YNU5B25
    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes
    http://www.tibiaface.com

    12[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Lun Nov 06, 2017 6:43 pm

    cimmeria

    cimmeria
    Miembro
    Miembro
    no nada de verdad pero seguire probando haber por que sino sale error es buena señal

    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes
    http://sayayinz.ddns.net

    13[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Miér Nov 29, 2017 9:15 pm

    Tibia Matatan

    Tibia Matatan
    Miembro
    Miembro
    No tiene limite de players ni devuelve a los players a el templo cuando no esta la cantidad de gente necesaria

    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes

    14[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Miér Nov 29, 2017 10:08 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Tibia Matatan escribió:No tiene limite de players ni devuelve a los players a el templo cuando no esta la cantidad de gente necesaria


    SBW_MINAMMO = 50 -- munição inicial dos jogadores

    SBW_TPEND = {x = 155, y = 54, z = 7} -- local onde serao teleport ao final do evento


    ahi estan la configuraciones



    [Sistema] SNOWBAL EVENT TIBIA YNU5B25
    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes
    http://www.tibiaface.com

    15[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Jue Nov 30, 2017 8:47 am

    Tibia Matatan

    Tibia Matatan
    Miembro
    Miembro
    maya el primero
    SBW_MINAMMO = 50 -- munição inicial dos jogadores
    es la municion minima con la que los players ingresan a el evento es algo asi como la municion inicial

    SBW_TPEND = {x = 155, y = 54, z = 7}
    y este segundo es para cuando el evento termina y como no hay limite de players si hay un player o dos igual se ejecuta el evento y luego de el tiempo de duracion del evento que es 10 minutos lo envian a esa posicion pero no hay algo que diga

    deben haber 4 player minimo si no hay entonces enviar a los players que hayan entrado a xxx xxx x position

    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes

    16[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Jue Nov 30, 2017 1:23 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Tibia Matatan escribió:maya el primero
    SBW_MINAMMO = 50 -- munição inicial dos jogadores
    es la municion minima con la que los players ingresan a el evento es algo asi como la municion inicial

    SBW_TPEND = {x = 155, y = 54, z = 7}
    y este segundo es para cuando el evento termina y como no hay limite de players si hay un player o dos igual se ejecuta el evento y luego de el tiempo de duracion del evento que es 10 minutos lo envian a esa posicion pero no hay algo que diga

    deben haber 4 player minimo si no hay entonces enviar a los players que hayan entrado a xxx xxx x position

    prueba le hice unas modificaciones


    Código:
    function onTime()
     
    function isInWallArray(pos)
        for k = 0, table.getn(SBW_WALLSID) do
            if (getTileItemById(pos, SBW_WALLSID[k]).itemid == SBW_WALLSID[k]) then
     return true   
            end
        end
     return false
    end

                 
    function endsnowball()
     local score = {}
     if not SBW_USEWAIT then
     doRemoveItem(getTileItemById(SBW_TP, 1387).uid)
     end
     for _, pid in ipairs(getPlayersOnline()) do
     if getPlayerStorageValue(pid, SBW_INEVENT) > 0 then
     table.insert(score, {getCreatureName(pid), getPlayerStorageValue(pid, SBW_SCORE)})
     doPlayerSetStorageValue(pid, SBW_INEVENT, 0)
     doPlayerSetStorageValue(pid, SBW_SCORE, 0)
     doPlayerSetStorageValue(pid, SBW_AMMO, 0)
     doTeleportThing(pid, SBW_TPEND)
     end
     end
     table.sort(score, function(a, b) return a[2] > b[2] end)
     --local random_item = SBW_REWARDS[math.random(1, #SBW_REWARDS)]
     local hora = os.date("%X")
     local data = os.date("%x")
     if table.getn(score) > 0 then
     if SBW_ADDREWARD then
     for _, pid in ipairs(getPlayersOnline()) do
     if getCreatureName(pid) == score[1][1] then
     for op,ad in pairs(SBW_REWARDS) do
     doPlayerAddItem(pid, ad[1], ad[2])
     end
     break
                    end
                end
            end
     db.query("INSERT INTO `snowballwar`  VALUES ('', ".. db.escapeString(score[1][1]) ..  ",".. score[1][2] ..", ".. db.escapeString(data) ..", ".. db.escapeString(hora) ..");") 
     db.query("UPDATE `players` SET `sbw_points`=`sbw_points`+".. score[1][2] .." WHERE `name` = " .. db.escapeString(score[1][1]) .. ";")
            doBroadcastMessage("[SNOWBALL EVENT] encerrou-se, parabens ao jogador "..score[1][1].." que venceu o SnowBall Event com "..score[1][2].." pontos.")
        end
     return true
    end

    local t_l = SBW_AREA[1]
    local b_r = SBW_AREA[2]

    function moveToEvent()
    for _, pid in ipairs(getPlayersOnline()) do
     if isInRange(getCreaturePosition(pid), SBW_WAITROOM[1], SBW_WAITROOM[2]) then
     local posti = {}
     local isPossibleToTeleportPlayer = false
     while (isPossibleToTeleportPlayer == FALSE) do
     posti = Position(math.random(t_l.x,b_r.x), math.random(t_l.y, b_r.y), 7)
     if (isInWallArray(posti) == FALSE) then
     isPossibleToTeleportPlayer = TRUE
     end
     end
     doTeleportThing(pid, posti)
     doPlayerSetStorageValue(pid, SBW_INEVENT, 1)
     doPlayerSetStorageValue(pid, SBW_AMMO, SBW_MINAMMO)
     doPlayerSetStorageValue(pid, SBW_SCORE, 0)
     doPlayerSendTextMessage(pid, 27, "[SNOWBALL WAR] Seja bem vindo, aqui estao os comandos que voce vai usar durante o evento\n!snowball atirar --Atirar uma bola de neve.\n!snowball info --Isso mostra seus pontos de jogos e a quantia de bolas de neve que voce tem. Tambem mostra o ranking de pontos do evento.\n Recarregue suas bolas de neve clicando em frente ao gerador no centro do campo.\nAltamente recomendado adicionar estes comandos a sua hotkeys.")             
     end
    end
    doRemoveItem(getTileItemById(SBW_TP, 1387).uid)
    addEvent(endsnowball, SBW_DURATION*1000*60)
    doBroadcastMessage(SBW_MSGSTART)
    end

    local time = os.date("*t")
    local timeopen1 = math.ceil(SBW_TIMEWAIT / 4)
    local timeopen2 = math.ceil(SBW_TIMEWAIT / 2)





    local c = {
        limit = 5, -- minimo de player para el evento.
        msgCancel = 'evento cerrado por falta de player.', -- 'Mensaje' cuando ya se haya llenado el límite de jugadores anterior.

        area = {
          From = {x = 1069, y = 1027, z = 6}, -- Coordenada de la ESQUINA SUPERIOR IZQUIERDA del área de espera.
          To = {x = 1071, y = 1030, z = 7}, -- Coordenada de la ESQUINA INFERIOR DERECHA del área de espera.
        },

      }

     local function getPlayersInArea(fromPos, toPos)
      local t = {}

        for _, cid in ipairs(getPlayersOnline()) do
            if isInRange(getThingPos(cid), fromPos, toPos) then
                table.insert(t, cid)
            end
        end

      return t
    end


    if (SBW_STARTAUTO) and (isInArray(SBW_DAYS,time.wday)) then
     doBroadcastMessage(SBW_MSGWARNING)
     if SBW_USEWAIT then
     addEvent(doBroadcastMessage, timeopen1*1000*60, "[SNOWBALL WAR] - Resta(m) ".. timeopen2 .." minuto(s) para iniciar o evento!")
     if (timeopen2 ~= timeopen1) then
     addEvent(doBroadcastMessage, timeopen2*1000*60, "[SNOWBALL WAR] - Resta(m) ".. timeopen1 .." minuto(s) para iniciar o evento!")
     end
     
     
     
      if table.getn(getPlayersInArea(c.area.From, c.area.To)) < c.limit then
     
            addEvent(moveToEvent, SBW_TIMEWAIT*1000*60)
            doCreateTeleport(1387, SBW_TPGO, SBW_TP)
          else
              doPlayerSendCancel(cid, c.msgCancel)
              endsnowball()
            end
          
          
          
          
          
        else
     if SBW_TFS == "0.3" then
     doItemSetAttribute(doCreateItem(1387, SBW_TP), "aid", 2880)
     else
     doSetItemActionId(doCreateItem(1387, SBW_TP), 2880)
            end
            if(SBW_DURATION > 0) then
                addEvent(endsnowball, SBW_DURATION*1000*60)
            end
        end
    end
    return true
    end


    configuracion

    Código:
    local c = {
        limit = 5, -- minimo de player para el evento.
        msgCancel = 'evento cerrado por falta de player.', -- 'Mensaje' cuando ya se haya llenado el límite de jugadores anterior.

        area = {
          From = {x = 1069, y = 1027, z = 6}, -- Coordenada de la ESQUINA SUPERIOR IZQUIERDA del área de espera.
          To = {x = 1071, y = 1030, z = 7}, -- Coordenada de la ESQUINA INFERIOR DERECHA del área de espera.
        },

      }

    espero y funcione



    [Sistema] SNOWBAL EVENT TIBIA YNU5B25
    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes
    http://www.tibiaface.com

    17[Sistema] SNOWBAL EVENT TIBIA Empty Solucion para limite de players Vie Dic 01, 2017 6:40 pm

    Tibia Matatan

    Tibia Matatan
    Miembro
    Miembro
    Bueno primero que nada dar las gracias a adm maya que fue el que resolvio esto al igual que siempre xdd

    ahora van a data/globalevents/snowballglobalevent
    y remplazan por esto
    Código:
    function onTime()
     
    function isInWallArray(pos)
        for k = 0, table.getn(SBW_WALLSID) do
            if (getTileItemById(pos, SBW_WALLSID[k]).itemid == SBW_WALLSID[k]) then
     return true   
            end
        end
     return false
    end

                 
    function endsnowball()
     local score = {}
     if not SBW_USEWAIT then
     doRemoveItem(getTileItemById(SBW_TP, 1387).uid)
     end
     for _, pid in ipairs(getPlayersOnline()) do

     if getPlayerStorageValue(pid, SBW_INEVENT) > 0 then
     table.insert(score, {getCreatureName(pid), getPlayerStorageValue(pid, SBW_SCORE)})
     doPlayerSetStorageValue(pid, SBW_INEVENT, 0)
     doPlayerSetStorageValue(pid, SBW_SCORE, 0)
     doPlayerSetStorageValue(pid, SBW_AMMO, 0)
    doTeleportThing(pid, SBW_TPEND)
     end
     end
     table.sort(score, function(a, b) return a[2] > b[2] end)
     --local random_item = SBW_REWARDS[math.random(1, #SBW_REWARDS)]
     local hora = os.date("%X")
     local data = os.date("%x")
     if table.getn(score) > 0 then
     if SBW_ADDREWARD then
     for _, pid in ipairs(getPlayersOnline()) do
     if getCreatureName(pid) == score[1][1] then
     for op,ad in pairs(SBW_REWARDS) do
     doPlayerAddItem(pid, ad[1], ad[2])
     end
     break
                    end
                end
            end
     db.query("INSERT INTO `snowballwar`  VALUES ('', ".. db.escapeString(score[1][1]) ..  ",".. score[1][2] ..", ".. db.escapeString(data) ..", ".. db.escapeString(hora) ..");") 
     db.query("UPDATE `players` SET `sbw_points`=`sbw_points`+".. score[1][2] .." WHERE `name` = " .. db.escapeString(score[1][1]) .. ";")
            doBroadcastMessage("[SNOWBALL EVENT] encerrou-se, parabens ao jogador "..score[1][1].." que venceu o SnowBall Event com "..score[1][2].." pontos.")
        end
     return true
    end

    local t_l = SBW_AREA[1]
    local b_r = SBW_AREA[2]

    function moveToEvent()


    local c = {
        limit = 5, -- minimo de player para el evento.
        msgCancel = '[SNOWBALL WAR] Ha sido cancelado por falta de players', -- 'Mensaje' cuando ya se haya llenado el límite de jugadores anterior.

        area = {
          From = {x = 1366, y = 1526, z = 6}, -- Coordenada de la ESQUINA SUPERIOR IZQUIERDA del área de espera.
          To = {x = 1372, y = 1532, z = 6}, -- Coordenada de la ESQUINA INFERIOR DERECHA del área de espera.
        },

      }

     local function getPlayersInArea(fromPos, toPos)
      local t = {}

        for _, cid in ipairs(getPlayersOnline()) do
            if isInRange(getThingPos(cid), fromPos, toPos) then
                table.insert(t, cid)
            end
        end

      return t
    end



    local temple = {x = 1004, y = 1016, z = 7} -------> donde lo va teleportar cuando se cancele


    local function doRemoveRunners()
        for index, creature in ipairs(getPlayersOnline()) do
            if #getPlayersInArea(c.area.From, c.area.To) > 0 then
                    doTeleportThing(creature, temple)
            end
        end
        return true
    end

    if table.getn(getPlayersInArea(c.area.From, c.area.To)) >= c.limit then
    for _, pid in ipairs(getPlayersOnline()) do
     if isInRange(getCreaturePosition(pid), SBW_WAITROOM[1], SBW_WAITROOM[2]) then
     local posti = {}
     local isPossibleToTeleportPlayer = false
     while (isPossibleToTeleportPlayer == FALSE) do
     posti = Position(math.random(t_l.x,b_r.x), math.random(t_l.y, b_r.y), 7)
     if (isInWallArray(posti) == FALSE) then
     isPossibleToTeleportPlayer = TRUE
     end
     end
     doTeleportThing(pid, posti)
     doPlayerSetStorageValue(pid, SBW_INEVENT, 1)
     doPlayerSetStorageValue(pid, SBW_AMMO, SBW_MINAMMO)
     doPlayerSetStorageValue(pid, SBW_SCORE, 0)
     doPlayerSendTextMessage(pid, 27, "[SNOWBALL WAR] Seja bem vindo, aqui estao os comandos que voce vai usar durante o evento\n!snowball atirar --Atirar uma bola de neve.\n!snowball info --Isso mostra seus pontos de jogos e a quantia de bolas de neve que voce tem. Tambem mostra o ranking de pontos do evento.\n Recarregue suas bolas de neve clicando em frente ao gerador no centro do campo.\nAltamente recomendado adicionar estes comandos a sua hotkeys.")             
     end
    end

    doRemoveItem(getTileItemById(SBW_TP, 1387).uid)
    addEvent(endsnowball, SBW_DURATION*1000*60)
    doBroadcastMessage(SBW_MSGSTART)
    else
              doBroadcastMessage(c.msgCancel)
              endsnowball()
           doRemoveRunners()

            doRemoveItem(getTileItemById(SBW_TP, 1387).uid)
           
           
            end
    end
     


    local time = os.date("*t")
    local timeopen1 = math.ceil(SBW_TIMEWAIT / 4)
    local timeopen2 = math.ceil(SBW_TIMEWAIT / 2)








    if (SBW_STARTAUTO) and (isInArray(SBW_DAYS,time.wday)) then
     doBroadcastMessage(SBW_MSGWARNING)
     if SBW_USEWAIT then
     addEvent(doBroadcastMessage, timeopen1*1000*60, "[SNOWBALL WAR] - Resta(m) ".. timeopen2 .." minuto(s) para iniciar o evento!")
     if (timeopen2 ~= timeopen1) then
     addEvent(doBroadcastMessage, timeopen2*1000*60, "[SNOWBALL WAR] - Resta(m) ".. timeopen1 .." minuto(s) para iniciar o evento!")
     end
     
     
     
     

          
            addEvent(moveToEvent, SBW_TIMEWAIT*1000*60)
            doCreateTeleport(1387, SBW_TPGO, SBW_TP)
          
          
          
          
          
        else
     if SBW_TFS == "0.3" then
     doItemSetAttribute(doCreateItem(1387, SBW_TP), "aid", 2880)
     else
     doSetItemActionId(doCreateItem(1387, SBW_TP), 2880)
            end
            if(SBW_DURATION > 0) then
                addEvent(endsnowball, SBW_DURATION*1000*60)
            end
        end
    end
    return true
    end


    luego deben ir a data/lib/50-functions
    y añadir esta funcion
    Código:
    function isCreatureInArea(fromPos, toPos)
        local t = {}
        for z=fromPos.z, toPos.z do
            for y=fromPos.y, toPos.y do
                for x=fromPos.x, toPos.x do
                    local v = getTopCreature({x=x,y=y,z=z})
                    if v.itemid == 1 and table.find({1,2,3}, v.type) then
                        table.insert(t, v.uid)
                    end
                end
            end
        end
        return t
    end

    y luego reinician su servidor y ya esta

    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes

    18[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Jue Ene 25, 2018 2:32 pm

    zerok

    zerok
    Nuevo Miembro
    Nuevo Miembro
    Tengo un problema al crear el teleport automatico, se crea sin problemas pero le falta el actionid 2880 para el registro ya que al ingresar al teleport no se registran los players

    Foto 1
    [Sistema] SNOWBAL EVENT TIBIA Prueba10

    Foto 2
    [Sistema] SNOWBAL EVENT TIBIA Prueba11

    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes

    19[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Jue Ene 25, 2018 2:41 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    zerok escribió:Tengo un problema al crear el teleport automatico, se crea sin problemas pero le falta el actionid 2880 para el registro ya que al ingresar al teleport no se registran los players

    Foto 1
    [Sistema] SNOWBAL EVENT TIBIA Prueba10

    Foto 2
    [Sistema] SNOWBAL EVENT TIBIA Prueba11



    aqui tienes prueba


    data/globalevents/snowballglobalevent

    Código:
    function onTime()
     
    function isInWallArray(pos)
        for k = 0, table.getn(SBW_WALLSID) do
            if (getTileItemById(pos, SBW_WALLSID[k]).itemid == SBW_WALLSID[k]) then
     return true   
            end
        end
     return false
    end

                 
    function endsnowball()
     local score = {}
     if not SBW_USEWAIT then
     doRemoveItem(getTileItemById(SBW_TP, 1387).uid)
     end
     for _, pid in ipairs(getPlayersOnline()) do
     if getPlayerStorageValue(pid, SBW_INEVENT) > 0 then
     table.insert(score, {getCreatureName(pid), getPlayerStorageValue(pid, SBW_SCORE)})
     doPlayerSetStorageValue(pid, SBW_INEVENT, 0)
     doPlayerSetStorageValue(pid, SBW_SCORE, 0)
     doPlayerSetStorageValue(pid, SBW_AMMO, 0)
     doTeleportThing(pid, SBW_TPEND)
     end
     end
     table.sort(score, function(a, b) return a[2] > b[2] end)
     --local random_item = SBW_REWARDS[math.random(1, #SBW_REWARDS)]
     local hora = os.date("%X")
     local data = os.date("%x")
     if table.getn(score) > 0 then
     if SBW_ADDREWARD then
     for _, pid in ipairs(getPlayersOnline()) do
     if getCreatureName(pid) == score[1][1] then
     for op,ad in pairs(SBW_REWARDS) do
     doPlayerAddItem(pid, ad[1], ad[2])
     end
     break
                    end
                end
            end
     db.query("INSERT INTO `snowballwar`  VALUES ('', ".. db.escapeString(score[1][1]) ..  ",".. score[1][2] ..", ".. db.escapeString(data) ..", ".. db.escapeString(hora) ..");") 
     db.query("UPDATE `players` SET `sbw_points`=`sbw_points`+".. score[1][2] .." WHERE `name` = " .. db.escapeString(score[1][1]) .. ";")
            doBroadcastMessage("[SNOWBALL EVENT] encerrou-se, parabens ao jogador "..score[1][1].." que venceu o SnowBall Event com "..score[1][2].." pontos.")
        end
     return true
    end

    local t_l = SBW_AREA[1]
    local b_r = SBW_AREA[2]

    function moveToEvent()
    for _, pid in ipairs(getPlayersOnline()) do
     if isInRange(getCreaturePosition(pid), SBW_WAITROOM[1], SBW_WAITROOM[2]) then
     local posti = {}
     local isPossibleToTeleportPlayer = false
     while (isPossibleToTeleportPlayer == FALSE) do
     posti = Position(math.random(t_l.x,b_r.x), math.random(t_l.y, b_r.y), 7)
     if (isInWallArray(posti) == FALSE) then
     isPossibleToTeleportPlayer = TRUE
     end
     end
     doTeleportThing(pid, posti)
     doPlayerSetStorageValue(pid, SBW_INEVENT, 1)
     doPlayerSetStorageValue(pid, SBW_AMMO, SBW_MINAMMO)
     doPlayerSetStorageValue(pid, SBW_SCORE, 0)
     doPlayerSendTextMessage(pid, 27, "[SNOWBALL WAR] Seja bem vindo, aqui estao os comandos que voce vai usar durante o evento\n!snowball atirar --Atirar uma bola de neve.\n!snowball info --Isso mostra seus pontos de jogos e a quantia de bolas de neve que voce tem. Tambem mostra o ranking de pontos do evento.\n Recarregue suas bolas de neve clicando em frente ao gerador no centro do campo.\nAltamente recomendado adicionar estes comandos a sua hotkeys.")             
     end
    end
    doRemoveItem(getTileItemById(SBW_TP, 1387).uid)
    addEvent(endsnowball, SBW_DURATION*1000*60)
    doBroadcastMessage(SBW_MSGSTART)
    end

    local time = os.date("*t")
    local timeopen1 = math.ceil(SBW_TIMEWAIT / 4)
    local timeopen2 = math.ceil(SBW_TIMEWAIT / 2)
    if (SBW_STARTAUTO) and (isInArray(SBW_DAYS,time.wday)) then
     doBroadcastMessage(SBW_MSGWARNING)
     if SBW_USEWAIT then
     addEvent(doBroadcastMessage, timeopen1*1000*60, "[SNOWBALL WAR] - Resta(m) ".. timeopen2 .." minuto(s) para iniciar o evento!")
     if (timeopen2 ~= timeopen1) then
     addEvent(doBroadcastMessage, timeopen2*1000*60, "[SNOWBALL WAR] - Resta(m) ".. timeopen1 .." minuto(s) para iniciar o evento!")
     end
            addEvent(moveToEvent, SBW_TIMEWAIT*1000*60)
            local teleport = doCreateTeleport(1387, SBW_TPGO, SBW_TP)
           
            doSetItemActionId(teleport.uid, 2880)
           
           
        else
     if SBW_TFS == "0.3" then
     doItemSetAttribute(doCreateItem(1387, SBW_TP), "aid", 2880)
     else
     doSetItemActionId(doCreateItem(1387, SBW_TP), 2880)
            end
            if(SBW_DURATION > 0) then
                addEvent(endsnowball, SBW_DURATION*1000*60)
            end
        end
    end
    return true
    end



    [Sistema] SNOWBAL EVENT TIBIA YNU5B25
    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes
    http://www.tibiaface.com

    20[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Lun Dic 10, 2018 5:06 pm

    Simon Marin

    Simon Marin
    Miembro
    Miembro
    Hola God Maya, necesitu tu ayuda, quiero que en ves que el evento se tenga que esperar una hora determinada. El mismo God ejecute un comando y se abra el evento, por favor

    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes

    21[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Lun Dic 10, 2018 5:30 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Simon Marin escribió:Hola God Maya, necesitu tu ayuda, quiero que en ves que el evento se tenga que esperar una hora determinada. El mismo God ejecute un comando y se abra el evento, por favor


    ahi tiene el talkactions

    Código:

            function onSay(cid, words, param, channel)
           
            function isInWallArray(pos)
                for k = 0, table.getn(SBW_WALLSID) do
                    if (getTileItemById(pos, SBW_WALLSID[k]).itemid == SBW_WALLSID[k]) then
            return true   
                    end
                end
            return false
            end

                         
            function endsnowball()
            local score = {}
            if not SBW_USEWAIT then
            doRemoveItem(getTileItemById(SBW_TP, 1387).uid)
            end
            for _, pid in ipairs(getPlayersOnline()) do
            if getPlayerStorageValue(pid, SBW_INEVENT) > 0 then
            table.insert(score, {getCreatureName(pid), getPlayerStorageValue(pid, SBW_SCORE)})
            doPlayerSetStorageValue(pid, SBW_INEVENT, 0)
            doPlayerSetStorageValue(pid, SBW_SCORE, 0)
            doPlayerSetStorageValue(pid, SBW_AMMO, 0)
            doTeleportThing(pid, SBW_TPEND)
            end
            end
            table.sort(score, function(a, b) return a[2] > b[2] end)
            --local random_item = SBW_REWARDS[math.random(1, #SBW_REWARDS)]
            local hora = os.date("%X")
            local data = os.date("%x")
            if table.getn(score) > 0 then
            if SBW_ADDREWARD then
            for _, pid in ipairs(getPlayersOnline()) do
            if getCreatureName(pid) == score[1][1] then
            for op,ad in pairs(SBW_REWARDS) do
            doPlayerAddItem(pid, ad[1], ad[2])
            end
            break
                            end
                        end
                    end
            db.query("INSERT INTO `snowballwar`  VALUES ('', ".. db.escapeString(score[1][1]) ..  ",".. score[1][2] ..", ".. db.escapeString(data) ..", ".. db.escapeString(hora) ..");") 
            db.query("UPDATE `players` SET `sbw_points`=`sbw_points`+".. score[1][2] .." WHERE `name` = " .. db.escapeString(score[1][1]) .. ";")
                    doBroadcastMessage("[SNOWBALL EVENT] encerrou-se, parabens ao jogador "..score[1][1].." que venceu o SnowBall Event com "..score[1][2].." pontos.")
                end
            return true
            end

            local t_l = SBW_AREA[1]
            local b_r = SBW_AREA[2]

            function moveToEvent()
            for _, pid in ipairs(getPlayersOnline()) do
            if isInRange(getCreaturePosition(pid), SBW_WAITROOM[1], SBW_WAITROOM[2]) then
            local posti = {}
            local isPossibleToTeleportPlayer = false
            while (isPossibleToTeleportPlayer == FALSE) do
            posti = Position(math.random(t_l.x,b_r.x), math.random(t_l.y, b_r.y), 7)
            if (isInWallArray(posti) == FALSE) then
            isPossibleToTeleportPlayer = TRUE
            end
            end
            doTeleportThing(pid, posti)
            doPlayerSetStorageValue(pid, SBW_INEVENT, 1)
            doPlayerSetStorageValue(pid, SBW_AMMO, SBW_MINAMMO)
            doPlayerSetStorageValue(pid, SBW_SCORE, 0)
            doPlayerSendTextMessage(pid, 27, "[SNOWBALL WAR] Seja bem vindo, aqui estao os comandos que voce vai usar durante o evento\n!snowball atirar --Atirar uma bola de neve.\n!snowball info --Isso mostra seus pontos de jogos e a quantia de bolas de neve que voce tem. Tambem mostra o ranking de pontos do evento.\n Recarregue suas bolas de neve clicando em frente ao gerador no centro do campo.\nAltamente recomendado adicionar estes comandos a sua hotkeys.")             
            end
            end
            doRemoveItem(getTileItemById(SBW_TP, 1387).uid)
            addEvent(endsnowball, SBW_DURATION*1000*60)
            doBroadcastMessage(SBW_MSGSTART)
            end

            local time = os.date("*t")
            local timeopen1 = math.ceil(SBW_TIMEWAIT / 4)
            local timeopen2 = math.ceil(SBW_TIMEWAIT / 2)
            if (SBW_STARTAUTO) and (isInArray(SBW_DAYS,time.wday)) then
            doBroadcastMessage(SBW_MSGWARNING)
            if SBW_USEWAIT then
            addEvent(doBroadcastMessage, timeopen1*1000*60, "[SNOWBALL WAR] - Resta(m) ".. timeopen2 .." minuto(s) para iniciar o evento!")
            if (timeopen2 ~= timeopen1) then
            addEvent(doBroadcastMessage, timeopen2*1000*60, "[SNOWBALL WAR] - Resta(m) ".. timeopen1 .." minuto(s) para iniciar o evento!")
            end
                    addEvent(moveToEvent, SBW_TIMEWAIT*1000*60)
                    doCreateTeleport(1387, SBW_TPGO, SBW_TP)
                else
            if SBW_TFS == "0.3" then
            doItemSetAttribute(doCreateItem(1387, SBW_TP), "aid", 2880)
            else
            doSetItemActionId(doCreateItem(1387, SBW_TP), 2880)
                    end
                    if(SBW_DURATION > 0) then
                        addEvent(endsnowball, SBW_DURATION*1000*60)
                    end
                end
            end
            return true
            end

    ya en talkactions.xml usas el comando que quieras



    [Sistema] SNOWBAL EVENT TIBIA YNU5B25
    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes
    http://www.tibiaface.com

    22[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Vie Nov 08, 2019 1:19 am

    admbaiakme

    admbaiakme
    Miembro
    Miembro
    [2:19:00.800] [Error - GlobalEvent Interface]
    [2:19:00.800] In a timer event called from:
    [2:19:00.800] data/globalevents/scripts/snowballglobalevent.lua:onTime
    [2:19:00.800] Description:
    [2:19:00.800] data/globalevents/scripts/snowballglobalevent.lua:99: attempt to call global 'Position' (a nil value)
    [2:19:00.810] stack traceback:
    [2:19:00.810] data/globalevents/scripts/snowballglobalevent.lua:99: in function <data/globalevents/scripts/snowballglobalevent.lua:53>

    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes

    23[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Vie Nov 08, 2019 10:02 am

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    admbaiakme escribió:[2:19:00.800] [Error - GlobalEvent Interface]
    [2:19:00.800] In a timer event called from:
    [2:19:00.800] data/globalevents/scripts/snowballglobalevent.lua:onTime
    [2:19:00.800] Description:
    [2:19:00.800] data/globalevents/scripts/snowballglobalevent.lua:99: attempt to call global 'Position' (a nil value)
    [2:19:00.810] stack traceback:
    [2:19:00.810] data/globalevents/scripts/snowballglobalevent.lua:99: in function <data/globalevents/scripts/snowballglobalevent.lua:53>

    en ese archivo no hay linea 99 porfavor revise su script que no haya copiado algo de mas



    [Sistema] SNOWBAL EVENT TIBIA YNU5B25
    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes
    http://www.tibiaface.com

    24[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Mar Jun 09, 2020 6:06 pm

    Tibia Matatan

    Tibia Matatan
    Miembro
    Miembro
    mayaa recuerdas que solucionamos este evento? bueno ahora me di cuenta de otro error mas lleva a todo el server al templo si se cancela

    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes

    25[Sistema] SNOWBAL EVENT TIBIA Empty Re: [Sistema] SNOWBAL EVENT TIBIA Mar Jun 09, 2020 9:58 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Tibia Matatan escribió:mayaa recuerdas que solucionamos este evento? bueno ahora me di cuenta de otro error mas lleva a todo el server al templo si se cancela

    revisa tu storage lo mas comun que sucede aqui es por los storages



    [Sistema] SNOWBAL EVENT TIBIA YNU5B25
    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes
    http://www.tibiaface.com

    Contenido patrocinado


    +5
    cimmeria
    Miguel Albertto
    God Aries
    gzdiaz20
    [Admin] God Maya
    9 participantes

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

    Ir a la página : 1, 2  Siguiente

    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).