• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Sistema] Baul De eventos (Otx 2 y tfs 0.3.7 y .0.4.0)

    Compartir:

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

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    Hola usuarios de tibiaface


    Aqui le dejo una recopilacion de eventos

    Battlefield

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

    Castle 24h

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

    City War

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

    CTF

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

    Dota

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

    FireStorm Event

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

    Rush Event

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

    Ultimate Survivor

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

    Zombie Event

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


    Recopilacion God Maya



    Ver perfil de usuario http://www.tibiaface.com
    Bro me podrias explicar de que tratan los siguientes eventos por favor c: //
    CTF//Dota//FireStorm Event//Ultimate Survivor

    Ver perfil de usuario

    The_Pain

    avatar
    Miembro
    Miembro
    buen aporte ;D



    Si necesitas hospedaje para tu servidor usa este enlace y mira las buenos planes de Windows y Linux:

    SevuOT Online, Version:10 and Custom.

    Si deseas ayudarme puedes hacerlo solo registrandote en esta pagina solo son 30 segundos Wink
    Ver perfil de usuario
    Me sale el siguiente error en el evento FireStorm Event



    no me deje entrar con ningun player

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Me sale el siguiente error en el evento FireStorm Event



    no me deje entrar con ningun player

    tiene que agregar storange que no este usando en su ot aqui

    Código:
    storages = {
                   main = 'fireStormEventMain', -- set free storage
                   player = 'fireStormEventPlayer', -- set free storage
                   joining = 'fireStormEventJoining', -- set free storage
                   exhaust = 'fireStormEventExhaust', -- set free storage
                   countEvent = 'fireStormEventCountEvent' -- set free storage
                },

    puede usas ejemplo

    50000
    50001
    de forma creciente



    Ver perfil de usuario http://www.tibiaface.com
    Ahora me sale el siguiente error

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Ahora me sale el siguiente error



    Código:
    <?xml version="1.0" encoding="UTF-8"?>
    <mod name="Fire_Storm_Event" version="3.0" author="CollocorpuseK" contact="otland.net" enabled="yes">
     
        <config name="config_fire_storm_event">
            <![CDATA[
                configFireStormEvent = {
                    storages = {
                        main = '13335', -- set free storage
                        player = '13336', -- set free storage
                        joining = '13337', -- set free storage
                        exhaust = '13338', -- set free storage
                        countEvent = '13339' -- set free storage
                    },
                 
                    position = {x=852 ,y=975,z=7}, -- position which player is teleported to
                    room = {
                        from = {x=851,y=974,z=7}, -- left top corner of event room
                        to = {x=873,y=996,z=7} -- right bottom corner of event room
                    },
     
                    rewards = {2472, 8982, 5785, 2365}, -- reward id which player can win (reward is random)
                    players = {
                        max = 50,
                        min = 2,
                        minLevel = 100
                    },
     
                    days = {
                        ['Tuesday'] = {'20:00:00'},
                        ['Thursday'] = {'18:37:00'},
                        ['Sunday'] = {'15:00:00'}
                    },
     
                    fireStormDelay = 1000, -- milisecond
                 
     
                    delayTime = 5.0, -- time in which players who joined to event are teleporting to teleport position
                    startEvent = 1, -- time from teleport to start event
                    text = 'To win and get a Rewards, stay as long as possible in the arena.'
                }
     
                fight = createConditionObject(CONDITION_INFIGHT)
                setConditionParam(fight, CONDITION_PARAM_TICKS, -1)
             
                y, x = 1, 1 -- don't change it
            ]]>
        </config>
     
        <lib name="lib_fire_storm_event">
            <![CDATA[
                function doStartFireStormEvent()
                    doSetStorage(configFireStormEvent.storages.joining, -1)
                 
                    if configFireStormEvent.players.min <= doCountPlayersFireStormEvent() then     
                        for _, cid in ipairs(getPlayersOnline()) do
                            if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then
                                doCreatureSetNoMove(cid, false)
                                doRemoveCondition(cid, CONDITION_INFIGHT)
                                doTeleportThing(cid, configFireStormEvent.position)
                                doCreatureSetStorage(cid, configFireStormEvent.storages.player, -1)
                             
                                doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'Get ready. Fire Storm starts in '..configFireStormEvent.startEvent..' seconds.')
                            end
                        end
                     
                        addEvent(doSetStorage, configFireStormEvent.startEvent * 1000, configFireStormEvent.storages.main, 1)
                        addEvent(doRepeatCheckFireStorm, configFireStormEvent.startEvent * 1000 + 2000)
                     
                        doBroadcastMessage('Fire Storm has started. LET\'S GO!')
                    else
                        for _, cid in ipairs(getPlayersOnline()) do
                            if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then
                                doCreatureSetNoMove(cid, false)
                                doRemoveCondition(cid, CONDITION_INFIGHT)
                            end
                        end
                     
                        doBroadcastMessage('Fire Storm hasn\'t started beacuse there were not enough players.')
                    end
                end
             
                function doRepeatCheckFireStorm()
                    if getStorage(configFireStormEvent.storages.main) > 0 then
                        local xTable, yTable, playerTable = {}, {}, {}
     
                        for x = configFireStormEvent.room.from.x, configFireStormEvent.room.to.x do
                            for y = configFireStormEvent.room.from.y, configFireStormEvent.room.to.y do
                                table.insert(xTable, x)
                                table.insert(yTable, y)
     
                                local n, i = getTileInfo({x=x, y=y, z=configFireStormEvent.room.to.z}).creatures, 1
                                if n ~= 0 then
                                    local v = getThingfromPos({x=x, y=y, z=configFireStormEvent.room.to.z, stackpos=i}).uid
                                    while v ~= 0 do
                                        if isPlayer(v) then
                                            table.insert(playerTable, v)
                                            if n == #playerTable then
                                                break
                                            end
                                        end
                                        i = i + 1
                                        v = getThingfromPos({x=x, y=y, z=configFireStormEvent.room.to.z, stackpos=i}).uid
                                    end
                                end
                            end
                        end
     
                        if #playerTable == 1 then
                            local prize = math.random(#configFireStormEvent.rewards)
                            doCreatureAddHealth(playerTable[1], getCreatureMaxHealth(playerTable[1]) - getCreatureHealth(playerTable[1]))
                            doCreatureAddMana(playerTable[1], getCreatureMaxMana(playerTable[1]) - getCreatureMana(playerTable[1]))
                            doTeleportThing(playerTable[1], getTownTemplePosition(getPlayerTown(playerTable[1])), true)
                            doPlayerAddItem(playerTable[1], configFireStormEvent.rewards[prize], 1)
                            doPlayerSendTextMessage(playerTable[1], MESSAGE_EVENT_ADVANCE, 'You win! You have received ' .. getItemNameById(configFireStormEvent.rewards[prize]) .. ' as reward.')
                            doBroadcastMessage('Fire Storm has finished. The winner is ' .. getCreatureName(playerTable[1]) .. '. Congratulations.')
                            doSetStorage(configFireStormEvent.storages.main, -1)
                         
                            db.executeQuery("INSERT INTO `events` (`event_name`, `winner_name`, `won_item`, `time_win`) VALUES (\"Fire\", \"" .. getCreatureName(playerTable[1]) .. "\", \"" .. getItemNameById(configFireStormEvent.rewards[prize]) .. "\", " .. getStorage(configFireStormEvent.storages.countEvent) ..");")
                            doSetStorage(configFireStormEvent.storages.countEvent, getStorage(configFireStormEvent.storages.countEvent) + 1)
                         
                            x, y = 1, 1
                        elseif #playerTable > 1 then
                            for a = 1, y do
                                addEvent(
                                    function()
                                        local pos = {x=xTable[math.random(#xTable)], y=yTable[math.random(#yTable)], z=7}
     
                                        for _, player in ipairs(playerTable) do
                                            local pPos = getThingPos(player)
                                            if pPos.x == pos.x and pPos.y == pos.y and pPos.z == pos.z then
                                                doCreatureAddHealth(player, - getCreatureMaxHealth(player))
                                            end
                                        end
                                        doSendDistanceShoot({x = pos.x - math.random(4, 6), y = pos.y - 5, z = pos.z}, pos, CONST_ANI_FIRE)
     
                                        addEvent(doSendMagicEffect, 150, pos, CONST_ME_HITBYFIRE)
                                        addEvent(doSendMagicEffect, 150, pos, CONST_ME_FIREAREA)
                                    end,
                                    math.random(100,1000)
                                )
                            end
                            if x == 5 * y then
                                y = y + 1
                            end
                         
                            x = x + 1
                        else
                            doBroadcastMessage('No one survived the Fire Storm.')
                            doSetStorage(configFireStormEvent.storages.main, -1)                     
                            doSetStorage(configFireStormEvent.storages.countEvent, getStorage(configFireStormEvent.storages.countEvent) + 1)
                            x, y = 1, 1
                        end
                     
                        addEvent(doRepeatCheckFireStorm, configFireStormEvent.fireStormDelay)
                    end
                end
             
                function doCountPlayersFireStormEvent()
                    local x = 0
                    for _, cid in ipairs(getPlayersOnline()) do
                        if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then
                            x = x + 1
                        end
                    end
                    return x
                end
             
                function doStartCountingFireStormEvent(x)
                    if configFireStormEvent.delayTime-x > 0 then
                        doBroadcastMessage('Fire Storm will start in '..configFireStormEvent.delayTime-x..' minutes. You can join to the event by say "!fire join".')
                        addEvent(doStartCountingFireStormEvent, 60*1000, x+1)
                    end
                end
            ]]>
        </lib>
        <talkaction words="!fire" event="script">
            <![CDATA[
                domodlib("config_fire_storm_event")
     
                function onSay(cid, words, param)
                    if getStorage(configFireStormEvent.storages.joining) ~= 1 then
                        return doPlayerSendCancel(cid, 'Fire Storm hasn\'t started yet.')
                    elseif param == '' then
                        return doPlayerSendCancel(cid, 'Command param required (say: "!fire join" or "!fire leave.").')
                    elseif getPlayerLevel(cid) < configFireStormEvent.players.minLevel then
                        return doPlayerSendCancel(cid, 'You can\'t join to the event if you don\'t have a require '..configFireStormEvent.players.minLevel..' level.')
                    elseif getTileInfo(getThingPos(cid)).protection ~= true then
                        return doPlayerSendCancel(cid, 'You can\'t join to the event if you aren\'t in protection zone.')
                    elseif exhaustion.check(cid, configFireStormEvent.storages.exhaust) ~= false then
                        return doPlayerSendCancel(cid, 'You must wait '..exhaustion.get(cid, configFireStormEvent.storages.exhaust)..' seconds to use this command again.')
                    end
     
                    if param == 'join' then
                        if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then
                            return doPlayerSendCancel(cid, 'You have arleady joined to event. Wait patiently for start.')
                        elseif doCountPlayersFireStormEvent() == configFireStormEvent.players.max then
                            return doPlayerSendCancel(cid, 'Max players in the event have been reached.')
                        end
                   
                        doCreatureSetNoMove(cid, true)
                        doPlayerPopupFYI(cid, configFireStormEvent.text)
                        doCreatureSetStorage(cid, configFireStormEvent.storages.player, 1)
                        doAddCondition(cid, fight)
                        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'You have joined to Fire Storm Event. You can\'t move until event start. Wait patiently for the event start.')
                        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have joined to Fire Storm Event.')
                    elseif param == 'leave' then
                        if getCreatureStorage(cid, configFireStormEvent.storages.player) <= 0 then
                            return doPlayerSendCancel(cid, 'You can\'t leave from the event if you don\'t join.')
                        end
                   
                        doCreatureSetNoMove(cid, false)
                        doRemoveCondition(cid, CONDITION_INFIGHT)
                        doCreatureSetStorage(cid, configFireStormEvent.storages.player, -1)
                        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have left from the Fire Storm Event.')
                    end
               
                    exhaustion.set(cid, configFireStormEvent.storages.exhaust, 5)
               
                    return true
                end
            ]]>
        </talkaction>
     
        <talkaction words="!startfire" access="5" event="script">
            <![CDATA[
                domodlib("config_fire_storm_event")
                domodlib("lib_fire_storm_event")
     
                function onSay(cid, words, param)
                    if getStorage(configFireStormEvent.storages.main) > 0 then
                        return doPlayerSendCancel(cid, 'Fire Storm Event is already running.')
                    end
           
                    doStartCountingFireStormEvent(0)
               
                    for _, pid in ipairs(getPlayersOnline()) do
                        if getCreatureStorage(pid, configFireStormEvent.storages.player) > 0 then
                            doCreatureSetStorage(pid, configFireStormEvent.storages.player, -1)
                            doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true)
                        end
                    end
               
                    doSetStorage(configFireStormEvent.storages.joining, 1)
                    addEvent(doStartFireStormEvent, configFireStormEvent.delayTime * 60 * 1000)
                    return true
                end
            ]]>
        </talkaction>
     
        <globalevent name="Fire_Storm_Event_Days" interval="1000" event="script">
            <![CDATA[
                domodlib("config_fire_storm_event")
                domodlib("lib_fire_storm_event")
     
                local daysOpen = {}         
                for k, v in pairs(configFireStormEvent.days) do
                    table.insert(daysOpen, k)
                end
           
                function onThink(interval)
                    if isInArray(daysOpen, os.date('%A')) then
                        if isInArray(configFireStormEvent.days[os.date('%A')], os.date('%X', os.time())) then
                            if getStorage(configFireStormEvent.storages.joining) ~= 1 then
                                doStartCountingFireStormEvent(0)
                           
                                for _, pid in ipairs(getPlayersOnline()) do
                                    if getCreatureStorage(pid, configFireStormEvent.storages.player) > 0 then
                                        doCreatureSetStorage(pid, configFireStormEvent.storages.player, -1)
                                        doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true)
                                    end
                                end
                           
                                doSetStorage(configFireStormEvent.storages.joining, 1)
                                addEvent(doStartFireStormEvent, configFireStormEvent.delayTime * 60 * 1000)
                            end
                        end
                    end
                    return true
                end
            ]]>
        </globalevent>
     
        <event type="statschange" name="Fire_Storm_Event_Dead" event="script">
            <![CDATA[
                domodlib("config_fire_storm_event")
     
                function onStatsChange(cid, attacker, type, combat, value)
                    if type == 1 and getCreatureHealth(cid) <= value then
                        if isInRange(getThingPos(cid), configFireStormEvent.room.from, configFireStormEvent.room.to) then
                            doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid))
                            doCreatureAddMana(cid, getCreatureMaxMana(cid) - getCreatureMana(cid))
                            doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You loss.')
                            return false
                        end
                    end
                    return true
                end
            ]]>
        </event>
     
        <event type="login" name="Fire_Storm_Event_Login" event="script">
            <![CDATA[
                domodlib("config_fire_storm_event")
       
                function onLogin(cid)
                    if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then
                        doCreatureSetStorage(cid, configFireStormEvent.storages.player, -1)
                        doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), true)
                        doCreatureSetNoMove(cid, false)
                        doRemoveCondition(cid, CONDITION_INFIGHT)
                    end
     
                    registerCreatureEvent(cid, 'Fire_Storm_Event_Dead')
                    return true
                end
            ]]>
        </event>
     
        <globalevent name="Fire_Storm_Event_Start" type="startup" event="script">
            <![CDATA[
                domodlib("config_fire_storm_event")
     
                function onStartup()
                    doSetStorage(configFireStormEvent.storages.main, -1)
                    doSetStorage(configFireStormEvent.storages.joining, -1)
                    return true
                end
            ]]>
        </globalevent>
    </mod>



    Ver perfil de usuario http://www.tibiaface.com

    Contenido patrocinado


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