diff --git a/scripts/server/account.js b/scripts/server/account.js index fb154c56..1ad98d07 100644 --- a/scripts/server/account.js +++ b/scripts/server/account.js @@ -32,7 +32,7 @@ function loginCommand(command, params, client) { // =========================================================================== function toggleAutoLoginByIPCommand(command, params, client) { - let flagValue = getAccountSettingsFlagValue("autoLoginIP"); + let flagValue = getAccountSettingsFlagValue("AutoLoginIP"); if(isAccountAutoIPLoginEnabled(getPlayerData(client).accountData)) { getPlayerData(client).accountData.settings = getPlayerData(client).accountData.settings & ~flagValue; @@ -47,7 +47,7 @@ function toggleAutoLoginByIPCommand(command, params, client) { // =========================================================================== function toggleNoRandomTipsCommand(command, params, client) { - let flagValue = getAccountSettingsFlagValue("noTimedRandomTips"); + let flagValue = getAccountSettingsFlagValue("NoRandomTips"); if(isAccountAutoIPLoginEnabled(getPlayerData(client).accountData)) { getPlayerData(client).accountData.settings = getPlayerData(client).accountData.settings & ~flagValue; @@ -62,7 +62,7 @@ function toggleNoRandomTipsCommand(command, params, client) { // =========================================================================== function toggleNoActionTipsCommand(command, params, client) { - let flagValue = getAccountSettingsFlagValue("noActionTips"); + let flagValue = getAccountSettingsFlagValue("NoActionTips"); if(isAccountAutoIPLoginEnabled(getPlayerData(client).accountData)) { getPlayerData(client).accountData.settings = getPlayerData(client).accountData.settings & ~flagValue; @@ -77,7 +77,7 @@ function toggleNoActionTipsCommand(command, params, client) { // =========================================================================== function toggleAutoSelectLastCharacterCommand(command, params, client) { - let flagValue = getAccountSettingsFlagValue("autoSelectLastCharacter"); + let flagValue = getAccountSettingsFlagValue("AutoSelectLastCharacter"); if(doesPlayerHaveAutoSelectLastCharacterEnabled(client)) { getPlayerData(client).accountData.settings = getPlayerData(client).accountData.settings & ~flagValue; @@ -92,7 +92,7 @@ function toggleAutoSelectLastCharacterCommand(command, params, client) { // =========================================================================== function toggleAccountGUICommand(command, params, client) { - let flagValue = getAccountSettingsFlagValue("noGUI"); + let flagValue = getAccountSettingsFlagValue("NoGUI"); if(!doesPlayerHaveGUIEnabled(client)) { getPlayerData(client).accountData.settings = getPlayerData(client).accountData.settings & ~flagValue; @@ -129,7 +129,7 @@ function toggleAccountGUICommand(command, params, client) { // =========================================================================== function toggleAccountLoginAttemptNotificationsCommand(command, params, client) { - let flagValue = getAccountSettingsFlagValue("authAttemptAlert"); + let flagValue = getAccountSettingsFlagValue("AuthAttemptAlert"); if(!isAccountSettingFlagEnabled(getPlayerData(client).accountData, flagValue)) { getPlayerData(client).accountData.settings = getPlayerData(client).accountData.settings & ~flagValue; @@ -147,7 +147,7 @@ function toggleAccountLoginAttemptNotificationsCommand(command, params, client) // =========================================================================== function toggleAccountServerLogoCommand(command, params, client) { - let flagValue = getAccountSettingsFlagValue("noServerLogo"); + let flagValue = getAccountSettingsFlagValue("NoServerLogo"); if(!doesPlayerHaveLogoEnabled(client)) { getPlayerData(client).accountData.settings = getPlayerData(client).accountData.settings & ~flagValue; @@ -171,7 +171,7 @@ function toggleAccountServerLogoCommand(command, params, client) { // UNFINISHED! // TO-DO: Make GUI, add command to generate code to add to auth app and command to input code returned by auth app function toggleAccountTwoFactorAuthCommand(command, params, client) { - let flagValue = getAccountSettingsFlagValue("twoStepAuth"); + let flagValue = getAccountSettingsFlagValue("TwoStepAuth"); if(getEmailConfig().enabled) { if(getPlayerData(client).accountData.emailAddress != "") { @@ -334,7 +334,7 @@ function verifyAccountEmailCommand(command, params, client) { return false; } - getPlayerData(client).accountData.flags.moderation = addBitFlag(getPlayerData(client).accountData.flags.moderation, getModerationFlagValue("emailVerified")); + getPlayerData(client).accountData.flags.moderation = addBitFlag(getPlayerData(client).accountData.flags.moderation, getModerationFlagValue("EmailVerified")); getPlayerData(client).accountData.emailVerificationCode = ""; messagePlayerSuccess(client, `Your email has been verified!`); @@ -570,7 +570,7 @@ function loginSuccess(client) { updateConnectionLogOnAuth(client, getPlayerData(client).accountData.databaseId); - if(doesPlayerHaveStaffPermission(client, "developer") || doesPlayerHaveStaffPermission(client, "manageServer")) { + if(doesPlayerHaveStaffPermission(client, "Developer") || doesPlayerHaveStaffPermission(client, "ManageServer")) { logToConsole(LOG_WARN, `[VRR.Account] ${getPlayerDisplayForConsole(client)} has needed permissions and is being given administrator access`); client.administrator = true; } @@ -799,7 +799,7 @@ function checkLogin(client, password) { logToConsole(LOG_DEBUG, `[VRR.Account] ${getPlayerDisplayForConsole(client)} is being shown the login message (GUI disabled) with ${getPlayerData(client).loginAttemptsRemaining} login attempts remaining alert.`); } - if(isAccountEmailVerified(getPlayerData(client).accountData) && isAccountSettingFlagEnabled(getPlayerData(client).accountData, getAccountSettingsFlagValue("authAttemptAlert"))) { + if(isAccountEmailVerified(getPlayerData(client).accountData) && isAccountSettingFlagEnabled(getPlayerData(client).accountData, getAccountSettingsFlagValue("AuthAttemptAlert"))) { sendAccountLoginFailedNotification(getPlayerData(client).accountData.emailAddress, client.name, client.ip, getServerGame()); } return false; @@ -815,7 +815,7 @@ function checkLogin(client, password) { logToConsole(LOG_DEBUG, `[VRR.Account] ${getPlayerDisplayForConsole(client)} is being shown the login message (GUI disabled) with ${getPlayerData(client).loginAttemptsRemaining} login attempts remaining alert.`); } - if(isAccountEmailVerified(getPlayerData(client).accountData) && isAccountSettingFlagEnabled(getPlayerData(client).accountData, getAccountSettingsFlagValue("authAttemptAlert"))) { + if(isAccountEmailVerified(getPlayerData(client).accountData) && isAccountSettingFlagEnabled(getPlayerData(client).accountData, getAccountSettingsFlagValue("AuthAttemptAlert"))) { sendAccountLoginFailedNotification(getPlayerData(client).accountData.emailAddress, client.name, client.ip, getServerGame()); } return false; @@ -827,7 +827,7 @@ function checkLogin(client, password) { loginSuccess(client); - if(isAccountEmailVerified(getPlayerData(client).accountData) && isAccountSettingFlagEnabled(getPlayerData(client).accountData, getAccountSettingsFlagValue("authAttemptAlert"))) { + if(isAccountEmailVerified(getPlayerData(client).accountData) && isAccountSettingFlagEnabled(getPlayerData(client).accountData, getAccountSettingsFlagValue("AuthAttemptAlert"))) { sendAccountLoginSuccessNotification(getPlayerData(client).accountData.emailAddress, client.name, client.ip, getServerGame()); } } @@ -1201,7 +1201,7 @@ function loadAccountMessagesFromDatabase(accountDatabaseID) { // =========================================================================== function isAccountAutoIPLoginEnabled(accountData) { - return isAccountSettingFlagEnabled(accountData, getAccountSettingsFlagValue("autoLoginIP")); + return isAccountSettingFlagEnabled(accountData, getAccountSettingsFlagValue("AutoLoginIP")); } // =========================================================================== @@ -1213,19 +1213,19 @@ function doesPlayerHaveAutoIPLoginEnabled(client) { // =========================================================================== function doesPlayerHaveGUIEnabled(client) { - return !isAccountSettingFlagEnabled(getPlayerData(client).accountData, getAccountSettingsFlagValue("noGUI")); + return !isAccountSettingFlagEnabled(getPlayerData(client).accountData, getAccountSettingsFlagValue("NoGUI")); } // =========================================================================== function doesPlayerHaveLogoEnabled(client) { - return !isAccountSettingFlagEnabled(getPlayerData(client).accountData, getAccountSettingsFlagValue("noServerLogo")); + return !isAccountSettingFlagEnabled(getPlayerData(client).accountData, getAccountSettingsFlagValue("NoServerLogo")); } // =========================================================================== function doesPlayerHaveAutoSelectLastCharacterEnabled(client) { - return isAccountSettingFlagEnabled(getPlayerData(client).accountData, getAccountSettingsFlagValue("autoSelectLastCharacter")); + return isAccountSettingFlagEnabled(getPlayerData(client).accountData, getAccountSettingsFlagValue("AutoSelectLastCharacter")); } // =========================================================================== @@ -1237,13 +1237,13 @@ function getPlayerStaffTitle(client) { // =========================================================================== function isAccountEmailVerified(accountData) { - return hasBitFlag(accountData.flags.moderation, getModerationFlagValue("emailVerified")); + return hasBitFlag(accountData.flags.moderation, getModerationFlagValue("EmailVerified")); } // =========================================================================== function isAccountTwoFactorAuthenticationVerified(accountData) { - return hasBitFlag(accountData.flags.moderation, getModerationFlagValue("twoFactorAuthVerified")); + return hasBitFlag(accountData.flags.moderation, getModerationFlagValue("TwoFactorAuthVerified")); } // =========================================================================== @@ -1331,4 +1331,10 @@ function isAccountSettingFlagEnabled(accountData, flagValue) { return hasBitFlag(accountData.settings, flagValue); } -// ===========================================================================t \ No newline at end of file +// =========================================================================== + +function doesPlayerHaveRandomTipsDisabled(client) { + return isAccountSettingFlagEnabled(getPlayerData(client).accountData, getAccountSettingsFlagValue("NoRandomTips")); +} + +// =========================================================================== \ No newline at end of file diff --git a/scripts/server/bitflag.js b/scripts/server/bitflag.js index f3783b86..5e1cdad8 100644 --- a/scripts/server/bitflag.js +++ b/scripts/server/bitflag.js @@ -27,42 +27,42 @@ let serverBitFlags = { let serverBitFlagKeys = { staffFlagKeys: [ - "none", - "basicModeration", - "manageHouses", - "manageVehicles", - "manageBusinesses", - "manageClans", - "manageServer", - "manageAdmins", - "manageJobs", - "manageItems", - "manageWorld", - "manageAntiCheat", - "developer", + "None", + "BasicModeration", + "ManageHouses", + "ManageVehicles", + "ManageBusinesses", + "ManageClans", + "ManageServer", + "ManageAdmins", + "ManageJobs", + "ManageItems", + "ManageWorld", + "ManageAntiCheat", + "Developer", ], moderationFlagKeys: [ - "none", - "muted", - "frozen", - "hackerBox", - "gunBanned", - "jobBanned", - "ammuBanned", - "noSkinCustomization", - "desyncWeapons", - "hackerWorld", - "adminJailed", - "exemptFromAntiCheat", - "exemptFromBans", - "forceTutorial", - "characterNameNeedsStaffApproval", - "emailVerified", - "twoFactorAuthVerified", - "nonRoleplayCharacterName", + "None", + "Muted", + "Frozen", + "HackerBox", + "GunBanned", + "JobBanned", + "AmmuBanned", + "NoSkinCustomization", + "DesyncWeapons", + "HackerWorld", + "AdminJailed", + "ExemptFromAntiCheat", + "ExemptFromBans", + "ForceTutorial", + "CharacterNameNeedsStaffApproval", + "EmailVerified", + "TwoFactorAuthVerified", + "NonRoleplayCharacterName", ], factionFlagKeys: [ - "none", + "None", "police", "medical", "fire", @@ -70,7 +70,7 @@ let serverBitFlagKeys = { "generic", ], clanFlagKeys: [ - "none", + "None", "illegal", "legal", "mafia", @@ -82,41 +82,41 @@ let serverBitFlagKeys = { "hitContracts" ], clanPermissionFlagKeys: [ - "none", - "startTurfWar", - "startPointWar", - "inviteMember", - "suspendMember", - "removeMember", - "memberRank", - "clanTag", - "clanName", - "manageVehicles", - "manageHouses", - "manageBusinesses", - "manageNPCs", - "manageRanks", - "owner", + "None", + "StartTurfWar", + "StartPointWar", + "InviteMember", + "SuspendMember", + "RemoveMember", + "MemberRank", + "ClanTag", + "ClanName", + "ManageVehicles", + "ManageHouses", + "ManageBusinesses", + "ManageNPCs", + "ManageRanks", + "Owner", ], accountSettingsFlagKeys: [ - "none", - "useWhiteList", - "useBlackList", - "twoStepAuth", - "authAttemptAlert", - "noGUI", - "autoLoginIP", - "noServerLogo", - "autoSelectLastCharacter", - "showRealTimeClock", - "useGUIForItems", - "useRadialWheelItems", // If this is disabled, use MMORPG-style hotbar IF useGUIForItems is enabled - "disableKeyBinds", - "noTimedRandomTips", - "noActionTips", + "None", + "UseWhiteList", + "UseBlackList", + "TwoStepAuth", + "AuthAttemptAlert", + "NoGUI", + "AutoLoginIP", + "NoServerLogo", + "AutoSelectLastCharacter", + "ShowRealTimeClock", + "UseGUIForItems", + "UseRadialWheelItems", // If this is disabled, use MMORPG-style hotbar IF UseGUIForItems is enabled + "NoKeyBinds", + "NoRandomTips", + "NoActionTips", ], npcTriggerTypeKeys: [ - "none", + "None", "farProximity", // Comes within a far distance of NPC "mediumProximity", // Comes within a medium distance of NPC "nearProximity", // Comes within a close distance of NPC @@ -142,7 +142,7 @@ let serverBitFlagKeys = { "attackedByFist", // Any element is attacked by fist ], npcTriggerConditionTypeKeys: [ - "none", + "None", "isInLineOfSight", "isFarProximity", "isMediumProximity", @@ -180,7 +180,7 @@ let serverBitFlagKeys = { "isWhispering", ], npcTriggerResponseTypeKeys: [ - "none", + "None", "shout", "talk", "whisper", @@ -209,7 +209,7 @@ let serverBitFlagKeys = { "searchArea", ], seenHelpTipsKeys: [ - "none", + "None", "vehicleEngineOffWhenEntering", "vehicleLockedAfterEntryAttempt", "showItemsAfterPurchase", @@ -272,7 +272,7 @@ function doesPlayerHaveStaffPermission(client, requiredFlags) { return true; } - if(requiredFlags == getStaffFlagValue("none")) { + if(requiredFlags == getStaffFlagValue("None")) { return true; } @@ -282,7 +282,7 @@ function doesPlayerHaveStaffPermission(client, requiredFlags) { } // -1 is automatic override (having -1 for staff flags is basically god mode admin level) - if(staffFlags == getStaffFlagValue("all")) { + if(staffFlags == getStaffFlagValue("All")) { return true; } @@ -300,11 +300,11 @@ function doesPlayerHaveClanPermission(client, requiredFlags) { return true; } - if(requiredFlags == getClanFlagValue("none")) { + if(requiredFlags == getClanFlagValue("None")) { return true; } - if(doesPlayerHaveStaffPermission(client, getStaffFlagValue("manageClans"))) { + if(doesPlayerHaveStaffPermission(client, getStaffFlagValue("ManageClans"))) { return true; } @@ -312,7 +312,7 @@ function doesPlayerHaveClanPermission(client, requiredFlags) { clanFlags = getPlayerCurrentSubAccount(client).clanFlags | getClanRankFlags(getPlayerCurrentSubAccount(client).clanRank); // -1 is automatic override (having -1 for staff flags is basically god mode admin level) - if(clanFlags == getClanFlagValue("all")) { + if(clanFlags == getClanFlagValue("All")) { return true; } @@ -326,7 +326,7 @@ function doesPlayerHaveClanPermission(client, requiredFlags) { // =========================================================================== function getStaffFlagValue(flagName) { - if(flagName == "all") { + if(flagName == "All") { return -1; } @@ -340,7 +340,7 @@ function getStaffFlagValue(flagName) { // =========================================================================== function getClanFlagValue(flagName) { - if(flagName == "all") { + if(flagName == "All") { return -1; } @@ -354,7 +354,7 @@ function getClanFlagValue(flagName) { // =========================================================================== function getAccountSettingsFlagValue(flagName) { - if(flagName == "all") { + if(flagName == "All") { return -1; } @@ -368,7 +368,7 @@ function getAccountSettingsFlagValue(flagName) { // =========================================================================== function getModerationFlagValue(flagName) { - if(flagName == "all") { + if(flagName == "All") { return -1; } @@ -427,7 +427,7 @@ function takePlayerStaffFlag(client, flagName) { // =========================================================================== function clearPlayerStaffFlags(client) { - getPlayerData(client).accountData.flags.admin = getStaffFlagValue("none"); + getPlayerData(client).accountData.flags.admin = getStaffFlagValue("None"); return true; } diff --git a/scripts/server/business.js b/scripts/server/business.js index ede76ab8..908a3fcf 100644 --- a/scripts/server/business.js +++ b/scripts/server/business.js @@ -589,7 +589,7 @@ function setBusinessInteriorTypeCommand(command, params, client) { } if(isNaN(typeParam)) { - if(toLowerCase(typeParam) == "none") { + if(toLowerCase(typeParam) == "None") { getBusinessData(businessId).exitPosition = toVector3(0.0, 0.0, 0.0); getBusinessData(businessId).exitDimension = 0; getBusinessData(businessId).exitInterior = -1; @@ -1856,7 +1856,7 @@ function updateBusinessInteriorLightsForOccupants(businessId) { // =========================================================================== function canPlayerWithdrawFromBusinessTill(client, businessId) { - if(doesPlayerHaveStaffPermission(client, getStaffFlagValue("manageBusinesses"))) { + if(doesPlayerHaveStaffPermission(client, getStaffFlagValue("ManageBusinesses"))) { return true; } @@ -1865,7 +1865,7 @@ function canPlayerWithdrawFromBusinessTill(client, businessId) { } if(getBusinessData(businessId).ownerType == VRR_BIZOWNER_CLAN && getBusinessData(businessId).ownerId == getClanData(getPlayerClan(client)).databaseId) { - if(doesPlayerHaveClanPermission(client, getClanFlagValue("manageBusinesses"))) { + if(doesPlayerHaveClanPermission(client, getClanFlagValue("ManageBusinesses"))) { return true; } } @@ -1876,7 +1876,7 @@ function canPlayerWithdrawFromBusinessTill(client, businessId) { // =========================================================================== function canPlayerSetBusinessInteriorLights(client, businessId) { - if(doesPlayerHaveStaffPermission(client, getStaffFlagValue("manageBusinesses"))) { + if(doesPlayerHaveStaffPermission(client, getStaffFlagValue("ManageBusinesses"))) { return true; } @@ -1885,7 +1885,7 @@ function canPlayerSetBusinessInteriorLights(client, businessId) { } if(getBusinessData(businessId).ownerType == VRR_BIZOWNER_CLAN && getBusinessData(businessId).ownerId == getClanData(getPlayerClan(client)).databaseId) { - if(doesPlayerHaveClanPermission(client, getClanFlagValue("manageBusinesses"))) { + if(doesPlayerHaveClanPermission(client, getClanFlagValue("ManageBusinesses"))) { return true; } } @@ -1896,7 +1896,7 @@ function canPlayerSetBusinessInteriorLights(client, businessId) { // =========================================================================== function canPlayerLockUnlockBusiness(client, businessId) { - if(doesPlayerHaveStaffPermission(client, getStaffFlagValue("manageBusinesses"))) { + if(doesPlayerHaveStaffPermission(client, getStaffFlagValue("ManageBusinesses"))) { return true; } @@ -1905,7 +1905,7 @@ function canPlayerLockUnlockBusiness(client, businessId) { } if(getBusinessData(businessId).ownerType == VRR_BIZOWNER_CLAN && getBusinessData(businessId).ownerId == getClanData(getPlayerClan(client)).databaseId) { - if(doesPlayerHaveClanPermission(client, getClanFlagValue("manageBusinesses"))) { + if(doesPlayerHaveClanPermission(client, getClanFlagValue("ManageBusinesses"))) { return true; } } @@ -1916,7 +1916,7 @@ function canPlayerLockUnlockBusiness(client, businessId) { // =========================================================================== function canPlayerManageBusiness(client, businessId) { - if(doesPlayerHaveStaffPermission(client, getStaffFlagValue("manageBusinesses"))) { + if(doesPlayerHaveStaffPermission(client, getStaffFlagValue("ManageBusinesses"))) { return true; } @@ -1928,7 +1928,7 @@ function canPlayerManageBusiness(client, businessId) { if(getBusinessData(businessId).ownerType == VRR_BIZOWNER_CLAN) { if(getBusinessData(businessId).ownerId == getPlayerClan(client)) { - if(doesPlayerHaveClanPermission(client, getClanFlagValue("manageBusinesses"))) { + if(doesPlayerHaveClanPermission(client, getClanFlagValue("ManageBusinesses"))) { return true; } diff --git a/scripts/server/clan.js b/scripts/server/clan.js index 3835ed5c..f5808fc5 100644 --- a/scripts/server/clan.js +++ b/scripts/server/clan.js @@ -157,7 +157,7 @@ function listClanRanksCommand(command, params, client) { let clanId = getPlayerClan(client); if(!areParamsEmpty(params)) { - if(doesPlayerHaveStaffPermission(client, "manageClans")) { + if(doesPlayerHaveStaffPermission(client, "ManageClans")) { clanId = getClanFromParams(params); } } @@ -244,7 +244,7 @@ function setClanOwnerCommand(command, params, client) { getClanData(clanId).owner = getPlayerCurrentSubAccount(targetClient).databaseId; getPlayerCurrentSubAccount(targetClient).clan = getClanData(clanId).databaseId; - getPlayerCurrentSubAccount(targetClient).clanFlags = getClanFlagValue("all"); + getPlayerCurrentSubAccount(targetClient).clanFlags = getClanFlagValue("All"); messageAdmins(`{ALTCOLOUR}${getPlayerName(client)} {MAINCOLOUR}set clan {clanOrange}${getClanData(clanId).name} {MAINCOLOUR}owner to {ALTCOLOUR}${getCharacterFullName(targetClient)}`); } @@ -252,7 +252,7 @@ function setClanOwnerCommand(command, params, client) { // =========================================================================== function setClanTagCommand(command, params, client) { - if(!doesPlayerHaveClanPermission(client, getClanFlagValue("clanTag"))) { + if(!doesPlayerHaveClanPermission(client, getClanFlagValue("ClanTag"))) { messagePlayerError(client, "You can not change the clan tag!"); return false; } @@ -277,7 +277,7 @@ function setClanTagCommand(command, params, client) { // =========================================================================== function setClanNameCommand(command, params, client) { - if(!doesPlayerHaveClanPermission(client, getClanFlagValue("clanName"))) { + if(!doesPlayerHaveClanPermission(client, getClanFlagValue("ClanName"))) { messagePlayerError(client, "You can not change the clan name!"); return false; } @@ -302,7 +302,7 @@ function setClanNameCommand(command, params, client) { // =========================================================================== function createClanRankCommand(command, params, client) { - if(!doesPlayerHaveClanPermission(client, getClanFlagValue("manageRanks"))) { + if(!doesPlayerHaveClanPermission(client, getClanFlagValue("ManageRanks"))) { messagePlayerError(client, "You can not add new clan ranks!"); return false; } @@ -332,7 +332,7 @@ function createClanRankCommand(command, params, client) { // =========================================================================== function deleteClanRankCommand(command, params, client) { - if(!doesPlayerHaveClanPermission(client, getClanFlagValue("manageRanks"))) { + if(!doesPlayerHaveClanPermission(client, getClanFlagValue("ManageRanks"))) { messagePlayerError(client, "You can not remove clan ranks!"); return false; } @@ -384,25 +384,25 @@ function setClanMemberTagCommand(command, params, client) { } if(!arePlayersInSameClan(client, targetClient)) { - if(!doesPlayerHaveStaffPermission("manageClans")) { + if(!doesPlayerHaveStaffPermission("ManageClans")) { messagePlayerError(client, "That player is not in your clan!"); return false; } } - if(!doesPlayerHaveStaffPermission("manageClans") && !doesPlayerHaveClanPermission("memberFlags")) { + if(!doesPlayerHaveStaffPermission("ManageClans") && !doesPlayerHaveClanPermission("memberFlags")) { messagePlayerError(client, "You cannot set clan member flags!"); return false; } if(getPlayerClanRank(client) <= getPlayerClanRank(targetClient)) { - if(!doesPlayerHaveStaffPermission("manageClans")) { + if(!doesPlayerHaveStaffPermission("ManageClans")) { messagePlayerError(client, "You cannot set that clan member's flags!"); return false; } } - getPlayerCurrentSubAccount(targetClient).clanTag = splitParams[1]; + getPlayerCurrentSubAccount(targetClient).ClanTag = splitParams[1]; messagePlayerSuccess(client, `You set {ALTCOLOUR}${getCharacterFullName(targetClient)}'s {MAINCOLOUR}clan tag to {ALTCOLOUR}${splitParams[1]}`); messagePlayerAlert(client, `{ALTCOLOUR}${getCharacterFullName(targetClient)} {MAINCOLOUR}set your clan tag to {ALTCOLOUR}${splitParams[1]}`); @@ -411,7 +411,7 @@ function setClanMemberTagCommand(command, params, client) { // =========================================================================== function setClanRankTagCommand(command, params, client) { - if(!doesPlayerHaveClanPermission(client, getClanFlagValue("manageRanks"))) { + if(!doesPlayerHaveClanPermission(client, getClanFlagValue("ManageRanks"))) { messagePlayerError(client, "You can't change any clan ranks's tag!"); return false; } @@ -430,7 +430,7 @@ function setClanRankTagCommand(command, params, client) { } if(getClanRankData(clanId, rankId).level > getClanRankData(clanId, getPlayerClanRank(client)).level) { - if(!doesPlayerHaveStaffPermission(client, getStaffFlagValue("manageClans"))) { + if(!doesPlayerHaveStaffPermission(client, getStaffFlagValue("ManageClans"))) { messagePlayerError(client, "You can't change this rank's tag (it's a higher rank than yours)"); return false; } @@ -442,7 +442,7 @@ function setClanRankTagCommand(command, params, client) { // =========================================================================== function setClanRankLevelCommand(command, params, client) { - if(!doesPlayerHaveClanPermission(client, getClanFlagValue("manageRanks"))) { + if(!doesPlayerHaveClanPermission(client, getClanFlagValue("ManageRanks"))) { messagePlayerError(client, "You can't change any clan rank's level!"); return false; } @@ -469,7 +469,7 @@ function setClanRankLevelCommand(command, params, client) { } if(getClanRankData(clanId, rankId).level > getClanRankData(clanId, getPlayerClanRank(client)).level) { - if(!doesPlayerHaveStaffPermission(client, getStaffFlagValue("manageClans"))) { + if(!doesPlayerHaveStaffPermission(client, getStaffFlagValue("ManageClans"))) { messagePlayerError(client, "You can't change this rank's level (it's a higher rank than yours)"); return false; } @@ -517,19 +517,19 @@ function addClanMemberFlagCommand(command, params, client) { } if(!arePlayersInSameClan(client, targetClient)) { - if(!doesPlayerHaveStaffPermission("manageClans")) { + if(!doesPlayerHaveStaffPermission("ManageClans")) { messagePlayerError(client, "That player is not in your clan!"); return false; } } - if(!doesPlayerHaveStaffPermission("manageClans") && !doesPlayerHaveClanPermission("memberFlags")) { + if(!doesPlayerHaveStaffPermission("ManageClans") && !doesPlayerHaveClanPermission("memberFlags")) { messagePlayerError(client, "You cannot set clan member flags!"); return false; } if(getPlayerClanRank(client) <= getPlayerClanRank(targetClient)) { - if(!doesPlayerHaveStaffPermission("manageClans")) { + if(!doesPlayerHaveStaffPermission("ManageClans")) { messagePlayerError(client, "You cannot set that clan member's flags!"); return false; } @@ -569,19 +569,19 @@ function removeClanMemberFlagCommand(command, params, client) { } if(!arePlayersInSameClan(client, targetClient)) { - if(!doesPlayerHaveStaffPermission("manageClans")) { + if(!doesPlayerHaveStaffPermission("ManageClans")) { messagePlayerError(client, "That player is not in your clan!"); return false; } } - if(!doesPlayerHaveStaffPermission("manageClans") && !doesPlayerHaveClanPermission("memberFlags")) { + if(!doesPlayerHaveStaffPermission("ManageClans") && !doesPlayerHaveClanPermission("memberFlags")) { messagePlayerError(client, "You cannot set clan member flags!"); return false; } if(getPlayerClanRank(client) <= getPlayerClanRank(targetClient)) { - if(!doesPlayerHaveStaffPermission("manageClans")) { + if(!doesPlayerHaveStaffPermission("ManageClans")) { messagePlayerError(client, "You cannot set that clan member's flags!"); return false; } @@ -595,7 +595,7 @@ function removeClanMemberFlagCommand(command, params, client) { // =========================================================================== function addClanRankFlagCommand(command, params, client) { - if(!doesPlayerHaveClanPermission(client, getClanFlagValue("manageRanks"))) { + if(!doesPlayerHaveClanPermission(client, getClanFlagValue("ManageRanks"))) { messagePlayerError(client, "You can not change a clan rank's permissions!"); return false; } @@ -634,7 +634,7 @@ function addClanRankFlagCommand(command, params, client) { // =========================================================================== function removeClanRankFlagCommand(command, params, client) { - if(!doesPlayerHaveClanPermission(client, getClanFlagValue("manageRanks"))) { + if(!doesPlayerHaveClanPermission(client, getClanFlagValue("ManageRanks"))) { messagePlayerError(client, "You can not change a clan rank's permissions!"); return false; } @@ -672,6 +672,54 @@ function removeClanRankFlagCommand(command, params, client) { // =========================================================================== +function showClanRankFlagsCommand(command, params, client) { + if(!doesPlayerHaveClanPermission(client, getClanFlagValue("ManageRanks"))) { + messagePlayerError(client, "You can not change a clan rank's permissions!"); + return false; + } + + if(areParamsEmpty(params)) { + messagePlayerSyntax(client, getCommandSyntaxText(command)); + return false; + } + + let clanId = getPlayerClan(client); + + if(!getClanData(clanId)) { + messagePlayerError(client, "Clan not found!"); + return false; + } + + let splitParams = params.split(" "); + let rankId = getClanRankFromParams(clanId, splitParams[0]); + + if(!getClanRankData(clanId, rankId)) { + messagePlayerError(client, "Clan rank not found!"); + return false; + } + + let currentFlags = getClanRankData(clanId, rankId).flags; + let clanFlagKeys = getServerBitFlagKeys().clanPermissionFlagKeys.filter((flagKey) => flagKey != "None"); + let flagList = []; + for(let i in clanFlagKeys) { + if(hasBitFlag(currentFlags, getClanFlagValue(clanFlagKeys[i]))) { + flagList.push(`{softGreen}${clanFlagKeys[i]}`); + } else { + flagList.push(`{softRed}${clanFlagKeys[i]}`); + } + } + + let chunkedList = splitArrayIntoChunks(flagList, 6); + + messagePlayerInfo(client, `{clanOrange}== {jobYellow}Clan Rank Flags {clanOrange}=========================`); + + for(let i in chunkedList) { + messagePlayerInfo(client, chunkedList[i].join("{MAINCOLOUR}, ")); + } +} + +// =========================================================================== + function setClanMemberTitleCommand(command, params, client) { if(!doesPlayerHaveClanPermission(client, getClanFlagValue("manageMembers"))) { messagePlayerError(client, "You can not change a clan member's title!"); @@ -699,14 +747,14 @@ function setClanMemberTitleCommand(command, params, client) { } if(!arePlayersInSameClan(client, targetClient)) { - if(!doesPlayerHaveStaffPermission(client, "manageClans")) { + if(!doesPlayerHaveStaffPermission(client, "ManageClans")) { messagePlayerError(client, "That player is not in your clan!"); return false; } } if(getPlayerClanRank(client) <= getPlayerClanRank(targetClient)) { - if(!doesPlayerHaveStaffPermission(client, "manageClans")) { + if(!doesPlayerHaveStaffPermission(client, "ManageClans")) { messagePlayerError(client, "You cannot set that clan member's custom title!"); return false; } @@ -753,7 +801,7 @@ function setClanRankTitleCommand(command, params, client) { // =========================================================================== function setClanMemberRankCommand(command, params, client) { - if(!doesPlayerHaveClanPermission(client, getClanFlagValue("memberRank"))) { + if(!doesPlayerHaveClanPermission(client, getClanFlagValue("MemberRank"))) { messagePlayerError(client, "You can not change a clan member's rank!"); return false; } @@ -785,21 +833,21 @@ function setClanMemberRankCommand(command, params, client) { } if(!arePlayersInSameClan(client, targetClient)) { - if(!doesPlayerHaveStaffPermission(client, "manageClans")) { + if(!doesPlayerHaveStaffPermission(client, "ManageClans")) { messagePlayerError(client, "That player is not in your clan!"); return false; } } if(getPlayerClanRank(client) <= getPlayerClanRank(targetClient)) { - if(!doesPlayerHaveStaffPermission(client, "manageClans")) { + if(!doesPlayerHaveStaffPermission(client, "ManageClans")) { messagePlayerError(client, "You cannot set that clan member's rank!"); return false; } } if(getPlayerClanRank(client) <= getPlayerClanRank(targetClient)) { - if(!doesPlayerHaveStaffPermission(client, "manageClans")) { + if(!doesPlayerHaveStaffPermission(client, "ManageClans")) { messagePlayerError(client, "You can't set a member's rank that high!"); return false; } diff --git a/scripts/server/colour.js b/scripts/server/colour.js index b04dcadc..630b66c9 100644 --- a/scripts/server/colour.js +++ b/scripts/server/colour.js @@ -337,16 +337,28 @@ function removeColoursInMessage(messageText) { return ""; } + let tempFind = `{RESETCOLOUR}`; + let tempRegex = new RegExp(tempFind, 'g'); + messageText = messageText.replace(tempRegex, ""); + + tempFind = `{ALTCOLOUR}`; + tempRegex = new RegExp(tempFind, 'g'); + messageText = messageText.replace(tempRegex, ""); + + tempFind = `{MAINCOLOUR}`; + tempRegex = new RegExp(tempFind, 'g'); + messageText = messageText.replace(tempRegex, ""); + for(let i in getServerColours().hex.byName) { let find = `{${i}}`; let re = new RegExp(find, 'g'); - messageText = messageText.replace(re, ``); + messageText = messageText.replace(re, ""); } for(let i in getServerColours().hex.byType) { let find = `{${i}}`; let re = new RegExp(find, 'g'); - messageText = messageText.replace(re, ``); + messageText = messageText.replace(re, ""); } return messageText; diff --git a/scripts/server/command.js b/scripts/server/command.js index 2671c650..6d40d1cc 100644 --- a/scripts/server/command.js +++ b/scripts/server/command.js @@ -38,423 +38,424 @@ function initCommandScript() { function loadCommands() { let tempCommands = { accent: [ - commandData("accent", setAccentCommand, "", getStaffFlagValue("none"), false, false, "Sets your character's accent"), - commandData("accents", listAccentsCommand, "", getStaffFlagValue("none"), false, false, "Shows a list of all available accents"), - commandData("accentlist", listAccentsCommand, "", getStaffFlagValue("none"), false, false, "Shows a list of all available accents"), + commandData("accent", setAccentCommand, "", getStaffFlagValue("None"), false, false, "Sets your character's accent"), + commandData("accents", listAccentsCommand, "", getStaffFlagValue("None"), false, false, "Shows a list of all available accents"), + commandData("accentlist", listAccentsCommand, "", getStaffFlagValue("None"), false, false, "Shows a list of all available accents"), ], account: [ - commandData("login", loginCommand, "", getStaffFlagValue("none"), false, false, "Login to an account"), - commandData("register", registerCommand, "", getStaffFlagValue("none"), false, false, "Creates an account"), - commandData("changepass", changeAccountPasswordCommand, " ", getStaffFlagValue("none"), true, false, "Change an account password"), - commandData("iplogin", toggleAutoLoginByIPCommand, "", getStaffFlagValue("none"), true, false, "Toggle whether to automatically login if you join with the same IP as your last join"), - commandData("autolastchar", toggleAutoSelectLastCharacterCommand, "", getStaffFlagValue("none"), true, false, "Toggle whether to automatically spawn with the last character you played as"), - commandData("gui", toggleAccountGUICommand, "", getStaffFlagValue("none"), false, false, "Toggle whether to use GUI. If GUI is disabled on the server, it won't show even if you have GUI enabled."), - commandData("2fa", toggleAccountTwoFactorAuthCommand, "", getStaffFlagValue("none"), true, false, "Set up and use two-factor authentication."), - commandData("setemail", setAccountEmailCommand, "", getStaffFlagValue("none"), true, false, "Sets your email. To reset your password, you must have a valid email set and verified."), - commandData("verifyemail", verifyAccountEmailCommand, "", getStaffFlagValue("none"), true, false, "Confirms/verifies your email."), - //commandData("setdiscord", setAccountDiscordCommand, "", getStaffFlagValue("none"), true, false, "Set up the integration for discord. Allows you to see info and use in-game commands on discord."), - commandData("notips", toggleNoRandomTipsCommand, "", getStaffFlagValue("none"), true, false, "Turn on and off random tips"), - commandData("loginalert", toggleAccountLoginAttemptNotificationsCommand, "", getStaffFlagValue("none"), true, false, "Turn on and off email notifications for attempts to login to your account"), + commandData("login", loginCommand, "", getStaffFlagValue("None"), false, false, "Login to an account"), + commandData("register", registerCommand, "", getStaffFlagValue("None"), false, false, "Creates an account"), + commandData("changepass", changeAccountPasswordCommand, " ", getStaffFlagValue("None"), true, false, "Change an account password"), + commandData("iplogin", toggleAutoLoginByIPCommand, "", getStaffFlagValue("None"), true, false, "Toggle whether to automatically login if you join with the same IP as your last join"), + commandData("autolastchar", toggleAutoSelectLastCharacterCommand, "", getStaffFlagValue("None"), true, false, "Toggle whether to automatically spawn with the last character you played as"), + commandData("gui", toggleAccountGUICommand, "", getStaffFlagValue("None"), false, false, "Toggle whether to use GUI. If GUI is disabled on the server, it won't show even if you have GUI enabled."), + commandData("2fa", toggleAccountTwoFactorAuthCommand, "", getStaffFlagValue("None"), true, false, "Set up and use two-factor authentication."), + commandData("setemail", setAccountEmailCommand, "", getStaffFlagValue("None"), true, false, "Sets your email. To reset your password, you must have a valid email set and verified."), + commandData("verifyemail", verifyAccountEmailCommand, "", getStaffFlagValue("None"), true, false, "Confirms/verifies your email."), + //commandData("setdiscord", setAccountDiscordCommand, "", getStaffFlagValue("None"), true, false, "Set up the integration for discord. Allows you to see info and use in-game commands on discord."), + commandData("notips", toggleNoRandomTipsCommand, "", getStaffFlagValue("None"), true, false, "Turn on and off random tips"), + commandData("loginalert", toggleAccountLoginAttemptNotificationsCommand, "", getStaffFlagValue("None"), true, false, "Turn on and off email notifications for attempts to login to your account"), + commandData("scrolllines", setAccountChatScrollLinesCommand, "", getStaffFlagValue("None"), true, false, "Sets how many chatbox lines to scroll at a time when using pageup/pagedown"), + ], ammunation: [], animation: [ - commandData("anim", playPlayerAnimationCommand, "", getStaffFlagValue("none"), true, true, "Makes your player ped use an animation"), - commandData("an", playPlayerAnimationCommand, "", getStaffFlagValue("none"), true, true, "Makes your player ped use an animation"), - commandData("e", playPlayerAnimationCommand, "", getStaffFlagValue("none"), true, true, "Makes your player ped use an animation"), - commandData("anims", showAnimationListCommand, "", getStaffFlagValue("none"), true, true, "Shows a list of animations"), - commandData("animlist", showAnimationListCommand, "", getStaffFlagValue("none"), true, true, "Shows a list of animations"), - commandData("stopanim", stopPlayerAnimationCommand, "", getStaffFlagValue("none"), true, true, "Stops your current animation"), + commandData("anim", playPlayerAnimationCommand, "", getStaffFlagValue("None"), true, true, "Makes your player ped use an animation"), + commandData("an", playPlayerAnimationCommand, "", getStaffFlagValue("None"), true, true, "Makes your player ped use an animation"), + commandData("e", playPlayerAnimationCommand, "", getStaffFlagValue("None"), true, true, "Makes your player ped use an animation"), + commandData("anims", showAnimationListCommand, "", getStaffFlagValue("None"), true, true, "Shows a list of animations"), + commandData("animlist", showAnimationListCommand, "", getStaffFlagValue("None"), true, true, "Shows a list of animations"), + commandData("stopanim", stopPlayerAnimationCommand, "", getStaffFlagValue("None"), true, true, "Stops your current animation"), ], antiCheat: [ - //commandData("addacscriptwl", addAntiCheatWhiteListedScriptCommand, "