Добрый вечер. Хотел бы узнать как сделать так, чтобы металлодетектор работал наоборот (если у игрока есть оружие, то он может пройти, если нет, то не может). Металлодетектор скачивал отсюда - https://ragemp.pro/resources/gta-5-skript-metal-detectors-dlja-rage-mp.48/.
Заранее спасибо!
Заранее спасибо!
JavaScript:
const { colshapeSize, soundRange, cooldownMs, allowedWeapons, smallWeaponGroups } = require("./json/config");
const metalDetectors = require("./json/detectors");
const weaponData = require("./json/weaponData");
const allowedWeaponHashes = allowedWeapons.map(weapon => mp.joaat(weapon));
// Load metal detectors
for (const detector of metalDetectors) {
const { x, y, z, heading, dimension = 0, createProp = true } = detector;
const position = new mp.Vector3(x, y, z);
if (createProp) {
mp.objects.new("ch_prop_ch_metal_detector_01a", position, {
rotation: new mp.Vector3(0.0, 0.0, heading),
dimension: dimension
});
}
const colshape = mp.colshapes.newSphere(x, y, z, colshapeSize, dimension);
colshape.isMetalDetector = true;
colshape.metalDetectorPos = position;
colshape.metalDetectorLastTriggered = 0;
}
console.log(`Loaded ${metalDetectors.length} metal detector(s).`);
// RAGEMP Events
mp.events.add("playerEnterColshape", (player, colshape) => {
const now = Date.now();
if (colshape.isMetalDetector && now - colshape.metalDetectorLastTriggered >= cooldownMs) {
const detectedWeapon = Object.keys(player.allWeapons).find(weapon => !allowedWeaponHashes.includes(Number(weapon)));
if (detectedWeapon === undefined) {
return;
}
const isSmallWeapon = weaponData.hasOwnProperty(detectedWeapon) ? smallWeaponGroups.includes(weaponData[detectedWeapon].Group) : false;
colshape.metalDetectorLastTriggered = now;
mp.events.call("playerTriggerMetalDetector", player, colshape.metalDetectorPos, isSmallWeapon, detectedWeapon);
mp.players.callInRange(colshape.metalDetectorPos, soundRange, colshape.dimension, "playMetalDetectorAlarm", [ colshape.metalDetectorPos, isSmallWeapon, detectedWeapon ]);
player.position = new mp.Vector3(parseFloat(1280),parseFloat(6500),parseFloat(20)); // Телепорт на координаты
}
});