• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [GlobalEvents] Invasion + No PvP= 30 minutes off server no-pvp

    Compartir:

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

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Hola usuarios de tibiaface


    Bueno aqui le dejo un sistema de invacion + no pvp creado por creaturescripts este sistema lo hace es sacar un moustro o una cierta cantidad en un lugar y mandar no-pvp al servidor por un determinado tiempo aquello lo pueden modificar a su gusto bueno sin mas preangulo aqui el scripts

    Data/GlobalEvents/scripts
    Código:
    local configInv = {
     ["19:00"] = {nome = "The Demon Invasion", pos = {x=32369, y=32167, z=7}, monster = {"50 Demon", "200 Dragon"}},
    }


    local timenopvp = 30 -- em minutos


    function onThink(interval, lastExecution)
     local hours = tostring(os.date("%X")):sub(1, 5)
     local tb = configInv[hours]
     if tb then
     function startInvasion()
     doBroadcastMessage(tb.nome .. " iníciou.")
     for _,x in pairs(tb.monster) do
     for s = 1, tonumber(x:match("%d+")) do
     doSummonCreature(x:match("%s(.+)"), tb.pos)
     end
     end
     setWorldType(WORLD_TYPE_NO_PVP)
     addEvent(setWorldType, 1000 * 60 * timenopvp, WORLD_TYPE_PVP)
     end
     doBroadcastMessage(tb.nome .. " ira iníciar em 5 minutos.")
     addEvent(startInvasion, 1000 * 60 * 5)
     end
     return true
    end

    Data/GlobalEvents/GlobalEvents.xml
    Código:
    <globalevent name="Invasao" interval="60" event="script" value="inv.lua"/>


    configuracion:



    local configInv = {                                        cordenadas                                                   50 cantidad de demon                                
       ["19:00"] = {nome = "name evento", pos = {x=32369, y=32167, z=7}, monster = {"50 Demon", "200 Dragon"}},
    }


    local timenopvp = 30 -- en minutos



    [GlobalEvents] Invasion + No PvP= 30 minutes off server no-pvp YNU5B25
    +3
    Roo
    Sleck
    [Admin] God Maya
    7 participantes
    http://www.tibiaface.com

    Sleck

    Sleck
    Miembro
    Miembro
    Se ve bueno, lo probare

    +3
    Roo
    Sleck
    [Admin] God Maya
    7 participantes

    Roo

    Roo
    Miembro
    Miembro
    Funciona en un server 8.54? Razz

    +3
    Roo
    Sleck
    [Admin] God Maya
    7 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Roo escribió:Funciona en un server 8.54? Razz

    si funciona



    [GlobalEvents] Invasion + No PvP= 30 minutes off server no-pvp YNU5B25
    +3
    Roo
    Sleck
    [Admin] God Maya
    7 participantes
    http://www.tibiaface.com

    [Adm] SevuOT

    [Adm] SevuOT
    Miembro
    Miembro
    Aquí la versión modificada para que los monstruos nazcan en lugares aleatorios en un área y ademas uno de estos monstruos quedara registrado en la variable
    Código:
    local monsterRewardId = 0

    Codigo:
    Código:
    local configInv = {
       ["19:00"] = {
           nombre = "The Demon Invasion",
           posiciones = { from = { x = 32369, y = 32167, z = 7 }, to = { x = 32369, y = 32167, z = 7 } },
           monstruos = { "50 Demon", "200 Dragon" }
        }
    }

    local noPvpDelay = 30
    local monsterRewardId = 0
    local function executeInvasion(config)
       doBroadcastMessage(config.nombre .. " inicio.")
       for index, info in pairs(config.monstruos) do
          local nombreMonstruo = info:match("%s(.+)")
          local monstruoCantidad = tonumber(info:match("(%d+)"))
          local summon = doSummonCreature(nombreMonstruo, { x = math.random(info.posiciones.from.x, info.posiciones.to.x), y = math.random(info.posiciones.from.y, info.posiciones.to.y), z = math.random(info.posiciones.from.z, info.posiciones.to.z) })
          if monsterRewardId == 0 and (math.random(100) >= 50 or index == #config.monstruos) then
             monsterRewardId = summon
          end
       end
    end

    function onThink(interval, lastExecution)
       local invasion = configInv[tostring(os.date("%X"))(1, 5)]
       if invasion then
          setWorldType(WORLD_TYPE_NO_PVP)
          doBroadcastMessage(invasion.nombre .. " inicia en 5 minutos.")
          addEvent(executeInvasion, 1000 * 60 * 5, invasion)
          addEvent(setWorldType, 1000 * 60 * noPvpDelay, WORLD_TYPE_PVP)
       end
    end

    Este es el mismo scritp que publico maya, solo lo modifique un poco.



    Última edición por [Adm] SevuOT el Dom Dic 22, 2019 12:40 pm, editado 1 vez (Razón : Error en el code=lua)



    Si necesitas hospedaje para tu servidor usa este enlace y mira los buenos planes de Windows y Linux:
    Si tu cuenta de PayPal no esta verificada no importara, igual aceptan pagos con cuentas no verificadas.


    [GlobalEvents] Invasion + No PvP= 30 minutes off server no-pvp TRJEB8aSRYK5IulEU6ilJw
    +3
    Roo
    Sleck
    [Admin] God Maya
    7 participantes

    Dhosh

    Dhosh
    Nuevo Miembro
    Nuevo Miembro
    como se da cuenta uno si funciona? xD osea como lo activo D:
    disculpen mi ignorancia

    +3
    Roo
    Sleck
    [Admin] God Maya
    7 participantes

    gzdiaz20

    gzdiaz20
    Miembro
    Miembro
    Digamos que son 10 mostros como le haria para poner una pos a casa uno y si también se puede poner que cuando se acabe la invasión los mostros desaparezcan uso tfs 0.4

    +3
    Roo
    Sleck
    [Admin] God Maya
    7 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    gzdiaz20 escribió:Digamos que son 10 mostros como le haria para poner una pos a casa uno y si también se puede poner que cuando se acabe la invasión los mostros desaparezcan uso tfs 0.4

    agrega mas lineas

    Código:
     ["19:00"] = {nome = "The Demon Invasion", pos = {x=32369, y=32167, z=7}, monster = {"50 Demon", "200 Dragon"}},

    y sobre eliminar el monster si nadie lo casa no va con este sistema eso seria muy aparte de este scripts



    [GlobalEvents] Invasion + No PvP= 30 minutes off server no-pvp YNU5B25
    +3
    Roo
    Sleck
    [Admin] God Maya
    7 participantes
    http://www.tibiaface.com

    Dfsuno

    Dfsuno
    Miembro
    Miembro
    Como quedaría si no quiero que sea no pvp?

    +3
    Roo
    Sleck
    [Admin] God Maya
    7 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Dfsuno escribió:Como quedaría si no quiero que sea no pvp?

    al activarse este sistema el servidor se ponen no pvp que al terminar el eventos se coloca pvp

    no se cual seria tu pregunta pero preguntaste algo que ya esta descrito en el tema



    [GlobalEvents] Invasion + No PvP= 30 minutes off server no-pvp YNU5B25
    +3
    Roo
    Sleck
    [Admin] God Maya
    7 participantes
    http://www.tibiaface.com

    Dfsuno

    Dfsuno
    Miembro
    Miembro
    que cuando el sistema inicie no cambie nada, que siga normal pvp

    +3
    Roo
    Sleck
    [Admin] God Maya
    7 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Dfsuno escribió:que cuando el sistema inicie no cambie nada, que siga normal pvp

    remueva estas lineas del scripts

    Código:
    setWorldType(WORLD_TYPE_NO_PVP)
     addEvent(setWorldType, 1000 * 60 * timenopvp, WORLD_TYPE_PVP)



    [GlobalEvents] Invasion + No PvP= 30 minutes off server no-pvp YNU5B25
    +3
    Roo
    Sleck
    [Admin] God Maya
    7 participantes
    http://www.tibiaface.com

    Dfsuno

    Dfsuno
    Miembro
    Miembro
    va maya gracias

    +3
    Roo
    Sleck
    [Admin] God Maya
    7 participantes

    Contenido patrocinado


    +3
    Roo
    Sleck
    [Admin] God Maya
    7 participantes

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

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

     

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