diff --git a/pawn/Entities/Players/PlayerSettings.pwn b/pawn/Entities/Players/PlayerSettings.pwn index 727b3b48d..752fb9ff6 100644 --- a/pawn/Entities/Players/PlayerSettings.pwn +++ b/pawn/Entities/Players/PlayerSettings.pwn @@ -96,16 +96,13 @@ class PlayerSettings { // TODO: Add individual settings which should be enabled by default here. this->toggleSetting(AccountUpdatedForSettingsSettingKey, true); - } - /** - * Restores any settings which were altered at giving tempadmin. Each setting will default to - * what they should be for a normal player. It will automatically be invoked when a player - * disconnects from Las Venturas Playground. - */ - @list(OnPlayerDisconnect) - public restoreOnDisconnect() { - if (LegacyIsUserTempAdmin(playerId)) + new const bool: isNoRegularButRegistered = Player(playerId)->isRegular() == false && + Player(playerId)->isRegistered() == true; + if(Player(playerId)->isVip() == false && isNoRegularButRegistered == false) + this->setTeleportationDisabled(false); + + if(Player(playerId)->isAdministrator() == false) this->toggleSetting(MapTeleportationEnabledSettingKey, false); } diff --git a/pawn/Features/Gameplay/Teleportation/TeleportationCommands.pwn b/pawn/Features/Gameplay/Teleportation/TeleportationCommands.pwn index b32ff3edb..8bb18d6a4 100644 --- a/pawn/Features/Gameplay/Teleportation/TeleportationCommands.pwn +++ b/pawn/Features/Gameplay/Teleportation/TeleportationCommands.pwn @@ -136,13 +136,14 @@ class TeleportationCommands { */ @switch(PlayerCommand, "teleport") public onPlayerTeleportCommand(playerId, subjectId, params[]) { - if (playerId == subjectId && Player(playerId)->isVip() == false && Player(playerId)->isAdministrator() == false) { - SendClientMessage(playerId, Color::Error, "This is a VIP only command. For more information, check out \"/donate\"!"); - return 1; - } - - if (playerId != subjectId && Player(subjectId)->isVip() == false) { - SendClientMessage(playerId, Color::Error, "Error: This player has no VIP status."); + new const bool: isNoRegularButRegistered = Player(playerId)->isRegular() == false && + Player(playerId)->isRegistered() == true; + + if (Player(playerId)->isVip() == false && isNoRegularButRegistered == false) { + if(playerId == subjectId) + SendClientMessage(playerId, Color::Error, "This is a VIP only command. For more information, check out \"/donate\"!"); + else + SendClientMessage(playerId, Color::Error, "Error: This player has no VIP status."); return 1; } @@ -174,6 +175,9 @@ class TeleportationCommands { "{33AA33}enabled")); SendClientMessage(playerId, Color::Success, message); + if(playerId == subjectId && Player(playerId)->isVip() == false && isNoRegularButRegistered == true ) + SendClientMessage(playerId, Color::Information, "This is a VIP only command but enabled for new players. check out \"/donate\"!"); + return 1; } diff --git a/pawn/Interface/functions.pwn b/pawn/Interface/functions.pwn index c11bece3a..f5344b974 100644 --- a/pawn/Interface/functions.pwn +++ b/pawn/Interface/functions.pwn @@ -34,10 +34,6 @@ LegacySetValidKillerVariables(forPlayerId, killerId, reasonId) { validReasonId[forPlayerId] = reasonId; } -bool: LegacyIsUserTempAdmin(playerId) { - return tempLevel[playerId] > 0; -} - RemovePlayerFromAnyGame(playerId) { if (Player(playerId)->isConnected() == false) return 0;