• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Mods] mod event zombie 0.3.6

    Compartir:

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

    1default [Mods] mod event zombie 0.3.6 Sáb Mar 27, 2021 11:54 am

    MClovin

    MClovin
    Nuevo Miembro
    Nuevo Miembro
    Descripcion escribió:
    Código:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <mod name="Perfect Zombie System" version="8.54" author="Vodkart" contact="###.com" enabled="yes">
    <config name="zombie_config"><![CDATA[
    zombie_config = {
        storages = {172100, 172101, 172102}, -- n edite
        players = {min = 2, max = 30}, -- min, max players no evento
        rewards = {items ={{3956,10},{7528,10}}, trophy = 5805},
        timeToStartEvent = 30, -- segundos para começar o evento
        CheckTime = 5, -- tempo que o TP fica aberto para os jogadores adrentarem o evento
        teleport = {{x=52, y=188, z=7}, {x=859 , y=104, z=7}}, -- position do tp onde aparece, position para onde o jogador vai ao entrar no tp
        arena = {{x=823,y=71,z=7},{x=895,y=139,z=7}}, -- area positions
        monster_name = "Zombie Event",
        timeBetweenSpawns = 20,
        min_Level = 20
    }
    zombie_days = {
        ["Monday"] = {"13:00","18:00","20:00","22:00"},
        ["Tuesday"] = {"13:00","18:00","22:50","22:00"},
        ["Wednesday"] = {"21:57","18:00","20:00","23:17"},
        ["Thursday"] = {"13:00","18:00","20:00","22:00"},
        ["Friday"] = {"13:00","18:00","21:45","22:00"},
        ["Saturday"] = {"13:40","18:00","20:00","22:00"},
        ["Sunday"] = {"13:00","18:00","20:00","22:00"}
    }
    function removeZombieTp()
        local t = getTileItemById(zombie_config.teleport[1], 1387).uid
        return t > 0 and doRemoveItem(t) and doSendMagicEffect(zombie_config.teleport[1], CONST_ME_POFF)
    end
    function ZerarStoragesZombie()
        for _, stor in pairs(zombie_config.storages) do
            setGlobalStorageValue(stor, 0)
        end
    end
    function getPlayersInZombieEvent()
        local t = {}
        for _, pid in pairs(getPlayersOnline()) do
            if isInRange(getPlayerPosition(pid), zombie_config.arena[1], zombie_config.arena[2]) and getPlayerAccess(pid) < 3 then
                t[#t+1] = pid
            end
        end
        return t
    end
    function getZombieRewards(cid, items)
        local backpack = doPlayerAddItem(cid, 1999, 1) -- backpackID
        for _, i_i in ipairs(items) do
            local item, amount = i_i[1],i_i[2]
            if isItemStackable(item) or amount == 1 then
                doAddContainerItem(backpack, item, amount)
            else
                for i = 1, amount do
                    doAddContainerItem(backpack, item, 1)
                end
            end
        end
    end
    function isWalkable(pos, creature, proj, pz)-- by Nord
        if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end
        if getTopCreature(pos).uid > 0 and creature then return false end
        if getTileInfo(pos).protection and pz then return false, true end
        local n = not proj and 3 or 2
        for i = 0, 255 do
            pos.stackpos = i
            local tile = getTileThingByPos(pos)
            if tile.itemid ~= 0 and not isCreature(tile.uid) then
                if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then
                    return false
                end
            end
        end
        return true
    end
    function HaveCreatureZombie(area, remove)
        for x = area[1].x - 1, area[2].x + 1 do
            for y = area[1].y - 1, area[2].y + 1 do
                local pos = {x=x, y=y, z=area[1].z}
                local m = getTopCreature(pos).uid
                if remove ~= false and m ~= 0 and isMonster(m) then doRemoveCreature(m) end
            end
        end
    end
    function spawnZombie()
        if #getPlayersInZombieEvent() > 1 then
            local pos = {x=math.random(zombie_config.arena[1].x, zombie_config.arena[2].x), y=math.random(zombie_config.arena[1].y,zombie_config.arena[2].y), z=zombie_config.arena[1].z}
            if not isWalkable(pos, false, false, false) then
                spawnZombie()
            else
                doCreateMonster(zombie_config.monster_name, pos, false, false, false)
                doSendDistanceShoot({x = pos.x - math.random(4, 6), y = pos.y - 5, z = pos.z}, pos, CONST_ANI_FIRE)
                addEvent(doSendMagicEffect, 150, pos, CONST_ME_HITBYFIRE)
                addEvent(doSendMagicEffect, 150, pos, CONST_ME_FIREAREA)
                doSendMagicEffect(pos, CONST_ME_MORTAREA)
                setGlobalStorageValue(zombie_config.storages[2], getGlobalStorageValue(zombie_config.storages[2]) <= 0 and 1 or getGlobalStorageValue(zombie_config.storages[2])+1)
                doBroadcastMessage("A zombie has spawned! There is currently " .. getGlobalStorageValue(zombie_config.storages[2]) .. " zombies in the zombie event!", MESSAGE_STATUS_CONSOLE_RED)
                addEvent(spawnZombie, zombie_config.timeBetweenSpawns *1000)
            end
        end
    end
    function CheckZombieEvent(delay)
        if getGlobalStorageValue(zombie_config.storages[1]) ~= (zombie_config.players.max+1) then
            if delay > 0 and getGlobalStorageValue(zombie_config.storages[1]) < zombie_config.players.max then
                doBroadcastMessage("Zombie event starting in " .. delay .. " minutes! The teleport will be closed when the event start!", MESSAGE_STATUS_WARNING)
            elseif delay == 0 and getGlobalStorageValue(zombie_config.storages[1]) < zombie_config.players.min then
                for _, cid in pairs(getPlayersInZombieEvent()) do
                    doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
                    doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
                end
                removeZombieTp()
                doBroadcastMessage("The Zombie event could not start because of to few players participating.\n At least " .. zombie_config.players.min .. " players is needed!", MESSAGE_STATUS_WARNING)
                ZerarStoragesZombie()
            elseif delay == 0 and getGlobalStorageValue(zombie_config.storages[1]) >= zombie_config.players.min then
                removeZombieTp()
                doBroadcastMessage("The Zombie event is now full [" .. getGlobalStorageValue(zombie_config.storages[1]) .. " players]! The event will soon start.")
                for _, var in pairs(getPlayersInZombieEvent()) do
                    doPlayerSendTextMessage(var, MESSAGE_EVENT_ADVANCE, "The first zombie will spawn in " .. zombie_config.timeToStartEvent .. " seconds! Good luck!")
                end
                addEvent(spawnZombie, zombie_config.timeToStartEvent*1000)
            end
            addEvent(CheckZombieEvent, 60000, delay-1)
        end
    end]]></config>
    <event type="statschange" name="ZombieStats" event="script"><![CDATA[
    domodlib('zombie_config')
    if isPlayer(cid) and isMonster(attacker) and getCreatureName(attacker) == zombie_config.monster_name then
        if isInRange(getPlayerPosition(cid), zombie_config.arena[1], zombie_config.arena[2]) then
            if #getPlayersInZombieEvent() > 1 then
                doBroadcastMessage(getPlayerName(cid) .. " have been eated by Zombies!", MESSAGE_STATUS_CONSOLE_RED)
                local corpse = doCreateItem(getPlayerSex(cid) == 1 and 3058 or 6081, 1, getPlayerPosition(cid))
                doItemSetAttribute(corpse, "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")..".")
                doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
                doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)
                doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
                if #getPlayersInZombieEvent() == 1 then
                    local winner = getPlayersInZombieEvent()[1]
                    doBroadcastMessage(getCreatureName(winner)..' has survived at zombie event!')
                    local goblet = doPlayerAddItem(winner, zombie_config.rewards.trophy, 1)
                    doItemSetAttribute(goblet, "description", "Awarded to " .. getPlayerName(winner) .. " for winning the Zombie event.")
                    getZombieRewards(winner, zombie_config.rewards.items)
                    doTeleportThing(winner, getTownTemplePosition(getPlayerTown(winner)), false)
                    doSendMagicEffect(getPlayerPosition(winner), CONST_ME_TELEPORT)
                    doBroadcastMessage(getPlayerName(winner).." won the Zombie event! Congratulations!")
                    HaveCreatureZombie(zombie_config.arena, true)
                    ZerarStoragesZombie()
                end
            else
                doBroadcastMessage("No one survived in the Zombie Event.", MESSAGE_EVENT_ADVANCE)
                HaveCreatureZombie(zombie_config.arena, true)
                ZerarStoragesZombie()
            end
            return false
        end
    end
    return true]]></event>
    <globalevent name="Zombie_Start" interval="60" event="script"><![CDATA[
    domodlib('zombie_config')
    function onThink(interval, lastExecution)
        if zombie_days[os.date("%A")] then
            local hrs = tostring(os.date("%X")):sub(1, 5)
            if isInArray(zombie_days[os.date("%A")], hrs) and getGlobalStorageValue(zombie_config.storages[3]) <= 0 then
                local tp = doCreateItem(1387, 1, zombie_config.teleport[1])
                doItemSetAttribute(tp, "aid", 45110)
                CheckZombieEvent(zombie_config.CheckTime)
                setGlobalStorageValue(zombie_config.storages[1], 0)
                setGlobalStorageValue(zombie_config.storages[2], 0)
                HaveCreatureZombie(zombie_config.arena, true)
            end
        end
        return true
    end]]></globalevent>
    <event type="login" name="Zombie_Login" event="script"><![CDATA[
    domodlib('zombie_config')
    function onLogin(cid)
        registerCreatureEvent(cid, "ZombieBattle")
        registerCreatureEvent(cid, "ZombieStats")
        if isInRange(getPlayerPosition(cid), zombie_config.arena[1], zombie_config.arena[2]) then
            doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
        end
        return true
    end]]></event>
    <event type="combat" name="ZombieBattle" event="script"><![CDATA[
    domodlib('zombie_config')
    if isPlayer(cid) and isPlayer(target) and isInRange(getPlayerPosition(cid), zombie_config.arena[1], zombie_config.arena[2]) then
        doPlayerSendCancel(cid, "You may not attack this player.") return false
    end
    return true
    ]]></event>
    <movevent type="StepIn" actionid ="45110" event="script"><![CDATA[
    domodlib('zombie_config')
    function onStepIn(cid, item, position, fromPosition)
        if not isPlayer(cid) then return true end
        if getPlayerAccess(cid) > 3 then return doTeleportThing(cid, zombie_config.teleport[2]) end
        if getPlayerLevel(cid) < zombie_config.min_Level then
            doTeleportThing(cid, fromPosition, true)
            doPlayerSendCancel(cid, "You need to be at least level " .. zombie_config.min_Level .. ".")
            doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
            return true
        end
        if getGlobalStorageValue(zombie_config.storages[1]) <= zombie_config.players.max then
            doTeleportThing(cid, zombie_config.teleport[2])
            setGlobalStorageValue(zombie_config.storages[1], getGlobalStorageValue(zombie_config.storages[1])+1)
            doBroadcastMessage(getPlayerName(cid) .. " entered the Zombie event! Currently " .. getGlobalStorageValue(zombie_config.storages[1]) .. " players have joined!", MESSAGE_STATUS_CONSOLE_RED)
            if getGlobalStorageValue(zombie_config.storages[1]) == zombie_config.players.max then
                setGlobalStorageValue(zombie_config.storages[1], getGlobalStorageValue(zombie_config.storages[1])+1)
                removeZombieTp()
                doBroadcastMessage("The Zombie event is now full [" .. getGlobalStorageValue(zombie_config.storages[1])-1 .. " players]! The event will soon start.")
                for _, var in pairs(getPlayersInZombieEvent()) do
                    doPlayerSendTextMessage(var, MESSAGE_EVENT_ADVANCE, "The first zombie will spawn in " .. zombie_config.timeToStartEvent .. " seconds! Good luck!")
                end
                addEvent(spawnZombie, zombie_config.timeToStartEvent*1000)
            end
        end
        return true
    end]]></movevent>
    <talkaction words="/zombiestart;!zombiestart" access="5" event="buffer"><![CDATA[
    domodlib('zombie_config')
        if getGlobalStorageValue(zombie_config.storages[3]) > 0 then
            doPlayerSendCancel(cid, "The event is already starting.") return true
        elseif not param or not tonumber(param) then
            doPlayerSendCancel(cid, "Use only numbers.") return true
        end
        local param = tonumber(param) <= 0 and 1 or tonumber(param)
        local tp = doCreateItem(1387, 1, zombie_config.teleport[1])
            doItemSetAttribute(tp, "aid", 45110)
            CheckZombieEvent(tonumber(param))
            ZerarStoragesZombie()
            setGlobalStorageValue(zombie_config.storages[3], 1)
            HaveCreatureZombie(zombie_config.arena, true)
    ]]></talkaction>
    <globalevent name="ZombieDebug-Start" type="start" event="buffer"><![CDATA[
    domodlib('zombie_config')
    ZerarStoragesZombie()
    return true]]></globalevent>
    </mod>

    quiero que los player que entren al evento no puedan usar las runas ni spell y todos tengan el mismos speed alguien puede ayudarme?
    Imagen Explicativa escribió:Imagen Explicativa: [Mods] mod event zombie 0.3.6 Tibiaf10
    Version del Scripts: TFs 0.3.7

    2default [Mods] PRUEBA ESTO Sáb Mar 27, 2021 2:43 pm

    gideonsit

    gideonsit
    Miembro
    Miembro
    PRUEBA ESTE MOD

    Código:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <mod name="Perfect Zombie System" version="8.54" author="Vodkart" contact="###.com" enabled="yes">
    <config name="zombie_config"><![CDATA[
    zombie_config = {
        storages = {172100, 172101, 172102}, -- n edite
        players = {min = 2, max = 30}, -- min, max players no evento
        rewards = {items ={{3956,10},{7528,10}}, trophy = 5805},
        timeToStartEvent = 30, -- segundos para começar o evento
        CheckTime = 5, -- tempo que o TP fica aberto para os jogadores adrentarem o evento
        teleport = {{x=52, y=188, z=7}, {x=859 , y=104, z=7}}, -- position do tp onde aparece, position para onde o jogador vai ao entrar no tp
        arena = {{x=823,y=71,z=7},{x=895,y=139,z=7}}, -- area positions
        monster_name = "Zombie Event",
        timeBetweenSpawns = 20,
        min_Level = 20
    }
    zombie_days = {
        ["Monday"] = {"13:00","18:00","20:00","22:00"},
        ["Tuesday"] = {"13:00","18:00","22:50","22:00"},
        ["Wednesday"] = {"21:57","18:00","20:00","23:17"},
        ["Thursday"] = {"13:00","18:00","20:00","22:00"},
        ["Friday"] = {"13:00","18:00","21:45","22:00"},
        ["Saturday"] = {"13:40","18:00","20:00","22:00"},
        ["Sunday"] = {"13:00","18:00","20:00","22:00"}
    }
    function removeZombieTp()
        local t = getTileItemById(zombie_config.teleport[1], 1387).uid
        return t > 0 and doRemoveItem(t) and doSendMagicEffect(zombie_config.teleport[1], CONST_ME_POFF)
    end
    function ZerarStoragesZombie()
        for _, stor in pairs(zombie_config.storages) do
            setGlobalStorageValue(stor, 0)
        end
    end
    function getPlayersInZombieEvent()
        local t = {}
        for _, pid in pairs(getPlayersOnline()) do
            if isInRange(getPlayerPosition(pid), zombie_config.arena[1], zombie_config.arena[2]) and getPlayerAccess(pid) < 3 then
                t[#t+1] = pid
            end
        end
        return t
    end
    function getZombieRewards(cid, items)
        local backpack = doPlayerAddItem(cid, 1999, 1) -- backpackID
        for _, i_i in ipairs(items) do
            local item, amount = i_i[1],i_i[2]
            if isItemStackable(item) or amount == 1 then
                doAddContainerItem(backpack, item, amount)
            else
                for i = 1, amount do
                    doAddContainerItem(backpack, item, 1)
                end
            end
        end
    end
    function isWalkable(pos, creature, proj, pz)-- by Nord
        if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end
        if getTopCreature(pos).uid > 0 and creature then return false end
        if getTileInfo(pos).protection and pz then return false, true end
        local n = not proj and 3 or 2
        for i = 0, 255 do
            pos.stackpos = i
            local tile = getTileThingByPos(pos)
            if tile.itemid ~= 0 and not isCreature(tile.uid) then
                if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then
                    return false
                end
            end
        end
        return true
    end
    function HaveCreatureZombie(area, remove)
        for x = area[1].x - 1, area[2].x + 1 do
            for y = area[1].y - 1, area[2].y + 1 do
                local pos = {x=x, y=y, z=area[1].z}
                local m = getTopCreature(pos).uid
                if remove ~= false and m ~= 0 and isMonster(m) then doRemoveCreature(m) end
            end
        end
    end
    function spawnZombie()
        if #getPlayersInZombieEvent() > 1 then
            local pos = {x=math.random(zombie_config.arena[1].x, zombie_config.arena[2].x), y=math.random(zombie_config.arena[1].y,zombie_config.arena[2].y), z=zombie_config.arena[1].z}
            if not isWalkable(pos, false, false, false) then
                spawnZombie()
            else
                doCreateMonster(zombie_config.monster_name, pos, false, false, false)
                doSendDistanceShoot({x = pos.x - math.random(4, 6), y = pos.y - 5, z = pos.z}, pos, CONST_ANI_FIRE)
                addEvent(doSendMagicEffect, 150, pos, CONST_ME_HITBYFIRE)
                addEvent(doSendMagicEffect, 150, pos, CONST_ME_FIREAREA)
                doSendMagicEffect(pos, CONST_ME_MORTAREA)
                setGlobalStorageValue(zombie_config.storages[2], getGlobalStorageValue(zombie_config.storages[2]) <= 0 and 1 or getGlobalStorageValue(zombie_config.storages[2])+1)
                doBroadcastMessage("A zombie has spawned! There is currently " .. getGlobalStorageValue(zombie_config.storages[2]) .. " zombies in the zombie event!", MESSAGE_STATUS_CONSOLE_RED)
                addEvent(spawnZombie, zombie_config.timeBetweenSpawns *1000)
            end
        end
    end
    function CheckZombieEvent(delay)
        if getGlobalStorageValue(zombie_config.storages[1]) ~= (zombie_config.players.max+1) then
            if delay > 0 and getGlobalStorageValue(zombie_config.storages[1]) < zombie_config.players.max then
                doBroadcastMessage("Zombie event starting in " .. delay .. " minutes! The teleport will be closed when the event start!", MESSAGE_STATUS_WARNING)
            elseif delay == 0 and getGlobalStorageValue(zombie_config.storages[1]) < zombie_config.players.min then
                for _, cid in pairs(getPlayersInZombieEvent()) do
                    doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
                    doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
                end
                removeZombieTp()
                doBroadcastMessage("The Zombie event could not start because of to few players participating.\n At least " .. zombie_config.players.min .. " players is needed!", MESSAGE_STATUS_WARNING)
                ZerarStoragesZombie()
            elseif delay == 0 and getGlobalStorageValue(zombie_config.storages[1]) >= zombie_config.players.min then
                removeZombieTp()
                doBroadcastMessage("The Zombie event is now full [" .. getGlobalStorageValue(zombie_config.storages[1]) .. " players]! The event will soon start.")
                for _, var in pairs(getPlayersInZombieEvent()) do
                    doPlayerSendTextMessage(var, MESSAGE_EVENT_ADVANCE, "The first zombie will spawn in " .. zombie_config.timeToStartEvent .. " seconds! Good luck!")
                end
                addEvent(spawnZombie, zombie_config.timeToStartEvent*1000)
            end
            addEvent(CheckZombieEvent, 60000, delay-1)
        end
    end]]></config>
     <lib name="speed-lib"><![CDATA[
     
    function getSpeed(cid,level)
      value = (220 +(2 *(level -1)))
      return value
    end

    ]]></lib>
    <event type="statschange" name="ZombieStats" event="script"><![CDATA[
    domodlib('zombie_config')
    if isPlayer(cid) and isMonster(attacker) and getCreatureName(attacker) == zombie_config.monster_name then
        if isInRange(getPlayerPosition(cid), zombie_config.arena[1], zombie_config.arena[2]) then
            if #getPlayersInZombieEvent() > 1 then
                doBroadcastMessage(getPlayerName(cid) .. " have been eated by Zombies!", MESSAGE_STATUS_CONSOLE_RED)
                local corpse = doCreateItem(getPlayerSex(cid) == 1 and 3058 or 6081, 1, getPlayerPosition(cid))
                doItemSetAttribute(corpse, "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")..".")
                doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
                doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)
                doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
                if #getPlayersInZombieEvent() == 1 then
                    local winner = getPlayersInZombieEvent()[1]
                    doBroadcastMessage(getCreatureName(winner)..' has survived at zombie event!')
                    local goblet = doPlayerAddItem(winner, zombie_config.rewards.trophy, 1)
                    doItemSetAttribute(goblet, "description", "Awarded to " .. getPlayerName(winner) .. " for winning the Zombie event.")
                    getZombieRewards(winner, zombie_config.rewards.items)
                    doTeleportThing(winner, getTownTemplePosition(getPlayerTown(winner)), false)
                    doSendMagicEffect(getPlayerPosition(winner), CONST_ME_TELEPORT)
                    doBroadcastMessage(getPlayerName(winner).." won the Zombie event! Congratulations!")
                    HaveCreatureZombie(zombie_config.arena, true)
                    ZerarStoragesZombie()
                end
            else
                doBroadcastMessage("No one survived in the Zombie Event.", MESSAGE_EVENT_ADVANCE)
                HaveCreatureZombie(zombie_config.arena, true)
                ZerarStoragesZombie()
            end
            return false
        end
    end
    return true]]></event>
    <globalevent name="Zombie_Start" interval="60" event="script"><![CDATA[
    domodlib('zombie_config')
    function onThink(interval, lastExecution)
        if zombie_days[os.date("%A")] then
            local hrs = tostring(os.date("%X")):sub(1, 5)
            if isInArray(zombie_days[os.date("%A")], hrs) and getGlobalStorageValue(zombie_config.storages[3]) <= 0 then
                local tp = doCreateItem(1387, 1, zombie_config.teleport[1])
                doItemSetAttribute(tp, "aid", 45110)
                CheckZombieEvent(zombie_config.CheckTime)
                setGlobalStorageValue(zombie_config.storages[1], 0)
                setGlobalStorageValue(zombie_config.storages[2], 0)
                HaveCreatureZombie(zombie_config.arena, true)
            end
        end
        return true
    end]]></globalevent>
    <event type="login" name="Zombie_Login" event="script"><![CDATA[
    domodlib('zombie_config')
    function onLogin(cid)
        registerCreatureEvent(cid, "ZombieBattle")
        registerCreatureEvent(cid, "ZombieStats")
        if isInRange(getPlayerPosition(cid), zombie_config.arena[1], zombie_config.arena[2]) then
            doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
        end
        return true
    end]]></event>
    <event type="combat" name="ZombieBattle" event="script"><![CDATA[
    domodlib('zombie_config')
    if isPlayer(cid) and isPlayer(target) and isInRange(getPlayerPosition(cid), zombie_config.arena[1], zombie_config.arena[2]) then
        doPlayerSendCancel(cid, "You may not attack this player.") return false
    end
    return true
    ]]></event>
    <movevent type="StepIn" actionid="ACTIONID QUE ELIGAS" event="script">
    <![CDATA[
          domodlib('zombie_config')
          domodlib('speed-lib')
          function onStepIn(cid, item, position, fromPosition)
      if(getCreatureSpeed(cid) ~= speed) then
                doRemoveCondition(cid, CONDITION_HASTE)
                doChangeSpeed(cid, c.speed - getCreatureSpeed(cid))
        end
    return true
    end
     
     
    ]]> </movevent>
    <movevent type="StepIn" actionid ="45110" event="script"><![CDATA[
    domodlib('zombie_config')
    function onStepIn(cid, item, position, fromPosition)
        if not isPlayer(cid) then return true end
        if getPlayerAccess(cid) > 3 then return doTeleportThing(cid, zombie_config.teleport[2]) end
        if getPlayerLevel(cid) < zombie_config.min_Level then
            doTeleportThing(cid, fromPosition, true)
            doPlayerSendCancel(cid, "You need to be at least level " .. zombie_config.min_Level .. ".")
            doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
            return true
        end
        if getGlobalStorageValue(zombie_config.storages[1]) <= zombie_config.players.max then
            doTeleportThing(cid, zombie_config.teleport[2])
            setGlobalStorageValue(zombie_config.storages[1], getGlobalStorageValue(zombie_config.storages[1])+1)
            doBroadcastMessage(getPlayerName(cid) .. " entered the Zombie event! Currently " .. getGlobalStorageValue(zombie_config.storages[1]) .. " players have joined!", MESSAGE_STATUS_CONSOLE_RED)
            if getGlobalStorageValue(zombie_config.storages[1]) == zombie_config.players.max then
                setGlobalStorageValue(zombie_config.storages[1], getGlobalStorageValue(zombie_config.storages[1])+1)
                removeZombieTp()
                doBroadcastMessage("The Zombie event is now full [" .. getGlobalStorageValue(zombie_config.storages[1])-1 .. " players]! The event will soon start.")
                for _, var in pairs(getPlayersInZombieEvent()) do
                    doPlayerSendTextMessage(var, MESSAGE_EVENT_ADVANCE, "The first zombie will spawn in " .. zombie_config.timeToStartEvent .. " seconds! Good luck!")
                end
                addEvent(spawnZombie, zombie_config.timeToStartEvent*1000)
            end
        end
        return true
    end]]></movevent>
    <talkaction words="/zombiestart;!zombiestart" access="5" event="buffer"><![CDATA[
    domodlib('zombie_config')
        if getGlobalStorageValue(zombie_config.storages[3]) > 0 then
            doPlayerSendCancel(cid, "The event is already starting.") return true
        elseif not param or not tonumber(param) then
            doPlayerSendCancel(cid, "Use only numbers.") return true
        end
        local param = tonumber(param) <= 0 and 1 or tonumber(param)
        local tp = doCreateItem(1387, 1, zombie_config.teleport[1])
            doItemSetAttribute(tp, "aid", 45110)
            CheckZombieEvent(tonumber(param))
            ZerarStoragesZombie()
            setGlobalStorageValue(zombie_config.storages[3], 1)
            HaveCreatureZombie(zombie_config.arena, true)
    ]]></talkaction>
    <globalevent name="ZombieDebug-Start" type="start" event="buffer"><![CDATA[
    domodlib('zombie_config')
    ZerarStoragesZombie()
    return true]]></globalevent>
    </mod>

    Y BUSCA LA SIGUIENTE LINEA Y ELIGE UNA ACTION ID

    Código:
    <movevent type="StepIn" actionid="ACTIONID QUE ELIGAS" event="script">

    Y PONES EL ACTIONID EN CADA PISO DE LA ZONA DEL EVENTO. OJALAS FUNCIONE XD

    Exclamation

    3default Re: [Mods] mod event zombie 0.3.6 Sáb Mar 27, 2021 3:18 pm

    MClovin

    MClovin
    Nuevo Miembro
    Nuevo Miembro
    gracias funciono perfectamente

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