BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Puertas limite de level

Puertas limite de level

#1 Puertas limite de level el Mar Dic 09, 2014 9:05 am

Foro1


Nuevo
Necesito una puerta que sea para level de level 30 hasta level 45 que no puedan pasar levels 50+ solo personas level 30 hasta 45

#2 Re: Puertas limite de level el Jue Dic 11, 2014 7:20 am

Belerofonte


Administrador
Servidor/Data/Actions/... Actions.xml:
<action actionid="11349" event="script" value="puertaLvl.lua"/>
Ahí el ActionID que gustes, que también has de poner con el RME en las puertas que vayas a usar para eso.

Servidor/Data/Actions/Scripts/... puertaLvl.xml:
Código:
 local doors = {
    lvl = {min = 30, max = 45}, -- Nivel mínimo, Nivel máximo. Para la accesibilidad.
    -- [Puerta cerrada] = {Puerta abierta (Puerta cerrada+1)},
    [1210] = {1211}, -- Horizontal.
    [1213] = {1214}, -- Vertical.
  }
  local msg = "Only can pass adventurers with level " .. doors.lvl.min .. "-" .. doors.lvl.max -- Mensaje que le aparecerá si el jugador no posee el nivel requerido.

function onUse(cid, item, fromPosition, itemEx, toPosition)
  local c = {
    getLvl = getPlayerLevel(cid),
    playerpos = getPlayerPosition(cid),
    doorpos = {x = fromPosition.x, y = fromPosition.y, z = fromPosition.z, stackpos = 253},
  }
  local dpPos = {
    {c.doorpos.x, c.doorpos.y + 1, NORTH},
    {c.doorpos.x, c.doorpos.y - 1, SOUTH},
    {c.doorpos.x + 1, c.doorpos.y, WEST},
    {c.doorpos.x - 1, c.doorpos.y, EAST},
    {c.doorpos.x + 1, c.doorpos.y - 1, SOUTHWEST},
    {c.doorpos.x - 1, c.doorpos.y - 1, SOUTHEAST},
    {c.doorpos.x + 1, c.doorpos.y + 1, NORTHWEST},
    {c.doorpos.x - 1, c.doorpos.y + 1, NORTHEAST},
  }

    if c.getLvl > doors.lvl.min-1 and c.getLvl < doors.lvl.max+1 then
      for _, Belero in ipairs(dpPos) do
        if c.playerpos.x == Belero[1] and c.playerpos.y == Belero[2] then
          for i = 1, 2 do
            doMoveCreature(cid, Belero[3])
          end
          local b = doors[item.itemid]
            if b then
                doTransformItem(item.uid, b[1])
                local function advanceMove()
                    doRemoveItem(getTileItemById(c.doorpos, b[1]).uid, 1)
                    newDoor = doCreateItem(b[1]-1, 1, c.doorpos)
                    doSetItemActionId(newDoor, item.actionid)
                end
                addEvent(advanceMove, 150)
            end
        end
      end
     else
       doPlayerSendCancel(cid, msg)
       doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
    end
  return true
end

Zona a editar:
 local doors = {
   lvl = {min = 30, max = 45}, -- Nivel mínimo, Nivel máximo. Para la accesibilidad.
   -- [Puerta cerrada] = {Puerta abierta (Puerta cerrada+1)},
   [1210] = {1211}, -- Horizontal.
   [1213] = {1214}, -- Vertical.
 }
 local msg = "Only can pass adventurers with level " .. doors.lvl.min .. "-" .. doors.lvl.max -- Mensaje que le aparecerá si el jugador no posee el nivel requerido.

Más cositas... asegúrate de que las puertas que pongas, tengan un ID correlativo en las puertas abiertas & cerradas, es decir, como por ejemplo puse ahí:
   [1210] = {1211}, -- Horizontal.
   [1213] = {1214}, -- Vertical.

La 1210 es el ID de una puerta normal cerrada posicionada de forma horizontal.
La 1211 es el ID del mismo tipo normal de puerta que la anterior, posicionada de forma horizontal pero abierta.

Y en el RME, pulsa latecla "J" para que se abra un mini buscador, en el cuál escribes el número 1548 para encontrar el objeto más rápido.
Es un objeto que bloquea el paso e invisible, has de ponerlo también en encima de la puerta.

Listo. Si el jugador posee el nivel requerido, podrá abrir la puerta y entrar, cerrándose ésta automáticamente.



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

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.

 

¿Quién está en línea?

En total hay 0 usuarios en línea: 0 Registrados, 0 Ocultos y 0 Invitado

Usuarios navegando en este foro: Ninguno

Forum Statistics

Nuestros miembros han públicado un total de posts en temas.
Actualmente hay miembros registrados.
Démosle la bienvenida al miembro más reciente,
La mayor cantidad de usuarios en línea ha sido de .