New automatic login stuff

This commit is contained in:
Vortrex
2022-12-17 14:49:27 -06:00
parent 80795122eb
commit 68b6bee79a
3 changed files with 33 additions and 12 deletions

View File

@@ -113,4 +113,6 @@ let mapChangeWarning = false;
let cruiseControlEnabled = false;
let cruiseControlSpeed = 0.0;
let myToken = "";
// ===========================================================================

View File

@@ -70,6 +70,7 @@ function addAllNetworkHandlers() {
addNetworkEventHandler("agrp.veh.repair", repairVehicle);
addNetworkEventHandler("agrp.cruiseControl", toggleLocalVehicleCruiseControl);
addNetworkEventHandler("agrp.passenger", enterVehicleAsPassenger);
addNetworkEventHandler("agrp.vehBuyState", setVehiclePurchaseState);
// Radio
addNetworkEventHandler("agrp.radioStream", playStreamingRadio);
@@ -140,6 +141,7 @@ function addAllNetworkHandlers() {
// Misc
addNetworkEventHandler("agrp.mouseCursor", toggleMouseCursor);
addNetworkEventHandler("agrp.mouseCamera", toggleMouseCamera);
addNetworkEventHandler("agrp.mouseCameraForce", setMouseCameraState);
addNetworkEventHandler("agrp.clearPeds", clearLocalPlayerOwnedPeds);
addNetworkEventHandler("agrp.clearPickups", clearLocalPlayerOwnedPickups);
addNetworkEventHandler("agrp.ambience", setCityAmbienceState);
@@ -149,7 +151,6 @@ function addAllNetworkHandlers() {
addNetworkEventHandler("agrp.enterPropertyKey", setEnterPropertyKey);
addNetworkEventHandler("agrp.skinSelect", toggleSkinSelect);
addNetworkEventHandler("agrp.hotbar", updatePlayerHotBar);
addNetworkEventHandler("agrp.mouseCameraForce", setMouseCameraState);
addNetworkEventHandler("agrp.logLevel", setLogLevel);
addNetworkEventHandler("agrp.hideAllGUI", hideAllGUI);
addNetworkEventHandler("agrp.ping", updatePlayerPing);
@@ -159,10 +160,10 @@ function addAllNetworkHandlers() {
addNetworkEventHandler("agrp.syncElement", forceSyncElementProperties);
addNetworkEventHandler("agrp.elementPosition", setElementPosition);
addNetworkEventHandler("agrp.elementCollisions", setElementCollisionsEnabled);
addNetworkEventHandler("agrp.vehBuyState", setVehiclePurchaseState);
addNetworkEventHandler("agrp.holdObject", makePedHoldObject);
addNetworkEventHandler("agrp.profanityFilter", setProfanityFilterState);
addNetworkEventHandler("agrp.currencyString", receiveCurrencyStringFromServer);
addNetworkEventHandler("agrp.token", serverRequestedToken);
}
// ===========================================================================
@@ -305,16 +306,6 @@ function forceSyncElementProperties(elementId) {
// ===========================================================================
function setElementCollisionsEnabled(elementId, state) {
if (getElementFromId(elementId) == null) {
return false;
}
getElementFromId(elementId).collisionsEnabled = state;
}
// ===========================================================================
function setLocalPlayerArmour(armour) {
if (typeof localPlayer.armour != "undefined") {
localPlayer.armour = armour;
@@ -470,4 +461,11 @@ function receiveClientVariablesFromServer(clientVariablesString) {
serverData.cvars = JSON.parse(clientVariablesString);
}
// ===========================================================================
function serverRequestedToken() {
let token = loadToken();
sendNetworkEventToServer("agrp.token", token);
}
// ===========================================================================

21
scripts/client/token.js Normal file
View File

@@ -0,0 +1,21 @@
// ===========================================================================
// Asshat Gaming Roleplay
// https://github.com/VortrexFTW/agrp_main
// (c) 2022 Asshat Gaming
// ===========================================================================
// FILE: token.js
// DESC: Provides "remember me" auto-login token system and functions
// TYPE: Client (JavaScript)
// ===========================================================================
function saveToken(token) {
saveDataToFile("config/client/token.js", token);
}
// ===========================================================================
function loadToken() {
return loadDataFromFile("config/client/token.js");
}
// ===========================================================================