This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

/del

Статус
В этой теме нельзя размещать новые ответы.

rtrjke

Новый участник
4 Май 2026
2
0
3
Создаю локального педа на клиента и заставляю его патрулировать по координатам, можно ли узнать его позицию обновленную или же дистанцию относительно нужного мне игрока? Если да - буду благодарен за ответ!

Код:
Код:
function spawnLocalPed(zombieId, modelName, x, y, z, heading, isOwner) {
    const modelHash = mp.game.joaat(modelName);
    let attempts = 0;
    try { mp.game.streaming.requestModel(modelHash); } catch (e) {}

    const poll = setInterval(() => {
        attempts++;
        let loaded = false;
        try { loaded = mp.game.streaming.hasModelLoaded(modelHash); } catch (e) { loaded = attempts > 20; }
        if (!loaded && attempts <= 25) return;

        clearInterval(poll);
        try {
            const handle = mp.game.ped.createPed(4, modelHash, x, y, z, heading, false, false);
            if (!handle || handle === 0) { dbg(`Z${zombieId} createPed=0`); return; }
            try { mp.game.entity.setEntityAsMissionEntity(handle, true, false); } catch (e) {}
            try { mp.game.ped.setBlockingOfNonTemporaryEvents(handle, true); } catch (e) {}
            try { mp.game.ped.setPedCanRagdoll(handle, false); } catch (e) {}
            makePedProtected(handle);
            applyDrunkClipset(handle);
            zombieSpawnPos.set(zombieId, { x, y, z });
            zombieEstPos.set(zombieId, { x, y, z });
            zombieRegistry.set(zombieId, handle);
            dbg(`Z${zombieId} ped created${isOwner ? ' (owner)' : ''}`);
            if (isOwner) {
                ownedZombies.set(zombieId, handle);
                initOwnedHandle(handle, zombieId);
            }
        } catch (e) { dbg(`Z${zombieId} createPed err: ${e.message}`); }
    }, 200);
}
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,983
293
100
Можно получить позицию локального педа через mp.peds.atHandle(handle).position или mp.players.local.position для игрока, тогда вычислить дистанцию. Например:

Код:
const pedPos = mp.peds.atHandle(handle).position;
const playerPos = mp.players.local.position;
const dist = mp.game.system.vdist(pedPos.x, pedPos.y, pedPos.z, playerPos.x, playerPos.y, playerPos.z);

Так вы сможете получать обновлённые координаты и считать расстояние.
 

rtrjke

Новый участник
4 Май 2026
2
0
3
Этот код предполагает mp.peds.new(), т.е. что пед сделан через RAGEMP API, а не через mp.game.ped.createPed
 
Статус
В этой теме нельзя размещать новые ответы.

Similar threads