Maybe finished taxi job

This commit is contained in:
hydrant
2019-05-21 21:35:49 +02:00
parent 425ea3e143
commit 7d0de9c662
10 changed files with 897 additions and 210 deletions

View File

@@ -2,7 +2,7 @@
export default function (globalData: GlobalData) {
mp.events.add("SERVER:Job_ShowJobMenu", (jobName: string) => {
mp.events.add("SERVER:Job_ShowJobMenu", (jobName: string, data: any) => {
if (globalData.InMenu) return;
var menu = new NativeUI.Menu("Job", jobName, new NativeUI.Point(50, 50), null, null);
@@ -11,11 +11,48 @@ export default function (globalData: GlobalData) {
globalData.InMenu = true;
data = JSON.parse(data);
if (data) {
if (data.Id === 1) { // Taxi Driver
var status = data.Status;
if (data.JobData.TaxiCalls && status === 0) { // Spieler hat keinen aktiven Auftrag
var calls = data.JobData.TaxiCalls;
var taxiCallsItem = new NativeUI.UIMenuItem("Taxi Aufträge");
var taxiCallsCount = calls.length;
taxiCallsItem.SetRightLabel(taxiCallsCount.toString());
menu.AddItem(taxiCallsItem);
if (taxiCallsCount > 0) {
var taxiCallsMenu = new NativeUI.Menu("Taxi-Aufträge", "Wähle einen Auftrag aus", new NativeUI.Point(50, 50), null, null);
calls.forEach(call => {
var item = new NativeUI.UIMenuItem(call.Name);
item.SetRightLabel(call.Distance.toString() + "m");
taxiCallsMenu.AddItem(item);
});
taxiCallsMenu.Visible = false;
menu.BindMenuToItem(taxiCallsMenu, taxiCallsItem);
taxiCallsMenu.ItemSelect.on((item: NativeUI.UIMenuItem, index: number) => {
mp.events.callRemote("CLIENT:JobManager_TaxiJob_AcceptCall", item.Text);
menu.Close();
});
}
} else if (status === 1) { // Spieler hat aktiven Auftrag
var cancelTaxiContractItem = new NativeUI.UIMenuItem("Taxi-Auftrag abbrechen");
cancelTaxiContractItem.SetRightLabel(data.JobData.Name);
menu.AddItem(cancelTaxiContractItem);
}
}
}
menu.ItemSelect.on((item: NativeUI.UIMenuItem, index: number) => {
if (index === 0) { // Job starten
mp.events.callRemote("CLIENT:Job_StartJob");
} else if (index === 1) { // Job stoppen
mp.events.callRemote("CLIENT:Job_StopJob");
} else {
return;
}
menu.Close();
});

View File

@@ -1,10 +1,16 @@
export default function tuningSync() {
mp.events.add('entityStreamIn', (entity) => {
mp.events.add('entityStreamIn', (entity: EntityMp) => {
if (entity.isAVehicle()) {
var mod18 = entity.getVariable('mod18');
var vehicle: VehicleMp = entity as VehicleMp;
var taxiLight = entity.getVariable("vehicleTaxiLight");
if (taxiLight) vehicle.setTaxiLights(taxiLight);
var mod18 = vehicle.getVariable('mod18');
if (mod18 !== undefined) {
entity.toggleMod(18, mod18);
vehicle.toggleMod(18, mod18);
}
}
});
@@ -12,4 +18,8 @@
mp.events.add('vehicleToggleMod', (veh, slot, newval) => {
veh.toggleMod(slot, newval);
});
mp.events.addDataHandler("vehicleTaxiLight", (entity: VehicleMp, state: boolean) => {
entity.setTaxiLights(state);
});
}

View File

@@ -23,6 +23,8 @@ let globalData: GlobalData = {
var inMenu = false;
mp.game.vehicle.defaultEngineBehaviour = false;
import jobMain from './Jobs/main';
jobMain(globalData);

File diff suppressed because it is too large Load Diff

View File

@@ -2,15 +2,15 @@
"name": "reallifegamemode.client",
"version": "1.0.0",
"devDependencies": {
"@types/ragemp-c": "git+https://github.com/sprayzcs/types-ragemp-c.git#master",
"NativeUI": "https://github.com/sprayzcs/RageMP-NativeUI/tarball/master",
"copy-webpack-plugin": "^5.0.1",
"uglifyjs-webpack-plugin": "^2.1.2",
"@babel/core": "^7.3.4",
"@types/node": "^11.9.5",
"@types/ragemp-c": "git+https://github.com/sprayzcs/types-ragemp-c.git#master",
"NativeUI": "https://github.com/sprayzcs/RageMP-NativeUI/tarball/master",
"babel-loader": "^8.0.5",
"copy-webpack-plugin": "^5.0.1",
"ts-loader": "^5.3.3",
"typescript": "^3.3.3333",
"uglifyjs-webpack-plugin": "^2.1.2",
"webpack": "^4.29.6",
"webpack-cli": "^3.2.3"
},