• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    Script Closingdoor

    Compartir:

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

    1default Script Closingdoor el Sáb Mayo 23, 2020 4:56 pm

    HP98

    HP98
    Nuevo Miembro
    Nuevo Miembro
    Saludos.

    necesito el script de movements "closingdoor.lua" compatible con The OTX Server Version: (2.X.S - 1) - Codename: (Crying Damson).


    Agradeceré infinitamente cualquier ayuda

    Gracias.

    2default Re: Script Closingdoor el Sáb Mayo 23, 2020 4:58 pm

    gettro

    gettro
    Miembro
    Miembro
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Saludos.

    necesito el script de movements "closingdoor.lua" compatible con The OTX Server Version: (2.X.S - 1) - Codename: (Crying Damson).


    Agradeceré infinitamente cualquier ayuda



    aqui tienes si te sirvio dejame un like :v


    Código:
    function onStepOut(cid, item, position, lastPosition)
       if(getTileInfo(position).creatures > 0) then
          return true
       end

       local newPosition = {x = position.x + 1, y = position.y, z = position.z}
       local query = doTileQueryAdd(cid, newPosition)
       if(query == RETURNVALUE_NOTENOUGHROOM) then
          newPosition.x = newPosition.x - 1
          newPosition.y = newPosition.y + 1
          query = doTileQueryAdd(cid, newPosition) -- repeat until found
       end

       if(query == RETURNVALUE_NOERROR and query == RETURNVALUE_NOTENOUGHROOM) then
          doRelocate(position, newPosition)
       end

       position.stackpos = -1
       local i, tileItem, tileCount = 1, {uid = 1}, getTileThingByPos(position)
       while(tileItem.uid ~= 0 and i < tileCount) do
          position.stackpos = i
          tileItem = getTileThingByPos(position)
          if(tileItem.uid ~= 0 and tileItem.uid ~= item.uid and not isMovable(tileItem.uid)) then
             doRemoveItem(tileItem.uid)
          else
             i = i + 1
          end
       end

       local itemInfo = getItemInfo(item.itemid)
       doTransformItem(item.uid, itemInfo.transformUseTo)
       return true
    end

    function onStepOut(cid, item, position, lastPosition)
       local itemInfo = getItemInfo(item.itemid)
       doTransformItem(item.uid, itemInfo.transformUseTo)
       return true
    end

    Gracias.

    https://www.facebook.com/abductionglobal/?modal=admin_todo_tour

    3default Re: Script Closingdoor el Sáb Mayo 23, 2020 5:08 pm

    HP98

    HP98
    Nuevo Miembro
    Nuevo Miembro
    Gracias por tu Script amigo,

    el problema que tengo ahora es que cuando debería cerrarse la puerta, esta se borra xD.

    Sabes a que puede deberse, si es de script o algún otro error?

    Cabe mencionar que no da ningún error en consola, solo desaparece la puerta y ya xd

    4default Re: Script Closingdoor el Sáb Mayo 23, 2020 5:10 pm

    gettro

    gettro
    Miembro
    Miembro
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Gracias por tu Script amigo,

    el problema que tengo ahora es que cuando debería cerrarse la puerta, esta se borra xD.

    Sabes a que puede deberse, si es de script o algún otro error?

    Cabe mencionar que no da ningún error en consola, solo desaparece la puerta y ya xd



    intenta reemplzando tu doors ... por este

    Código:
    local function doorEnter(cid, uid, id, position)
       doTransformItem(uid, id)
       doTeleportThing(cid, position)
       return true
    end

    function onUse(cid, item, fromPosition, itemEx, toPosition)
       if(fromPosition.x ~= CONTAINER_POSITION and isPlayerPzLocked(cid) and getTileInfo(fromPosition).protection) then
          doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
          return true
       end

       local locked = DOORS[item.itemid]
       if(locked) then
          doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.")
          return true
       end

       local door = getItemInfo(item.itemid)
       if(door.levelDoor > 0) then
          if(item.aid == 189) then
             if(not isPremium(cid)) then
                doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Only the worthy may pass.")
                return true
             end

             return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
          end

          local gender = item.aid - 186
          if(isInArray({PLAYERSEX_FEMALE,  PLAYERSEX_MALE}, gender)) then
             if(gender ~= getPlayerSex(cid)) then
                doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Only the worthy may pass.")
                return true
             end

             return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
          end

          local skull = item.aid - 180
          if(skull >= SKULL_NONE and skull <= SKULL_BLACK) then
             if(skull ~= getCreatureSkullType(cid)) then
                doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Only the worthy may pass.")
                return true
             end

             return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
          end

          local group = item.aid - 150
          if(group >= 0 and group < 30) then
             if(group > getPlayerGroupId(cid)) then
                doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Only the worthy may pass.")
                return true
             end

             return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
          end

          local vocation = item.aid - 100
          if(vocation >= 0 and vocation < 50) then
             local vocationEx = getVocationInfo(getPlayerVocation(cid))
             if(vocationEx.id ~= vocation and vocationEx.fromVocation ~= vocation) then
                doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Only the worthy may pass.")
                return true
             end

             return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
          end

          if(item.aid == 190 or (item.aid ~= 0 and getPlayerLevel(cid) >= (item.aid - door.levelDoor))) then
             return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
          end

          doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Only the worthy may pass.")
          return true
       end

       if(door.specialDoor) then
          if(item.aid == 100 or (item.aid ~= 0 and getCreatureStorage(cid, item.aid) > 0)) then
             return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
          end

          doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "The door seems to be sealed against unwanted intruders.")
          return true
       end

       toPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
       local fields, thing = getTileItemsByType(fromPosition, ITEM_TYPE_MAGICFIELD), getThingFromPosition(toPosition)
       if(item.uid ~= thing.uid and thing.itemid >= 100 and table.maxn(fields) ~= 0) then
          return true
       end

       local doorCreature = getThingFromPosition(toPosition)
       if(doorCreature.itemid ~= 0) then
          toPosition.x = toPosition.x + 1
          local query = doTileQueryAdd(doorCreature.uid, toPosition, 20) -- allow to stack outside doors, but not on teleports or floor changing tiles
          if(query == RETURNVALUE_NOTPOSSIBLE) then
             toPosition.x = toPosition.x - 1
             toPosition.y = toPosition.y + 1
             query = doTileQueryAdd(doorCreature.uid, toPosition, 20) -- repeat until found
          end

          if(query ~= RETURNVALUE_NOERROR) then
             doPlayerSendDefaultCancel(cid, query)
             return true
          end

          doTeleportThing(doorCreature.uid, toPosition)
          if(not door.closingDoor) then
             doTransformItem(item.uid, door.transformUseTo)
          end

          return true
       end

       return false
    end

    https://www.facebook.com/abductionglobal/?modal=admin_todo_tour

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