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 jobItem = new UIMenuItem("Job", "Infos zu deinem Job");
var paycheckItem = new UIMenuItem("Gehaltsscheck", "Schaue dir deinen Verdienst der letzten Stunde an");
var licenseItem = new UIMenuItem("Lizenzen", "Lizenzen Informationen");
@@ -41,10 +43,11 @@ export default function (globalData: IGlobalData) {
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 jobData: JobData = JSON.parse(jobDataJson);
//var ticket_amount = JSON.parse(ticket_amountJson);
var menu = getInteractionMenu();
@@ -77,6 +80,8 @@ export default function (globalData: IGlobalData) {
menu.AddItem(factionleaderItem);
menu.BindMenuToItem(getFactionLeaderMenu(faction, accountData.factionVehicles, accountData.stateFaction, menu), factionleaderItem);
}
menu.AddItem(jobItem);
menu.BindMenuToItem(getJobMenu(jobData, menu), jobItem);
if (group) {
groupItem.SetRightLabel(group);
@@ -206,11 +211,7 @@ export default function (globalData: IGlobalData) {
menuItem = new UIMenuItem("Fraktionsrang");
menuItem.SetRightLabel(data.factionRank);
accountMenu.AddItem(menuItem);
}
menuItem = new UIMenuItem("Job");
menuItem.SetRightLabel(data.job);
accountMenu.AddItem(menuItem);
}
if (data.group != null) {
menuItem = new UIMenuItem("Gruppe");
@@ -365,6 +366,67 @@ export default function (globalData: IGlobalData) {
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 {
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"));

View File

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

View File

@@ -152,7 +152,6 @@ namespace ReallifeGamemode.Server.Events
factionRank = u.GetFactionRank().RankName,
group = u.Group?.Name ?? "Keine",
groupRank = u.GroupRank.GetName(),
job = JobManager.GetJob(u.JobId ?? 0)?.Name ?? "Keiner",
paycheck,
licenses,
vehicles,
@@ -162,6 +161,14 @@ namespace ReallifeGamemode.Server.Events
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 factionleader = u.FactionLeader ? u.Faction.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");
}
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")]