• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Sistema] Capture The Flag 100% Sin Errores

    Compartir:

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

    1default [Sistema] Capture The Flag 100% Sin Errores el Miér Ene 21, 2015 9:00 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Hola usuarios de tibiaface

    Aqui les traigo el famoso capture banderas, bonito evento para sus player

    bueno aqui le dejamos el mods:

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

    configuracion:

    Código:
        BLUE_FLAG = {x=920,y=1280,z=6} -- Lugar Donde esta colocada la Bandera azul

            RED_FLAG = {x=974,y=1280,z=6} -- Lugar Donde esta colocada la Bandera roja

            Tp_Place = {x=824,y=1018,z=7} -- Lugar donde el telepuerto evento se va a crear.

            Wait_Place = {x=999,y=1281,z=7} -- Adonde Los Jugadores Seran Enviados Al entrar Al Teleport

            frompos = {x=993,y=1278,z=7} --Izkierda Arriva Dela Zala de espera

            topos = {x=1004,y=1283,z=7} -- Derecga Abajo Dela sala de Espera

            Red_Position = {x=971,y=1280,z=7} -- Lugar del Templo Del Equipo Rojo

            Blue_Position = {x=923,y=1280,z=7} -- Lugar del Templo Del Equipo Rojo


    Ahora Lo siguiente Configurar Al tiempo que empesara, Loke durara, Speed Recomiendo No Mover, Las banderas para ganar

    Código:
        Event_WaitTime = 1 -- Tiempo Que Iniciara el Evento Al Abrir Teleport (Ejemplo: Abre Teleport Y tienes 3 minutos Para entrar)

            Event_MaxTime = 15 --- en minutos (esto para si duran mas de 15 minutos el evento se termina y gana el que tenga mas FLAG)

            Players_Speed = 2000 -- poner el nivel de velocidad de base en el evento (como si desea que la velocidad de lvl 300 entonces Wright 300)

            Flag_Holder_Speed = 2000 -- [Old-Style caracteristica] de velocidad para el jugador cuando tienen la bandera mejor no aumentar.

            TEAM2_NAME = "Red" -- team 2 name

            TEAM1_NAME = "Green" -- team 1 name

            FLAG_SCORE = 10 -- Las Vanderas Ke tiene que juntar cada team para galar

            Teleport_On_Score = false -- este transportara a todos los de su posicion en el equipo principal cuando una veintena uno una bandera, realizar manifestaciones falsas para desactivarlo.

            Players_Least_Number = 2 -- Los Jugadores Que tienen Que ser para q el event nose cancele
            Min_Join_Level = 14 -- Minimo lvl para que puedan entrar


    y listo


    creditos:

    otland 60%

    kagando 40% fixe bugs





    [Sistema] Capture The Flag 100% Sin Errores YNU5B25
    https://www.tibiaface.com

    Invitado

    Anonymous
    Invitado
    funciona no tfs 1.0?

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    jonathands escribió:funciona no tfs 1.0?


    no funciona en tfs 1.0



    [Sistema] Capture The Flag 100% Sin Errores YNU5B25
    https://www.tibiaface.com

    Invitado

    Anonymous
    Invitado
    como se activa?

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    ballistic escribió:como se activa?


    dentro del comprimido esta los talkactions y todo el material



    [Sistema] Capture The Flag 100% Sin Errores YNU5B25
    https://www.tibiaface.com

    Invitado

    Anonymous
    Invitado
    no hay talkactions

    Felipe93

    Felipe93
    Miembro
    Miembro
    crees que funcione con el otx 7.72?

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:crees  que funcione con el otx 7.72?


    lo dudo este scripts fue desarrollado para tfs pero no pierdes anda intentando



    [Sistema] Capture The Flag 100% Sin Errores YNU5B25
    https://www.tibiaface.com

    9default Re: [Sistema] Capture The Flag 100% Sin Errores el Miér Jun 08, 2016 11:31 pm

    memito

    memito
    Nuevo Miembro
    Nuevo Miembro
    algun mapa para este evento? alguien tiene uno??

    God Aries

    God Aries
    Miembro
    Miembro
    me soporta en tfs 0.3.7?

    cimmeria

    cimmeria
    Miembro
    Miembro
    Question BUMP MI POST Question


    haber si puedes poner el talactions y lo demas que falta porfavor

    http://sayayinz.ddns.net

    12default teste el Dom Jul 16, 2017 6:35 pm

    braianloma

    braianloma
    Nuevo Miembro
    Nuevo Miembro
    como que nunca va a funcionar si no tiene el talkactions asi que no es 100% sino 10%


    el que hizo la traduccion de este evento tenia 6 años o menos.

    13default teste el Sáb Oct 28, 2017 10:16 am

    Simon Marin

    Simon Marin
    Miembro
    Miembro
    funciona para tfs 0.4?



    Tengo un problema ....
    Inician 2 player al evento y en la consolo suelta este mensaje
    14:53 CTF event was cancelled because less than 2 players joined

    Entonces nunca inicia el evento... no que que le pasa

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:funciona para tfs 0.4?



    Tengo un problema ....
    Inician 2 player al evento y en la consolo suelta este mensaje
    14:53 CTF event was cancelled because less than 2 players joined

    Entonces nunca inicia el evento... no que que le pasa

    pues algo hasconfigurado mal

    Players_Least_Number = 2 -- Los Jugadores Que tienen Que ser para q el event nose cancele

    ahi se modifica



    [Sistema] Capture The Flag 100% Sin Errores YNU5B25
    https://www.tibiaface.com

    Simon Marin

    Simon Marin
    Miembro
    Miembro
    Revise las cordenadas.. todas las posiciones y todo concuerda.
    y cuando ya esta el limite de player en la sala de espera justo cuando queda 1 minuto para empezar dice un mensaje que se ha cancelado el evento por que no se presentaron la cantidad requerida

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Revise las cordenadas.. todas las posiciones y todo concuerda.
    y cuando ya esta el limite de player en la sala de espera justo cuando queda 1 minuto para empezar dice un mensaje que se ha cancelado el evento por que no se presentaron la cantidad requerida

    en el floor 7 colocaste el mapa de capture the flag



    [Sistema] Capture The Flag 100% Sin Errores YNU5B25
    https://www.tibiaface.com

    Simon Marin

    Simon Marin
    Miembro
    Miembro
    yo hice el mapa... y tiene 4 terrenos... pero la base principal del evento esta en el floor 7 sip

    18default teste el Lun Dic 04, 2017 12:15 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:yo hice el mapa... y tiene 4 terrenos... pero la base principal del evento esta en el floor 7 sip

    aqui tiene prueba este que recien subi

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


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

    aqui tienes que editar tu problema por que se te inicia cada segundo

    <globalevent name="ctf" interval="100" event="script">

    100 cambia eso para que se te inicie cada 30 minutos por esto

    1800000

    https://www.tibiaface.com

    paulina24

    paulina24
    Miembro
    Miembro
    God Maya, tengo un error, al momento de tomar la bandera roja, la velocidad de movimiento del player verde es como si estubier aparalizado pero no lo puedes quitar con ningun hechizo

    en pocas palabras la velocidad del Verde se baja muchisimo como si estubiera paralizado

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:God Maya, tengo un error, al momento de tomar la bandera roja, la velocidad de movimiento del player verde es como si estubier aparalizado pero no lo puedes quitar con ningun hechizo

    en pocas palabras la velocidad del Verde se baja muchisimo como si estubiera paralizado


    Código:

    <?xml version="1.0" encoding="utf-8"?>
        <mod name="CTF" version="1.0" author="Tabaco" contact="tabaco wars" enabled="yes">
          <config name="toto"><![CDATA[

        --[[ Storage Settings]]--


        Owner = 1900 -- put empty storage

        FLAG2_INn = 4000 -- put empty storage

        FLAG_IN = 4001 -- put empty storage

        TEAM1_FLAGS = 3030 -- put empty storage

        TEAM2_FLAGS = 3031 -- put empty storage

        Event_Start = 3032 -- put empty storage

        Event_timeend = 3033 -- put empty storage

        Event_Tile_Close = 3039 -- put empty storage

        joined = 2023 --put empty storage

        Timer = 1010 --put empty storage

        --------------------------------------


        --[[ Places setting ]]--


        BLUE_FLAG = {x=920,y=1280,z=6} -- Lugar Donde esta colocada la Bandera azul

        RED_FLAG = {x=974,y=1280,z=6} -- Lugar Donde esta colocada la Bandera roja

        Tp_Place = {x=824,y=1018,z=7} -- Lugar donde el telepuerto evento se va a crear.

        Wait_Place = {x=999,y=1281,z=7} -- Adonde Los Jugadores Seran Enviados Al entrar Al Teleport

        frompos = {x=993,y=1278,z=7} --Izkierda Arriva Dela Zala de espera

        topos = {x=1004,y=1283,z=7} -- Derecga Abajo Dela sala de Espera

        Red_Position = {x=971,y=1280,z=7} -- Lugar del Templo Del Equipo Rojo

        Blue_Position = {x=923,y=1280,z=7} -- Lugar del Templo Del Equipo Rojo


        ---------------------------------------


        --[[Event setting ]]--


        Event_WaitTime = 1 -- Tiempo Que Iniciara el Evento Al Abrir Teleport (Ejemplo: Abre Teleport Y tienes 3 minutos Para entrar)

        Event_MaxTime = 15 --- en minutos (esto para si duran mas de 15 minutos el evento se termina y gana el que tenga mas FLAG)

        Players_Speed = 2000 -- poner el nivel de velocidad de base en el evento (como si desea que la velocidad de lvl 300 entonces Wright 300)

        Flag_Holder_Speed = 2000 -- [Old-Style caracteristica] de velocidad para el jugador cuando tienen la bandera mejor no aumentar.

        TEAM2_NAME = "Red" -- team 2 name

        TEAM1_NAME = "Green" -- team 1 name

        FLAG_SCORE = 10 -- Las Vanderas Ke tiene que juntar cada team para galar

        Teleport_On_Score = false -- este transportara a todos los de su posicion en el equipo principal cuando una veintena uno una bandera, realizar manifestaciones falsas para desactivarlo.

        Players_Least_Number = 2 -- Los Jugadores Que tienen Que ser para q el event nose cancele
        Min_Join_Level = 14 -- Minimo lvl para que puedan entrar

        rewards_random = {
                                                        [60] = { -- Rewards of 60% , if it is then it will randomly give one of the items in the items verible if there you put more than one item there
                                                                                items = {8981,2198,9777}
                                                                        },

                                                        [30] = { -- Rewards of 30%
                                                                                items = {2358,2504}
                                                                        },


                                                        [10] = { -- Rewards of 10%
                                                                                items = {7958,7368,8926}
                                                                        }
                                                }


        ]]></config>
          <lib name="CTF-lib"><![CDATA[
        function isTeamTwo(cid)
                return (isPlayer(cid) and getPlayerStorageValue(cid,5054) > -1)
        end
        function isTeamOne(cid)
                return (isPlayer(cid) and getPlayerStorageValue(cid,5055) > -1)
        end
        function resetTheTeams(cid)
                return (isPlayer(cid) and setPlayerStorageValue(cid,5054,-1) and setPlayerStorageValue(cid,5055,-1))
        end
        function setflagOwner(cid)
                return setPlayerStorageValue(cid,Owner,1)
        end
        function flagOwner(cid)
                return (isPlayer(cid) and getPlayerStorageValue(cid,Owner) > 0)
        end
        function releaseBF(cid)
                setGlobalStorageValue(FLAG_IN,-1)
                setPlayerStorageValue(cid,103, 0)
                setPlayerStorageValue(cid,Owner,-1)
        return true
        end
        function releaseRF(cid)
                setGlobalStorageValue(FLAG2_INn,-1)
                setPlayerStorageValue(cid,103, 0)
                setPlayerStorageValue(cid,Owner,-1)
        return true
        end
        function setFirstTeam(cid)
                return setPlayerStorageValue(cid,5055,1)
        end
        function setSecondTeam(cid)
                return setPlayerStorageValue(cid,5054,2)
        end
        function addToRed()
                return setGlobalStorageValue(TEAM2_FLAGS,getGlobalStorageValue(TEAM2_FLAGS)+1)
        end
        function addToBlue()
                return setGlobalStorageValue(TEAM1_FLAGS,getGlobalStorageValue(TEAM1_FLAGS)+1)
        end
        function getBlueScore()
                return getGlobalStorageValue(TEAM1_FLAGS)
        end
        function getRedScore()
                return getGlobalStorageValue(TEAM2_FLAGS)
        end
        function getTheSpeed(level)
                value = (220 +(2 *(level -1)))
                return value
        end

        function resetTheStorage()
                setGlobalStorageValue(Event_Start,-1)
                setGlobalStorageValue(Event_timeend,-1)
                setGlobalStorageValue(TEAM1_FLAGS,0)
                setGlobalStorageValue(FLAG2_INn,-1)
                setGlobalStorageValue(FLAG_IN,-1)
                setGlobalStorageValue(TEAM2_FLAGS,0)
        return true
        end
        function blueStolen()
                return getGlobalStorageValue(FLAG_IN)
        end
        function redStolen()
                return getGlobalStorageValue(FLAG2_INn)
        end
        function giveReward(cid)
                local t = math.random(1,100)
                if t <= 10 then
                        local rare = rewards_random[10].items[math.random(1,#rewards_random[10].items)]
                        doPlayerAddItem(cid,rare,1)
                        doPlayerSendTextMessage(cid,25,"Rare rate Reward : you won "..getItemNameById(rare)..".")

                elseif t > 10 and t <= 40 then
                        local semi = rewards_random[30].items[math.random(1,#rewards_random[30].items)]
                        doPlayerAddItem(cid,semi,1)
                        doPlayerSendTextMessage(cid,25,"Semi rate Reward : you won "..getItemNameById(semi)..".")


                elseif t > 40 then
                        local aver = rewards_random[60].items[math.random(1,#rewards_random[60].items)]
                        doPlayerAddItem(cid,aver,1)
                        doPlayerSendTextMessage(cid,25,"Averege rate Reward : you won "..getItemNameById(aver)..".")
                end
                return true
        end
        ]]></lib>
          <event type="login" name="Tutorial Login" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')
        function onLogin(cid)
                if getGlobalStorageValue(Event_Start) < 1 then
                        if isTeamOne(cid) or isTeamTwo(cid) then
                                resetTheTeams(cid)
                        end
                end
                registerCreatureEvent(cid, "Attk")
                registerCreatureEvent(cid, "ctff")
                registerCreatureEvent(cid, "prepare")
        return true
        end
        ]]></event>
          <event type="combat" name="Attk" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')

        function onCombat(cid, target)
                if isTeamOne(cid) and isTeamOne(target) then
                        return false
                end
                if isTeamTwo(cid) and isTeamTwo(target) then
                        return false
                end
                return true
        end
        ]]></event>
          <event type="statschange" name="prepare" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')

        local corpse_ids = {
                        [0] = 3065, -- female
                        [1] = 3058 -- male
        }
        function onStatsChange(cid, attacker, type, combat, value)
                        if combat == COMBAT_HEALING then
                                return true
                        end
                        if getCreatureHealth(cid) > value then
                                return true
                        end
                        if getGlobalStorageValue(Event_Start) > 0 then
                                if flagOwner(cid) then
                                        if isTeamOne(cid) then
                                                doItemSetAttribute(doCreateItem(corpse_ids[getPlayerSex(cid)], 1, getThingPos(cid)), "description", "You recognize "..getCreatureName(cid)..". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item").."[Flag Holder].")
                                                doTeleportThing(cid,Blue_Position,false)
                                                doSendMagicEffect(Blue_Position,10)
                                                doCreatureAddHealth(cid,getCreatureMaxHealth(cid))
                                                doCreatureAddMana(cid,getCreatureMaxMana(cid))
                                                releaseRF(cid)
                                                                for _,cid in ipairs(getPlayersOnline()) do
                                                                        if isTeamOne(cid) or isTeamTwo(cid) then
                                                                                doPlayerSendTextMessage(cid,22,getCreatureName(cid) .. " has died with the "..TEAM2_NAME.." team flag. The flag is returned back to the "..TEAM1_NAME.." team.")
                                                                        end
                                                                end
                                                return false
                                        elseif isTeamTwo(cid) then
                                                doItemSetAttribute(doCreateItem(corpse_ids[getPlayerSex(cid)], 1, getThingPos(cid)), "description", "You recognize "..getCreatureName(cid)..". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item").."[Flag Holder].")
                                                doTeleportThing(cid,Red_Position,false)
                                                doSendMagicEffect(Red_Position,10)
                                                doCreatureAddHealth(cid,getCreatureMaxHealth(cid))
                                                doCreatureAddMana(cid,getCreatureMaxMana(cid))
                                                releaseBF(cid)
                                                                for _,cid in ipairs(getPlayersOnline()) do
                                                                        if isTeamOne(cid) or isTeamTwo(cid) then
                                                                                doPlayerSendTextMessage(cid,22,getCreatureName(cid) .. " has died with the "..TEAM1_NAME.." team flag. The flag is returned back to the "..TEAM1_NAME.." team.")
                                                                        end
                                                                end
                                        return false
                                        end

                                else
                                        if isTeamOne(cid) or isTeamTwo(cid) then
                                                doItemSetAttribute(doCreateItem(corpse_ids[getPlayerSex(cid)], 1, getThingPos(cid)), "description", "You recognize "..getCreatureName(cid)..". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item").."[Normal kill].")
                                                doTeleportThing(cid,( isTeamTwo(cid) and Red_Position or Blue_Position ),false)
                                                doSendMagicEffect(Red_Position,10)
                                                doCreatureAddHealth(cid,getCreatureMaxHealth(cid))
                                                doCreatureAddMana(cid,getCreatureMaxMana(cid))
                                                return false
                                        end
                                end

                        end
        return true
        end

        ]]></event>
          <movevent type="StepIn" actionid="6000" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')

        function eventEnds()
                doBroadcastMessage('CTF-Event : The '..TEAM2_NAME..' team won and reciaved their reward.')
                        for _,cid in ipairs(getPlayersOnline()) do
                                if isTeamTwo(cid) then
                                        doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                        doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                        doRemoveConditions(cid,false)
                                        resetTheTeams(cid)
                                     
                                        giveReward(cid)

                                elseif isTeamOne(cid) then
                                        doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                        doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                        doRemoveConditions(cid,false)
                                        doPlayerSendTextMessage(cid,22,'Your team have lost.')
                                        resetTheTeams(cid)
                                     
                                end
                        end
                addEvent(resetTheStorage,5)
        end
        function onStepIn(cid, item, position, fromPosition)
                if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then
                        if isTeamTwo(cid) and redStolen() < 0 then
                                if not flagOwner(cid) then
                                        doTeleportThing(cid, fromPosition,TRUE)
                                        doSendMagicEffect(getThingPos(cid),2)
                                        doPlayerSendTextMessage(cid, 27, "This is your team flag, you cant take it!")
                                end
                        elseif isTeamTwo(cid) and redStolen() > 0 and blueStolen() < 0 then
                                doPlayerSendTextMessage(cid, 27, "Your team's Flag has been stolen, go get it back!")
                                doTeleportThing(cid, fromPosition,TRUE)
                                doSendMagicEffect(getThingPos(cid),2)
                          return true
                        end
                        if isTeamTwo(cid) and flagOwner(cid) and blueStolen() > 0 and redStolen() < 0 then
                                if getRedScore() == FLAG_SCORE -1 then
                                        addEvent(eventEnds,1000)
                                        addToRed()
                                        doTeleportThing(cid, fromPosition,TRUE)
                                     
                                        releaseBF(cid)
                                                for _,tid in ipairs(getPlayersOnline()) do
                                                        if isTeamOne(tid) or isTeamTwo(tid) then
                                                                doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " have captured the last flag and earned match win to the ".. TEAM2_NAME.." team!")
                                                        end
                                                end
                                else
                                        releaseBF(cid)
                                        addToRed()
                                        doTeleportThing(cid, fromPosition,TRUE)
                                       
                                                for _,tid in ipairs(getPlayersOnline()) do
                                                        if isTeamOne(tid) or isTeamTwo(tid) then
                                                                doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " have captured the flag and earned 1 point to the ".. TEAM2_NAME.." team!")
                                                                        if Teleport_On_Score == true then
                                                                                doTeleportThing(tid,( isTeamTwo(tid) and Red_Position or Blue_Position ), false)
                                                                                doSendMagicEffect(getThingPos(tid),10)
                                                                        end
                                                        end
                                                end
                                end
                        end
                        if isTeamOne(cid) then
                                if blueStolen() < 0 and redStolen() > 0 then
                                        if flagOwner(cid) then
                                                doPlayerSendTextMessage(cid, 27, "You already holding the flag!")
                                                doTeleportThing(cid, fromPosition,TRUE)
                                                doSendMagicEffect(getThingPos(cid),2)
                                        elseif (not flagOwner(cid)) then
                                                doPlayerSendTextMessage(cid, 27, "Your Team mates already stole the oponent flag, defend him!")
                                                doTeleportThing(cid, fromPosition,TRUE)
                                                doSendMagicEffect(getThingPos(cid),2)
                                        end
                                elseif blueStolen() > 0 and redStolen() < 0 then
                                        doPlayerSendTextMessage(cid, 27, "Your team's flag is taken you can't capture or steel a flag!")
                                        doTeleportThing(cid, fromPosition,TRUE)
                                        doSendMagicEffect(getThingPos(cid),2)
                                end
                                if redStolen() < 0 and blueStolen() < 0 then
                                        setGlobalStorageValue(FLAG2_INn,1)
                                        setflagOwner(cid)
                                        setPlayerStorageValue(cid,103, os.time()+300)
                                        doTeleportThing(cid, fromPosition,TRUE)
                                       
                                                for _,tid in ipairs(getPlayersOnline()) do
                                                        if isTeamOne(tid) or isTeamTwo(tid) then
                                                                doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " stolen the "..TEAM2_NAME.." team flag!")
                                                        end
                                                end
                                end
                        end
                end
        return true
        end
        ]]></movevent>
          <movevent type="StepIn" actionid="3435" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')
        function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
                if getStorage(Event_Tile_Close) > 0 then
                        if getPlayerLevel(cid) < Min_Join_Level then
                          doTeleportThing(cid,fromPosition,false)
                                doSendMagicEffect(fromPosition,10)
                                doPlayerSendTextMessage(cid,21,"Only players of level "..Min_Join_Level.." are allowed to pass.")
                        else
                                doTeleportThing(cid,Wait_Place,false)
                                doSendMagicEffect(Wait_Place,10)
                        end
                else
                        doTeleportThing(cid,fromPosition,false)
                        doSendMagicEffect(fromPosition,10)
                        doPlayerSendTextMessage(cid,21,"Regresa Mas Tarde El Event Aun Esta Cerrado...")
                end
        return true
        end

        ]]></movevent>
          <movevent type="StepIn" actionid="6001" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')

        function eventEnded()
                if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then
                        doBroadcastMessage('CTF-Event : The '.. TEAM1_NAME..' team won and reciaved their reward.')
                                for _,cid in ipairs(getPlayersOnline()) do
                                        if isTeamOne(cid) then
                                                doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                                doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                                doRemoveConditions(cid,false)
                                                resetTheTeams(cid)
                                             
                                                giveReward(cid)
                                        elseif isTeamTwo(cid) then
                                                doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                                doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                                doRemoveConditions(cid,false)
                                                doPlayerSendTextMessage(cid,22,'Your team have lost.')
                                                resetTheTeams(cid)
                                               
                                        end
                                end
                end
                addEvent(resetTheStorage,5)
        end
        function onStepIn(cid, item, position, fromPosition)
                if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then
                        if isTeamOne(cid) and blueStolen() < 0 then
                                if not flagOwner(cid) then
                                        doTeleportThing(cid, fromPosition,TRUE)
                                        doSendMagicEffect(getThingPos(cid),2)
                                        doPlayerSendTextMessage(cid, 27, "This is your team flag, you cant take it!")
                                end
                        elseif isTeamOne(cid) and blueStolen() > 0 and redStolen() < 0 then
                                doPlayerSendTextMessage(cid, 27, "Your team's Flag has been stolen, go get it back!")
                                doTeleportThing(cid, fromPosition,TRUE)
                                doSendMagicEffect(getThingPos(cid),2)
                        return true
                        end
                        if isTeamOne(cid) and flagOwner(cid) and redStolen() > 0 and blueStolen() < 0 then
                                if getBlueScore() == FLAG_SCORE -1 then
                                        addEvent(eventEnded,1000)
                                        addToBlue()
                                        doTeleportThing(cid, fromPosition,TRUE)
                                     
                                        releaseRF(cid)
                                                for _,tid in ipairs(getPlayersOnline()) do
                                                        if isTeamOne(tid) or isTeamTwo(tid) then
                                                                doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " have captured the last flag and earned match win to the ".. TEAM1_NAME.." team!")
                                                        end
                                                end
                                else
                                        releaseRF(cid)
                                        addToBlue()
                                        doTeleportThing(cid, fromPosition,TRUE)
                                       
                                                for _,tid in ipairs(getPlayersOnline()) do
                                                        if isTeamOne(tid) or isTeamTwo(tid) then
                                                                doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " have captured the flag and earned 1 point to the ".. TEAM1_NAME.." team!")
                                                                        if Teleport_On_Score == true then
                                                                                doTeleportThing(tid,( isTeamTwo(tid) and Red_Position or Blue_Position ), false)
                                                                                doSendMagicEffect(getThingPos(tid),10)
                                                                        end
                                                        end
                                                end
                                end
                        end
                        if isTeamTwo(cid) then
                                if blueStolen() > 0 and redStolen() < 0 then
                                        if flagOwner(cid) then
                                                doPlayerSendTextMessage(cid, 27, "You already holding the flag!")
                                                doTeleportThing(cid, fromPosition,TRUE)
                                                doSendMagicEffect(getThingPos(cid),2)
                                        elseif (not flagOwner(cid)) then
                                                doPlayerSendTextMessage(cid, 27, "Your Team mates already stole the oponent flag, defend him!")
                                                doTeleportThing(cid, fromPosition,TRUE)
                                                doSendMagicEffect(getThingPos(cid),2)
                                        end
                                elseif redStolen() > 0 and blueStolen() < 0 then
                                        doPlayerSendTextMessage(cid, 27, "Your team's flag is taken you can't capture or steel a flag!")
                                        doTeleportThing(cid, fromPosition,TRUE)
                                        doSendMagicEffect(getThingPos(cid),2)
                                end
                                if blueStolen() < 0 and redStolen() < 0 then
                                        setGlobalStorageValue(FLAG_IN,1)
                                        setflagOwner(cid)
                                        setPlayerStorageValue(cid,103, os.time()+300)
                                        doTeleportThing(cid, fromPosition,TRUE)
                                       
                                                for _,tid in ipairs(getPlayersOnline()) do
                                                        if isTeamOne(tid) or isTeamTwo(tid) then
                                                                doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " stolen the "..TEAM1_NAME.." team flag!")
                                                        end
                                                end
                                end
                        end
                end
        return true
        end
        ]]></movevent>
          <globalevent name="ctf" interval="100" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')
        local players = {}
        local bmale = createConditionObject(CONDITION_OUTFIT)
                        setConditionParam(bmale, CONDITION_PARAM_TICKS, -1)
                        addOutfitCondition(bmale, {lookType = math.random(128,134), lookHead = 115, lookBody =114, lookLegs = 81, lookFeet = 81, lookTypeEx = 0, lookAddons = 3})

                local bfemale = createConditionObject(CONDITION_OUTFIT)
                        setConditionParam(bfemale, CONDITION_PARAM_TICKS, -1)
                        addOutfitCondition(bfemale, {lookType = math.random(136,142), lookHead = 115, lookBody =114, lookLegs = 81, lookFeet = 81, lookTypeEx = 0, lookAddons = 3})

                local rmale = createConditionObject(CONDITION_OUTFIT)
                        setConditionParam(rmale, CONDITION_PARAM_TICKS, -1)
                        addOutfitCondition(rmale, {lookType = math.random(128,134), lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94, lookTypeEx = 0, lookAddons = 3})

                local rfemale = createConditionObject(CONDITION_OUTFIT)
                        setConditionParam(rfemale, CONDITION_PARAM_TICKS, -1)
                        addOutfitCondition(rfemale, {lookType = math.random(136,142),lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94, lookTypeEx = 0, lookAddons = 3})
                local fight = createConditionObject(CONDITION_INFIGHT)
                        setConditionParam(fight, CONDITION_PARAM_TICKS, -1)
        function eventEnd()
                if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then
                        if getRedScore() > getBlueScore() then
                                doBroadcastMessage('CTF-Event : The '.. TEAM2_NAME..' team won and recieved their reward.')
                                        for _,cid in ipairs(getPlayersOnline()) do
                                                if isTeamTwo(cid) then
                                                        doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                                        doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                                        doRemoveConditions(cid,false)
                                                        resetTheTeams(cid)
                                                       
                                                        giveReward(cid)
                                                elseif isTeamOne(cid) then
                                                        doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                                        doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                                        doRemoveConditions(cid,false)
                                                        doPlayerSendTextMessage(cid,22,'Your team have lost.')
                                                        resetTheTeams(cid)
                                                       
                                                end
                                        end

                        elseif getRedScore() < getBlueScore() then
                                doBroadcastMessage('CTF-Event : The '.. TEAM1_NAME..' team won and recieved their reward.')
                                        for _,cid in ipairs(getPlayersOnline()) do
                                                if isTeamOne(cid) then
                                                        doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                                        doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                                        doRemoveConditions(cid,false)
                                                        resetTheTeams(cid)
                                                     
                                                        giveReward(cid)
                                                elseif isTeamTwo(cid) then
                                                        doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                                        doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                                        doRemoveConditions(cid,false)
                                                        doPlayerSendTextMessage(cid,22,'Your team have lost.')
                                                        resetTheTeams(cid)
                                                       
                                                end
                                        end
                        elseif getRedScore() == getBlueScore() then
                                doBroadcastMessage('CTF-Event : The Event ended with a draw between both teams.')
                                        for _,cid in ipairs(getPlayersOnline()) do
                                                if isTeamTwo(cid) or isTeamOne(cid) then
                                                        doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                                        doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                                        doRemoveConditions(cid,false)
                                                        doPlayerSendTextMessage(cid,22,'It was a draw between both teams.')
                                                        resetTheTeams(cid)
                                                       
                                                end
                                        end

                        end
                        addEvent(resetTheStorage,1000)
                end
        end

        function eventStart()
                doSetStorage(Event_Tile_Close,-1)
                setGlobalStorageValue(Event_timeend,1)
                setGlobalStorageValue(Timer, os.time() + Event_MaxTime*60)
                addEvent(eventEnd,Event_MaxTime*60*1000)



                                for v = frompos.x , topos.x do
                                        for k = frompos.y , topos.y do
                                                for i = 1, 200 do
                                                        position = {x = v, y = k, z = 7, stackpos = i}
                                                        pid = getThingfromPos(position).uid
                                                                if(pid ~= nil and isPlayer(pid)) then
                                                                        table.insert(players, pid)
                                                                end
                                                end
                                        end
                                end
                                if math.mod(#players, 2) ~= 0 then
                                        doTeleportThing(players[#players],getTownTemplePosition(getPlayerTown(players[#players])),false)
                                        doSendMagicEffect(getThingPosition(players[#players]),10)
                                        doPlayerSendTextMessage(players[#players], 19, "Sorry, you have been kicked from event to balance teams.")
                                        table.remove(players)
                                end
                                if #players < Players_Least_Number then
                                        doBroadcastMessage("CTF event was cancelled because less than "..Players_Least_Number.." players joined")
                                        resetTheStorage()
                                                if #players > 0 then
                                                        for i = 1,#players do
                                                                doTeleportThing(players[i],getTownTemplePosition(getPlayerTown(players[i])),false)
                                                                doSendMagicEffect(getThingPos(players[i]), 10)
                                                        end
                                                end
                                else
                                                doBroadcastMessage("CTF started")
                                                        for i = 1, math.floor(#players/2) do
                                                                setFirstTeam(players[i])
                                                        end
                                                        for i = math.floor(#players/2)+1 , #players do
                                                                setSecondTeam(players[i])
                                                        end
                                                        for _,cid in ipairs(getPlayersOnline()) do
                                                                if isTeamOne(cid) then
                                                                        if getPlayerSex(cid) == 1 then
                                                                                doAddCondition(cid, bmale)
                                                                        elseif getPlayerSex(cid) ~= 1 then
                                                                                doAddCondition(cid, bfemale)
                                                                        end
                                                                        doAddCondition(cid, fight)
                                                                        doTeleportThing(cid,Blue_Position,false)
                                                                        doSendMagicEffect(Blue_Position, 10)
                                                                       
                                                                elseif  isTeamTwo(cid) then
                                                                        if getPlayerSex(cid) == 1 then
                                                                                doAddCondition(cid, rmale)
                                                                        elseif getPlayerSex(cid) ~= 1 then
                                                                                doAddCondition(cid, rfemale)
                                                                        end
                                                                        doAddCondition(cid, fight)
                                                                        doTeleportThing(cid,Red_Position,false)
                                                                        doSendMagicEffect(Red_Position, 10)
                                                                     
                                                                end
                                                        end
                                                        players = {}

                                end
        end
        function onThink(interval)
          if getGlobalStorageValue(Event_Start) < 0 then
                        setGlobalStorageValue(Event_Start,1)
                        doSetStorage(Event_Tile_Close,1)
                        doBroadcastMessage("CTF event A avierto Entra Al Teleport. Iniciara en "..Event_WaitTime.." minutes.")
                        players = {}
                        if getTileItemById(Tp_Place, 1387).uid < 1 then
                                doItemSetAttribute(doCreateItem(1387,1, Tp_Place), "aid", 3435)
                        end

                        f= Event_WaitTime - 1
                                for i = 1,Event_WaitTime-1 do
                                        addEvent(doBroadcastMessage,i*60*1000,"CTF event A avierto Entra Al Teleport. Iniciara en "..f.." minutes.")
                                        f= f-1
                                end
                        addEvent(eventStart,Event_WaitTime*60*1000)
                end
        return true
        end
        ]]></globalevent>
          <event type="think" name="ctff" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')

        local bl = BLUE_FLAG
        local re = RED_FLAG
        function onThink(interval)
                if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then
                        if redStolen() < 0 then
                                doSendAnimatedText(re,"FLAG!",TEXTCOLOR_DARKRED)
                                doSendMagicEffect(re, CONST_ME_SOUND_RED)
                        end
                        if blueStolen() < 0 then
                                doSendAnimatedText(bl,"FLAG!",TEXTCOLOR_GREEN)
                                doSendMagicEffect(bl, CONST_ME_SOUND_GREEN)
                        end
                        for _, cid in ipairs(getPlayersOnline()) do
                                if flagOwner(cid) then
                                        if isTeamOne(cid) or isTeamTwo(cid) then
                                                if hasCondition(cid,CONDITION_HASTE) then
                                                        doRemoveCondition(cid,CONDITION_HASTE)
                                                end
                                        end
                                        pl = getThingPos(cid)
                                                if isTeamTwo(cid) then
                                                        if getPlayerStorageValue(cid,103) < os.time() then
                                                                releaseBF(cid)
                                                                        for _,cid in ipairs(getPlayersOnline()) do
                                                                                if isTeamOne(cid) or isTeamTwo(cid) then
                                                                                        doPlayerSendTextMessage(cid,22,getCreatureName(cid) .. " wasted 5 minutes with FLAG."..TEAM2_NAME.." flag is again on spawn!")
                                                                                end
                                                                        end
                                                        else
                                                                doSendAnimatedText(pl,"FLAG!",TEXTCOLOR_GREEN)
                                                                doSendMagicEffect(pl, CONST_ME_SOUND_GREEN)
                                                        end
                                                elseif isTeamOne(cid) then
                                                        if getPlayerStorageValue(cid,103) < os.time() then
                                                                releaseRF(cid)
                                                                        for _,cid in ipairs(getPlayersOnline()) do
                                                                                if isTeamOne(cid) or isTeamTwo(cid) then
                                                                                        doPlayerSendTextMessage(cid,22,getCreatureName(cid) .. " wasted 5 minutes with FLAG."..TEAM1_NAME.." flag is again on spawn!")
                                                                                end
                                                                        end
                                                        else
                                                                doSendAnimatedText(pl,"FLAG!",COLOR_RED)
                                                                doSendMagicEffect(pl, CONST_ME_SOUND_RED)
                                                        end
                                                end
                                end
                        end
                end
          return true
        end
        ]]></event>
          <globalevent name="timer" interval="0.4" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')

        function onThink(interval)
                for _,cid in ipairs(getPlayersOnline()) do
                        if isTeamOne(cid) or isTeamTwo(cid) then
                                if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then
                                        if getGlobalStorageValue(Timer)- os.time() >= 0 then
                                                doPlayerSendCancel(cid, "Time -> ".. os.date("%M:%S ",getGlobalStorageValue(Timer)- os.time()) .. "  |  ".. TEAM1_NAME.." Score : "..getBlueScore(cid).."/"..FLAG_SCORE.." captures  |  ".. TEAM2_NAME.." Score : "..getRedScore(cid).."/"..FLAG_SCORE.." captures")
                                        end
                                end
                        end
                end
        return true
        end
        ]]></globalevent>
          <globalevent name="starting" type="startup" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')
        function onStartup()
                resetTheStorage()

        return true
        end
        ]]></globalevent>
        </mod>



    [Sistema] Capture The Flag 100% Sin Errores YNU5B25
    https://www.tibiaface.com

    paulina24

    paulina24
    Miembro
    Miembro
    Al momento de tomar cualquier bandera tanto verde como roja, el servidor se cierra
    :C

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Al momento de tomar cualquier bandera tanto verde como roja, el servidor se cierra
    :C

    Código:

    <?xml version="1.0" encoding="utf-8"?>
        <mod name="CTF" version="1.0" author="Tabaco" contact="tabaco wars" enabled="yes">
          <config name="toto"><![CDATA[

        --[[ Storage Settings]]--


        Owner = 1900 -- put empty storage

        FLAG2_INn = 4000 -- put empty storage

        FLAG_IN = 4001 -- put empty storage

        TEAM1_FLAGS = 3030 -- put empty storage

        TEAM2_FLAGS = 3031 -- put empty storage

        Event_Start = 3032 -- put empty storage

        Event_timeend = 3033 -- put empty storage

        Event_Tile_Close = 3039 -- put empty storage

        joined = 2023 --put empty storage

        Timer = 1010 --put empty storage

        --------------------------------------


        --[[ Places setting ]]--


        BLUE_FLAG = {x=920,y=1280,z=6} -- Lugar Donde esta colocada la Bandera azul

        RED_FLAG = {x=974,y=1280,z=6} -- Lugar Donde esta colocada la Bandera roja

        Tp_Place = {x=824,y=1018,z=7} -- Lugar donde el telepuerto evento se va a crear.

        Wait_Place = {x=999,y=1281,z=7} -- Adonde Los Jugadores Seran Enviados Al entrar Al Teleport

        frompos = {x=993,y=1278,z=7} --Izkierda Arriva Dela Zala de espera

        topos = {x=1004,y=1283,z=7} -- Derecga Abajo Dela sala de Espera

        Red_Position = {x=971,y=1280,z=7} -- Lugar del Templo Del Equipo Rojo

        Blue_Position = {x=923,y=1280,z=7} -- Lugar del Templo Del Equipo Rojo


        ---------------------------------------


        --[[Event setting ]]--


        Event_WaitTime = 1 -- Tiempo Que Iniciara el Evento Al Abrir Teleport (Ejemplo: Abre Teleport Y tienes 3 minutos Para entrar)

        Event_MaxTime = 15 --- en minutos (esto para si duran mas de 15 minutos el evento se termina y gana el que tenga mas FLAG)

        Players_Speed = 2000 -- poner el nivel de velocidad de base en el evento (como si desea que la velocidad de lvl 300 entonces Wright 300)

        Flag_Holder_Speed = 2000 -- [Old-Style caracteristica] de velocidad para el jugador cuando tienen la bandera mejor no aumentar.

        TEAM2_NAME = "Red" -- team 2 name

        TEAM1_NAME = "Green" -- team 1 name

        FLAG_SCORE = 10 -- Las Vanderas Ke tiene que juntar cada team para galar

        Teleport_On_Score = false -- este transportara a todos los de su posicion en el equipo principal cuando una veintena uno una bandera, realizar manifestaciones falsas para desactivarlo.

        Players_Least_Number = 2 -- Los Jugadores Que tienen Que ser para q el event nose cancele
        Min_Join_Level = 14 -- Minimo lvl para que puedan entrar

        rewards_random = {
                                                        [60] = { -- Rewards of 60% , if it is then it will randomly give one of the items in the items verible if there you put more than one item there
                                                                                items = {8981,2198,9777}
                                                                        },

                                                        [30] = { -- Rewards of 30%
                                                                                items = {2358,2504}
                                                                        },


                                                        [10] = { -- Rewards of 10%
                                                                                items = {7958,7368,8926}
                                                                        }
                                                }


        ]]></config>
          <lib name="CTF-lib"><![CDATA[
        function isTeamTwo(cid)
                return (isPlayer(cid) and getPlayerStorageValue(cid,5054) > -1)
        end
        function isTeamOne(cid)
                return (isPlayer(cid) and getPlayerStorageValue(cid,5055) > -1)
        end
        function resetTheTeams(cid)
                return (isPlayer(cid) and setPlayerStorageValue(cid,5054,-1) and setPlayerStorageValue(cid,5055,-1))
        end
        function setflagOwner(cid)
                return setPlayerStorageValue(cid,Owner,1)
        end
        function flagOwner(cid)
                return (isPlayer(cid) and getPlayerStorageValue(cid,Owner) > 0)
        end
        function releaseBF(cid)
                setGlobalStorageValue(FLAG_IN,-1)
                setPlayerStorageValue(cid,103, 0)
                setPlayerStorageValue(cid,Owner,-1)
        return true
        end
        function releaseRF(cid)
                setGlobalStorageValue(FLAG2_INn,-1)
                setPlayerStorageValue(cid,103, 0)
                setPlayerStorageValue(cid,Owner,-1)
        return true
        end
        function setFirstTeam(cid)
                return setPlayerStorageValue(cid,5055,1)
        end
        function setSecondTeam(cid)
                return setPlayerStorageValue(cid,5054,2)
        end
        function addToRed()
                return setGlobalStorageValue(TEAM2_FLAGS,getGlobalStorageValue(TEAM2_FLAGS)+1)
        end
        function addToBlue()
                return setGlobalStorageValue(TEAM1_FLAGS,getGlobalStorageValue(TEAM1_FLAGS)+1)
        end
        function getBlueScore()
                return getGlobalStorageValue(TEAM1_FLAGS)
        end
        function getRedScore()
                return getGlobalStorageValue(TEAM2_FLAGS)
        end
     

        function resetTheStorage()
                setGlobalStorageValue(Event_Start,-1)
                setGlobalStorageValue(Event_timeend,-1)
                setGlobalStorageValue(TEAM1_FLAGS,0)
                setGlobalStorageValue(FLAG2_INn,-1)
                setGlobalStorageValue(FLAG_IN,-1)
                setGlobalStorageValue(TEAM2_FLAGS,0)
        return true
        end
        function blueStolen()
                return getGlobalStorageValue(FLAG_IN)
        end
        function redStolen()
                return getGlobalStorageValue(FLAG2_INn)
        end
        function giveReward(cid)
                local t = math.random(1,100)
                if t <= 10 then
                        local rare = rewards_random[10].items[math.random(1,#rewards_random[10].items)]
                        doPlayerAddItem(cid,rare,1)
                        doPlayerSendTextMessage(cid,25,"Rare rate Reward : you won "..getItemNameById(rare)..".")

                elseif t > 10 and t <= 40 then
                        local semi = rewards_random[30].items[math.random(1,#rewards_random[30].items)]
                        doPlayerAddItem(cid,semi,1)
                        doPlayerSendTextMessage(cid,25,"Semi rate Reward : you won "..getItemNameById(semi)..".")


                elseif t > 40 then
                        local aver = rewards_random[60].items[math.random(1,#rewards_random[60].items)]
                        doPlayerAddItem(cid,aver,1)
                        doPlayerSendTextMessage(cid,25,"Averege rate Reward : you won "..getItemNameById(aver)..".")
                end
                return true
        end
        ]]></lib>
          <event type="login" name="Tutorial Login" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')
        function onLogin(cid)
                if getGlobalStorageValue(Event_Start) < 1 then
                        if isTeamOne(cid) or isTeamTwo(cid) then
                                resetTheTeams(cid)
                        end
                end
                registerCreatureEvent(cid, "Attk")
                registerCreatureEvent(cid, "ctff")
                registerCreatureEvent(cid, "prepare")
        return true
        end
        ]]></event>
          <event type="combat" name="Attk" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')

        function onCombat(cid, target)
                if isTeamOne(cid) and isTeamOne(target) then
                        return false
                end
                if isTeamTwo(cid) and isTeamTwo(target) then
                        return false
                end
                return true
        end
        ]]></event>
          <event type="statschange" name="prepare" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')

        local corpse_ids = {
                        [0] = 3065, -- female
                        [1] = 3058 -- male
        }
        function onStatsChange(cid, attacker, type, combat, value)
                        if combat == COMBAT_HEALING then
                                return true
                        end
                        if getCreatureHealth(cid) > value then
                                return true
                        end
                        if getGlobalStorageValue(Event_Start) > 0 then
                                if flagOwner(cid) then
                                        if isTeamOne(cid) then
                                                doItemSetAttribute(doCreateItem(corpse_ids[getPlayerSex(cid)], 1, getThingPos(cid)), "description", "You recognize "..getCreatureName(cid)..". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item").."[Flag Holder].")
                                                doTeleportThing(cid,Blue_Position,false)
                                                doSendMagicEffect(Blue_Position,10)
                                                doCreatureAddHealth(cid,getCreatureMaxHealth(cid))
                                                doCreatureAddMana(cid,getCreatureMaxMana(cid))
                                                releaseRF(cid)
                                                                for _,cid in ipairs(getPlayersOnline()) do
                                                                        if isTeamOne(cid) or isTeamTwo(cid) then
                                                                                doPlayerSendTextMessage(cid,22,getCreatureName(cid) .. " has died with the "..TEAM2_NAME.." team flag. The flag is returned back to the "..TEAM1_NAME.." team.")
                                                                        end
                                                                end
                                                return false
                                        elseif isTeamTwo(cid) then
                                                doItemSetAttribute(doCreateItem(corpse_ids[getPlayerSex(cid)], 1, getThingPos(cid)), "description", "You recognize "..getCreatureName(cid)..". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item").."[Flag Holder].")
                                                doTeleportThing(cid,Red_Position,false)
                                                doSendMagicEffect(Red_Position,10)
                                                doCreatureAddHealth(cid,getCreatureMaxHealth(cid))
                                                doCreatureAddMana(cid,getCreatureMaxMana(cid))
                                                releaseBF(cid)
                                                                for _,cid in ipairs(getPlayersOnline()) do
                                                                        if isTeamOne(cid) or isTeamTwo(cid) then
                                                                                doPlayerSendTextMessage(cid,22,getCreatureName(cid) .. " has died with the "..TEAM1_NAME.." team flag. The flag is returned back to the "..TEAM1_NAME.." team.")
                                                                        end
                                                                end
                                        return false
                                        end

                                else
                                        if isTeamOne(cid) or isTeamTwo(cid) then
                                                doItemSetAttribute(doCreateItem(corpse_ids[getPlayerSex(cid)], 1, getThingPos(cid)), "description", "You recognize "..getCreatureName(cid)..". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item").."[Normal kill].")
                                                doTeleportThing(cid,( isTeamTwo(cid) and Red_Position or Blue_Position ),false)
                                                doSendMagicEffect(Red_Position,10)
                                                doCreatureAddHealth(cid,getCreatureMaxHealth(cid))
                                                doCreatureAddMana(cid,getCreatureMaxMana(cid))
                                                return false
                                        end
                                end

                        end
        return true
        end

        ]]></event>
          <movevent type="StepIn" actionid="6000" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')

        function eventEnds()
                doBroadcastMessage('CTF-Event : The '..TEAM2_NAME..' team won and reciaved their reward.')
                        for _,cid in ipairs(getPlayersOnline()) do
                                if isTeamTwo(cid) then
                                        doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                        doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                        doRemoveConditions(cid,false)
                                        resetTheTeams(cid)
                                       
                                        giveReward(cid)

                                elseif isTeamOne(cid) then
                                        doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                        doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                        doRemoveConditions(cid,false)
                                        doPlayerSendTextMessage(cid,22,'Your team have lost.')
                                        resetTheTeams(cid)
                                       
                                end
                        end
                addEvent(resetTheStorage,5)
        end
        function onStepIn(cid, item, position, fromPosition)
                if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then
                        if isTeamTwo(cid) and redStolen() < 0 then
                                if not flagOwner(cid) then
                                        doTeleportThing(cid, fromPosition,TRUE)
                                        doSendMagicEffect(getThingPos(cid),2)
                                        doPlayerSendTextMessage(cid, 27, "This is your team flag, you cant take it!")
                                end
                        elseif isTeamTwo(cid) and redStolen() > 0 and blueStolen() < 0 then
                                doPlayerSendTextMessage(cid, 27, "Your team's Flag has been stolen, go get it back!")
                                doTeleportThing(cid, fromPosition,TRUE)
                                doSendMagicEffect(getThingPos(cid),2)
                          return true
                        end
                        if isTeamTwo(cid) and flagOwner(cid) and blueStolen() > 0 and redStolen() < 0 then
                                if getRedScore() == FLAG_SCORE -1 then
                                        addEvent(eventEnds,1000)
                                        addToRed()
                                        doTeleportThing(cid, fromPosition,TRUE)
                                       
                                        releaseBF(cid)
                                                for _,tid in ipairs(getPlayersOnline()) do
                                                        if isTeamOne(tid) or isTeamTwo(tid) then
                                                                doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " have captured the last flag and earned match win to the ".. TEAM2_NAME.." team!")
                                                        end
                                                end
                                else
                                        releaseBF(cid)
                                        addToRed()
                                        doTeleportThing(cid, fromPosition,TRUE)
                                       
                                                for _,tid in ipairs(getPlayersOnline()) do
                                                        if isTeamOne(tid) or isTeamTwo(tid) then
                                                                doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " have captured the flag and earned 1 point to the ".. TEAM2_NAME.." team!")
                                                                        if Teleport_On_Score == true then
                                                                                doTeleportThing(tid,( isTeamTwo(tid) and Red_Position or Blue_Position ), false)
                                                                                doSendMagicEffect(getThingPos(tid),10)
                                                                        end
                                                        end
                                                end
                                end
                        end
                        if isTeamOne(cid) then
                                if blueStolen() < 0 and redStolen() > 0 then
                                        if flagOwner(cid) then
                                                doPlayerSendTextMessage(cid, 27, "You already holding the flag!")
                                                doTeleportThing(cid, fromPosition,TRUE)
                                                doSendMagicEffect(getThingPos(cid),2)
                                        elseif (not flagOwner(cid)) then
                                                doPlayerSendTextMessage(cid, 27, "Your Team mates already stole the oponent flag, defend him!")
                                                doTeleportThing(cid, fromPosition,TRUE)
                                                doSendMagicEffect(getThingPos(cid),2)
                                        end
                                elseif blueStolen() > 0 and redStolen() < 0 then
                                        doPlayerSendTextMessage(cid, 27, "Your team's flag is taken you can't capture or steel a flag!")
                                        doTeleportThing(cid, fromPosition,TRUE)
                                        doSendMagicEffect(getThingPos(cid),2)
                                end
                                if redStolen() < 0 and blueStolen() < 0 then
                                        setGlobalStorageValue(FLAG2_INn,1)
                                        setflagOwner(cid)
                                        setPlayerStorageValue(cid,103, os.time()+300)
                                        doTeleportThing(cid, fromPosition,TRUE)
                                       
                                                for _,tid in ipairs(getPlayersOnline()) do
                                                        if isTeamOne(tid) or isTeamTwo(tid) then
                                                                doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " stolen the "..TEAM2_NAME.." team flag!")
                                                        end
                                                end
                                end
                        end
                end
        return true
        end
        ]]></movevent>
          <movevent type="StepIn" actionid="3435" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')
        function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
                if getStorage(Event_Tile_Close) > 0 then
                        if getPlayerLevel(cid) < Min_Join_Level then
                          doTeleportThing(cid,fromPosition,false)
                                doSendMagicEffect(fromPosition,10)
                                doPlayerSendTextMessage(cid,21,"Only players of level "..Min_Join_Level.." are allowed to pass.")
                        else
                                doTeleportThing(cid,Wait_Place,false)
                                doSendMagicEffect(Wait_Place,10)
                        end
                else
                        doTeleportThing(cid,fromPosition,false)
                        doSendMagicEffect(fromPosition,10)
                        doPlayerSendTextMessage(cid,21,"Regresa Mas Tarde El Event Aun Esta Cerrado...")
                end
        return true
        end

        ]]></movevent>
          <movevent type="StepIn" actionid="6001" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')

        function eventEnded()
                if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then
                        doBroadcastMessage('CTF-Event : The '.. TEAM1_NAME..' team won and reciaved their reward.')
                                for _,cid in ipairs(getPlayersOnline()) do
                                        if isTeamOne(cid) then
                                                doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                                doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                                doRemoveConditions(cid,false)
                                                resetTheTeams(cid)
                                               
                                                giveReward(cid)
                                        elseif isTeamTwo(cid) then
                                                doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                                doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                                doRemoveConditions(cid,false)
                                                doPlayerSendTextMessage(cid,22,'Your team have lost.')
                                                resetTheTeams(cid)
                                               
                                        end
                                end
                end
                addEvent(resetTheStorage,5)
        end
        function onStepIn(cid, item, position, fromPosition)
                if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then
                        if isTeamOne(cid) and blueStolen() < 0 then
                                if not flagOwner(cid) then
                                        doTeleportThing(cid, fromPosition,TRUE)
                                        doSendMagicEffect(getThingPos(cid),2)
                                        doPlayerSendTextMessage(cid, 27, "This is your team flag, you cant take it!")
                                end
                        elseif isTeamOne(cid) and blueStolen() > 0 and redStolen() < 0 then
                                doPlayerSendTextMessage(cid, 27, "Your team's Flag has been stolen, go get it back!")
                                doTeleportThing(cid, fromPosition,TRUE)
                                doSendMagicEffect(getThingPos(cid),2)
                        return true
                        end
                        if isTeamOne(cid) and flagOwner(cid) and redStolen() > 0 and blueStolen() < 0 then
                                if getBlueScore() == FLAG_SCORE -1 then
                                        addEvent(eventEnded,1000)
                                        addToBlue()
                                        doTeleportThing(cid, fromPosition,TRUE)
                                       
                                        releaseRF(cid)
                                                for _,tid in ipairs(getPlayersOnline()) do
                                                        if isTeamOne(tid) or isTeamTwo(tid) then
                                                                doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " have captured the last flag and earned match win to the ".. TEAM1_NAME.." team!")
                                                        end
                                                end
                                else
                                        releaseRF(cid)
                                        addToBlue()
                                        doTeleportThing(cid, fromPosition,TRUE)
                                       
                                                for _,tid in ipairs(getPlayersOnline()) do
                                                        if isTeamOne(tid) or isTeamTwo(tid) then
                                                                doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " have captured the flag and earned 1 point to the ".. TEAM1_NAME.." team!")
                                                                        if Teleport_On_Score == true then
                                                                                doTeleportThing(tid,( isTeamTwo(tid) and Red_Position or Blue_Position ), false)
                                                                                doSendMagicEffect(getThingPos(tid),10)
                                                                        end
                                                        end
                                                end
                                end
                        end
                        if isTeamTwo(cid) then
                                if blueStolen() > 0 and redStolen() < 0 then
                                        if flagOwner(cid) then
                                                doPlayerSendTextMessage(cid, 27, "You already holding the flag!")
                                                doTeleportThing(cid, fromPosition,TRUE)
                                                doSendMagicEffect(getThingPos(cid),2)
                                        elseif (not flagOwner(cid)) then
                                                doPlayerSendTextMessage(cid, 27, "Your Team mates already stole the oponent flag, defend him!")
                                                doTeleportThing(cid, fromPosition,TRUE)
                                                doSendMagicEffect(getThingPos(cid),2)
                                        end
                                elseif redStolen() > 0 and blueStolen() < 0 then
                                        doPlayerSendTextMessage(cid, 27, "Your team's flag is taken you can't capture or steel a flag!")
                                        doTeleportThing(cid, fromPosition,TRUE)
                                        doSendMagicEffect(getThingPos(cid),2)
                                end
                                if blueStolen() < 0 and redStolen() < 0 then
                                        setGlobalStorageValue(FLAG_IN,1)
                                        setflagOwner(cid)
                                        setPlayerStorageValue(cid,103, os.time()+300)
                                        doTeleportThing(cid, fromPosition,TRUE)
                                       
                                                for _,tid in ipairs(getPlayersOnline()) do
                                                        if isTeamOne(tid) or isTeamTwo(tid) then
                                                                doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " stolen the "..TEAM1_NAME.." team flag!")
                                                        end
                                                end
                                end
                        end
                end
        return true
        end
        ]]></movevent>
          <globalevent name="ctf" interval="100" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')
        local players = {}
        local bmale = createConditionObject(CONDITION_OUTFIT)
                        setConditionParam(bmale, CONDITION_PARAM_TICKS, -1)
                        addOutfitCondition(bmale, {lookType = math.random(128,134), lookHead = 115, lookBody =114, lookLegs = 81, lookFeet = 81, lookTypeEx = 0, lookAddons = 3})

                local bfemale = createConditionObject(CONDITION_OUTFIT)
                        setConditionParam(bfemale, CONDITION_PARAM_TICKS, -1)
                        addOutfitCondition(bfemale, {lookType = math.random(136,142), lookHead = 115, lookBody =114, lookLegs = 81, lookFeet = 81, lookTypeEx = 0, lookAddons = 3})

                local rmale = createConditionObject(CONDITION_OUTFIT)
                        setConditionParam(rmale, CONDITION_PARAM_TICKS, -1)
                        addOutfitCondition(rmale, {lookType = math.random(128,134), lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94, lookTypeEx = 0, lookAddons = 3})

                local rfemale = createConditionObject(CONDITION_OUTFIT)
                        setConditionParam(rfemale, CONDITION_PARAM_TICKS, -1)
                        addOutfitCondition(rfemale, {lookType = math.random(136,142),lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94, lookTypeEx = 0, lookAddons = 3})
                local fight = createConditionObject(CONDITION_INFIGHT)
                        setConditionParam(fight, CONDITION_PARAM_TICKS, -1)
        function eventEnd()
                if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then
                        if getRedScore() > getBlueScore() then
                                doBroadcastMessage('CTF-Event : The '.. TEAM2_NAME..' team won and recieved their reward.')
                                        for _,cid in ipairs(getPlayersOnline()) do
                                                if isTeamTwo(cid) then
                                                        doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                                        doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                                        doRemoveConditions(cid,false)
                                                        resetTheTeams(cid)
                                                       
                                                        giveReward(cid)
                                                elseif isTeamOne(cid) then
                                                        doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                                        doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                                        doRemoveConditions(cid,false)
                                                        doPlayerSendTextMessage(cid,22,'Your team have lost.')
                                                        resetTheTeams(cid)
                                                       
                                                end
                                        end

                        elseif getRedScore() < getBlueScore() then
                                doBroadcastMessage('CTF-Event : The '.. TEAM1_NAME..' team won and recieved their reward.')
                                        for _,cid in ipairs(getPlayersOnline()) do
                                                if isTeamOne(cid) then
                                                        doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                                        doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                                        doRemoveConditions(cid,false)
                                                        resetTheTeams(cid)
                                                       
                                                        giveReward(cid)
                                                elseif isTeamTwo(cid) then
                                                        doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                                        doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                                        doRemoveConditions(cid,false)
                                                        doPlayerSendTextMessage(cid,22,'Your team have lost.')
                                                        resetTheTeams(cid)
                                                       
                                                end
                                        end
                        elseif getRedScore() == getBlueScore() then
                                doBroadcastMessage('CTF-Event : The Event ended with a draw between both teams.')
                                        for _,cid in ipairs(getPlayersOnline()) do
                                                if isTeamTwo(cid) or isTeamOne(cid) then
                                                        doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)
                                                        doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)
                                                        doRemoveConditions(cid,false)
                                                        doPlayerSendTextMessage(cid,22,'It was a draw between both teams.')
                                                        resetTheTeams(cid)
                                                       
                                                end
                                        end

                        end
                        addEvent(resetTheStorage,1000)
                end
        end

        function eventStart()
                doSetStorage(Event_Tile_Close,-1)
                setGlobalStorageValue(Event_timeend,1)
                setGlobalStorageValue(Timer, os.time() + Event_MaxTime*60)
                addEvent(eventEnd,Event_MaxTime*60*1000)



                                for v = frompos.x , topos.x do
                                        for k = frompos.y , topos.y do
                                                for i = 1, 200 do
                                                        position = {x = v, y = k, z = 7, stackpos = i}
                                                        pid = getThingfromPos(position).uid
                                                                if(pid ~= nil and isPlayer(pid)) then
                                                                        table.insert(players, pid)
                                                                end
                                                end
                                        end
                                end
                                if math.mod(#players, 2) ~= 0 then
                                        doTeleportThing(players[#players],getTownTemplePosition(getPlayerTown(players[#players])),false)
                                        doSendMagicEffect(getThingPosition(players[#players]),10)
                                        doPlayerSendTextMessage(players[#players], 19, "Sorry, you have been kicked from event to balance teams.")
                                        table.remove(players)
                                end
                                if #players < Players_Least_Number then
                                        doBroadcastMessage("CTF event was cancelled because less than "..Players_Least_Number.." players joined")
                                        resetTheStorage()
                                                if #players > 0 then
                                                        for i = 1,#players do
                                                                doTeleportThing(players[i],getTownTemplePosition(getPlayerTown(players[i])),false)
                                                                doSendMagicEffect(getThingPos(players[i]), 10)
                                                        end
                                                end
                                else
                                                doBroadcastMessage("CTF started")
                                                        for i = 1, math.floor(#players/2) do
                                                                setFirstTeam(players[i])
                                                        end
                                                        for i = math.floor(#players/2)+1 , #players do
                                                                setSecondTeam(players[i])
                                                        end
                                                        for _,cid in ipairs(getPlayersOnline()) do
                                                                if isTeamOne(cid) then
                                                                        if getPlayerSex(cid) == 1 then
                                                                                doAddCondition(cid, bmale)
                                                                        elseif getPlayerSex(cid) ~= 1 then
                                                                                doAddCondition(cid, bfemale)
                                                                        end
                                                                        doAddCondition(cid, fight)
                                                                        doTeleportThing(cid,Blue_Position,false)
                                                                        doSendMagicEffect(Blue_Position, 10)
                                                                       
                                                                elseif  isTeamTwo(cid) then
                                                                        if getPlayerSex(cid) == 1 then
                                                                                doAddCondition(cid, rmale)
                                                                        elseif getPlayerSex(cid) ~= 1 then
                                                                                doAddCondition(cid, rfemale)
                                                                        end
                                                                        doAddCondition(cid, fight)
                                                                        doTeleportThing(cid,Red_Position,false)
                                                                        doSendMagicEffect(Red_Position, 10)
                                                                       
                                                                end
                                                        end
                                                        players = {}

                                end
        end
        function onThink(interval)
          if getGlobalStorageValue(Event_Start) < 0 then
                        setGlobalStorageValue(Event_Start,1)
                        doSetStorage(Event_Tile_Close,1)
                        doBroadcastMessage("CTF event A avierto Entra Al Teleport. Iniciara en "..Event_WaitTime.." minutes.")
                        players = {}
                        if getTileItemById(Tp_Place, 1387).uid < 1 then
                                doItemSetAttribute(doCreateItem(1387,1, Tp_Place), "aid", 3435)
                        end

                        f= Event_WaitTime - 1
                                for i = 1,Event_WaitTime-1 do
                                        addEvent(doBroadcastMessage,i*60*1000,"CTF event A avierto Entra Al Teleport. Iniciara en "..f.." minutes.")
                                        f= f-1
                                end
                        addEvent(eventStart,Event_WaitTime*60*1000)
                end
        return true
        end
        ]]></globalevent>
          <event type="think" name="ctff" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')

        local bl = BLUE_FLAG
        local re = RED_FLAG
        function onThink(interval)
                if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then
                        if redStolen() < 0 then
                                doSendAnimatedText(re,"FLAG!",TEXTCOLOR_DARKRED)
                                doSendMagicEffect(re, CONST_ME_SOUND_RED)
                        end
                        if blueStolen() < 0 then
                                doSendAnimatedText(bl,"FLAG!",TEXTCOLOR_GREEN)
                                doSendMagicEffect(bl, CONST_ME_SOUND_GREEN)
                        end
                        for _, cid in ipairs(getPlayersOnline()) do
                                if flagOwner(cid) then
                                        if isTeamOne(cid) or isTeamTwo(cid) then
                                                if hasCondition(cid,CONDITION_HASTE) then
                                                        doRemoveCondition(cid,CONDITION_HASTE)
                                                end
                                        end
                                        pl = getThingPos(cid)
                                                if isTeamTwo(cid) then
                                                        if getPlayerStorageValue(cid,103) < os.time() then
                                                                releaseBF(cid)
                                                                        for _,cid in ipairs(getPlayersOnline()) do
                                                                                if isTeamOne(cid) or isTeamTwo(cid) then
                                                                                        doPlayerSendTextMessage(cid,22,getCreatureName(cid) .. " wasted 5 minutes with FLAG."..TEAM2_NAME.." flag is again on spawn!")
                                                                                end
                                                                        end
                                                        else
                                                                doSendAnimatedText(pl,"FLAG!",TEXTCOLOR_GREEN)
                                                                doSendMagicEffect(pl, CONST_ME_SOUND_GREEN)
                                                        end
                                                elseif isTeamOne(cid) then
                                                        if getPlayerStorageValue(cid,103) < os.time() then
                                                                releaseRF(cid)
                                                                        for _,cid in ipairs(getPlayersOnline()) do
                                                                                if isTeamOne(cid) or isTeamTwo(cid) then
                                                                                        doPlayerSendTextMessage(cid,22,getCreatureName(cid) .. " wasted 5 minutes with FLAG."..TEAM1_NAME.." flag is again on spawn!")
                                                                                end
                                                                        end
                                                        else
                                                                doSendAnimatedText(pl,"FLAG!",COLOR_RED)
                                                                doSendMagicEffect(pl, CONST_ME_SOUND_RED)
                                                        end
                                                end
                                end
                        end
                end
          return true
        end
        ]]></event>
          <globalevent name="timer" interval="0.4" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')

        function onThink(interval)
                for _,cid in ipairs(getPlayersOnline()) do
                        if isTeamOne(cid) or isTeamTwo(cid) then
                                if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then
                                        if getGlobalStorageValue(Timer)- os.time() >= 0 then
                                                doPlayerSendCancel(cid, "Time -> ".. os.date("%M:%S ",getGlobalStorageValue(Timer)- os.time()) .. "  |  ".. TEAM1_NAME.." Score : "..getBlueScore(cid).."/"..FLAG_SCORE.." captures  |  ".. TEAM2_NAME.." Score : "..getRedScore(cid).."/"..FLAG_SCORE.." captures")
                                        end
                                end
                        end
                end
        return true
        end
        ]]></globalevent>
          <globalevent name="starting" type="startup" event="script"><![CDATA[
        domodlib('toto')
        domodlib('CTF-lib')
        function onStartup()
                resetTheStorage()

        return true
        end
        ]]></globalevent>
        </mod>



    [Sistema] Capture The Flag 100% Sin Errores YNU5B25
    https://www.tibiaface.com

    23default Re: [Sistema] Capture The Flag 100% Sin Errores el Miér Jul 24, 2019 2:36 pm

    paulina24

    paulina24
    Miembro
    Miembro
    Genial! ahora si que si Maya, también quería saber como puedo agregar en rewards, me de 25 de este este item (huevos amarillos) ---> "6541" y 25 de ---> "6527" (tokens)

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Genial! ahora si que si Maya, también quería saber como puedo agregar en rewards, me de 25 de este este item (huevos amarillos) ---> "6541" y 25 de ---> "6527" (tokens)

    modificas aqui

    Código:

    rewards_random = {
                                                        [60] = { -- Rewards of 60% , if it is then it will randomly give one of the items in the items verible if there you put more than one item there
                                                                                items = {8981,2198,9777}
                                                                        },

                                                        [30] = { -- Rewards of 30%
                                                                                items = {2358,2504}
                                                                        },


                                                        [10] = { -- Rewards of 10%
                                                                                items = {7958,7368,8926}
                                                                        }
                                                }


    y aqui

    Código:

     function giveReward(cid)
                local t = math.random(1,100)
                if t <= 10 then
                        local rare = rewards_random[10].items[math.random(1,#rewards_random[10].items)]
                        doPlayerAddItem(cid,rare,1)
                        doPlayerSendTextMessage(cid,25,"Rare rate Reward : you won "..getItemNameById(rare)..".")

                elseif t > 10 and t <= 40 then
                        local semi = rewards_random[30].items[math.random(1,#rewards_random[30].items)]
                        doPlayerAddItem(cid,semi,1)
                        doPlayerSendTextMessage(cid,25,"Semi rate Reward : you won "..getItemNameById(semi)..".")


                elseif t > 40 then
                        local aver = rewards_random[60].items[math.random(1,#rewards_random[60].items)]
                        doPlayerAddItem(cid,aver,1)
                        doPlayerSendTextMessage(cid,25,"Averege rate Reward : you won "..getItemNameById(aver)..".")
                end
                return true
        end

    y buscas estas lineas

    doPlayerAddItem(cid,rare,1)

    doPlayerAddItem(cid,semi,1)

    doPlayerAddItem(cid,aver,1)

    y le cambias el 1 por 25y listo



    [Sistema] Capture The Flag 100% Sin Errores YNU5B25
    https://www.tibiaface.com

    paulina24

    paulina24
    Miembro
    Miembro
    gracias maya! siempre atento ! gracias

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