• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/ru/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Вопрос Как сделать чтобы металлодетектор работал наоборот?

Kirillr

Начинающий специалист
Автор темы
8 Фев 2021
31
4
65
Добрый вечер. Хотел бы узнать как сделать так, чтобы металлодетектор работал наоборот (если у игрока есть оружие, то он может пройти, если нет, то не может). Металлодетектор скачивал отсюда - 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)); // Телепорт на координаты
    }
});
 

Nevedimka

Специалист
6 Янв 2021
156
43
83
пздц, такие простую вещь сделать не можешь, зачем ты вообще лезешь в програмирование если не можешь простое условие поменять?
if (detectedWeapon === undefined) вот та самая проверка, просто поменяй условие
 
  • Angry
Реакции: andrei

X-Clusiv

Модератор
Команда форума
high coder
4 Окт 2020
582
273
161
29
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) {
            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)); // Телепорт на координаты
        }

        
    }
});
 

Saiman

Начинающий специалист
1 Дек 2020
78
10
63
27
пздц, такие простую вещь сделать не можешь, зачем ты вообще лезешь в програмирование если не можешь простое условие поменять?
if (detectedWeapon === undefined) вот та самая проверка, просто поменяй условие
хули ты пиздишь ! нищета! тут форум для новичков ! вспомни себя на ночальном уровне ! ебло тупое! пасть открываешь еще!
 

Nevedimka

Специалист
6 Янв 2021
156
43
83
хули ты пиздишь ! нищета! тут форум для новичков ! вспомни себя на ночальном уровне ! ебло тупое! пасть открываешь еще!
Я на начальном уровне не бегал по форуму и не задавал тупые вопросы как поменять простейшую проверку. Нормальный человек вместо того чтобы спрашивать всякую хуйню, хотя бы ОСНОВЫ БЛЯТЬ ЯЗЫКА ВЫУЧИТ.
 
  • Like
Реакции: myokul и JustAzim

Saiman

Начинающий специалист
1 Дек 2020
78
10
63
27
Я на начальном уровне не бегал по форуму и не задавал тупые вопросы как поменять простейшую проверку. Нормальный человек вместо того чтобы спрашивать всякую хуйню, хотя бы ОСНОВЫ БЛЯТЬ ЯЗЫКА ВЫУЧИТ.
мда, удачи тебе с такой логикой!
 
  • Like
Реакции: andrei

Randomchik

Гуру
high coder
19 Сен 2020
822
318
141
хули ты пиздишь ! нищета! тут форум для новичков ! вспомни себя на ночальном уровне ! ебло тупое! пасть открываешь еще!
Зачем ты оскаешь людей? Он тебе сказал по факту,ты его оскать пошёл,зачем?
 
  • Like
Реакции: Nevedimka и myokul