JavaScript:
let g_bIslandLoaded = false //Отвечает за состояние острова. true - подгружен.
const islandVec = new mp.Vector3(4840.571, -5174.425, 2.0)
mp.game.invoke("0x9A9D1BA639675CF1", "HeistIsland", g_bIslandLoaded);
mp.game.invoke("0x5E1460624D194A38", g_bIslandLoaded);
setInterval(()=>{
let localPlayerPos = mp.players.local.position
if(mp.chat != undefined && mp.players.local != undefined && mp.players.local.position != undefined){
mp.chat.debug(`${islandVec.subtract(new mp.Vector3(localPlayerPos.x, localPlayerPos.y, localPlayerPos.z))}`)
mp.chat.debug(`${islandVec.subtract(new mp.Vector3(localPlayerPos.x, localPlayerPos.y, localPlayerPos.z)).length()}`)
}
// Если растояние игрока от позиции отстрова меньше 1000 метров. То выгружаем основную карту - подгружаем Cayo Perico. Или на оборот
if(islandVec.subtract(new mp.Vector3(localPlayerPos.x, localPlayerPos.y, localPlayerPos.z)).length() < 1000){
if(!g_bIslandLoaded){
g_bIslandLoaded = true
mp.game.invoke("0x9A9D1BA639675CF1", "HeistIsland", g_bIslandLoaded);
mp.game.invoke("0x5E1460624D194A38", g_bIslandLoaded);
}
}else{
if(g_bIslandLoaded){
g_bIslandLoaded = false
mp.game.invoke("0x9A9D1BA639675CF1", "HeistIsland", g_bIslandLoaded);
mp.game.invoke("0x5E1460624D194A38", g_bIslandLoaded);
}
}
},1000)