From 6d21f39c45f09b1f56aef48cf7d902461ae9f8f6 Mon Sep 17 00:00:00 2001 From: stuyk Date: Thu, 6 Apr 2023 08:58:30 -0600 Subject: [PATCH] Fix override bug --- package.json | 1 - .../plugins/core-inventory/server/src/view.ts | 5 ++- src/core/server/events/playerConnect.ts | 9 ------ src/core/server/systems/dev.ts | 32 ------------------- src/core/server/systems/loginFlow.ts | 15 +++++++++ 5 files changed, 19 insertions(+), 43 deletions(-) delete mode 100644 src/core/server/systems/dev.ts diff --git a/package.json b/package.json index e911686359..12a75f473a 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,6 @@ "typedoc": "^0.23.25", "typedoc-plugin-external-resolver": "^1.0.1", "typedoc-plugin-markdown": "^3.14.0", - "typedoc-plugin-merge-modules": "^4.0.1", "typedoc-plugin-missing-exports": "^1.0.0", "typescript": "4.6.3", "vite": "^4.2.0", diff --git a/src/core/plugins/core-inventory/server/src/view.ts b/src/core/plugins/core-inventory/server/src/view.ts index ee4880a3b8..dd5aef2f56 100644 --- a/src/core/plugins/core-inventory/server/src/view.ts +++ b/src/core/plugins/core-inventory/server/src/view.ts @@ -325,6 +325,7 @@ const Internal = { itemsToCheck = complexSwap.from; if ((Athena.systems.inventory.weight.isWeightExceeded([complexSwap.to]), config.weight.player)) { + // console.log('weight exceeded at 1'); InventoryView.storage.resync(player); return; } @@ -332,7 +333,8 @@ const Internal = { if (info.endType === 'custom' && config.weight.enabled) { itemsToCheck = complexSwap.to; - if ((Athena.systems.inventory.weight.isWeightExceeded([complexSwap.from]), config.weight.player)) { + if ((Athena.systems.inventory.weight.isWeightExceeded([complexSwap.from]), maxWeight)) { + // console.log('weight exceeded at 2'); InventoryView.storage.resync(player); return; } @@ -340,6 +342,7 @@ const Internal = { const isWeightExceeded = Athena.systems.inventory.weight.isWeightExceeded([itemsToCheck], maxWeight); if (isWeightExceeded) { + // console.log('weight exceeded at 3'); InventoryView.storage.resync(player); return; } diff --git a/src/core/server/events/playerConnect.ts b/src/core/server/events/playerConnect.ts index 81da8d5ceb..d07f7dd74d 100644 --- a/src/core/server/events/playerConnect.ts +++ b/src/core/server/events/playerConnect.ts @@ -2,7 +2,6 @@ import { DEFAULT_CONFIG } from '@AthenaServer/athena/main'; import * as alt from 'alt-server'; import { SYSTEM_EVENTS } from '../../shared/enums/system'; import * as Athena from '../api'; -import { DevModeOverride } from '../systems/dev'; import ConfigUtil from '../utility/config'; /** @@ -35,14 +34,6 @@ async function handlePlayerConnect(player: alt.Player): Promise { player.visible = false; Athena.player.safe.setPosition(player, pos.x, pos.y, pos.z); - - // ! - Allows Dev Mode to Use First Account or Accounts - if (typeof config !== 'undefined' && config.USE_DEV_MODE) { - alt.log(`~lc~Developer Mode: ~lg~Only one account will be used while using 'dev'`); - DevModeOverride.login(player); - return; - } - Athena.systems.loginFlow.next(player); } diff --git a/src/core/server/systems/dev.ts b/src/core/server/systems/dev.ts deleted file mode 100644 index 37aabee84d..0000000000 --- a/src/core/server/systems/dev.ts +++ /dev/null @@ -1,32 +0,0 @@ -import * as alt from 'alt-server'; -import * as Athena from '@AthenaServer/api'; - -let callback: (player: alt.Player) => Promise; - -export class DevModeOverride { - static setDevAccountCallback(cb: (player: alt.Player) => Promise) { - callback = cb; - } - - /** - * Overrides the default login and uses a single account for all users. - * This acts a way to login to multiple accounts under multiple instances of GTA:V. - * - * Used as a way to setup general player info for dev mode. - * - * @param player - alt.Player - The player that is logging in. - * @returns None - */ - static async login(player: alt.Player) { - if (!callback) { - alt.logError( - `DevModeOverride.setDevAccountCallback was not defined. A login system must have a dev callback.`, - ); - return; - } - - await callback(player); - Athena.systems.loginFlow.register(player); - Athena.systems.loginFlow.next(player); - } -} diff --git a/src/core/server/systems/loginFlow.ts b/src/core/server/systems/loginFlow.ts index 17b5c2bc39..8efd9fde81 100644 --- a/src/core/server/systems/loginFlow.ts +++ b/src/core/server/systems/loginFlow.ts @@ -158,6 +158,21 @@ export function next(player: alt.Player) { playerFlow[player.id].flow[index].callback(player); } +/** + * Go straight to the final section of login flow. Which is a character select. + * + * @export + * @param {alt.Player} player + */ +export function goToEnd(player: alt.Player) { + if (!playerFlow[player.id]) { + register(player); + } + + playerFlow[player.id].index = playerFlow[player.id].flow.length - 1; + playerFlow[player.id].flow[playerFlow[player.id].index].callback(player); +} + alt.on('playerDisconnect', (player: alt.Player) => { delete playerFlow[player.id]; });