Move Job Infos Interaktionsmenü in eigenes Menü

This commit is contained in:
VegaZ
2021-04-08 00:20:52 +02:00
parent 629cc35e00
commit a2d6039736
3 changed files with 86 additions and 9 deletions

View File

@@ -27,6 +27,8 @@ export default function (globalData: IGlobalData) {
var groupItem = new UIMenuItem("Gruppe", "Verwalte deine Gruppe"); var groupItem = new UIMenuItem("Gruppe", "Verwalte deine Gruppe");
var jobItem = new UIMenuItem("Job", "Infos zu deinem Job");
var paycheckItem = new UIMenuItem("Gehaltsscheck", "Schaue dir deinen Verdienst der letzten Stunde an"); var paycheckItem = new UIMenuItem("Gehaltsscheck", "Schaue dir deinen Verdienst der letzten Stunde an");
var licenseItem = new UIMenuItem("Lizenzen", "Lizenzen Informationen"); var licenseItem = new UIMenuItem("Lizenzen", "Lizenzen Informationen");
@@ -41,10 +43,11 @@ export default function (globalData: IGlobalData) {
var groupRank = null; var groupRank = null;
mp.events.add("SERVER:InteractionMenu_OpenMenu", (accountDataJson: string, factionleader: string, faction: string, group: string, factionInvite: boolean, groupInvite: boolean, ticket_boolean: boolean, ticket_amount, house: boolean) => { mp.events.add("SERVER:InteractionMenu_OpenMenu", (accountDataJson: string, factionleader: string, jobDataJson: string, faction: string, group: string, factionInvite: boolean, groupInvite: boolean, ticket_boolean: boolean, ticket_amount, house: boolean) => {
var accountData: AccountData = JSON.parse(accountDataJson); var accountData: AccountData = JSON.parse(accountDataJson);
var jobData: JobData = JSON.parse(jobDataJson);
//var ticket_amount = JSON.parse(ticket_amountJson); //var ticket_amount = JSON.parse(ticket_amountJson);
var menu = getInteractionMenu(); var menu = getInteractionMenu();
@@ -77,6 +80,8 @@ export default function (globalData: IGlobalData) {
menu.AddItem(factionleaderItem); menu.AddItem(factionleaderItem);
menu.BindMenuToItem(getFactionLeaderMenu(faction, accountData.factionVehicles, accountData.stateFaction, menu), factionleaderItem); menu.BindMenuToItem(getFactionLeaderMenu(faction, accountData.factionVehicles, accountData.stateFaction, menu), factionleaderItem);
} }
menu.AddItem(jobItem);
menu.BindMenuToItem(getJobMenu(jobData, menu), jobItem);
if (group) { if (group) {
groupItem.SetRightLabel(group); groupItem.SetRightLabel(group);
@@ -206,11 +211,7 @@ export default function (globalData: IGlobalData) {
menuItem = new UIMenuItem("Fraktionsrang"); menuItem = new UIMenuItem("Fraktionsrang");
menuItem.SetRightLabel(data.factionRank); menuItem.SetRightLabel(data.factionRank);
accountMenu.AddItem(menuItem); accountMenu.AddItem(menuItem);
} }
menuItem = new UIMenuItem("Job");
menuItem.SetRightLabel(data.job);
accountMenu.AddItem(menuItem);
if (data.group != null) { if (data.group != null) {
menuItem = new UIMenuItem("Gruppe"); menuItem = new UIMenuItem("Gruppe");
@@ -365,6 +366,67 @@ export default function (globalData: IGlobalData) {
return factionMenu; return factionMenu;
} }
function getJobMenu(jobdata: JobData, parentMenu: NativeUI.Menu): NativeUI.Menu {
var jobMenu = new NativeUI.Menu("Job", "Job Infos / Skillpunkte", new Point(0, screenRes.y / 3), null, null);
var pilotLevel;
var busLevel;
if (jobdata.pilotskill >= 300) {
pilotLevel = 2;
} else {
pilotLevel = 1;
}
if (jobdata.busskill >= 800) {
busLevel = 3;
} else if (jobdata.busskill >= 300) {
busLevel = 2;
} else {
busLevel = 1;
}
var actJobItem = new UIMenuItem("Aktueller Job:");
actJobItem.SetRightLabel(jobdata.job)
jobMenu.AddItem(actJobItem);
var pilotSkillItem = new UIMenuItem("Pilot Skill (LVL " + pilotLevel + ")");
switch (pilotLevel) {
case 1:
pilotSkillItem.SetRightLabel(jobdata.pilotskill + "/300")
break;
case 2:
pilotSkillItem.SetRightLabel(jobdata.pilotskill + "/MAX")
break;
}
jobMenu.AddItem(pilotSkillItem);
var busSkillItem = new UIMenuItem("Bus Skill (LVL " + busLevel + ")");
switch (busLevel) {
case 1:
busSkillItem.SetRightLabel(jobdata.busskill + "/300")
break;
case 2:
busSkillItem.SetRightLabel(jobdata.busskill + "/800")
break;
case 3:
busSkillItem.SetRightLabel(jobdata.busskill + "/MAX")
break;
}
jobMenu.AddItem(busSkillItem);
var wageItem = new UIMenuItem("Verdienst");
if (jobdata.wage > 0) {
wageItem.SetRightLabel("~g~$" + jobdata.wage.toString())
} else {
wageItem.SetRightLabel("$" + jobdata.wage.toString())
}
jobMenu.AddItem(wageItem);
jobMenu.Visible = false;
mp.gui.chat.show(false);
return jobMenu;
}
function getGroupMenu(group: string, parentMenu: NativeUI.Menu): NativeUI.Menu { function getGroupMenu(group: string, parentMenu: NativeUI.Menu): NativeUI.Menu {
var groupMenu = new NativeUI.Menu("Gruppe", group, new Point(0, screenRes.y / 3), null, null); var groupMenu = new NativeUI.Menu("Gruppe", group, new Point(0, screenRes.y / 3), null, null);
if (groupRank == "Manager" || groupRank == "Besitzer") groupMenu.AddItem(new UIMenuItem("Spieler einladen")); if (groupRank == "Manager" || groupRank == "Besitzer") groupMenu.AddItem(new UIMenuItem("Spieler einladen"));

View File

@@ -14,7 +14,6 @@ declare type AccountData = {
factionRank: string; factionRank: string;
group: string; group: string;
groupRank: string; groupRank: string;
job: string;
paycheck: Paycheck; paycheck: Paycheck;
licenses: Licenses; licenses: Licenses;
vehicles: VehicleData[]; vehicles: VehicleData[];
@@ -25,6 +24,13 @@ declare type AccountData = {
userWarn: number; userWarn: number;
} }
declare type JobData = {
job: string;
busskill: number;
pilotskill: number;
wage: number;
}
declare type VehicleData = { declare type VehicleData = {
Id: number; Id: number;
Model: number; Model: number;
@@ -44,6 +50,8 @@ declare type Paycheck = {
otheramount: number; otheramount: number;
} }
declare type Licenses = { declare type Licenses = {
drivingLicenseCar: boolean; drivingLicenseCar: boolean;
drivingLicenseBike: boolean; drivingLicenseBike: boolean;

View File

@@ -152,7 +152,6 @@ namespace ReallifeGamemode.Server.Events
factionRank = u.GetFactionRank().RankName, factionRank = u.GetFactionRank().RankName,
group = u.Group?.Name ?? "Keine", group = u.Group?.Name ?? "Keine",
groupRank = u.GroupRank.GetName(), groupRank = u.GroupRank.GetName(),
job = JobManager.GetJob(u.JobId ?? 0)?.Name ?? "Keiner",
paycheck, paycheck,
licenses, licenses,
vehicles, vehicles,
@@ -162,6 +161,14 @@ namespace ReallifeGamemode.Server.Events
userWarn = u.warn, userWarn = u.warn,
}; };
var jobData = new
{
job = JobManager.GetJob(u.JobId ?? 0)?.Name ?? "Keiner",
busskill = u.BusSkill,
pilotskill = u.PilotSkill,
wage = u.Wage,
};
string faction = u.Faction?.Name ?? "Zivilist"; string faction = u.Faction?.Name ?? "Zivilist";
string factionleader = u.FactionLeader ? u.Faction.Name : null; string factionleader = u.FactionLeader ? u.Faction.Name : null;
string group = u.Group != null ? u.Group.Name : null; string group = u.Group != null ? u.Group.Name : null;
@@ -187,7 +194,7 @@ namespace ReallifeGamemode.Server.Events
pay_amount = player.GetData<int>("pay_amount"); pay_amount = player.GetData<int>("pay_amount");
} }
player.TriggerEvent("SERVER:InteractionMenu_OpenMenu", JsonConvert.SerializeObject(accountData), factionleader, faction, group, factionInvite, groupInvite, ticket_boolean, ticket_amount, pay_amount, house); player.TriggerEvent("SERVER:InteractionMenu_OpenMenu", JsonConvert.SerializeObject(accountData), factionleader, JsonConvert.SerializeObject(jobData), faction, group, factionInvite, groupInvite, ticket_boolean, ticket_amount, pay_amount, house);
} }
[RemoteEvent("keyPress:E")] [RemoteEvent("keyPress:E")]