• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Mods] Players 4 vs Players 4 (Tfs 0.4.0)

    Compartir:

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

    1default [Mods] Players 4 vs Players 4 (Tfs 0.4.0) Miér Mayo 02, 2018 10:23 am

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Hola usuarios de tibiaface


    Bueno aqui les traigo un evento donde los player entran para dar batle 4 vs 4 tipo famoso juego wow o el evento tipo rush events pero esta ves es 4 vs 4

    aqui el scripts

    Código:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <mod name="Guild For Arena Event" version="8.6" author="Vodkart" contact="" enabled="yes">
    <config name="gfae_config"><![CDATA[
    config = {
        positions = {
            {{x=44, y=279, z=7}, {x=21, y=480, z=7}}, ---posicion del equipo uno de los player
            {{x=45, y=279, z=7}, {x=21, y=480, z=7}},
            {{x=44, y=280, z=7}, {x=21, y=480, z=7}},
            {{x=45, y=280, z=7}, {x=21, y=480, z=7}},
        },
        positions2 = {
            {{x=47, y=279, z=7}, {x=78, y=448, z=7}}, -----> posicion del equipo 2 de los player
            {{x=48, y=279, z=7}, {x=78, y=448, z=7}},
            {{x=47, y=280, z=7}, {x=78, y=448, z=7}},
            {{x=48, y=280, z=7}, {x=78, y=448, z=7}},
        },
        money = 500,-- dinero en k que ganara el equipo
        hours = 5, -- para volver hacer la arena
        storage = 889757,
        a = {x = 14, y= 442, z=7}, -- posicion de arena esquina superior izquierda
        b = {x = 88, y= 493, z=7}, -- posicion de la rena esquina inferior derecha
        exit_pos = {x=151, y=50, z=7} ------> posicion de salida
    }
    function getPlayersWithGuildInArena(from, to)
        local t = {}
        for _, pid in pairs(getPlayersOnline()) do
            if isInRange(getPlayerPosition(pid), from, to) then
                t[#t+1] = pid
            end
        end
        return t
    end
    function endArenaEvent(cid, p1, p2)
        for _, ret in pairs(getPlayersWithGuildInArena(p1, p2)) do
            if getPlayerGuildId(cid) ~= getPlayerGuildId(ret) then
                return false
            end
        end
    return true
    end
    ]]></config>
    <event type="login" name="GuildForArenaLogin" event="script"><![CDATA[
    domodlib('gfae_config')
    function onLogin(cid)
    registerCreatureEvent(cid, "GuildForArenaBattle")
    registerCreatureEvent(cid, "GuildForArenaDeath")
        if getCreatureName(cid) ~= "Account Manager" and isInRange(getPlayerPosition(cid), config.a, config.b) then
            doTeleportThing(cid, config.exit_pos)
        end
    return true
    end]]></event>
    <event type="combat" name="GuildForArenaBattle" event="script"><![CDATA[
    domodlib('gfae_config')
    if isPlayer(cid) and isPlayer(target) and isInRange(getPlayerPosition(cid), config.a, config.b) then
       local myguild = getPlayerGuildId(cid)
             if myguild ~= 0 and myguild == getPlayerGuildId(target) then
               doPlayerSendCancel(cid, "You may not attack this player.") return false
             end
    end
    return true
    ]]></event>
    <event type="preparedeath" name="GuildForArenaDeath" event="script"><![CDATA[
    domodlib('gfae_config')
    function onPrepareDeath(cid, deathList, lastHitKiller, mostDamageKiller)
        if isPlayer(cid) and isInRange(getPlayerPosition(cid), config.a, config.b) then
            doTeleportThing(cid, config.exit_pos)
                if endArenaEvent(deathList[1], config.a, config.b) then -- qndo acaba o evento
                    for _, ret in pairs(getPlayersWithGuildInArena(config.a, config.b)) do
                        doPlayerAddItem(ret, 1999, 1) -- premio
                        doTeleportThing(ret, config.exit_pos)
                    end
                    doBroadcastMessage("A guild  "..getPlayerGuildName(deathList[1]).." Foi a vencedora da arena!")
                end
        end
    return true
    end]]></event>
    <action actionid="7124" event="script"><![CDATA[
    domodlib('gfae_config')
    function onUse(cid, item, fromPosition, item2, toPosition)
        if #getPlayersWithGuildInArena(config.a, config.b)  > 0 then
            return doPlayerSendCancel(cid, "espere, atualmente ha guilds batalhando.") and doSendMagicEffect(getThingPos(cid), 2)
        end
       for i = 1, #config.positions do
          local creature = getTopCreature(config.positions[i][1]).uid
          if not isPlayer(creature) then
             return doPlayerSendCancel(cid, "Nao existe players em todas as posicoes.") and doSendMagicEffect(getThingPos(cid), 2)
          end
          local guild1 = getPlayerGuildId(getTopCreature(config.positions[1][1]).uid)
          if getPlayerGuildId(creature) ~= guild1 then
             return doPlayerSendCancel(cid, "Algum player nao e da guild correta.") and doSendMagicEffect(getThingPos(cid), 2)
          end
          if getPlayerMoney(creature) < (config.money * 1000) then
             return doPlayerSendCancel(cid, "Algum player nao tem "..config.money.."k.") and doSendMagicEffect(getThingPos(cid), 2)
          end
       end
       for i = 1, #config.positions2 do
          local creature = getTopCreature(config.positions2[i][1]).uid      
          if not isPlayer(creature) then
             return doPlayerSendCancel(cid, "Not enough players.") and doSendMagicEffect(getThingPos(cid), 2)
          end

          local guild2 = getPlayerGuildId(getTopCreature(config.positions2[1][1]).uid)
          if getPlayerGuildId(creature) ~= guild2 then
             return doPlayerSendCancel(cid, "Algum player nao e da guild correta.") and doSendMagicEffect(getThingPos(cid), 2)
          end      
          if getPlayerMoney(creature) < (config.money * 1000) then
             return doPlayerSendCancel(cid, "Algum player nao tem "..config.money.."k.") and doSendMagicEffect(getThingPos(cid), 2)
          end
       end
        doBroadcastMessage("Começou uma batalha entre ".. getPlayerGuildName(getTopCreature(config.positions[1][1]).uid) .." e ".. getPlayerGuildName(getTopCreature(config.positions2[1][1]).uid)..".")
       for i = 1, #config.positions do
          local creature = getTopCreature(config.positions[i][1]).uid
          doTeleportThing(creature, config.positions[i][2])
          doPlayerSendTextMessage(creature, 27, "You started the quest.")
          doSendMagicEffect(getThingPos(creature), 33)
          doPlayerRemoveMoney(creature, (config.money * 1000))
          setPlayerStorageValue(creature, config.storage, os.time() + config.hours * 60 * 60)
       end
       for i = 1, #config.positions2 do
          local creature = getTopCreature(config.positions2[i][1]).uid
          doTeleportThing(creature, config.positions2[i][2])
          doPlayerSendTextMessage(creature, 27, "You started the quest.")
          doSendMagicEffect(getThingPos(creature), 33)
          doPlayerRemoveMoney(creature, (config.money * 1000))
          setPlayerStorageValue(creature, config.storage, os.time() + config.hours * 60 * 60)
       end
       return true
    end]]></action>
    </mod>


    7124  -------> actionid de la palanca



    creditos:Vodkart



    [Mods] Players 4 vs Players 4 (Tfs 0.4.0) YNU5B25
    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 participantes
    https://www.tibiaface.com

    Diozeta

    Diozeta
    Nuevo Miembro
    Nuevo Miembro
    oye maya, y enlugarde, si quiero ponerle que sean 10 vs 10, le pongo mas posiciones???

    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Diozeta escribió:oye maya, y enlugarde, si quiero ponerle que sean 10 vs 10, le pongo mas posiciones???

    aumenta posiciones tanto para equipo 1 como para equipo 2

    Código:
     positions = {
            {{x=44, y=279, z=7}, {x=21, y=480, z=7}}, ---posicion del equipo uno de los player
            {{x=45, y=279, z=7}, {x=21, y=480, z=7}},
            {{x=44, y=280, z=7}, {x=21, y=480, z=7}},
            {{x=45, y=280, z=7}, {x=21, y=480, z=7}},
        },
        positions2 = {
            {{x=47, y=279, z=7}, {x=78, y=448, z=7}}, -----> posicion del equipo 2 de los player
            {{x=48, y=279, z=7}, {x=78, y=448, z=7}},
            {{x=47, y=280, z=7}, {x=78, y=448, z=7}},
            {{x=48, y=280, z=7}, {x=78, y=448, z=7}},
        },

    [Mods] Players 4 vs Players 4 (Tfs 0.4.0) Captur13



    [Mods] Players 4 vs Players 4 (Tfs 0.4.0) YNU5B25
    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 participantes
    https://www.tibiaface.com

    4default Re: [Mods] Players 4 vs Players 4 (Tfs 0.4.0) Miér Mayo 23, 2018 8:34 pm

    abbyt

    abbyt
    Nuevo Miembro
    Nuevo Miembro
    HOLA mui buen script pero se podra hacerlo, por talkaction, cada que yo quiera el evento?

    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 participantes

    5default 1 Vie Mar 29, 2019 3:26 pm

    JeisonG-vnzla

    JeisonG-vnzla
    Miembro
    Miembro
    Buenas tardes Maya el Mod esta funcionando pero hay un problema al momento de matar a todos los players mandan los deaths al templo tambien... y si le quito el doTeleportThing(cid, config.exit_pos) <- se quita el problema de los deaths al templo pero el event no da Fin no termina...

    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    JeisonG-vnzla escribió:Buenas tardes Maya el Mod esta funcionando pero hay un problema al momento de matar a todos los players mandan los deaths al templo tambien... y si le quito el doTeleportThing(cid, config.exit_pos) <- se quita el problema de los deaths al templo pero el event no da Fin no termina...

    no entendi bien cual es es el problema



    [Mods] Players 4 vs Players 4 (Tfs 0.4.0) YNU5B25
    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 participantes
    https://www.tibiaface.com

    7default 2 Sáb Mar 30, 2019 1:54 am

    JeisonG-vnzla

    JeisonG-vnzla
    Miembro
    Miembro
    que el event presenta el siguiente problema ( al momento de activar la war el event esta funcionando perfecto pero el detalle que tiene es qe manda los deaths al templo) osea los corpes

    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    JeisonG-vnzla escribió:que el event presenta el siguiente problema ( al momento de activar la war el event esta funcionando perfecto pero el detalle que tiene es qe manda los deaths al templo) osea los corpes

    ya entiendo usted tiene que colocar si o si en este evento pvp zona para que no caiga corpse



    [Mods] Players 4 vs Players 4 (Tfs 0.4.0) YNU5B25
    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 participantes
    https://www.tibiaface.com

    swantime

    swantime
    Nuevo Miembro
    Nuevo Miembro
    there is video for explain it much more ot map

    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 participantes

    chili bizc

    chili bizc
    Miembro
    Miembro
    solo es para combatir entre guilds? se puede hacer un cambio en el reward que no sea dinero sino otro item?

    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    chili bizc escribió:solo es para combatir entre guilds? se puede hacer un cambio en el reward que no sea dinero sino otro item?

    si es como una war antiintrusa pero analogica



    [Mods] Players 4 vs Players 4 (Tfs 0.4.0) YNU5B25
    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 participantes
    https://www.tibiaface.com

    joe123

    joe123
    Miembro
    Miembro
    Maya esta para 8.60??

    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    joe123 escribió:Maya esta para 8.60??

    si señor para tfs 8.60



    [Mods] Players 4 vs Players 4 (Tfs 0.4.0) YNU5B25
    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 participantes
    https://www.tibiaface.com

    14default Re: [Mods] Players 4 vs Players 4 (Tfs 0.4.0) Sáb Ago 22, 2020 12:35 am

    joe123

    joe123
    Miembro
    Miembro
    gracias maya lo metere a ver que pasa Very Happy

    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 participantes

    15default Error en consola Vie Ene 28, 2022 7:10 pm

    mccrater

    mccrater
    Nuevo Miembro
    Nuevo Miembro
    [Mods] Players 4 vs Players 4 (Tfs 0.4.0) Imagen10
    me sale este error

    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    mccrater escribió:[Mods] Players 4 vs Players 4 (Tfs 0.4.0) Imagen10
    me sale este error

    busque en sus lib esta funcion

    Código:

    function isInRange(pos, fromPosition, toPosition)

       return (position.x >= fromPosition.x and position.y >= fromPosition.y and position.z >= fromPosition.z and position.x <= toPosition.x and position.y <= toPosition.y and position.z <= toPosition.z)

    end

    por esta funcion

    Código:

    function isInRange(pos, fromPosition, toPosition)

       return (pos.x >= fromPosition.x and pos.y >= fromPosition.y and pos.z >= fromPosition.z and pos.x <= toPosition.x and pos.y <= toPosition.y and pos.z <= toPosition.z)

    end



    mccrater escribió:[Mods] Players 4 vs Players 4 (Tfs 0.4.0) Imagen10
    me sale este error

    pruebe de nuevo el sistema aqui le dejo con moficaciones - vuela su servidor con la funcion normal que tenia isInRange

    Código:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <mod name="Guild For Arena Event" version="8.6" author="Vodkart" contact="" enabled="yes">
    <config name="gfae_config"><![CDATA[
    config = {
        positions = {
            {{x=44, y=279, z=7}, {x=21, y=480, z=7}},
            {{x=45, y=279, z=7}, {x=21, y=480, z=7}},
            {{x=44, y=280, z=7}, {x=21, y=480, z=7}},
            {{x=45, y=280, z=7}, {x=21, y=480, z=7}},
        },
        positions2 = {
            {{x=47, y=279, z=7}, {x=78, y=448, z=7}},
            {{x=48, y=279, z=7}, {x=78, y=448, z=7}},
            {{x=47, y=280, z=7}, {x=78, y=448, z=7}},
            {{x=48, y=280, z=7}, {x=78, y=448, z=7}},
        },
        money = 500,-- em k
        hours = 5, -- para voltar a arena
        storage = 889757,
        a = {x = 14, y= 442, z=7}, -- pos começo da arena
        b = {x = 88, y= 493, z=7}, -- pos final da arena
        exit_pos = {x=151, y=50, z=7}
    }
    function getPlayersWithGuildInArena(from, to)
        local t = {}
        for _, pid in pairs(getPlayersOnline()) do
            if isInRange(getPlayerPosition(pid), from, to) then
                t[#t+1] = pid
            end
        end
        return t
    end
    function endArenaEvent(cid, p1, p2)
        for _, ret in pairs(getPlayersWithGuildInArena(p1, p2)) do
            if getPlayerGuildId(cid) ~= getPlayerGuildId(ret) then
                return false
            end
        end
    return true
    end
    ]]></config>
    <event type="login" name="GuildForArenaLogin" event="script"><![CDATA[
    domodlib('gfae_config')
    function onLogin(cid)
    registerCreatureEvent(cid, "GuildForArenaBattle")
    registerCreatureEvent(cid, "GuildForArenaDeath")
        if getCreatureName(cid) ~= "Account Manager" and isInRange(getPlayerPosition(cid), config.a, config.b) then
            doTeleportThing(cid, config.exit_pos)
        end
    return true
    end]]></event>
    <event type="combat" name="GuildForArenaBattle" event="script"><![CDATA[
    domodlib('gfae_config')
    if isPlayer(cid) and isPlayer(target) and isInRange(getPlayerPosition(cid), config.a, config.b) then
      local myguild = getPlayerGuildId(cid)
            if myguild ~= 0 and myguild == getPlayerGuildId(target) then
               doPlayerSendCancel(cid, "You may not attack this player.") return false
            end
    end
    return true
    ]]></event>
    <event type="preparedeath" name="GuildForArenaDeath" event="script"><![CDATA[
    domodlib('gfae_config')
    function onPrepareDeath(cid, deathList, lastHitKiller, mostDamageKiller)
        if isPlayer(cid) and isInRange(getPlayerPosition(cid), config.a, config.b) then
            doTeleportThing(cid, config.exit_pos)
                if endArenaEvent(deathList[1], config.a, config.b) then -- qndo acaba o evento
                    for _, ret in pairs(getPlayersWithGuildInArena(config.a, config.b)) do
                        doPlayerAddItem(ret, 1999, 1) -- premio
                        doTeleportThing(ret, config.exit_pos)
                    end
                    doBroadcastMessage("A guild  "..getPlayerGuildName(deathList[1]).." Foi a vencedora da arena!")
                end
        end
    return true
    end]]></event>
    <action actionid="7124" event="script"><![CDATA[
    domodlib('gfae_config')
    function onUse(cid, item, fromPosition, item2, toPosition)
        if #getPlayersWithGuildInArena(config.a, config.b)  > 0 then
            return doPlayerSendCancel(cid, "espere, atualmente ha guilds batalhando.") and doSendMagicEffect(getThingPos(cid), 2)
        end
       for i = 1, #config.positions do
          local creature = getTopCreature(config.positions[i][1]).uid
          if not isPlayer(creature) then
             return doPlayerSendCancel(cid, "Nao existe players em todas as posicoes.") and doSendMagicEffect(getThingPos(cid), 2)
          end
          local guild1 = getPlayerGuildId(getTopCreature(config.positions[1][1]).uid)
          if getPlayerGuildId(creature) ~= guild1 then
             return doPlayerSendCancel(cid, "Algum player nao e da guild correta.") and doSendMagicEffect(getThingPos(cid), 2)
          end
          if getPlayerMoney(creature) < (config.money * 1000) then
             return doPlayerSendCancel(cid, "Algum player nao tem "..config.money.."k.") and doSendMagicEffect(getThingPos(cid), 2)
          end
       end
       for i = 1, #config.positions2 do
          local creature = getTopCreature(config.positions2[i][1]).uid      
          if not isPlayer(creature) then
             return doPlayerSendCancel(cid, "Not enough players.") and doSendMagicEffect(getThingPos(cid), 2)
          end

          local guild2 = getPlayerGuildId(getTopCreature(config.positions2[1][1]).uid)
          if getPlayerGuildId(creature) ~= guild2 then
             return doPlayerSendCancel(cid, "Algum player nao e da guild correta.") and doSendMagicEffect(getThingPos(cid), 2)
          end      
          if getPlayerMoney(creature) < (config.money * 1000) then
             return doPlayerSendCancel(cid, "Algum player nao tem "..config.money.."k.") and doSendMagicEffect(getThingPos(cid), 2)
          end
       end
        doBroadcastMessage("Começou uma batalha entre ".. getPlayerGuildName(getTopCreature(config.positions[1][1]).uid) .." e ".. getPlayerGuildName(getTopCreature(config.positions2[1][1]).uid)..".")
       for i = 1, #config.positions do
          local creature = getTopCreature(config.positions[i][1]).uid
          doTeleportThing(creature, config.positions[i][2])
          doPlayerSendTextMessage(creature, 27, "You started the quest.")
          doSendMagicEffect(getThingPos(creature), 33)
          doPlayerRemoveMoney(creature, (config.money * 1000))
          setPlayerStorageValue(creature, config.storage, os.time() + config.hours * 60 * 60)
       end
       for i = 1, #config.positions2 do
          local creature = getTopCreature(config.positions2[i][1]).uid
          doTeleportThing(creature, config.positions2[i][2])
          doPlayerSendTextMessage(creature, 27, "You started the quest.")
          doSendMagicEffect(getThingPos(creature), 33)
          doPlayerRemoveMoney(creature, (config.money * 1000))
          setPlayerStorageValue(creature, config.storage, os.time() + config.hours * 60 * 60)
       end
       return true
    end]]></action>
    </mod>

    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 participantes
    https://www.tibiaface.com

    Contenido patrocinado


    +4
    [Admin] God Maya
    JeisonG-vnzla
    abbyt
    Diozeta
    8 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).