Mass convert indentation + add ped speech cmd

This commit is contained in:
Vortrex
2022-03-16 17:02:33 -05:00
parent 297ab6f8f8
commit efc72dffe1
68 changed files with 8401 additions and 8312 deletions

View File

@@ -22,7 +22,6 @@ function addAllNetworkHandlers() {
addNetworkEventHandler("vrr.working", setLocalPlayerWorkingState); addNetworkEventHandler("vrr.working", setLocalPlayerWorkingState);
addNetworkEventHandler("vrr.jobType", setLocalPlayerJobType); addNetworkEventHandler("vrr.jobType", setLocalPlayerJobType);
addNetworkEventHandler("vrr.passenger", enterVehicleAsPassenger); addNetworkEventHandler("vrr.passenger", enterVehicleAsPassenger);
addNetworkEventHandler("vrr.freeze", setLocalPlayerFrozenState); addNetworkEventHandler("vrr.freeze", setLocalPlayerFrozenState);
addNetworkEventHandler("vrr.control", setLocalPlayerControlState); addNetworkEventHandler("vrr.control", setLocalPlayerControlState);
addNetworkEventHandler("vrr.fadeCamera", fadeLocalCamera); addNetworkEventHandler("vrr.fadeCamera", fadeLocalCamera);
@@ -60,26 +59,20 @@ function addAllNetworkHandlers() {
addNetworkEventHandler("vrr.money", setLocalPlayerCash); addNetworkEventHandler("vrr.money", setLocalPlayerCash);
addNetworkEventHandler("vrr.armour", setLocalPlayerArmour); addNetworkEventHandler("vrr.armour", setLocalPlayerArmour);
addNetworkEventHandler("vrr.wantedLevel", forceLocalPlayerWantedLevel); addNetworkEventHandler("vrr.wantedLevel", forceLocalPlayerWantedLevel);
addNetworkEventHandler("vrr.delKeyBind", unBindAccountKey); addNetworkEventHandler("vrr.delKeyBind", unBindAccountKey);
addNetworkEventHandler("vrr.addKeyBind", bindAccountKey); addNetworkEventHandler("vrr.addKeyBind", bindAccountKey);
addNetworkEventHandler("vrr.clearKeyBinds", clearKeyBinds); addNetworkEventHandler("vrr.clearKeyBinds", clearKeyBinds);
addNetworkEventHandler("vrr.nametag", updatePlayerNameTag); addNetworkEventHandler("vrr.nametag", updatePlayerNameTag);
addNetworkEventHandler("vrr.ping", updatePlayerPing); addNetworkEventHandler("vrr.ping", updatePlayerPing);
addNetworkEventHandler("vrr.m", receiveChatBoxMessageFromServer); addNetworkEventHandler("vrr.m", receiveChatBoxMessageFromServer);
addNetworkEventHandler("vrr.chatScrollLines", setChatScrollLines); addNetworkEventHandler("vrr.chatScrollLines", setChatScrollLines);
addNetworkEventHandler("vrr.radioStream", playStreamingRadio); addNetworkEventHandler("vrr.radioStream", playStreamingRadio);
addNetworkEventHandler("vrr.audioFileStream", playAudioFile); addNetworkEventHandler("vrr.audioFileStream", playAudioFile);
addNetworkEventHandler("vrr.stopRadioStream", stopStreamingRadio); addNetworkEventHandler("vrr.stopRadioStream", stopStreamingRadio);
addNetworkEventHandler("vrr.radioVolume", setStreamingRadioVolume); addNetworkEventHandler("vrr.radioVolume", setStreamingRadioVolume);
addNetworkEventHandler("vrr.veh.lights", setVehicleLights); addNetworkEventHandler("vrr.veh.lights", setVehicleLights);
addNetworkEventHandler("vrr.veh.engine", setVehicleEngine); addNetworkEventHandler("vrr.veh.engine", setVehicleEngine);
addNetworkEventHandler("vrr.veh.repair", repairVehicle); addNetworkEventHandler("vrr.veh.repair", repairVehicle);
addNetworkEventHandler("vrr.pedAnim", makePedPlayAnimation); addNetworkEventHandler("vrr.pedAnim", makePedPlayAnimation);
addNetworkEventHandler("vrr.pedStopAnim", makePedStopAnimation); addNetworkEventHandler("vrr.pedStopAnim", makePedStopAnimation);
addNetworkEventHandler("vrr.localPlayerSkin", setLocalPlayerSkin); addNetworkEventHandler("vrr.localPlayerSkin", setLocalPlayerSkin);
@@ -88,28 +81,23 @@ function addAllNetworkHandlers() {
addNetworkEventHandler("vrr.clientInfo", serverRequestedClientInfo); addNetworkEventHandler("vrr.clientInfo", serverRequestedClientInfo);
addNetworkEventHandler("vrr.interiorLights", updateInteriorLightsState); addNetworkEventHandler("vrr.interiorLights", updateInteriorLightsState);
addNetworkEventHandler("vrr.cutsceneInterior", setCutsceneInterior); addNetworkEventHandler("vrr.cutsceneInterior", setCutsceneInterior);
addNetworkEventHandler("vrr.syncElement", forceSyncElementProperties); addNetworkEventHandler("vrr.syncElement", forceSyncElementProperties);
addNetworkEventHandler("vrr.elementPosition", setElementPosition); addNetworkEventHandler("vrr.elementPosition", setElementPosition);
addNetworkEventHandler("vrr.elementCollisions", setElementCollisionsEnabled); addNetworkEventHandler("vrr.elementCollisions", setElementCollisionsEnabled);
addNetworkEventHandler("vrr.vehBuyState", setVehiclePurchaseState); addNetworkEventHandler("vrr.vehBuyState", setVehiclePurchaseState);
addNetworkEventHandler("vrr.showRegistration", showRegistrationGUI); addNetworkEventHandler("vrr.showRegistration", showRegistrationGUI);
addNetworkEventHandler("vrr.showNewCharacter", showNewCharacterGUI); addNetworkEventHandler("vrr.showNewCharacter", showNewCharacterGUI);
addNetworkEventHandler("vrr.showLogin", showLoginGUI); addNetworkEventHandler("vrr.showLogin", showLoginGUI);
addNetworkEventHandler("vrr.logLevel", setLogLevel); addNetworkEventHandler("vrr.logLevel", setLogLevel);
addNetworkEventHandler("vrr.infiniteRun", setLocalPlayerInfiniteRun); addNetworkEventHandler("vrr.infiniteRun", setLocalPlayerInfiniteRun);
addNetworkEventHandler("vrr.business", receiveBusinessFromServer); addNetworkEventHandler("vrr.business", receiveBusinessFromServer);
addNetworkEventHandler("vrr.house", receiveHouseFromServer); addNetworkEventHandler("vrr.house", receiveHouseFromServer);
addNetworkEventHandler("vrr.job", receiveJobFromServer);
addNetworkEventHandler("vrr.vehicle", receiveVehicleFromServer);
addNetworkEventHandler("vrr.holdObject", makePedHoldObject); addNetworkEventHandler("vrr.holdObject", makePedHoldObject);
addNetworkEventHandler("vrr.playerPedId", sendLocalPlayerNetworkIdToServer); addNetworkEventHandler("vrr.playerPedId", sendLocalPlayerNetworkIdToServer);
addNetworkEventHandler("vrr.ped", setLocalPlayerPedPartsAndProps); addNetworkEventHandler("vrr.ped", setLocalPlayerPedPartsAndProps);
addNetworkEventHandler("vrr.pedSpeak", makePlayerPedSpeak);
} }
// =========================================================================== // ===========================================================================
@@ -302,12 +290,6 @@ function setLocalPlayerSkin(skinId) {
natives.changePlayerModel(natives.getPlayerId(), skinId); natives.changePlayerModel(natives.getPlayerId(), skinId);
} }
} }
//natives.requestModel(skinId);
//natives.changePlayerModel(natives.getPlayerId(), skinId);
//localPlayer.skin = allowedSkins[skinSelectorIndex][0];
//localPlayer.modelIndex = allowedSkins[skinSelectorIndex][0];
} else { } else {
localPlayer.skin = skinId; localPlayer.skin = skinId;
} }
@@ -343,3 +325,18 @@ function setCutsceneInterior(cutsceneName) {
} }
// =========================================================================== // ===========================================================================
function makePlayerPedSpeak(speechName) {
if(getGame() == VRR_GAME_GTA_IV) {
// if player is in vehicle, allow megaphone (if last arg is "1", it will cancel megaphone echo)
// Only speeches with _MEGAPHONE will have the bullhorn effect
// Afaik it only works on police voices anyway
if(localPlayer.vehicle != null) {
natives.sayAmbientSpeech(localPlayer, speechName, true, false, 0);
} else {
natives.sayAmbientSpeech(localPlayer, speechName, true, false, 1);
}
}
}
// ===========================================================================

View File

@@ -115,10 +115,11 @@ function setUpInitialGame() {
natives.setSyncWeatherAndGameTime(false); natives.setSyncWeatherAndGameTime(false);
natives.usePlayerColourInsteadOfTeamColour(true); natives.usePlayerColourInsteadOfTeamColour(true);
natives.disablePauseMenu(true); natives.disablePauseMenu(true);
natives.allowReactionAnims(localPlayer, true); natives.allowReactionAnims(localPlayer, false);
natives.allowGameToPauseForStreaming(false); natives.allowGameToPauseForStreaming(false);
natives.allowStuntJumpsToTrigger(false); natives.allowStuntJumpsToTrigger(false);
natives.setPickupsFixCars(false); natives.setPickupsFixCars(false);
natives.forceFullVoice(localPlayer);
// HUD and Display // HUD and Display
//natives.displayCash(false); //natives.displayCash(false);

View File

@@ -280,11 +280,13 @@ function enterVehicleAsPassenger() {
localPlayer.enterVehicle(tempVehicle, false); localPlayer.enterVehicle(tempVehicle, false);
} }
} else { } else {
for(let i = 0 ; i <= natives.getMaximumNumberOfPassengers(tempVehicle); i++) { // Disable for now. GTA IV has built-in passenger entry
if(natives.isCarPassengerSeatFree(tempVehicle, i)) {
natives.taskEnterCarAsPassenger(localPlayer, tempVehicle, i, 10000); //for(let i = 0 ; i <= natives.getMaximumNumberOfPassengers(tempVehicle); i++) {
} // if(natives.isCarPassengerSeatFree(tempVehicle, i)) {
} // natives.taskEnterCarAsPassenger(localPlayer, tempVehicle, i, 10000);
// }
//}
} }
} }
} }

View File

@@ -297,4 +297,3 @@ function isIpAddressBanned(ipAddress) {
} }
// =========================================================================== // ===========================================================================

View File

@@ -64,4 +64,4 @@ let deckCards = [
let deckCardBacks = [ let deckCardBacks = [
] ];

View File

@@ -1178,3 +1178,9 @@ function setPlayerInCutsceneInterior(client, cutsceneName) {
} }
// ========================================================================== // ==========================================================================
function makePlayerPedSpeak(client, pedSpeechName) {
sendNetworkEventToPlayer("vrr.pedSpeak", client, pedSpeechName);
}
// ==========================================================================

View File

@@ -20,4 +20,3 @@ function initDatabaseScript() {
} }
// =========================================================================== // ===========================================================================

View File

@@ -213,6 +213,7 @@ function enterExitPropertyCommand(command, params, client) {
} }
setTimeout(function() { setTimeout(function() {
setPlayerInCutsceneInterior(client, closestProperty.exitCutscene);
setPlayerPosition(client, closestProperty.exitPosition); setPlayerPosition(client, closestProperty.exitPosition);
setPlayerHeading(client, closestProperty.exitRotation); setPlayerHeading(client, closestProperty.exitRotation);
setPlayerDimension(client, closestProperty.exitDimension); setPlayerDimension(client, closestProperty.exitDimension);
@@ -221,7 +222,6 @@ function enterExitPropertyCommand(command, params, client) {
if(isFadeCameraSupported()) { if(isFadeCameraSupported()) {
fadeCamera(client, true, 1.0); fadeCamera(client, true, 1.0);
} }
setPlayerInCutsceneInterior(client, closestProperty.exitCutscene);
updateInteriorLightsForPlayer(client, closestProperty.interiorLights); updateInteriorLightsForPlayer(client, closestProperty.interiorLights);
}, 1000); }, 1000);
//setPlayerInCutsceneInterior(client, closestProperty.exitCutscene); //setPlayerInCutsceneInterior(client, closestProperty.exitCutscene);
@@ -251,6 +251,7 @@ function enterExitPropertyCommand(command, params, client) {
disableCityAmbienceForPlayer(client, true); disableCityAmbienceForPlayer(client, true);
setTimeout(function() { setTimeout(function() {
setPlayerInCutsceneInterior(client, closestProperty.entranceCutscene);
setPlayerPosition(client, closestProperty.entrancePosition); setPlayerPosition(client, closestProperty.entrancePosition);
setPlayerHeading(client, closestProperty.entranceRotation); setPlayerHeading(client, closestProperty.entranceRotation);
setPlayerDimension(client, closestProperty.entranceDimension); setPlayerDimension(client, closestProperty.entranceDimension);
@@ -259,7 +260,7 @@ function enterExitPropertyCommand(command, params, client) {
if(isFadeCameraSupported()) { if(isFadeCameraSupported()) {
fadeCamera(client, true, 1.0); fadeCamera(client, true, 1.0);
} }
setPlayerInCutsceneInterior(client, closestProperty.entranceCutscene);
updateInteriorLightsForPlayer(client, true); updateInteriorLightsForPlayer(client, true);
}, 1000); }, 1000);
}, 1100); }, 1100);
@@ -306,7 +307,6 @@ function getPlayerInfoCommand(command, params, client) {
`{MAINCOLOUR}Skin: {ALTCOLOUR}${getSkinNameFromModel(getPlayerCurrentSubAccount(targetClient).skin)}[${getPlayerCurrentSubAccount(targetClient).skin}]`, `{MAINCOLOUR}Skin: {ALTCOLOUR}${getSkinNameFromModel(getPlayerCurrentSubAccount(targetClient).skin)}[${getPlayerCurrentSubAccount(targetClient).skin}]`,
`{MAINCOLOUR}Clan: {ALTCOLOUR}${clan}`, `{MAINCOLOUR}Clan: {ALTCOLOUR}${clan}`,
`{MAINCOLOUR}Job: {ALTCOLOUR}${job}`, `{MAINCOLOUR}Job: {ALTCOLOUR}${job}`,
] ]
let chunkedList = splitArrayIntoChunks(stats, 6); let chunkedList = splitArrayIntoChunks(stats, 6);
@@ -593,3 +593,14 @@ function stuckPlayerCommand(command, params, client) {
} }
// =========================================================================== // ===========================================================================
function playerPedSpeakCommand(command, params, client) {
if(areParamsEmpty(params)) {
messagePlayerSyntax(client, getCommandSyntaxText(command));
return false;
}
makePlayerPedSpeak(client, params);
}
// ===========================================================================

View File

@@ -21,7 +21,7 @@ function attemptToSignalToNearbyTaxi(client) {
let closestTaxi = nearbyTaxis.reduce((i, j) => (i.position.distance(pos) < j.position.distance(pos)) ? i : j); let closestTaxi = nearbyTaxis.reduce((i, j) => (i.position.distance(pos) < j.position.distance(pos)) ? i : j);
if(!closestTaxi.getOccupant(0).isType(ELEMENT_PLAYER)) { if(!closestTaxi.getOccupant(0).isType(ELEMENT_PLAYER)) {
setVehicleCruiseSpeed(closestTaxi, 0.0); setVehicleCruiseSpeed(closestTaxi, 0.0);
setVehicleLockedState(closestTaxi, false); setVehicleLocked(closestTaxi, false);
} }
} }

View File

@@ -2399,12 +2399,24 @@ function isConsole(client) {
// =========================================================================== // ===========================================================================
/**
* Gets the console client (only valid on server)
*
* @return {Boolean} Whether or not the two clients are the same
*
*/
function isSamePlayer(client1, client2) { function isSamePlayer(client1, client2) {
return (client1 == client2); return (client1 == client2);
} }
// =========================================================================== // ===========================================================================
/**
* Gets the console client (only valid on server)
*
* @return {Client} Console client
*
*/
function getConsoleClient() { function getConsoleClient() {
let clients = getClients(); let clients = getClients();
for(let i in clients) { for(let i in clients) {
@@ -2416,24 +2428,51 @@ function getConsoleClient() {
// =========================================================================== // ===========================================================================
/**
* Gets the entire colours table
*
* @return {Object} Colours table
*
*/
function getServerColours() { function getServerColours() {
return serverColours; return serverColours;
} }
// =========================================================================== // ===========================================================================
/**
* Gets an RGB value for a colour type name
*
* @param {String} typeName - Colour type name (red, blue, etc)
* @return {Number} Colour value (same as from toColour)
*
*/
function getColourByType(typeName) { function getColourByType(typeName) {
return getServerColours().byType[typeName]; return getServerColours().byType[typeName];
} }
// =========================================================================== // ===========================================================================
/**
* Gets an RGB value for a colour name
*
* @param {String} colourName - Colour name (error, businessBlue, etc)
* @return {Number} Colour value (same as from toColour)
*
*/
function getColourByName(colourName) { function getColourByName(colourName) {
return getServerColours().byName[colourName]; return getServerColours().byName[colourName];
} }
// =========================================================================== // ===========================================================================
/**
* Gets a hex value for a colour type
*
* @param {String} colourName - Colour name (red, blue, etc)
* @return {String} Hex value as string without brackets (has only the hashtag)
*
*/
function getHexColourByName(colourName) { function getHexColourByName(colourName) {
//let rgbaColour = getServerColours().byName[colourName]; //let rgbaColour = getServerColours().byName[colourName];
//let rgbaArray = rgbaArrayFromToColour(rgbaColour); //let rgbaArray = rgbaArrayFromToColour(rgbaColour);
@@ -2444,7 +2483,14 @@ function getHexColourByName(colourName) {
// =========================================================================== // ===========================================================================
function getHexColourByType(colourName) { /**
* Gets a hex value for a colour type
*
* @param {String} typeName - Colour type name (error, businessBlue, etc)
* @return {String} Hex value as string without brackets (has only the hashtag)
*
*/
function getHexColourByType(typeName) {
//let rgbaColour = getServerColours().byType[colourName]; //let rgbaColour = getServerColours().byType[colourName];
//let rgbaArray = rgbaArrayFromToColour(rgbaColour); //let rgbaArray = rgbaArrayFromToColour(rgbaColour);
//return rgbToHex(rgbaArray[0], rgbaArray[1], rgbaArray[2]); //return rgbToHex(rgbaArray[0], rgbaArray[1], rgbaArray[2]);
@@ -2601,6 +2647,13 @@ function rgbaArrayFromToColour(colour) {
// =========================================================================== // ===========================================================================
/**
* Gets a hex formatting colour by type for use inline in chatbox messages (example: [#FFFFFF]).
*
* @param {Number} colourValue - Colour value (from toColour)
* @return {String} HEX-formatted colour string without brackets (just the hashtag)
*
*/
function hexFromToColour(colour) { function hexFromToColour(colour) {
let rgba = rgbaArrayFromToColour(colour); let rgba = rgbaArrayFromToColour(colour);
return rgbToHex(rgba[0], rgba[1], rgba[2]); return rgbToHex(rgba[0], rgba[1], rgba[2]);
@@ -2608,6 +2661,13 @@ function hexFromToColour(colour) {
// =========================================================================== // ===========================================================================
/**
* Replaces colour types with HEX values in a message string
*
* @param {String} colouredString - String with colours
* @return {String} String with replaced colours for inline chatbox usage
*
*/
function replaceColoursInMessage(messageText) { function replaceColoursInMessage(messageText) {
if(messageText == null) { if(messageText == null) {
return ""; return "";
@@ -2642,6 +2702,13 @@ function replaceColoursInMessage(messageText) {
// =========================================================================== // ===========================================================================
/**
* Removes colour types from a message
*
* @param {String} colouredString - String with colours
* @return {String} String without colours
*
*/
function removeColoursInMessage(messageText) { function removeColoursInMessage(messageText) {
if(messageText == null) { if(messageText == null) {
return ""; return "";
@@ -2676,6 +2743,13 @@ function removeColoursInMessage(messageText) {
// =========================================================================== // ===========================================================================
/**
* Replaces emoji texts with actual emoji
*
* @param {String} colouredString - String with emoji names
* @return {String} String with actual emoji images
*
*/
function replaceEmojiInString(messageString) { function replaceEmojiInString(messageString) {
for(let i in emojiReplaceString) { for(let i in emojiReplaceString) {
while(messageString.indexOf(emojiReplaceString[i][0]) != -1) { while(messageString.indexOf(emojiReplaceString[i][0]) != -1) {