Ухожу далеко от чека работы мусорщика. Нажимаю Е и открывается его меню на устройство в мусоровозчика. Хотя я очень далеко от чека

GMike

Trainee
Ухожу далеко от чека работы мусорщика. Нажимаю Е и открывается его меню на устройство в мусоровозчика. Хотя я очень далеко от чека

Как исправить?
Код C# and JS

Вот код файла C# https://drive.google.com/file/d/17Ch0z0hlBCdsM0H34-e4PvVsE2kzzV1m/view?usp=sharing
Вот код файла JS https://drive.google.com/file/d/1pQgfmB0Jkisxje27K33aL4Y-fjRmnnXD/view?usp=sharing
 
Последнее редактирование:

Voldemor

Senior Developer
Скриптер
Ухожу далеко от чека работы мусорщика. Нажимаю Е и открывается его меню на устройство в мусоровозчика. Хотя я очень далеко от чека

Как исправить?
Код C# and JS

Вот код файла C# https://drive.google.com/file/d/17Ch0z0hlBCdsM0H34-e4PvVsE2kzzV1m/view?usp=sharing
Вот код файла JS https://drive.google.com/file/d/1pQgfmB0Jkisxje27K33aL4Y-fjRmnnXD/view?usp=sharing
Сделай доступ открытый
 

Voldemor

Senior Developer
Скриптер
Вроде сделал
Проверь
JavaScript:
let salary = 35// Зарплата в диапазоне
let browser = null
let inShape = false
const localPlayer = mp.players.local;

let workMarker = false // маркер
let workMarkerColshape = false // колшейп
let workBlip = false // иконка на радаре
let locationPoint = false
let workStatus =  0

//Метки
let wayPoints = [
    {x:298.8907, y:-905.385 ,z:28.172968},
    {x:300.85645, y:-1286.9117, z:29.302698},
    {x:272.32495, y:-1523.8776, z:28.171618},
    {x:148.68094, y:-1653.9028, z:28.171667},
    {x:886.62134, y:-181.51874, z:72.48415},
    {x:-358.27274, y:81.758026, z:62.550255},
]

//Координаты педа
let pedLocation = {x: 140.04515, y: -1503.8214, z: 29.141613}

mp.peds.new(mp.game.joaat('s_m_m_ccrew_01'), new mp.Vector3(pedLocation.x, pedLocation.y, pedLocation.z), -104.40395, mp.players.local.dimension)//Ped
mp.labels.new("~orange~Thomas Norris", new mp.Vector3(pedLocation.x, pedLocation.y, pedLocation.z+1.1), {los: true, font: 4, drawDistance: 5,})// Name
mp.labels.new("Нажмите ~b~E", new mp.Vector3(pedLocation.x, pedLocation.y, pedLocation.z+1), {los: true, font: 4, drawDistance: 5,})
mp.blips.new(318, new mp.Vector3(pedLocation.x, pedLocation.y, 0), {name: 'Мусоровоз', scale: 1, color: 25, shortRange: true})// Blip

mp.markers.new(27, new mp.Vector3(pedLocation.x, pedLocation.y, pedLocation.z-1), 1.5)// Маркер устройства на работу
let GarbageWork = mp.colshapes.newCircle(pedLocation.x, pedLocation.y, 1.5, mp.players.local.dimension)// Колшейп устройства на работу
GarbageWork.name = "Garbage"

mp.events.add("playerEnterColshape", (shape) => {if (shape == "Garbage") return inShape = true})// Значения для браузера
mp.events.add("playerExitColshape", (shape) => {
    if (shape == "Garbage"){
        if (browser != null) {
            browser.active = false
            mp.gui.cursor.show(false, false)
            inShape = false
        } else {
            return
        }
    }
})


mp.events.add("menuCancel", () => {
    if (workStatus == 0 && browser != null) {
        browser.destroy()
        browser = null
        mp.gui.cursor.show(false, false)
    } else {
        browser.active = false
        mp.gui.cursor.show(false, false)
    }
})

// E
mp.keys.bind(0x45, true, function () {
    if (inShape == true && browser == null) {
        browser = mp.browsers.new("package://garbageWork/web/index.html")
        mp.gui.cursor.show(true, true)
    } else if (inShape == true && browser.active == false){
        browser.active = true
        mp.gui.cursor.show(true, true)
    }
})

mp.events.add("WORK:START", () => {
    if (browser != null) {
        browser.active = false
        mp.gui.cursor.show(false, false)
    }
    workStatus = 1

    setMarker(getRandomPoint())
    mp.game.graphics.notify('~g~ Садитесь в транспорт и отправлятесь работать');

    mp.events.callRemote('SERVER:WORK:START')
})

mp.events.add("WORK:END",() => {
    mp.game.graphics.notify('~r~Вы закончили работу!')

    if (browser != null) {
        browser.destroy()
        browser = null
        mp.gui.cursor.show(false, false)
    }
    clearMarker()
    workStatus = false
    mp.events.callRemote('SERVER:WORK:END')
})

mp.events.add('playerEnterColshape', (shape) => { // попадание игрока в колшейп
    if(shape == workMarkerColshape){ // проверяем что это наш колшейп
        pickLocation()
    }
})

function pickLocation(){ // игрок наехал на маркер
    if ( !checkPLayerEnterVehicle() ) return false;

    clearMarker();
    freezePlayer();
    playerReachLoadingPoint()
}

function playerReachLoadingPoint() { // игрок доехал до точки загрузки
    mp.game.graphics.notify("~y~Вы прибыли. Ожидайте...")

    setTimeout( () => {
        unfreezePlayer()
        mp.events.callRemote('WORK:GARBAGE:SET:MONEY', salary)
        setMarker(getRandomPoint())
        mp.game.graphics.notify('~g~Отправляйтесь дальше...');
    }, 5000)
}

function freezePlayer(){// Заморозить
    localPlayer.vehicle.freezePosition(true);
}

function unfreezePlayer(){// Разморозить
    localPlayer.vehicle.freezePosition(false);
}

function setMarker(point){ // ставим маркер на точке
    workMarker = mp.markers.new(1, point, 2, { color: [255, 0, 0, 100] })
    workMarkerColshape = mp.colshapes.newSphere(point.x, point.y, point.z, 2)
    workBlip = mp.blips.new(1, point, {color: 44, shorRange: false})
    workBlip.setRoute(true)
    //workBlip.setRouteColour(44)
}

function clearMarker(){ // убираем маркер
    workMarker.destroy()
    workMarkerColshape.destroy()
    workBlip.setRoute(false)
    workBlip.destroy()
}

function checkPLayerEnterVehicle() {// Проверяем, находится ли игрок в машине
    if (!localplayer.vehicle) return false
    return true
}

function getRandomPoint() { // получаем случайную точку из массива pickPoints
    return wayPoints[ Math.floor( Math.random() * wayPoints.length ) ]
}
Попробуй, но я не уверен
 
  • Like
Реакции: Cheh

Lev Angel

Developer
Команда форума
Скриптер
Хех знакомый js код ;) Круто, что кто-то использует для своих разработок!

Быстро глянул, особо нет времени ковыряться. Посмотри на событие playerExitColshape. Там у тебя inShape ставится в false, только если меню открыто или открывалось browser != null. Т. е. если чувак заехал на маркер inShape стало true. Потом не открывая меню уехал, то inShape останется true.
 
Яндекс.Метрика
Верх