Add cruise control command and net events

This commit is contained in:
Vortrex
2022-07-23 04:16:19 -05:00
parent d04b5549a6
commit 74062a7d36
4 changed files with 77 additions and 4 deletions

View File

@@ -69,6 +69,7 @@ function addAllNetworkHandlers() {
addNetworkEventHandler("agrp.veh.lights", setVehicleLights);
addNetworkEventHandler("agrp.veh.engine", setVehicleEngine);
addNetworkEventHandler("agrp.veh.repair", repairVehicle);
addNetworkEventHandler("agrp.cruiseControl", toggleVehicleCruiseControl);
// Radio
addNetworkEventHandler("agrp.radioStream", playStreamingRadio);

View File

@@ -129,4 +129,40 @@ function setAllVehicleDataIndexes() {
}
}
// ===========================================================================
function toggleVehicleCruiseControl(vehicle) {
if (!vehicle.isSyncer) {
return false;
}
cruiseControl = !cruiseControl;
}
// ===========================================================================
function getVehicleSpeed(vehicle) {
let matrix = vehicle.matrix;
let frontSpeed = true;
let vecMoveSpeed = vehicle.velocity;
let speed;
if (frontSpeed) {
speed = getDotProduct(vecMoveSpeed[0], vecMoveSpeed[1], vecMoveSpeed[2], matrix.getElement(1 * 4 + 0), matrix.getElement(1 * 4 + 1), matrix.getElement(1 * 4 + 2));
} else {
speed = getLength(vecMoveSpeed[0], vecMoveSpeed[1], vecMoveSpeed[2]);
}
if (getGame() == AGRP_GAME_GTA_IV || getGame() == AGRP_GAME_GTA_IV_EFLC) {
speed /= 40.0;
}
speed = speed * 90;
speed = Math.abs(speed);
return speed;
}
// ===========================================================================