5 Commits
master ... gui

Author SHA1 Message Date
Vortrex
daa5a6de39 Use short names 2022-10-25 22:55:50 -05:00
Vortrex
7b613f194c Merge branch 'nightly' into gui 2022-10-25 22:53:58 -05:00
Vortrex
d3e4bc4ce4 Use calculated grid size 2022-08-20 14:11:01 -05:00
Vortrex
f5f0be57aa Start working on clan manager GUI 2022-08-19 13:01:06 -05:00
Vortrex
2e6fb905f4 Rename GUI scripts 2022-08-19 13:00:57 -05:00
16 changed files with 468 additions and 16 deletions

View File

@@ -114,7 +114,6 @@
<script src="scripts/client/gui/games/betting.js" type="client" language="javascript" />
<script src="scripts/client/gui/games/5cardpoker.js" type="client" language="javascript" />
<!-- Client Scripts -->
<script src="scripts/client/afk.js" type="client" language="javascript" />
<script src="scripts/client/animation.js" type="client" language="javascript" />

View File

@@ -3,7 +3,7 @@
// https://github.com/VortrexFTW/agrp_main
// (c) 2022 Asshat Gaming
// ===========================================================================
// FILE: 2fa.js
// FILE: two-factor-authentication.js
// DESC: Provides two factor authentication GUI
// TYPE: Client (JavaScript)
// ===========================================================================

View File

@@ -0,0 +1,25 @@
// ===========================================================================
// Asshat Gaming Roleplay
// https://github.com/VortrexFTW/agrp_main
// (c) 2022 Asshat Gaming
// ===========================================================================
// FILE: clanmgr.js
// DESC: Provides clan manager GUI
// TYPE: Client (JavaScript)
// ===========================================================================
let clanManager = {
window: null,
generalTabButton: null,
ranksTabButton: null,
membersTabButton: null,
vehiclesTabButton: null,
businessesTabButton: null,
housesTabButton: null,
};
// ===========================================================================
function initClanManagerGUI() {
}

View File

@@ -3,7 +3,7 @@
// https://github.com/VortrexFTW/agrp_main
// (c) 2022 Asshat Gaming
// ===========================================================================
// FILE: bizmgr.js
// FILE: business-manager.js
// DESC: Provides business manager GUI
// TYPE: Client (JavaScript)
// ===========================================================================

View File

@@ -3,7 +3,7 @@
// https://github.com/VortrexFTW/agrp_main
// (c) 2022 Asshat Gaming
// ===========================================================================
// FILE: changepass.js
// FILE: change-password.js
// DESC: Provides change password GUI
// TYPE: Client (JavaScript)
// ===========================================================================

View File

@@ -3,7 +3,7 @@
// https://github.com/VortrexFTW/agrp_main
// (c) 2022 Asshat Gaming
// ===========================================================================
// FILE: charselect.js
// FILE: character-select.js
// DESC: Provides character select GUI
// TYPE: Client (JavaScript)
// ===========================================================================

View File

@@ -3,7 +3,7 @@
// https://github.com/VortrexFTW/agrp_main
// (c) 2022 Asshat Gaming
// ===========================================================================
// FILE: clanmgr.js
// FILE: clan-manager.js
// DESC: Provides clan manager GUI
// TYPE: Client (JavaScript)
// ===========================================================================
@@ -16,10 +16,429 @@ let clanManager = {
vehiclesTabButton: null,
businessesTabButton: null,
housesTabButton: null,
generalTab: {
noPermissionsErrorLabel: null,
clanNameInput: null,
clanTagInput: null,
clanMOTDInput: null,
clanDiscordWebhookURLInput: null,
clanDiscordWebhookEnabledCheckbox: null,
clanDiscordWebhookSendVehicleEventsCheckbox: null,
clanDiscordWebhookSendHouseEventsCheckbox: null,
clanDiscordWebhookSendBusinessEventsCheckbox: null,
clanDiscordWebhookSendRankEventsCheckbox: null,
clanDiscordWebhookSendMemberEventsCheckbox: null,
clanDiscordWebhookEnabledLabel: null,
clanDiscordWebhookSendVehicleEventsLabel: null,
clanDiscordWebhookSendHouseEventsLabel: null,
clanDiscordWebhookSendBusinessEventsLabel: null,
clanDiscordWebhookSendRankEventsLabel: null,
clanDiscordWebhookSendMemberEventsLabel: null,
clanSaveButton: null,
},
ranksTab: {
noPermissionsErrorLabel: null,
ranks: [
]
},
membersTab: {
noPermissionsErrorLabel: null,
},
vehiclesTab: {
noPermissionsErrorLabel: null,
},
businessesTab: {
noPermissionsErrorLabel: null,
},
housesTab: {
noPermissionsErrorLabel: null,
},
};
class clanRankTab {
rankContainer = null;
rankNameLabel = null;
rankLevelLabel = null;
rankTagLabel = null;
rankExpandButton = null;
rankNameInput = null;
rankLevelNumberSelect = null;
rankTagInput = null;
rankPermissionStartTurfWarCheckbox = null;
rankPermissionStartPointWarCheckbox = null;
rankPermissionInviteMemberCheckbox = null;
rankPermissionSuspendMemberCheckbox = null;
rankPermissionRemoveMemberCheckbox = null;
rankPermissionMemberRankCheckbox = null;
rankPermissionClanTagCheckbox = null;
rankPermissionClanNameCheckbox = null;
rankPermissionManageVehiclesCheckbox = null;
rankPermissionManageHousesCheckbox = null;
rankPermissionManageBusinessesCheckbox = null;
rankPermissionManageNPCsCheckbox = null;
rankPermissionManageRanksCheckbox = null;
rankPermissionOwnerCheckbox = null;
rankPermissionStartTurfWarLabel = null;
rankPermissionStartPointWarLabel = null;
rankPermissionInviteMemberLabel = null;
rankPermissionSuspendMemberLabel = null;
rankPermissionRemoveMemberLabel = null;
rankPermissionMemberRankLabel = null;
rankPermissionClanTagLabel = null;
rankPermissionClanNameLabel = null;
rankPermissionManageVehiclesLabel = null;
rankPermissionManageHousesLabel = null;
rankPermissionManageBusinessesLabel = null;
rankPermissionManageNPCsLabel = null;
rankPermissionManageRanksLabel = null;
rankPermissionOwnerLabel = null;
rankSaveButton = null;
constructor(data) {
}
}
// ===========================================================================
function initClanManagerGUI() {
logToConsole(LOG_DEBUG, `[VRR.GUI] Creating character select GUI ...`);
clanManager.window = mexui.window(game.width / 2 - 230, game.height / 2 - 170, 460, 340, 'CLAN MANAGER', {
main: {
backgroundColour: toColour(secondaryColour[0], secondaryColour[1], secondaryColour[2], windowAlpha),
},
title: {
textSize: 12.0,
textFont: mainFont,
textColour: toColour(0, 0, 0, 255),
backgroundColour: toColour(primaryColour[0], primaryColour[1], primaryColour[2], windowTitleAlpha),
},
icon: {
textSize: 10.0,
textFont: mainFont,
textColour: toColour(0, 0, 0, 255),
backgroundColour: toColour(primaryColour[0], primaryColour[1], primaryColour[2], windowTitleAlpha),
}
});
clanManager.window.titleBarIconSize = toVector2(0, 0);
clanManager.window.titleBarIconShown = false;
clanManager.window.titleBarHeight = 30;
clanManager.generalTabButton = clanManager.window.button(5, 5, 85, 20, 'GENERAL', {
main: {
backgroundColour: toColour(primaryColour[0], primaryColour[1], primaryColour[2], buttonAlpha),
textColour: toColour(primaryTextColour[0], primaryTextColour[1], primaryTextColour[2], 255),
textSize: 10.0,
textFont: mainFont,
textAlign: 0.5,
},
focused: {
borderColour: toColour(primaryColour[0], primaryColour[1], primaryColour[2], buttonAlpha),
}
}, switchClanManagerToGeneralTab);
clanManager.ranksTabButton = clanManager.window.button(95, 5, 85, 20, 'RANKS', {
main: {
backgroundColour: toColour(primaryColour[0], primaryColour[1], primaryColour[2], buttonAlpha),
textColour: toColour(primaryTextColour[0], primaryTextColour[1], primaryTextColour[2], 255),
textSize: 10.0,
textFont: mainFont,
textAlign: 0.5,
},
focused: {
borderColour: toColour(primaryColour[0], primaryColour[1], primaryColour[2], buttonAlpha),
}
}, switchClanManagerToRanksTab);
clanManager.membersTabButton = clanManager.window.button(185, 5, 85, 20, 'MEMBERS', {
main: {
backgroundColour: toColour(primaryColour[0], primaryColour[1], primaryColour[2], buttonAlpha),
textColour: toColour(primaryTextColour[0], primaryTextColour[1], primaryTextColour[2], 255),
textSize: 10.0,
textFont: mainFont,
textAlign: 0.5,
},
focused: {
borderColour: toColour(primaryColour[0], primaryColour[1], primaryColour[2], buttonAlpha),
}
}, switchClanManagerToMembersTab);
clanManager.businessesTabButton = clanManager.window.button(275, 5, 85, 20, 'BUSINESSES', {
main: {
backgroundColour: toColour(primaryColour[0], primaryColour[1], primaryColour[2], buttonAlpha),
textColour: toColour(primaryTextColour[0], primaryTextColour[1], primaryTextColour[2], 255),
textSize: 10.0,
textFont: mainFont,
textAlign: 0.5,
},
focused: {
borderColour: toColour(primaryColour[0], primaryColour[1], primaryColour[2], buttonAlpha),
}
}, switchClanManagerToBusinessesTab);
clanManager.housesTabButton = clanManager.window.button(365, 5, 85, 20, 'HOUSES', {
main: {
backgroundColour: toColour(primaryColour[0], primaryColour[1], primaryColour[2], buttonAlpha),
textColour: toColour(primaryTextColour[0], primaryTextColour[1], primaryTextColour[2], 255),
textSize: 10.0,
textFont: mainFont,
textAlign: 0.5,
},
focused: {
borderColour: toColour(primaryColour[0], primaryColour[1], primaryColour[2], buttonAlpha),
}
}, switchClanManagerToHousesTab);
clanManager.vehiclesTabButton = clanManager.window.button(455, 5, 85, 20, 'VEHICLES', {
main: {
backgroundColour: toColour(primaryColour[0], primaryColour[1], primaryColour[2], buttonAlpha),
textColour: toColour(primaryTextColour[0], primaryTextColour[1], primaryTextColour[2], 255),
textSize: 10.0,
textFont: mainFont,
textAlign: 0.5,
},
focused: {
borderColour: toColour(primaryColour[0], primaryColour[1], primaryColour[2], buttonAlpha),
}
}, switchClanManagerToVehiclesTab);
let gridWidth = 80 * (clanManager.window.width / 100);
let gridHeight = 80 * (clanManager.window.height / 100);
clanManager.ranksTab.grid = clanManager.window.grid(5, 30, gridWidth, gridHeight, {
main: {
backgroundColour: toColour(secondaryColour[0], secondaryColour[1], secondaryColour[2], windowAlpha),
},
column: {
lineColour: toColour(primaryColour[0], primaryColour[1], primaryColour[2], buttonAlpha),
},
header: {
backgroundColour: toColour(secondaryColour[0], secondaryColour[1], secondaryColour[2], windowAlpha),
textColour: toColour(primaryTextColour[0], primaryTextColour[1], primaryTextColour[2], 255),
},
cell: {
backgroundColour: toColour(secondaryColour[0], secondaryColour[1], secondaryColour[2], windowAlpha),
textColour: toColour(primaryTextColour[0], primaryTextColour[1], primaryTextColour[2], 255),
},
row: {
lineColour: toColour(primaryColour[0], primaryColour[1], primaryColour[2], buttonAlpha),
}
});
}
// ===========================================================================
function switchClanManagerToBusinessesTab() {
hideAllClanManagerTabs();
showClanManagerBusinessesTab();
}
// ===========================================================================
function switchClanManagerToHousesTab() {
hideAllClanManagerTabs();
showClanManagerHousesTab();
}
// ===========================================================================
function switchClanManagerToGeneralTab() {
hideAllClanManagerTabs();
showClanManagerGeneralTab();
}
// ===========================================================================
function switchClanManagerToMembersTab() {
hideAllClanManagerTabs();
showClanManagerMembersTab();
}
// ===========================================================================
function switchClanManagerToRanksTab() {
hideAllClanManagerTabs();
showClanManagerRanksTab();
}
// ===========================================================================
function switchClanManagerToVehiclesTab() {
hideAllClanManagerTabs();
showClanManagerVehiclesTab();
}
// ===========================================================================
function hideAllClanManagerTabs() {
hideClanManagerGeneralTab();
hideClanManagerRanksTab();
hideClanManagerMembersTab();
hideClanManagerBusinessesTab();
hideClanManagerHousesTab();
hideClanManagerVehiclesTab();
}
// ===========================================================================
function hideClanManagerGeneralTab() {
for (let i in clanManager.generalTab) {
clanManager.generalTab[i].shown = false;
}
}
// ===========================================================================
function hideClanManagerRanksTab() {
for (let i in clanManager.ranksTab) {
clanManager.ranksTab[i].shown = false;
}
}
// ===========================================================================
function hideClanManagerMembersTab() {
for (let i in clanManager.membersTab) {
clanManager.membersTab[i].shown = false;
}
}
// ===========================================================================
function hideClanManagerBusinessesTab() {
for (let i in clanManager.businessesTab) {
clanManager.businessesTab[i].shown = false;
}
}
// ===========================================================================
function hideClanManagerHousesTab() {
for (let i in clanManager.housesTab) {
clanManager.housesTab[i].shown = false;
}
}
// ===========================================================================
function hideClanManagerVehiclesTab() {
for (let i in clanManager.vehiclesTab) {
clanManager.vehiclesTab[i].shown = false;
}
}
// ===========================================================================
function showClanManagerGeneralTab() {
for (let i in clanManager.generalTab) {
clanManager.generalTab[i].shown = true;
}
}
// ===========================================================================
function showClanManagerRanksTab() {
for (let i in clanManager.ranksTab) {
clanManager.ranksTab[i].shown = true;
}
}
// ===========================================================================
function showClanManagerMembersTab() {
for (let i in clanManager.membersTab) {
clanManager.membersTab[i].shown = true;
}
}
// ===========================================================================
function showClanManagerBusinessesTab() {
for (let i in clanManager.businessesTab) {
clanManager.businessesTab[i].shown = true;
}
}
// ===========================================================================
function showClanManagerHousesTab() {
for (let i in clanManager.housesTab) {
clanManager.housesTab[i].shown = true;
}
}
// ===========================================================================
function showClanManagerVehiclesTab() {
for (let i in clanManager.vehiclesTab) {
clanManager.vehiclesTab[i].shown = true;
}
}
// ===========================================================================
function requestClanManagerData() {
sendNetworkEventToServer("agrp.requestClanManagerData");
}
// ===========================================================================
function receiveClanManagerData(generalInfo, ranks, members, businesses, houses, vehicles) {
updateClanManagerData(generalInfo, ranks, members, businesses, houses, vehicles);
}
// ===========================================================================
function updateClanManagerData(generalInfo, ranks, members, businesses, houses, vehicles) {
for (let i in ranks) {
rankContainer[i] = null;
rankNameLabel[i] = mexui.window.text(5, 65, 200, 25, 'Cash: $0', {
main: {
textSize: 9.0,
textAlign: 0.0,
textColour: toColour(255, 255, 255, 220),
textFont: mainFont,
},
focused: {
borderColour: toColour(0, 0, 0, 0),
}
});
rankLevelLabel[i] = null;
rankTagLabel[i] = null;
rankExpandButton[i] = null;
rankNameInput[i] = null;
rankLevelNumberSelect[i] = null;
rankTagInput[i] = null;
rankPermissionStartTurfWarCheckbox[i] = null;
rankPermissionStartPointWarCheckbox[i] = null;
rankPermissionInviteMemberCheckbox[i] = null;
rankPermissionSuspendMemberCheckbox[i] = null;
rankPermissionRemoveMemberCheckbox[i] = null;
rankPermissionMemberRankCheckbox[i] = null;
rankPermissionClanTagCheckbox[i] = null;
rankPermissionClanNameCheckbox[i] = null;
rankPermissionManageVehiclesCheckbox[i] = null;
rankPermissionManageHousesCheckbox[i] = null;
rankPermissionManageBusinessesCheckbox[i] = null;
rankPermissionManageNPCsCheckbox[i] = null;
rankPermissionManageRanksCheckbox[i] = null;
rankPermissionOwnerCheckbox[i] = null;
rankPermissionStartTurfWarLabel[i] = null;
rankPermissionStartPointWarLabel[i] = null;
rankPermissionInviteMemberLabel[i] = null;
rankPermissionSuspendMemberLabel[i] = null;
rankPermissionRemoveMemberLabel[i] = null;
rankPermissionMemberRankLabel[i] = null;
rankPermissionClanTagLabel[i] = null;
rankPermissionClanNameLabel[i] = null;
rankPermissionManageVehiclesLabel[i] = null;
rankPermissionManageHousesLabel[i] = null;
rankPermissionManageBusinessesLabel[i] = null;
rankPermissionManageNPCsLabel[i] = null;
rankPermissionManageRanksLabel[i] = null;
rankPermissionOwnerLabel[i] = null;
rankSaveButton[i] = null;
}
}
// ===========================================================================

View File

@@ -3,8 +3,8 @@
// https://github.com/VortrexFTW/agrp_main
// (c) 2022 Asshat Gaming
// ===========================================================================
// FILE: error.js
// DESC: Provides error box GUI
// FILE: simple-error.js
// DESC: Provides a simple error box GUI
// TYPE: Client (JavaScript)
// ===========================================================================

View File

@@ -3,7 +3,7 @@
// https://github.com/VortrexFTW/agrp_main
// (c) 2022 Asshat Gaming
// ===========================================================================
// FILE: info.js
// FILE: simple-info.js
// DESC: Provides info dialog box GUI
// TYPE: Client (JavaScript)
// ===========================================================================

View File

@@ -0,0 +1,9 @@
// ===========================================================================
// Asshat Gaming Roleplay
// https://github.com/VortrexFTW/agrp_main
// (c) 2022 Asshat Gaming
// ===========================================================================
// FILE: keybind-manager.js
// DESC: Provides keybind manager GUI
// TYPE: Client (JavaScript)
// ===========================================================================

View File

@@ -3,7 +3,7 @@
// https://github.com/VortrexFTW/agrp_main
// (c) 2022 Asshat Gaming
// ===========================================================================
// FILE: list.js
// FILE: simple-list.js
// DESC: Provides simple list GUI
// TYPE: Client (JavaScript)
// ===========================================================================

View File

@@ -3,7 +3,7 @@
// https://github.com/VortrexFTW/agrp_main
// (c) 2022 Asshat Gaming
// ===========================================================================
// FILE: localechooser.js
// FILE: locale-chooser.js
// DESC: Provides locale chooser GUI
// TYPE: Client (JavaScript)
// ===========================================================================

View File

@@ -3,7 +3,7 @@
// https://github.com/VortrexFTW/agrp_main
// (c) 2022 Asshat Gaming
// ===========================================================================
// FILE: newchar.js
// FILE: new-character.js
// DESC: Provides new character creation GUI
// TYPE: Client (JavaScript)
// ===========================================================================

View File

@@ -3,8 +3,8 @@
// https://github.com/VortrexFTW/agrp_main
// (c) 2022 Asshat Gaming
// ===========================================================================
// FILE: yesno.js
// DESC: Provides yes/no prompt dialog GUI
// FILE: simple-prompt-yes-no.js
// DESC: Provides simple yes/no prompt dialog GUI
// TYPE: Client (JavaScript)
// ===========================================================================

View File

@@ -3,7 +3,7 @@
// https://github.com/VortrexFTW/agrp_main
// (c) 2022 Asshat Gaming
// ===========================================================================
// FILE: resetpass.js
// FILE: reset-password.js
// DESC: Provides password reset GUI
// TYPE: Client (JavaScript)
// ===========================================================================

View File