• 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

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



    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.



    Ver perfil de usuario http://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

    avatar
    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



    Ver perfil de usuario http://www.tibiaface.com

    Invitado

    avatar
    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

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

    Ver perfil de usuario

    azteca

    avatar
    Miembro
    Miembro
    funciona muy bien gracias maya

    Ver perfil de usuario

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