• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    Pedido Push Duel System

    Compartir:

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

    1Pedido Push Duel System Empty Pedido Push Duel System Sáb Oct 02, 2021 3:19 pm

    Gambo

    Gambo
    Nuevo Miembro
    Nuevo Miembro
    Descripcion escribió:Hola buenas tardes, he visto varios servidores el cual tienen un "sistema" de push duel, queria saber si podrian facilitarmelo aqui.

    imgen de referencia.
    Pedido Push Duel System Push10
    Imagen Explicativa escribió:Imagen Explicativa: Pedido Push Duel System Tibiaf10
    Version del Scripts: TFs 0.4.0



    Última edición por Gambo el Lun Oct 04, 2021 1:19 pm, editado 1 vez

    4 participantes

    2Pedido Push Duel System Empty Re: Pedido Push Duel System Dom Oct 03, 2021 10:56 am

    SoyFabi

    SoyFabi
    Miembro
    Miembro
    El problema, que no somos adivinos de como funciona el sistema Wink

    4 participantes

    3Pedido Push Duel System Empty Re: Pedido Push Duel System Lun Oct 04, 2021 9:18 am

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    no he escuchado ni visto por las calles de san google este sistema quias sea un sistema privado de compra por dinero real



    Pedido Push Duel System YNU5B25
    4 participantes
    http://www.tibiaface.com

    4Pedido Push Duel System Empty Re: Pedido Push Duel System Mar Oct 05, 2021 10:35 am

    MClovin

    MClovin
    Miembro
    Miembro
    Gambo escribió:
    Descripcion escribió:Hola buenas tardes, he visto varios servidores el cual tienen un "sistema" de push duel, queria saber si podrian facilitarmelo aqui.

    imgen de referencia.
    Pedido Push Duel System Push10
    Imagen Explicativa escribió:Imagen Explicativa: Pedido Push Duel System Tibiaf10
    Version del Scripts: TFs 0.4.0

    simplemente mapea la zona crea un actions que nesecite de 2 personas en x pos y que seean teletransportadas al darle use ala palanca le pones con action id

    4 participantes

    5Pedido Push Duel System Empty Re: Pedido Push Duel System Mar Oct 05, 2021 2:55 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    en data/lib/ crea un archivo llamado arenapvp.lua :


    Código:

    -- CONFIGURAÇÕES AQUI

    arena = {

       --INICIO DAS CONFIGS DA POSIÇÃO--

       time = 10, -- Minutos se não houver vencedor ambos são kikados
       player1pos = {x= 652, y= 1024, z= 7}, -- Posição 1
       player2pos = {x= 652, y= 1026, z= 7}, -- Posição 2
       nplayer1pos = {x= 605, y= 1008, z= 7}, -- Posição para aonde o player 1 vai ser teleportado..
       nplayer2pos = {x= 612, y= 1008, z= 7}, -- Posição para aonde o player 2 vai ser teleportado..
       toPos = {x= 602, y=1004, z= 7},
       fromPos = {x= 610, y=1013, z= 7},
       exitPos = {x= 654, y=1025, z= 7},

       --  FIM DAS CONFIGS DA POSIÇÃO--




       -- NÃO EDITAR SE NÃO POSSUIR CONHECIMENTO --

       gstorage = 14784, -- //GLOBAL STORAGE
       pstorage = 14785, -- //PLAYER STORAGES

    }

    function getQuantidadeCreature(toPos, fromPos)

       arenaPlayers = 0

       for x = toPos.x, fromPos.x do
          for y = toPos.y, fromPos.y do
             player = getTopCreature({x= x, y= y, z= fromPos.z}).uid
             if isPlayer(player) then
                arenaPlayers = arenaPlayers + 1
             end
          end
       end
       
       return arenaPlayers
    end

    function doRemoveCreature(toPos, fromPos, teleportTo, storage)

       for x = toPos.x, fromPos.x do
          for y = toPos.y, fromPos.y do
             player = getTopCreature({x= x, y= y, z= fromPos.z}).uid
             if isPlayer(player) then
                doTeleportThing(player, teleportTo)
                setPlayerStorageValue(player, storage, -1)
             end
          end
       end

       return true
    end



    en data/actions/scripts crea un archivo llamado arenapvp.lua :

    Código:


    dofile('data/lib/arenapvp.lua')

    function onUse(cid, item, toPosition, itemEx, fromPosition)

       local player1 = getTopCreature(arena.player1pos).uid
       local player2 = getTopCreature(arena.player2pos).uid

       if item.itemid == 1945 then
          doTransformItem(item.uid, item.itemid+1)
          if getGlobalStorageValue(arena.gstorage) < 1 then
             if isPlayer(player1) and isPlayer(player2) then
                doPlayerSendTextMessage(player1, MESSAGE_STATUS_WARNING, "Fight!")
                   doPlayerSendTextMessage(player2, MESSAGE_STATUS_WARNING, "Fight!")
                   doSendMagicEffect(getThingPos(player1), CONST_ME_POFF)
                   doSendMagicEffect(getThingPos(player2), CONST_ME_POFF)
                   setPlayerStorageValue(player1, arena.pstorage, 1)
                setPlayerStorageValue(player2, arena.pstorage, 1)
                doTeleportThing(player1, arena.nplayer1pos)
                doTeleportThing(player2, arena.nplayer2pos)
                setGlobalStorageValue(arena.gstorage, 1)
                addEvent(function ()
                   if getQuantidadeCreature(arena.toPos, arena.fromPos) > 0 then
                      doRemoveCreature(arena.toPos, arena.fromPos, arena.exitPos, arena.pstorage)
                      setGlobalStorageValue(arena.gstorage, -1)
                   end
                end, 1000*60*arena.time)
             else
                doCreatureSay(cid, "need two players to start", TALKTYPE_ORANGE_1)
             end
          else
             doCreatureSay(cid, "has two players in arena", TALKTYPE_ORANGE_1)
          end
       elseif item.itemid == 1946 then
          doTransformItem(item.uid, item.itemid-1)
       end

       return true
    end


    en actions agrega actions.XML :

    Código:

       <!-- Arena Pvp -->
       <action actionid="2170" event="script" value="arenapvp.lua"/>



    en data/creaturescripts/scripts crea un archivo llamado arenapvp.lua :


    Código:

    dofile('data/lib/arenapvp.lua')

    function onStatsChange(cid, attacker, type, combat, value)
       
        if isPlayer(cid) and getPlayerStorageValue(cid, arena.pstorage) == 1 and type == STATSCHANGE_HEALTHLOSS then
            if value >= getCreatureHealth(cid) then
                local killer = attacker
                doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
                doCreatureAddMana(cid, getCreatureMaxMana(cid))
                doCreatureAddHealth(killer, getCreatureMaxHealth(killer))
                doCreatureAddMana(killer, getCreatureMaxMana(killer))
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "[Arena]: you lost the duel!")
                doPlayerSendTextMessage(killer, MESSAGE_STATUS_WARNING, "[Arena]: you win the duel!")
                doTeleportThing(cid, arena.exitPos)
                doTeleportThing(killer, arena.exitPos)
                doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
                doSendMagicEffect(getThingPos(killer), CONST_ME_POFF)
                setPlayerStorageValue(cid, arena.pstorage, -1)
                setPlayerStorageValue(killer, arena.pstorage, -1)
                setGlobalStorageValue(arena.gstorage, -1)
                return false
            end
        end
        return true
    end

    function onLogin(cid)

       registerCreatureEvent(cid, "ArenaPVP")

       return true      
    end


    en creaturescripts.XML


    Código:

       <!-- ARENA PVP -->
       <event type="statschange" name="ArenaPVP" event="script" value="arenapvp.lua"/>
       <event type="login" name="verf_PVP" event="script" value="arenapvp.lua"/>


    Testeado en tfs 0.4.



    --INICIO DAS CONFIGS DA POSIÇÃO--

    time = 10, -- Minutos se não houver vencedor ambos são kikados
    player1pos = {x= 652, y= 1024, z= 7}, -- posicion donde va estar parado el primer player
    player2pos = {x= 652, y= 1026, z= 7}, -- posicion donde va esta parado el segundo player
    nplayer1pos = {x= 605, y= 1008, z= 7}, -- Posicion para donde el player 1 va ser teleportado..
    nplayer2pos = {x= 612, y= 1008, z= 7}, -- Posicion para donde el player 2 va ser teleportado..
    toPos = {x= 602, y=1004, z= 7}, -------esquina superior izquierda de la arena
    fromPos = {x= 610, y=1013, z= 7}, ------ esquina inferior derecha de la arena
    exitPos = {x= 654, y=1025, z= 7}, ------ al terminar donde sera teleportado

    -- FIM DAS CONFIGS DA POSIÇÃO--

    4 participantes
    http://www.tibiaface.com

    6Pedido Push Duel System Empty Re: Pedido Push Duel System Mar Oct 12, 2021 1:30 am

    Gambo

    Gambo
    Nuevo Miembro
    Nuevo Miembro
    Question BUMP MI POST Question

    4 participantes

    Contenido patrocinado


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