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

    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

    Darxker

    avatar
    Nuevo Miembro
    Nuevo Miembro
    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" />

    Ver perfil de usuario http://darxker.tk

    Gabriiii

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

    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.