• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Talkaction] Comando, TP modalWindow

    Compartir:

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

    1Cảnh báo [Talkaction] Comando, TP modalWindow el Mar Ene 23, 2018 11:46 am

    [Adm] SevuOT

    [Adm] SevuOT
    Miembro
    Miembro
    Para TFS 1.2
    Aqui estan los codigos:

    --> Talkaction
    XML
    Código:
    <talkaction words="!teleport" separator=" " script="teleport_modal.lua" />

    LUA
    Código:
    ---@Tabla de destinos
    --# Las posiciones se configuran en el archivo ( creaturescripts/script )
    local destinos = {
      { name = 'Temple', inpz = true, inlvl = 0, inprmy = false },
      { name = 'Depot', inpz = true, inlvl = 50, inprmy = false },
      { name = 'Skills', inpz = true, inlvl = 100, inprmy = true }
    }

    ---@Variable en segundos
    local delaySayCommand = 20
    local delaySayStorage = 77000

    ---@Talkaction Teleport por ventanas modal
    --#Devuelve boolean
    --#Modal_Window_Teleports
    function onSay(player, words, param)

    local delaySay = player:getStorageValue(delaySayStorage)
    if delaySay > os.time() then
      player:sendCancelMessage('Exaust command.')
      return false
    end

    local modalWindow = ModalWindow(1000, 'Teleport Modal Window System', 'Elige algun destino al que quieras ir.')
    for index, destino in pairs(destinos) do
    local msg = {
       inpz = (destino.inpz and '[yes]' or '[no]'),
       inlvl = destino.inlvl,
       inprmy = (destino.inprmy and '[yes]' or '[no]')
    }
    local msgOut = '[ ' .. destino.name .. ' ]' .. msg.inpz .. ', lvl:[' .. msg.inlvl .. '], ' .. msg.inprmy
    modalWindow:addChoice(index, msgOut)
    end
    modalWindow:addButton(1, 'Go')
    modalWindow:addButton(2, 'Cancel')
    modalWindow:setDefaultEnterButton(1)
    modalWindow:setDefaultEscapeButton(2)
    player:registerEvent('WindowTeleports')
    modalWindow:sendToPlayer(player)

    return false
    end

    --> Creaturescripts
    XML
    Código:
    <event type="modalwindow" name="WindowTeleports" script="windows/window teleport.lua"/>

    LUA
    Código:
       ---@Tabla de destinos
       local destinos = {
         { 'Temple', Position(1000, 1000, 7), inpz = true, inlvl = 0, inprmy = false },
         { 'Depot', Position(1000, 1000, 7), inpz = true, inlvl = 50, inprmy = false },
         { 'Skills', Position(1000, 1000, 7), inpz = true, inlvl = 100, inprmy = true }
       }

       function onModalWindow(player, modalWindowId, buttonId, choiceId)
       if modalWindowId == 1000 then
       if buttonId == 1 then
       local destino = destinos[choiceId]
       if destino ~= nil then
          if destino.inpz and player:isPzLocked() then
             player:sendTextMessage(MESSAGE_STATUS_DEFAULT, 'No esta permitido viajar a este sitio con Pz.')
             player:getPosition():sendMagicEffect(CONST_ME_POFF)
             return true
          end
          if destino.inlvl > player:getLevel() then
             player:sendTextMessage(MESSAGE_STATUS_DEFAULT, 'No esta permitido viajar a este sitio si no eres lvl' .. destino.inlvl .. '.')
             player:getPosition():sendMagicEffect(CONST_ME_POFF)
             return true
          end
          if destino.inprmy and player:getPremiumDays() > 0 then
             player:sendTextMessage(MESSAGE_STATUS_DEFAULT, 'No esta permitido viajar a este sitio si no eres premium.')
             player:getPosition():sendMagicEffect(CONST_ME_POFF)
             return true
          end
          local toPosition = destino[2]
          player:getPosition():sendMagicEffect(CONST_ME_POFF)
          player:teleportTo(toPosition, true)
          toPosition:sendMagicEffect(CONST_ME_TELEPORT)
       end
       end
       end
       return true
       end



    Última edición por The_Pain el Mar Ene 23, 2018 5:24 pm, editado 1 vez (Razón : Actualizado!!!)



    Si necesitas hospedaje para tu servidor usa este enlace y mira los buenos planes de Windows y Linux:
    Si tu cuenta de PayPal no esta verificada no importara, igual aceptan pagos con cuentas no verificadas.


    [Talkaction] Comando, TP modalWindow TRJEB8aSRYK5IulEU6ilJw

    2Cảnh báo Re: [Talkaction] Comando, TP modalWindow el Mar Ene 23, 2018 2:45 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    gran aporte gracias (y)



    [Talkaction] Comando, TP modalWindow YNU5B25
    https://www.tibiaface.com

    3Cảnh báo Re: [Talkaction] Comando, TP modalWindow el Mar Ene 23, 2018 5:25 pm

    [Adm] SevuOT

    [Adm] SevuOT
    Miembro
    Miembro
    ;D
    [Tienes que estar registrado y conectado para ver este vínculo]



    Si necesitas hospedaje para tu servidor usa este enlace y mira los buenos planes de Windows y Linux:
    Si tu cuenta de PayPal no esta verificada no importara, igual aceptan pagos con cuentas no verificadas.


    [Talkaction] Comando, TP modalWindow TRJEB8aSRYK5IulEU6ilJw

    4Cảnh báo Re: [Talkaction] Comando, TP modalWindow el Mar Ene 23, 2018 6:21 pm

    thefrancis

    thefrancis
    Miembro
    Miembro
    Genial bro se podria agregar a un item sin que se gaste ?

    5Cảnh báo Re: [Talkaction] Comando, TP modalWindow el Miér Ene 24, 2018 1:45 am

    [Adm] SevuOT

    [Adm] SevuOT
    Miembro
    Miembro
    en ves de usar un talkaction, puedes usar ese mismo script en un Action!
    solo cambias la funcion principal y ya!
    Código:
    function onSay(player, words, param)
    Código:
    function onUse(player)



    Si necesitas hospedaje para tu servidor usa este enlace y mira los buenos planes de Windows y Linux:
    Si tu cuenta de PayPal no esta verificada no importara, igual aceptan pagos con cuentas no verificadas.


    [Talkaction] Comando, TP modalWindow TRJEB8aSRYK5IulEU6ilJw

    selenia

    selenia
    Nuevo Miembro
    Nuevo Miembro
    Como puedo hacer para que solamente se utilize en zona segura (sin condicion de pz o conditionfight)

    Osea que exclusivamente sea en templos,depots,house, etc.

    no encuentro la configuracion de la condicion.

    Agradezco la ayuda de antemano. Gracias.

    7Cảnh báo Re: [Talkaction] Comando, TP modalWindow el Mar Feb 20, 2018 2:45 pm

    [Adm] SevuOT

    [Adm] SevuOT
    Miembro
    Miembro
    en la linea de cada destino.
    Código:
    { name = 'Temple', inpz = true, inlvl = 0, inprmy = false },
    inpz, inlvl, inprmy



    Si necesitas hospedaje para tu servidor usa este enlace y mira los buenos planes de Windows y Linux:
    Si tu cuenta de PayPal no esta verificada no importara, igual aceptan pagos con cuentas no verificadas.


    [Talkaction] Comando, TP modalWindow TRJEB8aSRYK5IulEU6ilJw

    8Cảnh báo Re: [Talkaction] Comando, TP modalWindow el Mar Feb 20, 2018 2:53 pm

    selenia

    selenia
    Nuevo Miembro
    Nuevo Miembro
    Nonono XD hehe esque no me explique . por ejemlo en esta parte del codigo.

    (en donde dize player ispzlocked)
    Eso hace que solamente cuando esten en pz locked no lo puedan usar.
    Pero me gustaria que en vez de eso fuera la condidion fight (para que no puedan abusar del comando cuando no esten en zona segura) por ejemplo si un player monster los ataca que no puedan teletransportarse a mitad de muerte...etc.
    Estoy intentando reemplazar utilizando esto.
    if(not(getCreatureCondition(cid, CONDITION_INFIGHT))) then
    en
    if destino.inpz and player:isPzLocked() then

    Pero de alguna manera no se si lo estoy haciendo bien o no :/


    if destino ~= nil then
    if destino.inpz and player:isPzLocked() then
    player:sendTextMessage(MESSAGE_STATUS_DEFAULT, 'No esta permitido viajar a este sitio con Pz.')
    player:getPosition():sendMagicEffect(CONST_ME_POFF)
    return true
    end

    9Cảnh báo Re: [Talkaction] Comando, TP modalWindow el Mar Feb 20, 2018 5:03 pm

    [Adm] SevuOT

    [Adm] SevuOT
    Miembro
    Miembro
    Código:
    if destino.inpz and player:getCondition(CONDITION_INFIGHT, CONDITIONID_DEFAULT) then



    Si necesitas hospedaje para tu servidor usa este enlace y mira los buenos planes de Windows y Linux:
    Si tu cuenta de PayPal no esta verificada no importara, igual aceptan pagos con cuentas no verificadas.


    [Talkaction] Comando, TP modalWindow TRJEB8aSRYK5IulEU6ilJw

    10Cảnh báo Re: [Talkaction] Comando, TP modalWindow el Miér Feb 21, 2018 10:18 pm

    selenia

    selenia
    Nuevo Miembro
    Nuevo Miembro
    Lo probe
    Funciona de maravilla!!

    Sin embargo habra alguna forma de que solamente los players que tienen promoted puedan usarlo, osea solo los elite knight-royal-elder-etc?

    Gracias de antemano!Very Happy

    11Cảnh báo Re: [Talkaction] Comando, TP modalWindow el Sáb Nov 09, 2019 3:53 pm

    dazel169

    dazel169
    Miembro
    Miembro
    hola, como puedo hacer que se teletransporte a la puerta de su casa?

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