Полицейский радар

  • Автор темы Автор темы Lev Angel
  • Дата начала Дата начала

Lev Angel

Developer
Команда форума
Скриптер
Прикольный скрипт. Подойдет для РП сервера Rage MP.
По идее такое будет не сложно сделать, а отигрывание копов будет интереснее :cool:
 
  • Love
Реакции: Jane
Такая фишка точно зайдет) я бы ее себе на серв заказал бы, если кто решит сделать))
 
Может как-нибудь и сделаем. Правда нужен будет напарник для тестирования 👷‍♂️
 
Не правильно почитал ответ :) Понял что проблем с людьми для теста не будет
 
Не заморачиваясь....

JavaScript:
КЛИЕНТЙ!

mp.events.add("checkSpeed", (speedResult) => {
    let vehicle = mp.players.local.vehicle;
    let speed = vehicle.getSpeed();
   
    speed = speed * 3.6;
    speed = Math.round(speed);
    speedResult = speed.toString()
    mp.events.callRemote("blitzerCheck", speedResult);
});

JavaScript:
СЕРВЕР!

function loadBlitzerColshapes(){
    blitzer1 = mp.colshapes.newCircle(2.3826, 21.7760, 3);
    blitzer1.setVariable("colshape", blitzer1)
}

function loadBlitzerMarkers(){
    let blitzerMarker1 = mp.markers.new(1, new mp.Vector3(2.3826, 21.7760, 68.9555), 5,
        {
            color: [255,0,0,255],
            visible: true,
        });
}

loadBlitzerColshapes();
loadBlitzerMarkers();

mp.events.add("playerEnterColshape", (player, shape) => {
    if(shape == blitzer1) {
        if(player.vehicle){
            player.call("checkSpeed");
        } else {
            player.outputChatBox("Вы не в машине");
        }
    }
});

/*
mp.events.addCommand("pos", (player) => {
    player.outputChatBox(player.position.toString());
});
*/
mp.events.addCommand("veh", (player) => {
    mp.vehicles.new("t20", player.position);
});

mp.events.add("blitzerCheck", (player, fullText) => {
    if(parseInt(fullText) >= 50){
        player.outputChatBox("Вы едите слишком быстро (" + fullText+ ")");
    } else {
        player.outputChatBox("Допустимо");
    }
});

Как простой вариант
 
Спасибо! Ну это без примудростей. Дальше можно развивать.
Наоборот, лучше без примудростей :) Каждый уже под себя доработает кому нужно. А для общего понимания чем проще - тем лучше!
 
Ofigennый скрипт! Обязательно себе возьму. Спасибо, @MayHem , что написал образец! Можно будет сделать штрафы за превышение, как вариант.
 
JavaScript:
mp.events.add('checkSpeed', () => {
    let speed = mp.players.local.getSpeed() * 3.6;
    mp.events.callRemote('blitzerCheck', Math.round(speed).toString());
});
 
А сработает ли просто для игрока getSpeed()? На вики написано вроде как нужно vehicle а не игрок.
1615966440193.png
 
Можно вообще так:
Клиент!
JavaScript:
mp.events.add('checkSpeed', () => {
    mp.events.callRemote('blitzerCheck', Math.round((mp.players.local.vehicle.getSpeed() * 3.6)).toString());
});

Сервер!
JavaScript:
let blitzer1 = mp.colshapes.newCircle(2.3826, 21.7760, 3);

mp.events.add('playerEnterColshape', (player, shape) => {
    if (shape == blitzer1) {
        if (player.vehicle) {
            player.call('checkSpeed');
        }
    }
});

mp.events.add('blitzerCheck', (player, speed) => {
    if (parseInt(speed) >= 50) {
        player.outputChatBox(`Вы двигаетесь слишком быстро! Снизьте скорость! [${speed}]`);
    }
});

Там уже можно изменить под себя
 
можно еще поставить "камеру фиксации нарушений правил дорожного движения" на определенных участках
mp.game.invoke("0xDB89591E290D9182") === 0 движение по встречке
mp.game.invoke("0xD559D2BE9E37853B") === 0 движение по тротуару
 
Назад
Верх