• Open Games Community no está afiliado a ningún sitio de terceros o grupo de ventas de servidores privados. Todos los servidores son de código abierto, lo que significa que son accesibles para todos. No obstante podra encontrar contenido adicional para servidores.

Servidor 12x Como poner puerta por vocacion

danigym

Miembro
LV
6
 
Registrado
18 Abr 2022
Mensajes
1
Puntuación de reacción
0
Puntos
23
Awards
3
Ubicación
españa
Hola, Necesito un script para ponerle a una puerta y que solo la abran los de cierta vocacion ejemplo:

Puerta 1 = Sorcerer
Puerta 2 = Druid
Puerta 3 = Paladin
Puerta 4 = Knight

Uso el globalbr tfs 1.3 con cliente 12.72
Gracias.
 

Alex

Miembro del equipo
Webdesigner
LV
52
 
Registrado
1 Sep 2021
Mensajes
1.369
Puntuación de reacción
5.624
Puntos
622
Awards
37
Ubicación
Spain
Sitio web
lepiigortv.com
Hola, Necesito un script para ponerle a una puerta y que solo la abran los de cierta vocacion ejemplo:

Puerta 1 = Sorcerer
Puerta 2 = Druid
Puerta 3 = Paladin
Puerta 4 = Knight

Uso el globalbr tfs 1.3 con cliente 12.72
Gracias.
Hola

Utilizando el TFS ya genera las actions y estan registradas en el sistema.

Para utilizar el sistema de puertas con vocations, si recuerdo bien:
Crear una puerta e indicar en ActionID:

101 - Puertas para Vocaciones con ID 1 ( sorcerers y master )
102 - ....
103 - ...
104 - Puertas para Knights & Elite Knights

Para niveles, pero sin registrar la vocations, empieza a 1001.
1001 = nivel 1.
1100 = nivel 100.

Para unicamente Skulls, no recuerdo los numeros bien pero existe también
Para personas sin skull era 180 en AID.
 

Gamuza

Miembro
LV
1
 
Registrado
5 May 2022
Mensajes
2
Puntuación de reacción
0
Puntos
8
Awards
3
Ubicación
Chile
Hola, creo que este te puede servir;

data/scripts/actions

Código:
local vocationDoors = {
    -- Sorcerer
    [22001] = {
        vocation = VOCATION.ID.SORCERER,
        destination = {x = 1000, y = 1000, z = 7}
    },
    -- Druid
    [22002] = {
        vocation = VOCATION.ID.DRUID,
        destination = {x = 1000, y = 1000, z = 7}
    },
    -- Paladin
    [22003] = {
        vocation = VOCATION.ID.PALADIN,
        destination = {x = 1000, y = 1000, z = 7}
    },
    -- Knight
    [22004] = {
        vocation = VOCATION.ID.KNIGHT,
        destination = {x = 1000, y = 1000, z = 7}
    },
}

local vocationDoor = Action()

function vocationDoor.onUse(player, item, target, position, fromPosition)
    local door = vocationDoors[item.uid]
    --Check Oressa storage before choose vocation
    if player:getStorageValue(Storage.Dawnport.DoorVocation) == door.vocation then
        player:teleportTo(door.destination)
        player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
        player:sendTextMessage(
            MESSAGE_EVENT_ADVANCE,
            "Open the chest and take your gear, young " .. player:getVocation():getName():lower() .. "!"
        )
    elseif player:getStorageValue(Storage.Dawnport.DoorVocation) ~= door.vocation then
        player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "The door seems to be sealed against unwanted intruders.")
    end
    return true
end

for index, value in pairs(vocationDoors) do
    vocationDoor:uid(index)
end

vocationDoor:register()
 
Arriba Abajo