Fix for localPlayer null on spawn
This commit is contained in:
@@ -19,6 +19,8 @@ addNetworkHandler("ag.connectCamera", function(cameraPosition, cameraLookat) {
|
|||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
addEventHandler("onPickupCollected", function(event, pickup, ped) {
|
addEventHandler("onPickupCollected", function(event, pickup, ped) {
|
||||||
|
console.log(`PICKUP COLLECTED: Ped ${ped.id}, ${pickup.id}`);
|
||||||
|
|
||||||
// This won't be needed in next GTAC update. onPickupCollccted has been added server side
|
// This won't be needed in next GTAC update. onPickupCollccted has been added server side
|
||||||
if(ped == localPlayer) {
|
if(ped == localPlayer) {
|
||||||
triggerNetworkEvent("ag.onPickupCollected", pickup);
|
triggerNetworkEvent("ag.onPickupCollected", pickup);
|
||||||
@@ -128,7 +130,7 @@ function getIslandFromPosition(position) {
|
|||||||
|
|
||||||
addEventHandler("onPedSpawn", function(event, ped) {
|
addEventHandler("onPedSpawn", function(event, ped) {
|
||||||
// Nasty workaround since localPlayer is null as the player spawns (reported as client bug #194)
|
// Nasty workaround since localPlayer is null as the player spawns (reported as client bug #194)
|
||||||
setTimeout(attemptToShowBlipsOnSpawn, 500, ped);
|
setTimeout(initLocalPlayer, 500, ped);
|
||||||
});
|
});
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
@@ -151,4 +153,29 @@ addNetworkHandler("ag.removeFromVehicle", function() {
|
|||||||
localPlayer.removeFromVehicle();
|
localPlayer.removeFromVehicle();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function initLocalPlayer(player) {
|
||||||
|
attemptToShowBlipsOnSpawn(player)
|
||||||
|
bindEventHandler("onEntityProcess", localPlayer, processLocalPlayerEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function processLocalPlayerEntity(event, player) {
|
||||||
|
getElementsByType(ELEMENT_MARKER).forEach(function(sphere) {
|
||||||
|
if(player.position.distance(sphere.position) <= sphere.radius) {
|
||||||
|
if(player.getData("ag.inSphere") == null) {
|
||||||
|
player.setData("ag.inSphere", sphere);
|
||||||
|
triggerNetworkEvent("ag.onPlayerEnterSphere", sphere);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(player.getData("ag.inSphere")) {
|
||||||
|
player.removeData("ag.inSphere", sphere);
|
||||||
|
triggerNetworkEvent("ag.onPlayerExitSphere", sphere);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
Reference in New Issue
Block a user