• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Moveevents] Scripts para Escaleras

    Compartir:

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

    1default [Moveevents] Scripts para Escaleras el Vie Nov 06, 2020 10:21 pm

    SoyFabi

    SoyFabi
    Miembro
    Miembro
    Descripcion escribió:Buenas, necesito un scripts de movements como dice el titulo, basicamente quiero que al bajar de una escalera quiero que caiga en otro suelo, como ven en esta imagen:

    [Moveevents] Scripts para Escaleras Screen13

    ¿Para que quiero esto?, bueno basicamente me puse a pasar sprites por sprites, y tengo unos sprites que sirven para escaleras, pero no me esta funcionando como deberia ya que las escaleras estan como en 2d.

    EDIT: PUSE LOS LINK DE LAS IMAGENES PORQUE AL PARECER EL TIBIAFACE TIENE FALLOS PARA CARGAR IMAGENES EN GIF:


    Aqui tengo una imagen de como deberian ser las escaleras al bajar
    (Imagen captada de otro otserv)


    [Moveevents] Scripts para Escaleras Gif_1110
    [Tienes que estar registrado y conectado para ver este vínculo]


    Como lo tengo en mi servidor

    [Moveevents] Scripts para Escaleras Gif_1111
    [Tienes que estar registrado y conectado para ver este vínculo]


    CODIGO PARA BAJAR:
    Código:
    <item id="459" name="stairs">
            <attribute key="floorchange" value="down" />
        </item>







    Necesito este scripts, ya que es la unica solucion que tengo. En resumen necesito un scripts que al bajar
    Imagen Explicativa escribió:Imagen Explicativa: [Moveevents] Scripts para Escaleras Tibiaf10
    Version del Scripts: OTx Old Version(0.3.7)

    2default Re: [Moveevents] Scripts para Escaleras el Sáb Nov 07, 2020 12:37 pm

    lsenturion

    lsenturion
    Miembro
    Miembro
    Debes crear un Movement script:

    Ponle el nombre que quieras al archivo, en mi caso stair13528.lua.

    data/movements/scripts/stair13528.lua

    Código:
    function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition)

        if getPlayerLevel(cid) >= 10 then -- Level necesario para bajar la escalera
            if item.actionid == 13528 then -- ActionId del SQM (Escalera)
                doTeleportThing(cid, {x = 19036, y = 19063, z = 4}) -- Posicion a donde llevara al bajar la escalera
                doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
            else
                doPlayerSendCancel(cid, "You dont have enough level to down the stairs.")
                doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
                doTeleportThing(cid, fromPosition, FALSE)
            end
        end
    return true
    end

    y pega esto en movements.xml:

    Código:
    <movevent type="StepIn" actionid="13528" event="script" value="stair13528.lua"/>

    3default Re: [Moveevents] Scripts para Escaleras el Sáb Nov 07, 2020 1:23 pm

    SoyFabi

    SoyFabi
    Miembro
    Miembro
    En un scripts asi tambien lo estaba pensando hacer XD, pero tendre que hacer como 10 codigos para poner escaleras.

    Ejemplo:
    [Moveevents] Scripts para Escaleras Screen14
    [Moveevents] Scripts para Escaleras Screen15



    En el caso que quiera hacer una quest con muchas escaleras tendre que hacer muchos .lua y actionid.

    No hay una manera de eliminar el:
    Código:
    doTeleportThing(cid, {x = 905, y = 939, z = 7}) -- Posicion a donde llevara al bajar la escalera

    Y que sea siempre que baje caiga en un sqm siempre? no se si me explico...

    Ya que con solo con 1 scripts haga todo el trabajo (actionid).

    4default Re: [Moveevents] Scripts para Escaleras el Dom Nov 08, 2020 2:03 am

    [Adm] SevuOT

    [Adm] SevuOT
    Miembro
    Miembro
    Normalmente con tan solo agregar tus items al XML y agregar la etiqueta <attribute key="floorchange" value="down" /> es suficiente, sin embargo, si no estoy equivocado... tambien debes agregar esta flag en el itemeditor, para que el servidor lo maneje como un tile floorchange

    saludos, espero que te ayude esta respuesta



    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.


    [Moveevents] Scripts para Escaleras TRJEB8aSRYK5IulEU6ilJw

    5default Re: [Moveevents] Scripts para Escaleras el Dom Nov 08, 2020 10:47 am

    SoyFabi

    SoyFabi
    Miembro
    Miembro
    Si eso hice, pero parece que no funciona muy bien que digamos:
    [Moveevents] Scripts para Escaleras Screen16

    [Moveevents] Scripts para Escaleras Gif_1112
    [Tienes que estar registrado y conectado para ver este vínculo]

    6default Re: [Moveevents] Scripts para Escaleras el Dom Nov 08, 2020 11:55 am

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    La forma como camina tu personaje no deja distinguir el errror



    [Moveevents] Scripts para Escaleras YNU5B25
    https://www.tibiaface.com

    7default Re: [Moveevents] Scripts para Escaleras el Dom Nov 08, 2020 1:30 pm

    SoyFabi

    SoyFabi
    Miembro
    Miembro
    aver ahi
    [Moveevents] Scripts para Escaleras Gif_1111

    Como ves al subir cae a la a la izquierda y un piso mas arriba, por esa razon necesito un movements, pero lo busco sin necesidad de colocar un actionid.

    Es parecido a este scripts:
    Código:
    local UP_FLOORS = {1386, 3678, 5543, 8599, 10035, 13010}
    local FIELDS = {1497, 1499, 11095, 11096}
    local DRAW_WELL = 1369

    function onUse(cid, item, fromPosition, itemEx, toPosition)
       if(item.itemid == DRAW_WELL and item.actionid ~= 100) then
          return false
       end

       local check = false
       fromPosition.stackpos = STACKPOS_GROUND
       if(isInArray(UP_FLOORS, item.itemid)) then
          fromPosition.z = fromPosition.z - 1
          fromPosition.y = fromPosition.y + 1
          if(doTileQueryAdd(cid, fromPosition, 38) ~= RETURNVALUE_NOERROR) then
             local field = getTileItemByType(fromPosition, ITEM_TYPE_MAGICFIELD)
             if(field.uid == 0 or not isInArray(FIELDS, field.itemid)) then
                fromPosition.y = fromPosition.y - 2
             else
                check = true
             end
          end
       else
          fromPosition.z = fromPosition.z + 1
       end

       if(not check and doTileQueryAdd(cid, fromPosition, 38) ~= RETURNVALUE_NOERROR) then
          local field = getTileItemByType(fromPosition, ITEM_TYPE_MAGICFIELD)
          if(field.uid == 0 or not isInArray(FIELDS, field.itemid)) then
             return false
          end
       end

       local pos, dir = getCreaturePosition(cid), SOUTH
       if(pos.x < fromPosition.x) then
          dir = EAST
       elseif(pos.x == fromPosition.x) then
          if(pos.y == fromPosition.y) then
             dir = getCreatureLookDirection(cid)
          elseif(pos.y > fromPosition.y) then
             dir = NORTH
          end
       elseif(pos.x > fromPosition.x) then
          dir = WEST
       end

       doTeleportThing(cid, fromPosition, false)
       doCreatureSetLookDirection(cid, dir)
       return true
    end

    Pero ese es solo para las action, no en movements.

    8default Re: [Moveevents] Scripts para Escaleras el Lun Nov 09, 2020 2:26 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    la solucion seria un telporting player pero sin efecto se tendria que copiar la funcion interna de sources la cual realiza el telporting pero quitando el efecto pero que tenga la misma funcion.

    claro que se podria usar sin colocar un actionid en el objeto y que le haga un teleport



    [Moveevents] Scripts para Escaleras YNU5B25
    https://www.tibiaface.com

    9default Re: [Moveevents] Scripts para Escaleras el Lun Nov 09, 2020 7:08 pm

    SoyFabi

    SoyFabi
    Miembro
    Miembro
    Hmm aver, sin necesidad de usar un actionid en las escaleras, siempre me teletransportara arriba pero modificando en las sources?, sin necesidad de tener que usar el doTeleportThing(cid, {x = 19036, y = 19063, z = 4}) -- Posicion.

    Si me pongo a poner 50 escaleras en mi server basicamente tendria que poner un actionid para todas las escaleras, y tendria como 50 archivos de .lua

    Por eso ando buscando un script que al pisar un objeto en este caso la escalera, quiero que siempre me teletransporte arriba, no importa donde este la escalera.

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