• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Sistema] Teleport Via modal windows (Tfs 1.2)

    Compartir:

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

    1default [Sistema] Teleport Via modal windows (Tfs 1.2) el Vie Abr 08, 2016 11:46 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    hola usuarios de tibiaface


    bueno aqui les traigo un sistema de teleport via modal windows para tfs 1.2
    trata de pisar el tp o cualquier que elijan le brincara una venta donde seleccionaran su viaje.

    [Sistema] Teleport Via modal windows (Tfs 1.2) Captur10

    instalacion:

    nos vamos a:

    data\creaturescripts\scripts

    copiamos cualquier archivo y renombramos por tp.lua y pegamos esto dentro:

    Código:
    function onModalWindow(player, modalWindowId, buttonId, choiceId)
       if modalWindowId == 1001 then
          if buttonId == 1 or buttonId == 29 or buttonId == 0 then
             local pos = 0
             if (choiceId == 1) then
                pos = {x=98, y=45, z=15}
             elseif (choiceId == 2) then
                pos = {x=108, y=45, z=15}
             elseif (choiceId == 3) then
                pos = {x=117, y=45, z=15}
             elseif (choiceId == 4) then
                pos = {x=98, y=55, z=15}
             elseif (choiceId == 5) then
                pos = {x=117, y=55, z=15}
             end
             player:teleportTo(pos, false)
          end
       end
       return true
    end

    cada destino esta con id 1 es thais y como ven el ultimo que choseid== 5 es yalahar si queremo aumentar otra ciudad aumentamos otra linea debajo de esta:

    Código:
    elseif (choiceId == 5) then
                pos = {x=117, y=55, z=15}
    agregamos;

    Código:
    elseif (choiceId == 6) then
                pos = {x=117, y=55, z=15}

    nos cambio el id ahora sera 6 mas adelante explicaremso por que el 6

    ahora nos vamos a:

    data\creaturescripts\creaturescripts.xml

    y añadimos esta tag:

    Código:
    <event type="modalwindow" name="ModalOffline" script="tp.lua" />


    Seguimos y nos vamos a:

    data\movements\scripts

    copiamos cualquier archivo y renombramos por tp.lua y pegamos esto dentro:

    Código:
    local modaldialog = {
       title = "Offline Training",
       message = "To which room you want to go?",
       buttons = {
          { id = 1, text = "go" },
       },
       buttonEnter = 1,
       buttonEscape = 2,
       choices = {
          { id = 1, text = "thais" },
          { id = 2, text = "carlin" },
          { id = 3, text = "venore" },
          { id = 4, text = "edron" },
          { id = 5, text = "yalahar" }
       },
       popup = true
    }

    function onStepIn(creature, item, position, fromPosition)
       modalWindow = ModalWindow(1001, modaldialog.title, modaldialog.message)
       if modalWindow:getId() == 1001 then
          for _, v in ipairs(modaldialog.buttons) do
                  modalWindow:addButton(v.id, v.text)
          end
          for _, v in ipairs(modaldialog.choices) do
                   modalWindow:addChoice(v.id, v.text)
          end
          modalWindow:setDefaultEnterButton(modaldialog.buttonEnter)
          modalWindow:setPriority(modaldialog.popup)
          modalWindow:setDefaultEscapeButton(modaldialog.buttonEscape)
       end
       modalWindow:sendToPlayer(creature)
       creature:registerEvent("ModalOffline")
       return true
    end

    ahora para añadir mas ciudades recuerdan el numero choiseid==6 que añadieron en el anterio paso eso lo vamos a ocupar aqui.

    Código:
    choices = {
          { id = 1, text = "thais" },
          { id = 2, text = "carlin" },
          { id = 3, text = "venore" },
          { id = 4, text = "edron" },
          { id = 5, text = "yalahar" }
       },

    para añadir mas ciuades solo añadimos una linea mas sin olvidarnos la coma asi
    Código:
    choices = {
          { id = 1, text = "thais" },
          { id = 2, text = "carlin" },
          { id = 3, text = "venore" },
          { id = 4, text = "edron" },
          { id = 5, text = "yalahar" },
                    { id = 6, text = "newcity" }
       },

    vieron añadi la { id = 6, text = "newcity" } con su choise id 6 es id enlaza con el choise id de anterior paso que tiene las cordenadas donde los llevara:


    luego añadismos esta tag en:

    data\movements\movements.xml


    Código:
    <movevent event="StepIn" actionid="16000" script="offlinetraining.lua" />

    el id 16000 es el actionid que colocaran en el sqm del piso o en el teleport


    eso es todo.



    [Sistema] Teleport Via modal windows (Tfs 1.2) YNU5B25
    Ver perfil de usuario https://www.tibiaface.com
    Exelente idea maya solo una duda podrias explicarme esta linea de codigo??

    if buttonId == 1 or buttonId == 29 or buttonId == 0 then

    el 29 es el maximo de campos que puedo ingresar o a cual se refiere el 29?

    Ver perfil de usuario http://dybbuk.jimdo.com/

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Exelente idea maya solo una duda podrias explicarme esta linea de codigo??

    if buttonId == 1 or buttonId == 29 or buttonId == 0 then

    el 29 es el maximo de campos que puedo ingresar o a cual se refiere el 29?

    eso son los referencia a los botones de la ventana



    [Sistema] Teleport Via modal windows (Tfs 1.2) YNU5B25
    Ver perfil de usuario https://www.tibiaface.com

    Invitado

    Anonymous
    Invitado
    Muy buen aporte pero tiene un error en data\movements\movements.xml

    <movevent event="StepIn" actionid="16000" script="offlinetraining.lua" />

    debe de ser

    <movevent event="StepIn" actionid="16000" script="tp.lua" />

    Gabriiii

    Gabriiii
    Miembro
    Miembro
    maya como hago para cambiarlo a server 8.60?

    Ver perfil de usuario

    azteca

    azteca
    Nuevo Miembro
    Nuevo Miembro
    funciona muy bien gracias maya

    Ver perfil de usuario

    Liikuid

    Liikuid
    Nuevo Miembro
    Nuevo Miembro
    God, un pequeño detalle que fue un dolor de cabeza pero su solución consta de una sola linea:

    En
    data\creaturescripts\scripts
    al script, abajo de la linea:

    player:teleportTo(pos, false)

    se tiene que agregar:
    Creature:unregisterEvent("ModalOffline")
    o
    Player:unregisterEvent("ModalOffline")

    ¿Por que? la razón esta en que si tenes dos teleport distintos con registro de eventos distintos, al ir a otro tp, se queda con el registro del anterior. O sea

    Tengo 2 tp multiples
    Si ingreso a cada uno POR PRIMERA VEZ, todo bien, pero si quiero ingresar nuevamente, el que sea, este se queda con el registro anterior y entras al tp que entraste por primera vez

    Ver perfil de usuario

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:God, un pequeño detalle que fue un dolor de cabeza pero su solución consta de una sola linea:

    En
    data\creaturescripts\scripts
    al script, abajo de la linea:

    player:teleportTo(pos, false)

    se tiene que agregar:
    Creature:unregisterEvent("ModalOffline")
    o
    Player:unregisterEvent("ModalOffline")

    ¿Por que? la razón esta en que si tenes dos teleport distintos con registro de eventos distintos, al ir a otro tp, se queda con el registro del anterior. O sea

    Tengo 2 tp multiples
    Si ingreso a cada uno POR PRIMERA VEZ, todo bien, pero si quiero ingresar nuevamente, el que sea, este se queda con el registro anterior y entras al tp que entraste por primera vez

    buena observacion +1 (y)



    [Sistema] Teleport Via modal windows (Tfs 1.2) YNU5B25
    Ver perfil de usuario https://www.tibiaface.com

    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.

    Temas Recomendados×+

       

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