Finalize Surgery
This commit is contained in:
@@ -560,7 +560,7 @@ export default function charCreator(globalData: IGlobalData) {
|
||||
|
||||
// EVENTS
|
||||
mp.events.add("toggleCreator", (charExists) => {
|
||||
if (creatorCamera === undefined) {
|
||||
if (!mp.cameras.exists(creatorCamera)) {
|
||||
if (charExists) {
|
||||
creatorCamera = mp.cameras.new("creatorCamera", surgeryCoords.camera, new mp.Vector3(0, 0, 0), 45);
|
||||
creatorCamera.pointAtCoord(surgeryCoords.cameraLookAt.x, surgeryCoords.cameraLookAt.y, surgeryCoords.cameraLookAt.z);
|
||||
@@ -572,6 +572,11 @@ export default function charCreator(globalData: IGlobalData) {
|
||||
creatorCamera.setActive(true);
|
||||
}
|
||||
|
||||
resetAppearanceMenu();
|
||||
resetFeaturesMenu();
|
||||
resetHairAndColorsMenu();
|
||||
resetParentsMenu();
|
||||
|
||||
globalData.InMenu = true;
|
||||
globalData.InMenu = true;
|
||||
|
||||
@@ -582,6 +587,7 @@ export default function charCreator(globalData: IGlobalData) {
|
||||
localPlayer.clearTasksImmediately();
|
||||
localPlayer.freezePosition(true);
|
||||
mp.game.cam.renderScriptCams(true, false, 0, true, false);
|
||||
applyCreatorOutfit();
|
||||
|
||||
}
|
||||
});
|
||||
@@ -601,7 +607,7 @@ export default function charCreator(globalData: IGlobalData) {
|
||||
mp.game.ui.displayHud(true);
|
||||
localPlayer.freezePosition(false);
|
||||
mp.game.cam.renderScriptCams(false, false, 0, true, false);
|
||||
creatorCamera.destroy(true);
|
||||
creatorCamera.destroy();
|
||||
globalData.InMenu = false;
|
||||
globalData.InMenu = false;
|
||||
if (isSurgery) isSurgery = false;
|
||||
|
||||
55
ReallifeGamemode.Client/Gui/bigmap.ts
Normal file
55
ReallifeGamemode.Client/Gui/bigmap.ts
Normal file
@@ -0,0 +1,55 @@
|
||||
import { GlobalData } from "..";
|
||||
|
||||
export default function bigmap() {
|
||||
var bigmap = { status: 0, timer: null };
|
||||
|
||||
bigmap.status = 0;
|
||||
bigmap.timer = null;
|
||||
|
||||
mp.game.ui.setRadarZoom(1.0);
|
||||
mp.game.ui.setRadarBigmapEnabled(false, false);
|
||||
|
||||
mp.events.add("render", () => {
|
||||
mp.game.controls.disableControlAction(0, 48, true);
|
||||
if (mp.game.controls.isDisabledControlJustPressed(0, 48) && !GlobalData.InChat) {
|
||||
if (bigmap.status === 0) {
|
||||
mp.game.ui.setRadarZoom(0.0);
|
||||
bigmap.status = 1;
|
||||
|
||||
bigmap.timer = setTimeout(() => {
|
||||
mp.game.ui.setRadarBigmapEnabled(false, true);
|
||||
mp.game.ui.setRadarZoom(1.0);
|
||||
|
||||
bigmap.status = 0;
|
||||
bigmap.timer = null;
|
||||
}, 10000);
|
||||
} else if (bigmap.status === 1) {
|
||||
if (bigmap.timer != null) {
|
||||
clearTimeout(bigmap.timer);
|
||||
bigmap.timer = null;
|
||||
}
|
||||
|
||||
mp.game.ui.setRadarBigmapEnabled(true, false);
|
||||
mp.game.ui.setRadarZoom(0.0);
|
||||
bigmap.status = 2;
|
||||
|
||||
bigmap.timer = setTimeout(() => {
|
||||
mp.game.ui.setRadarBigmapEnabled(false, true);
|
||||
mp.game.ui.setRadarZoom(1.0);
|
||||
|
||||
bigmap.status = 0;
|
||||
bigmap.timer = null;
|
||||
}, 10000);
|
||||
} else {
|
||||
if (bigmap.timer != null) {
|
||||
clearTimeout(bigmap.timer);
|
||||
bigmap.timer = null;
|
||||
}
|
||||
|
||||
mp.game.ui.setRadarBigmapEnabled(false, false);
|
||||
mp.game.ui.setRadarZoom(1.0);
|
||||
bigmap.status = 0;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1,6 +1,13 @@
|
||||
export default function playerBlips() {
|
||||
import { afkStatus } from '../Player/antiafk';
|
||||
import { getWantedCount } from './wanteds';
|
||||
|
||||
export default function playerBlips() {
|
||||
var playerBlipMap: Map<PlayerMp, BlipMp>;
|
||||
var ready = false;
|
||||
var escapeTimer = null;
|
||||
|
||||
const PD_BLIP = 38;
|
||||
const FIB_BLIP = 63;
|
||||
|
||||
setInterval(() => {
|
||||
if (!ready) return;
|
||||
@@ -43,9 +50,30 @@
|
||||
|
||||
pBlip.setColour(isNaN(color) ? 0 : color);
|
||||
pBlip.setPosition(player.position.x, player.position.y, player.position.z);
|
||||
|
||||
if ((color == PD_BLIP || color == FIB_BLIP || afkStatus)) {
|
||||
if (escapeTimer) {
|
||||
mp.events.call("SERVER:SetWantedFlash", false);
|
||||
clearInterval(escapeTimer);
|
||||
escapeTimer = null;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (!escapeTimer && !afkStatus && getWantedCount() > 0) {
|
||||
mp.events.call("SERVER:SetWantedFlash", true);
|
||||
escapeTimer = setInterval(() => {
|
||||
if (getWantedCount() == 0) {
|
||||
clearInterval(escapeTimer);
|
||||
escapeTimer = null;
|
||||
return;
|
||||
}
|
||||
|
||||
mp.events.callRemote("CLIENT:EscapeWanted");
|
||||
}, 300000); //120000 -> 2 min , 300000 -> 5min
|
||||
}
|
||||
}, 50);
|
||||
|
||||
mp.events.add("playerReady", () => {
|
||||
|
||||
@@ -308,8 +308,8 @@ export default function (globalData: IGlobalData): void {
|
||||
})
|
||||
mp.game.graphics.drawRect(0.0, 0.555, 0.3, 0.11, 0, 0, 0, 70)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (editMode === true) {
|
||||
mp.game.graphics.drawText("~r~EDIT-MODE AKTIV", [0.5, 0],
|
||||
{
|
||||
|
||||
32
ReallifeGamemode.Client/Gui/notification.ts
Normal file
32
ReallifeGamemode.Client/Gui/notification.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
export default function notification() {
|
||||
const _SET_NOTIFICATION_COLOR_NEXT = "0x39BBF623FC803EAC";
|
||||
const _SET_NOTIFICATION_BACKGROUND_COLOR = "0x92F0DA1E27DB96DC";
|
||||
|
||||
mp.events.add("BN_Show", (message, flashing = false, textColor = -1, bgColor = -1, flashColor = [77, 77, 77, 200]) => {
|
||||
if (textColor > -1) mp.game.invoke(_SET_NOTIFICATION_COLOR_NEXT, textColor);
|
||||
if (bgColor > -1) mp.game.invoke(_SET_NOTIFICATION_BACKGROUND_COLOR, bgColor);
|
||||
if (flashing) mp.game.ui.setNotificationFlashColor(flashColor[0], flashColor[1], flashColor[2], flashColor[3]);
|
||||
|
||||
mp.game.gxt.set("BNOTIF_LONG_TEXT_ENTRY", `~a~${message}`);
|
||||
mp.game.ui.setNotificationTextEntry("BNOTIF_LONG_TEXT_ENTRY");
|
||||
mp.game.ui.addTextComponentSubstringPlayerName(""); // needed for text color to work
|
||||
mp.game.ui.drawNotification(flashing, true);
|
||||
});
|
||||
|
||||
mp.events.add("BN_ShowWithPicture", (title, sender, message, notifPic, icon = 0, flashing = false, textColor = -1, bgColor = -1, flashColor = [77, 77, 77, 200]) => {
|
||||
if (textColor > -1) mp.game.invoke(_SET_NOTIFICATION_COLOR_NEXT, textColor);
|
||||
if (bgColor > -1) mp.game.invoke(_SET_NOTIFICATION_BACKGROUND_COLOR, bgColor);
|
||||
if (flashing) mp.game.ui.setNotificationFlashColor(flashColor[0], flashColor[1], flashColor[2], flashColor[3]);
|
||||
mp.game.graphics.requestStreamedTextureDict(notifPic, true);
|
||||
|
||||
mp.game.gxt.set("BNOTIF_LONG_TEXT_ENTRY_IMG", `~a~${message}`);
|
||||
mp.game.ui.setNotificationTextEntry("BNOTIF_LONG_TEXT_ENTRY_IMG");
|
||||
mp.game.ui.addTextComponentSubstringPlayerName(""); // needed for text color to work
|
||||
mp.game.ui.setNotificationMessage(notifPic, notifPic, flashing, icon, title, sender);
|
||||
});
|
||||
|
||||
const notifications = {
|
||||
show: (message, flashing = false, textColor = -1, bgColor = -1, flashColor = [77, 77, 77, 200]) => mp.events.call("BN_Show", message, flashing, textColor, bgColor, flashColor),
|
||||
showWithPicture: (title, sender, message, notifPic, icon = 0, flashing = false, textColor = -1, bgColor = -1, flashColor = [77, 77, 77, 200]) => mp.events.call("BN_ShowWithPicture", title, sender, message, notifPic, icon, flashing, textColor, bgColor, flashColor)
|
||||
};
|
||||
}
|
||||
@@ -5,30 +5,39 @@
|
||||
*/
|
||||
|
||||
export default function playerList(globalData: IGlobalData): void {
|
||||
|
||||
var playerlistBrowser: BrowserMp = null;
|
||||
var pList;
|
||||
var pList = [];
|
||||
var loaded = false;
|
||||
var factionPlayersMap: Map<number, number> = new Map<number, number>();
|
||||
const factionIds = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
||||
|
||||
mp.events.add("showPlayerlist", (playersJson) => {
|
||||
mp.events.add("loadPlayerListCEF", () => {
|
||||
if (playerlistBrowser !== null) {
|
||||
playerlistBrowser.destroy();
|
||||
playerlistBrowser = null;
|
||||
globalData.InMenu = false;
|
||||
mp.gui.cursor.show(false, false);
|
||||
mp.gui.chat.activate(true);
|
||||
}
|
||||
else if (!globalData.InMenu) {
|
||||
playerlistBrowser = mp.browsers.new('package://assets/html/onlinelist/index.html');
|
||||
});
|
||||
|
||||
mp.events.add("showPlayerlist", (playersJson) => {
|
||||
if (!globalData.InMenu && !loaded) {
|
||||
globalData.InMenu = true;
|
||||
playerlistBrowser = mp.browsers.new('package://assets/html/onlinelist/index.html');
|
||||
loaded = true;
|
||||
mp.gui.chat.activate(false);
|
||||
mp.gui.cursor.show(true, true);
|
||||
pList = JSON.parse(playersJson);
|
||||
playerlistBrowser.execute(`showPlayerList()`);
|
||||
} else if (loaded) {
|
||||
globalData.InMenu = false;
|
||||
loaded = false;
|
||||
mp.gui.cursor.show(false, false);
|
||||
mp.gui.chat.activate(true);
|
||||
playerlistBrowser.execute(`closePlayerList()`);
|
||||
}
|
||||
});
|
||||
|
||||
mp.events.add("CEF:PlayerList_Loaded", () => {
|
||||
playerlistBrowser.execute(`clear_row()`);
|
||||
|
||||
factionIds.forEach(f => {
|
||||
factionPlayersMap.set(f, 0);
|
||||
});
|
||||
@@ -54,4 +63,4 @@ export default function playerList(globalData: IGlobalData): void {
|
||||
// table = table + tableRow;
|
||||
// })
|
||||
// return document.write(table);
|
||||
//}
|
||||
//}
|
||||
@@ -50,7 +50,7 @@ export default function vehicleMenu(globalData: IGlobalData) {
|
||||
});
|
||||
|
||||
mp.events.add('ToggleVehicleMenu', () => {
|
||||
if (menuBrowser !== null) {
|
||||
if (globalData.InMenu && menuBrowser !== null) {
|
||||
menuBrowser.destroy();
|
||||
menuBrowser = null;
|
||||
globalData.InMenu = false;
|
||||
@@ -59,14 +59,14 @@ export default function vehicleMenu(globalData: IGlobalData) {
|
||||
mp.game.graphics.stopScreenEffect("FocusIn");
|
||||
mp.game.graphics.startScreenEffect("FocusOut", 0, false);
|
||||
return;
|
||||
} else {
|
||||
mp.game.graphics.stopScreenEffect("FocusOut");
|
||||
mp.game.graphics.startScreenEffect("FocusIn", 0, false);
|
||||
menuBrowser = mp.browsers.new("package://assets/html/vehiclemenu/index.html");
|
||||
mp.gui.chat.show(false);
|
||||
globalData.InMenu = true;
|
||||
mp.gui.cursor.show(true, true);
|
||||
}
|
||||
|
||||
mp.game.graphics.stopScreenEffect("FocusOut");
|
||||
mp.game.graphics.startScreenEffect("FocusIn", 0, false);
|
||||
menuBrowser = mp.browsers.new("package://assets/html/vehiclemenu/index.html");
|
||||
mp.gui.chat.show(false);
|
||||
globalData.InMenu = true;
|
||||
mp.gui.cursor.show(true, true);
|
||||
});
|
||||
|
||||
mp.events.add('doAction', (action) => {
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
export default function antiAfk(globalData: IGlobalData) {
|
||||
export let afkStatus: boolean = false;
|
||||
|
||||
export default function antiAfk(globalData: IGlobalData) {
|
||||
let lastPosition: Vector3Mp = mp.players.local.position;
|
||||
let afkCounter: number = 0;
|
||||
|
||||
let afkStatus: boolean = false;
|
||||
|
||||
setInterval(checkAfkPosition, 1000 * 10);
|
||||
|
||||
function checkAfkPosition() {
|
||||
|
||||
if (!globalData.LoggedIn) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -122,10 +122,10 @@ export default function keys(globalData: IGlobalData) {
|
||||
}
|
||||
});
|
||||
|
||||
//X // Fahrzeug Verwaltung - Menü
|
||||
mp.keys.bind(0x58, false, function () {
|
||||
if (!globalData.InChat && !globalData.InMenu && !globalData.InTuning) {
|
||||
mp.events.callRemote("keyPress:X");
|
||||
//Z // Fahrzeug Verwaltung - Menü
|
||||
KeyBinder.bind("z", () => {
|
||||
if (!globalData.InChat && !globalData.InTuning) {
|
||||
mp.events.callRemote("keyPress:Z");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -1,5 +1,31 @@
|
||||
import polygons from "../polygons";
|
||||
|
||||
//Start: Eingang direkt rechts, rechts entlang
|
||||
const prisonVector1 = new mp.Vector3(1809.99365234375, 2612.373291015625, 40.50623321533203);
|
||||
const prisonVector2 = new mp.Vector3(1810.377197265625, 2620.338623046875, 40.51300048828125);
|
||||
const prisonVector3 = new mp.Vector3(1835.8336181640625, 2688.819091796875, 40.4307975769043);
|
||||
const prisonVector4 = new mp.Vector3(1830.5731201171875, 2703.89990234375, 40.42714309692383);
|
||||
const prisonVector5 = new mp.Vector3(1776.7342529296875, 2747.79052734375, 40.42777633666992);
|
||||
const prisonVector6 = new mp.Vector3(1762.360107421875, 2752.788818359375, 40.42710494995117);
|
||||
const prisonVector7 = new mp.Vector3(1662.0726318359375, 2749.177001953125, 40.444488525390625);
|
||||
const prisonVector8 = new mp.Vector3(1648.1600341796875, 2742.01611328125, 40.441619873046875);
|
||||
const prisonVector9 = new mp.Vector3(1584.302978515625, 2679.99072265625, 40.47876739501953);
|
||||
const prisonVector10 = new mp.Vector3(1575.2301025390625, 2667.2109375, 40.48185729980469);
|
||||
const prisonVector11 = new mp.Vector3(1547.1693115234375, 2591.489990234375, 40.388912200927734);
|
||||
const prisonVector12 = new mp.Vector3(1546.39892578125, 2576.266845703125, 40.38877868652344);
|
||||
const prisonVector13 = new mp.Vector3(1550.493896484375, 2482.98388671875, 40.38750076293945);
|
||||
const prisonVector14 = new mp.Vector3(1557.9322509765625, 2468.98681640625, 40.387237548828125);
|
||||
const prisonVector15 = new mp.Vector3(1652.527099609375, 2409.1259765625, 40.40341567993164);
|
||||
const prisonVector16 = new mp.Vector3(1667.7176513671875, 2407.0595703125, 40.401432037353516);
|
||||
const prisonVector17 = new mp.Vector3(1749.3123779296875, 2419.23779296875, 40.42228698730469);
|
||||
const prisonVector18 = new mp.Vector3(1762.95849609375, 2426.209228515625, 40.42059326171875);
|
||||
const prisonVector19 = new mp.Vector3(1809.08837890625, 2473.969970703125, 40.445960998535156);
|
||||
const prisonVector20 = new mp.Vector3(1814.2039794921875, 2489.00830078125, 40.44499588012695);
|
||||
const prisonVector21 = new mp.Vector3(1807.0340576171875, 2535.93212890625, 38.4123420715332);
|
||||
const prisonVector22 = new mp.Vector3(1809.77587890625, 2590.69775390625, 38.41337966918945);
|
||||
const prisonVector23 = new mp.Vector3(1819.170654296875, 2597.941650390625, 40.525978088378906);
|
||||
const prisonVector24 = new mp.Vector3(1819.3084716796875, 2612.3154296875, 40.52067947387695);
|
||||
|
||||
const busbaseVector1 = new mp.Vector3(-522.4485, -2138.7021, 7.7564063);
|
||||
const busbaseVector2 = new mp.Vector3(-584.9822, -2072.467, 5.9921026);
|
||||
const busbaseVector3 = new mp.Vector3(-669.1689, -2172.7917, 6.009973);
|
||||
@@ -37,10 +63,14 @@ const polygon_pilotAnfaenger = polygons.add([pilotAnfaengerVector1, pilotAnfaeng
|
||||
const polygon_pilotProfi = polygons.add([pilotProfiVector1, pilotProfiVector2, pilotProfiVector3, pilotProfiVector4], 15, false, [255, 155, 0, 255], 0);
|
||||
const polygon_muellbase = polygons.add([muellbaseVector1, muellbaseVector2, muellbaseVector3], 15, false, [255, 155, 0, 255], 0);
|
||||
|
||||
const polygon_prison = polygons.add([prisonVector1, prisonVector2, prisonVector3, prisonVector4, prisonVector5, prisonVector6, prisonVector7, prisonVector8,
|
||||
prisonVector9, prisonVector10, prisonVector11, prisonVector12, prisonVector13, prisonVector14, prisonVector15, prisonVector16,
|
||||
prisonVector17, prisonVector18, prisonVector19, prisonVector20, prisonVector21, prisonVector22, prisonVector23, prisonVector24], 40, false, [255, 155, 0, 255], 0);
|
||||
|
||||
export let listNoDMZones = [polygon_busbase, polygon_stadthalle, polygon_fahrschule, polygon_pilotAnfaenger, polygon_pilotProfi, polygon_muellbase];
|
||||
export let isInAnyNoDMPolygon;
|
||||
|
||||
export default function nodmHandler() {
|
||||
export default function polygonHandler() {
|
||||
|
||||
mp.events.add('playerEnterPolygon', (polygon) => {
|
||||
|
||||
@@ -56,5 +86,9 @@ export default function nodmHandler() {
|
||||
mp.events.call('toggleNoDmZone', false);
|
||||
isInAnyNoDMPolygon = false;
|
||||
}
|
||||
|
||||
if (polygon == polygon_prison) {
|
||||
mp.events.callRemote("SERVER:BreakOutIfInPrison");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
import * as NativeUI from '../libs/NativeUI';
|
||||
import jailList from './criminalrelease';
|
||||
import * as NativeUI from '../libs/NativeUI';
|
||||
import InputHelper from '../inputhelper';
|
||||
|
||||
const Menu = NativeUI.Menu;
|
||||
@@ -30,16 +29,11 @@ cancelItem.HighlightedBackColor = new Color(229, 57, 53);
|
||||
export default function reportList(globalData: IGlobalData) {
|
||||
|
||||
var reportMenu: NativeUI.Menu;
|
||||
|
||||
var users;
|
||||
var reportTexts;
|
||||
|
||||
var user = "";
|
||||
var reportText = "";
|
||||
|
||||
|
||||
//Weapon Menu
|
||||
|
||||
mp.events.add('showReportMenu', (userTickets, TicketsArr) => {
|
||||
if (!globalData.InMenu) {
|
||||
|
||||
@@ -95,9 +89,9 @@ export default function reportList(globalData: IGlobalData) {
|
||||
|
||||
globalData.InMenu = true;
|
||||
|
||||
var types = ["Quick Report", "Ticket Report"];
|
||||
var types = ["Ticket", "Quick-Report"];
|
||||
|
||||
reportMenu = new Menu("QuickReport/Ticket", "", new Point(0, screenRes.y / 3), null, null);
|
||||
reportMenu = new Menu("Report", "", new Point(0, screenRes.y / 3), null, null);
|
||||
var typesItem = new UIMenuListItem("Typ", "", new ItemsCollection(types));
|
||||
reportMenu.AddItem(typesItem);
|
||||
|
||||
@@ -170,4 +164,4 @@ export default function reportList(globalData: IGlobalData) {
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ export default function spawnschutz() {
|
||||
});
|
||||
|
||||
mp.events.add("triggerSpawnschutzTimer", () => {
|
||||
clearInterval(spawnschutzTimer);
|
||||
spawnschutzTimer = setTimeout(() => {
|
||||
mp.events.call("toggleSpawnschutz", false);
|
||||
spawnschutzEnabled = false;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import * as NativeUI from '../libs/NativeUI';
|
||||
import * as NativeUI from '../libs/NativeUI';
|
||||
|
||||
const Menu = NativeUI.Menu;
|
||||
const UIMenuItem = NativeUI.UIMenuItem;
|
||||
@@ -10,7 +10,7 @@ const ItemsCollection = NativeUI.ItemsCollection;
|
||||
const Color = NativeUI.Color;
|
||||
|
||||
let screenRes = mp.game.graphics.getScreenResolution(0, 0);
|
||||
let saveItem = new UIMenuItem("Waffen Nehmen", "");
|
||||
let saveItem = new UIMenuItem("Waffen nehmen", "");
|
||||
saveItem.BackColor = new Color(13, 71, 161);
|
||||
saveItem.HighlightedBackColor = new Color(25, 118, 210);
|
||||
|
||||
@@ -131,7 +131,7 @@ export default function weaponList(globalData: IGlobalData) {
|
||||
|
||||
|
||||
weaponMenu.ItemSelect.on((item) => {
|
||||
if (item.Text === "Waffen Nehmen") {
|
||||
if (item.Text === "Waffen nehmen") {
|
||||
mp.events.callRemote("saveWeaponSelection", primary, secondary, melee, specialWep, armor);
|
||||
weaponMenu.Close();
|
||||
globalData.InMenu = false;
|
||||
@@ -150,4 +150,4 @@ export default function weaponList(globalData: IGlobalData) {
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ export default function tuning(globalData: IGlobalData) {
|
||||
|
||||
const carModSlotName = [
|
||||
{ Slot: 0, Name: "Spoiler", Price: 1000 },
|
||||
{ Slot: 1, Name: "Frontstoßstange", Price: 1500},
|
||||
{ Slot: 1, Name: "Frontstoßstange", Price: 1500 },
|
||||
{ Slot: 2, Name: "Heckstoßstange", Price: 1500 },
|
||||
{ Slot: 3, Name: "Seitenschweller", Price: 1500 },
|
||||
{ Slot: 4, Name: "Auspuff", Price: 500 },
|
||||
@@ -36,12 +36,12 @@ export default function tuning(globalData: IGlobalData) {
|
||||
{ Slot: 8, Name: "Extra 1", Price: 2000 },
|
||||
{ Slot: 9, Name: "Extra 2", Price: 2000 },
|
||||
{ Slot: 10, Name: "Dach", Price: 1500 },
|
||||
{ Slot: 11, Name: "Motor", Price: 50000 },
|
||||
{ Slot: 12, Name: "Bremsen", Price: 30000 },
|
||||
{ Slot: 13, Name: "Getriebe", Price: 15000 },
|
||||
{ Slot: 11, Name: "Motor", BasePercentage: 20, PriceIncreasePerLevel: 7.5 },
|
||||
{ Slot: 12, Name: "Bremsen", BasePercentage: 5, PriceIncreasePerLevel: 2.5 },
|
||||
{ Slot: 13, Name: "Getriebe", BasePercentage: 10, PriceIncreasePerLevel: 2.5 },
|
||||
{ Slot: 14, Name: "Hupe", Price: 500 },
|
||||
{ Slot: 15, Name: "Federung", Price: 2000 },
|
||||
{ Slot: 18, Name: "Turbo", Price: 40000 },
|
||||
{ Slot: 18, Name: "Turbo", BasePercentage: 45, PriceIncreasePerLevel: 0 },
|
||||
{ Slot: 22, Name: "Licht", Price: 500 },
|
||||
{ Slot: 23, Name: "Reifen", Price: 1000 },
|
||||
{ Slot: -1, Name: "Lackierung", Price: 1000 },
|
||||
@@ -165,7 +165,7 @@ export default function tuning(globalData: IGlobalData) {
|
||||
var currentActiveModItem = new Array<NativeUI.UIMenuItem>();
|
||||
var currentSelectedItem: VehicleModMenuItem = null;
|
||||
|
||||
mp.events.add("showTuningMenu", (noMoney) => {
|
||||
mp.events.add("showTuningMenu", (noMoney, basePrice) => {
|
||||
mp.events.call("hideTuningInfo", false);
|
||||
mp.gui.chat.show(false);
|
||||
|
||||
@@ -226,9 +226,6 @@ export default function tuning(globalData: IGlobalData) {
|
||||
}
|
||||
}
|
||||
|
||||
var price = noMoney? 0 : getModSlotPrice(modType);
|
||||
|
||||
|
||||
if (mod === null) {
|
||||
mod = localVehicle.getMod(modType);
|
||||
}
|
||||
@@ -248,6 +245,7 @@ export default function tuning(globalData: IGlobalData) {
|
||||
currentMod[modType] = mod;
|
||||
|
||||
for (var x = -1; x < modNum; x++) {
|
||||
var price = noMoney ? 0 : getModSlotPrice(modType, basePrice, x);
|
||||
var modText = "";
|
||||
if (x === -1) {
|
||||
modText = "Serie";
|
||||
@@ -265,7 +263,7 @@ export default function tuning(globalData: IGlobalData) {
|
||||
modMenu.CurrentSelection = x;
|
||||
}
|
||||
else {
|
||||
item.SetRightLabel("$"+ moneyformat(price));
|
||||
item.SetRightLabel("$" + moneyformat(price));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -304,7 +302,7 @@ export default function tuning(globalData: IGlobalData) {
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
mainMenu.ItemSelect.on((item: NativeUI.UIMenuItem, index: number) => {
|
||||
if (item === repairItem) {
|
||||
@@ -315,7 +313,9 @@ export default function tuning(globalData: IGlobalData) {
|
||||
mainMenu.Visible = true;
|
||||
|
||||
mainMenu.MenuClose.on(() => {
|
||||
localVehicle.setLights(0);
|
||||
if (localVehicle && mp.vehicles.exists(localVehicle)) {
|
||||
localVehicle.setLights(0);
|
||||
}
|
||||
globalData.InTuning = false;
|
||||
globalData.InMenu = false;
|
||||
mp.events.call("hideTuningInfo", false);
|
||||
@@ -456,8 +456,21 @@ export default function tuning(globalData: IGlobalData) {
|
||||
return realModName;
|
||||
}
|
||||
|
||||
function getModSlotPrice(modType: number): number {
|
||||
return carModSlotName.filter(x => x.Slot == modType)[0].Price;
|
||||
function getModSlotPrice(modType: number, basePrice: number, modIndex?: number): number {
|
||||
if (modIndex === -1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
let price = 0;
|
||||
let priceInfo = carModSlotName.filter(x => x.Slot == modType)[0];
|
||||
|
||||
if (priceInfo.BasePercentage) {
|
||||
price = ((priceInfo.BasePercentage + priceInfo.PriceIncreasePerLevel * modIndex) / 100) * basePrice;
|
||||
} else {
|
||||
price = priceInfo.Price;
|
||||
}
|
||||
|
||||
return price;
|
||||
}
|
||||
|
||||
function setHeadlightsColor(vehicle, index) {
|
||||
|
||||
@@ -14,7 +14,7 @@ html {
|
||||
}
|
||||
|
||||
#chat, a, body, html {
|
||||
color: #fff;
|
||||
color: white;
|
||||
}
|
||||
|
||||
body, html {
|
||||
@@ -59,12 +59,12 @@ a {
|
||||
#chat ul#chat_messages {
|
||||
height: 16.45em;
|
||||
min-width: 50ch;
|
||||
max-width: calc(60vw + 10px);
|
||||
max-width: calc(45vw + 10px);
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
word-break: break-all;
|
||||
word-break: break-word;
|
||||
list-style-type: none;
|
||||
margin-bottom: .25em;
|
||||
}
|
||||
@@ -80,16 +80,17 @@ a {
|
||||
}
|
||||
|
||||
#chat input#chat_msg {
|
||||
width: 60vw;
|
||||
width: 45vw;
|
||||
outline: 0;
|
||||
border: none;
|
||||
border-radius: 3px;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
font-weight: inherit;
|
||||
line-height: inherit;
|
||||
line-height: 1;
|
||||
color: white;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
padding: .5em;
|
||||
padding: .5em .75em .75em;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
@@ -104,4 +105,9 @@ a {
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255, 17, 0, 0);
|
||||
}
|
||||
/*# sourceMappingURL=main.css.map */
|
||||
|
||||
.timestamp {
|
||||
display: inline-block;
|
||||
width: 5.25em;
|
||||
}
|
||||
/*# sourceMappingURL=main.css.map */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"version": 3,
|
||||
"mappings": "AAAA,AAAA,IAAI,CAAC;EAAE,UAAU,EAAE,UAAU;CAAI;;AACjC,AAAA,CAAC,EAAE,CAAC,AAAA,OAAO,EAAE,CAAC,AAAA,MAAM,CAAC;EAAE,UAAU,EAAE,OAAO;CAAI;;AAG9C,AAAA,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;EACZ,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,CACV;CAAC;;AAED,AAAA,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;EACnB,KAAK,EAAE,IACT;CAAC;;AAED,AAAA,IAAI,EAAE,IAAI,CAAC;EACT,sBAAsB,EAAE,WAAW;EACnC,QAAQ,EAAE,MAAM;EAChB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;CAClB;;AAED,AAAA,IAAI,CAAC;EACH,WAAW,EAAE,oIAAoI;EACjJ,SAAS,EAAE,kBAAkB;EAC7B,WAAW,EAAE,GAAG;EAChB,SAAS,EAAE,GAAG;CACf;;AAED,AAAA,CAAC,CAAC;EAAE,eAAe,EAAE,IAAI;CAAI;;AAE7B,AAAA,WAAW,CAAC;EACV,OAAO,EAAE,IAAI;EACb,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,KAAK;EACZ,MAAM,EAAE,KAAK;EACb,OAAO,EAAE,CACX;CAAC;;AAED,AAAA,KAAK,CAAC;EACJ,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,CAAC;EAEV,WAAW,EAAE,IAAI;EACjB,WAAW,EAAE,8EAA8E;EAC3F,cAAc,EAAE,IAAI;EAEpB,UAAU,EAAE,GAAG;EACf,WAAW,EAAE,GAAG;CAsCjB;;AA/CD,AAWE,KAXG,CAWH,EAAE,AAAA,cAAc,CAAC;EACf,MAAM,EAAE,OAAO;EACf,SAAS,EAAE,IAAI;EACf,SAAS,EAAE,iBAAiB;EAC5B,SAAS,EAAE,YAAY;EAEvB,UAAU,EAAE,IAAI;EAChB,UAAU,EAAE,MAAM;EAClB,UAAU,EAAE,SAAS;EAErB,eAAe,EAAE,IAAI;EACrB,aAAa,EAAE,KAAK;CAQrB;;AA9BH,AAwBI,KAxBC,CAWH,EAAE,AAAA,cAAc,GAaX,EAAE,CAAC;EACJ,SAAS,EAAE,YAAY;EACvB,aAAa,EAAE,MAAM;CAGtB;;AA7BL,AA4BM,KA5BD,CAWH,EAAE,AAAA,cAAc,GAaX,EAAE,AAIF,WAAW,CAAC;EAAE,aAAa,EAAE,KAAK;CAAI;;AA5B7C,AAgCE,KAhCG,CAgCH,KAAK,AAAA,SAAS,CAAC;EACb,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,GAAG;EAElB,SAAS,EAAE,OAAO;EAClB,WAAW,EAAE,OAAO;EACpB,WAAW,EAAE,OAAO;EAEpB,KAAK,EAAE,KAAK;EACZ,UAAU,EAAE,kBAAiB;EAE7B,OAAO,EAAE,IAAI;CACd;;AAGH,AAAA,mBAAmB,CAAC;EAClB,KAAK,EAAE,IAAI;CAQZ;;AATD,AAGE,mBAHiB,AAGhB,MAAM,CAAC;EACN,UAAU,EAAE,mBAAmB;EAC/B,aAAa,EAAE,GAAG;CAGnB;;AARH,AAOI,mBAPe,AAGhB,MAAM,AAIJ,MAAM,CAAC;EAAE,UAAU,EAAE,mBAAmB;CAAI",
|
||||
"mappings": "AAAA,AAAA,IAAI,CAAC;EAAE,UAAU,EAAE,UAAU;CAAI;;AACjC,AAAA,CAAC,EAAE,CAAC,AAAA,OAAO,EAAE,CAAC,AAAA,MAAM,CAAC;EAAE,UAAU,EAAE,OAAO;CAAI;;AAG9C,AAAA,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;EACZ,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,CACV;CAAC;;AAED,AAAA,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;EAAE,KAAK,EAAE,KAAK;CAAI;;AAEvC,AAAA,IAAI,EAAE,IAAI,CAAC;EACT,sBAAsB,EAAE,WAAW;EACnC,QAAQ,EAAE,MAAM;EAChB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;CAClB;;AAED,AAAA,IAAI,CAAC;EACH,WAAW,EAAE,oIAAoI;EACjJ,SAAS,EAAE,kBAAkB;EAC7B,WAAW,EAAE,GAAG;EAChB,SAAS,EAAE,GAAG;CACf;;AAED,AAAA,CAAC,CAAC;EAAE,eAAe,EAAE,IAAI;CAAI;;AAE7B,AAAA,WAAW,CAAC;EACV,OAAO,EAAE,IAAI;EACb,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,KAAK;EACZ,MAAM,EAAE,KAAK;EACb,OAAO,EAAE,CACX;CAAC;;AAED,AAAA,KAAK,CAAC;EACJ,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,CAAC;EAEV,WAAW,EAAE,IAAI;EACjB,WAAW,EAAE,8EAA8E;EAC3F,cAAc,EAAE,IAAI;EAEpB,UAAU,EAAE,GAAG;EACf,WAAW,EAAE,GAAG;CAuCjB;;AAhDD,AAWE,KAXG,CAWH,EAAE,AAAA,cAAc,CAAC;EACf,MAAM,EAAE,OAAO;EACf,SAAS,EAAE,IAAI;EACf,SAAS,EAAE,iBAAiB;EAC5B,SAAS,EAAE,YAAY;EAEvB,UAAU,EAAE,IAAI;EAChB,UAAU,EAAE,MAAM;EAClB,UAAU,EAAE,UAAU;EAEtB,eAAe,EAAE,IAAI;EACrB,aAAa,EAAE,KAAK;CAQrB;;AA9BH,AAwBI,KAxBC,CAWH,EAAE,AAAA,cAAc,GAaX,EAAE,CAAC;EACJ,SAAS,EAAE,YAAY;EACvB,aAAa,EAAE,MAAM;CAGtB;;AA7BL,AA4BM,KA5BD,CAWH,EAAE,AAAA,cAAc,GAaX,EAAE,AAIF,WAAW,CAAC;EAAE,aAAa,EAAE,KAAK;CAAI;;AA5B7C,AAgCE,KAhCG,CAgCH,KAAK,AAAA,SAAS,CAAC;EACb,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,GAAG;EAElB,WAAW,EAAE,OAAO;EACpB,SAAS,EAAE,OAAO;EAClB,WAAW,EAAE,OAAO;EACpB,WAAW,EAAE,CAAC;EAEd,KAAK,EAAE,KAAK;EACZ,UAAU,EAAE,kBAAiB;EAE7B,OAAO,EAAE,gBAAgB;CAC1B;;AAGH,AAAA,mBAAmB,CAAC;EAClB,KAAK,EAAE,IAAI;CAQZ;;AATD,AAGE,mBAHiB,AAGhB,MAAM,CAAC;EACN,UAAU,EAAE,mBAAmB;EAC/B,aAAa,EAAE,GAAG;CAGnB;;AARH,AAOI,mBAPe,AAGhB,MAAM,AAIJ,MAAM,CAAC;EAAE,UAAU,EAAE,mBAAmB;CAAI;;AAIjD,AAAA,UAAU,CAAC;EACT,OAAO,EAAE,YAAY;EACrB,KAAK,EAAE,MAAM;CACd",
|
||||
"sources": [
|
||||
"main.scss"
|
||||
],
|
||||
|
||||
@@ -7,9 +7,7 @@ html { box-sizing: border-box; }
|
||||
margin: 0
|
||||
}
|
||||
|
||||
#chat, a, body, html {
|
||||
color: #fff
|
||||
}
|
||||
#chat, a, body, html { color: white; }
|
||||
|
||||
body, html {
|
||||
-webkit-font-smoothing: antialiased;
|
||||
@@ -49,12 +47,12 @@ a { text-decoration: none; }
|
||||
ul#chat_messages {
|
||||
height: 16.45em;
|
||||
min-width: 50ch;
|
||||
max-width: calc(60vw + 10px);
|
||||
max-width: calc(45vw + 10px);
|
||||
transform: rotate(0deg);
|
||||
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
word-break: break-all;
|
||||
word-break: break-word;
|
||||
|
||||
list-style-type: none;
|
||||
margin-bottom: .25em;
|
||||
@@ -68,19 +66,20 @@ a { text-decoration: none; }
|
||||
}
|
||||
|
||||
input#chat_msg {
|
||||
width: 60vw;
|
||||
width: 45vw;
|
||||
outline: 0;
|
||||
border: none;
|
||||
border-radius: 3px;
|
||||
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
font-weight: inherit;
|
||||
line-height: inherit;
|
||||
line-height: 1;
|
||||
|
||||
color: white;
|
||||
background: rgba(0, 0, 0, .5);
|
||||
|
||||
padding: .5em;
|
||||
padding: .5em .75em .75em;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,4 +92,9 @@ a { text-decoration: none; }
|
||||
|
||||
&:hover { background: rgba(255, 17, 0, 0); }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.timestamp {
|
||||
display: inline-block;
|
||||
width: 5.25em;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,13 @@ html {
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.show {
|
||||
display: show !important;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none !important;
|
||||
}
|
||||
html, body {
|
||||
margin: unset;
|
||||
}
|
||||
@@ -59,7 +65,7 @@ h2 {
|
||||
top: 0;
|
||||
z-index: 3;
|
||||
font-size: .9em;
|
||||
background-color: black;
|
||||
background-color: #0C0C0C;
|
||||
padding: 1em 0;
|
||||
}
|
||||
|
||||
@@ -87,15 +93,8 @@ table th {
|
||||
top: 3em;
|
||||
text-align: left;
|
||||
z-index: 2;
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
table th:first-child {
|
||||
border-top-left-radius: .25em;
|
||||
}
|
||||
|
||||
table th:last-child {
|
||||
border-top-right-radius: .25em;
|
||||
background-color: #0C0C0C;
|
||||
border-top: 1px solid #0f0f0f;
|
||||
}
|
||||
|
||||
table th, table td {
|
||||
@@ -216,4 +215,6 @@ ol.inline.stats {
|
||||
ol.inline.stats abbr {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
||||
/*# sourceMappingURL=style.css.map */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"version": 3,
|
||||
"mappings": "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",
|
||||
"mappings": "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",
|
||||
"sources": [
|
||||
"style.scss"
|
||||
],
|
||||
|
||||
@@ -40,7 +40,7 @@ h2 { font-size: 1.125em; }
|
||||
z-index: 3;
|
||||
|
||||
font-size: .9em;
|
||||
background-color: black;
|
||||
background-color: #0C0C0C;
|
||||
|
||||
padding: 1em 0;
|
||||
}
|
||||
@@ -67,10 +67,8 @@ table {
|
||||
text-align: left;
|
||||
z-index: 2;
|
||||
|
||||
background-color: black;
|
||||
|
||||
&:first-child { border-top-left-radius: .25em; }
|
||||
&:last-child { border-top-right-radius: .25em; }
|
||||
background-color: #0C0C0C;
|
||||
border-top: 1px solid #0f0f0f;
|
||||
}
|
||||
|
||||
th, td {
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<input type="text" name="input" id="input-value" autofocus>
|
||||
</div>
|
||||
|
||||
<a target="_blank" id="close"></a>
|
||||
<!--<a target="_blank" id="close"></a>-->
|
||||
</main>
|
||||
<script type="text/javascript" src="package://assets/js/jquery-3.3.1.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -10,76 +10,78 @@
|
||||
|
||||
<body>
|
||||
|
||||
<div class="alerts" id='alertbox'>
|
||||
</div>
|
||||
<div name="inventory" class="inventory hidden">
|
||||
|
||||
<div class="sidebar">
|
||||
<ul>
|
||||
<li name="side1" class="sidebaritem1" onclick="switchSite('backpackClass')">
|
||||
<img class="sideicon1" src="img/backpack/backpack.svg"><p class="bartext">Rucksack</p>
|
||||
</li>
|
||||
<li name="side2" class="sidebaritem2" onclick="getVehicle()">
|
||||
<img class="sideicon2" src="img/backpack/car.svg"><p class="bartext">Fahrzeug</p>
|
||||
</li>
|
||||
<!-- <li name="side3" class="sidebaritem3" onclick="switchSite('tradeClass')"><img class="sideicon4" src="img/backpack/trading.svg"><p class="bartext">Handel</p></li>
|
||||
<li name="side4" class="sidebaritem4 hidden" onclick="switchSite('handelClass')"><img class="sideicon4" src="img/backpack/trading.svg"><p class="bartext">Handeln</p></li>
|
||||
<li name="side5" class="sidebaritem5 hidden" onclick="getTrade()"><img class="sideicon4" src="img/backpack/save-money.svg"><p class="bartext">Anfrage</p></li> -->
|
||||
<li name="side6" class="sidebaritem6 hidden" onclick="switchSite('backClass')">
|
||||
<img class="sideicon4" src="img/backpack/back.svg"><p class="bartext">Zurück</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="alerts" id='alertbox'>
|
||||
</div>
|
||||
|
||||
<div name="backpackClass" class="backpack">
|
||||
<div class="main">
|
||||
<div class="Betrag" style="display: none;">
|
||||
<div class="BoxBlue">
|
||||
<input type="text" id="tf_zahl" name="number" placeholder="Betrag eingeben" min="1" step="1" oninput="this.value=this.value.replace(/[^0-9]/g,'');">
|
||||
<button id="tf_cancle" onclick="">Schließen</button>
|
||||
<button id="tf_submitZahl" onclick="">Bestätigen</button>
|
||||
<img class="blueIcon1" src="img/backpack/trash2.svg"></img>
|
||||
<div class="sidebar">
|
||||
<ul>
|
||||
<li name="side1" class="sidebaritem1" onclick="switchSite('backpackClass')">
|
||||
<img class="sideicon1" src="img/backpack/backpack.svg"><p class="bartext">Rucksack</p>
|
||||
</li>
|
||||
<li name="side2" class="sidebaritem2" onclick="getVehicle()">
|
||||
<img class="sideicon2" src="img/backpack/car.svg"><p class="bartext">Fahrzeug</p>
|
||||
</li>
|
||||
<!-- <li name="side3" class="sidebaritem3" onclick="switchSite('tradeClass')"><img class="sideicon4" src="img/backpack/trading.svg"><p class="bartext">Handel</p></li>
|
||||
<li name="side4" class="sidebaritem4 hidden" onclick="switchSite('handelClass')"><img class="sideicon4" src="img/backpack/trading.svg"><p class="bartext">Handeln</p></li>
|
||||
<li name="side5" class="sidebaritem5 hidden" onclick="getTrade()"><img class="sideicon4" src="img/backpack/save-money.svg"><p class="bartext">Anfrage</p></li> -->
|
||||
<li name="side6" class="sidebaritem6 hidden" onclick="switchSite('backClass')">
|
||||
<img class="sideicon4" src="img/backpack/back.svg"><p class="bartext">Zurück</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div name="backpackClass" class="backpack">
|
||||
<div class="main">
|
||||
<div class="Betrag" style="display: none;">
|
||||
<div class="BoxBlue">
|
||||
<input type="text" id="tf_zahl" name="number" placeholder="Betrag eingeben" min="1" step="1" oninput="this.value=this.value.replace(/[^0-9]/g,'');">
|
||||
<button id="tf_cancle" onclick="">Schließen</button>
|
||||
<button id="tf_submitZahl" onclick="">Bestätigen</button>
|
||||
<img class="blueIcon1" src="img/backpack/trash2.svg"></img>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="Betrag2" style="display: none;">
|
||||
<div class="BoxBlue">
|
||||
<input type="text" id="tf_zahl2" name="number" placeholder="Betrag eingeben" min="1" step="1" oninput="this.value=this.value.replace(/[^0-9]/g,'');">
|
||||
<div class="Betrag2" style="display: none;">
|
||||
<div class="BoxBlue">
|
||||
<input type="text" id="tf_zahl2" name="number" placeholder="Betrag eingeben" min="1" step="1" oninput="this.value=this.value.replace(/[^0-9]/g,'');">
|
||||
|
||||
<button id="tf_cancle2" onclick="">Schließen</button>
|
||||
<button id="tf_submitZahlToVehicle" onclick="">Zum Fahrzeug transferieren</button>
|
||||
<img class="blueIcon1" src="img/backpack/car.svg"></img>
|
||||
<button id="tf_cancle2" onclick="">Schließen</button>
|
||||
<button id="tf_submitZahlToVehicle" onclick="">Zum Fahrzeug transferieren</button>
|
||||
<img class="blueIcon1" src="img/backpack/car.svg"></img>
|
||||
</div>
|
||||
</div>
|
||||
<div class="title">
|
||||
<div class="titlecount"><span id="count1">0</span> / 40 Kilogramm</div>
|
||||
<div class="titletext">Rucksack</div>
|
||||
</div>
|
||||
<div class="items">
|
||||
<ul id="List0"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="title">
|
||||
<div class="titlecount"><span id="count1">0</span> / 40 Kilogramm</div>
|
||||
<div class="titletext">Rucksack</div>
|
||||
</div>
|
||||
<div class="items">
|
||||
<ul id="List0"></ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="vehClass" class="veh hidden">
|
||||
<div class="main">
|
||||
<div class="title">
|
||||
<div class="titlecount"><span id="count2">0</span> / <span id="trunkSize">0</span> Kilogramm</div>
|
||||
<div class="titletext">Fahrzeug</div>
|
||||
</div>
|
||||
<div class="Betrag4" style="display: none;">
|
||||
<div class="BoxBlue">
|
||||
<div name="vehClass" class="veh hidden">
|
||||
<div class="main">
|
||||
<div class="title">
|
||||
<div class="titlecount"><span id="count2">0</span> / <span id="trunkSize">0</span> Kilogramm</div>
|
||||
<div class="titletext">Fahrzeug</div>
|
||||
</div>
|
||||
<div class="Betrag4" style="display: none;">
|
||||
<div class="BoxBlue">
|
||||
|
||||
<img class="blueIcon1" src="img/backpack/backpack.svg">
|
||||
<button id="tf_cancle4" onclick="">Schließen</button><input type="text" id="tf_zahl4" name="number" placeholder="Betrag eingeben" min="1" step="1" oninput="this.value=this.value.replace(/[^0-9]/g,'');">
|
||||
<button id="tf_submitZahl4" onclick="">Zum Rucksack transferieren</button>
|
||||
<img class="blueIcon1" src="img/backpack/backpack.svg">
|
||||
<button id="tf_cancle4" onclick="">Schließen</button><input type="text" id="tf_zahl4" name="number" placeholder="Betrag eingeben" min="1" step="1" oninput="this.value=this.value.replace(/[^0-9]/g,'');">
|
||||
<button id="tf_submitZahl4" onclick="">Zum Rucksack transferieren</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="items">
|
||||
<ul id="List4"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="items">
|
||||
<ul id="List4"></ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div name="handelClass" class="handel hidden">
|
||||
<!-- <div name="handelClass" class="handel hidden">
|
||||
<div class="main">
|
||||
<div class="Betrag3" style="display:none;">
|
||||
<input type="text" id="tf_zahl3" name="number" placeholder="Betrag eingeben" min="1" step="1" oninput="this.value=this.value.replace(/[^0-9]/g,'');">
|
||||
@@ -107,7 +109,8 @@
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<div id="invisible" style="display: none"></div>
|
||||
<div id="invisible" style="display: none"></div>
|
||||
</div>
|
||||
|
||||
<script src="../../js/jquery-3.3.1.min.js"></script>
|
||||
<script>
|
||||
@@ -176,6 +179,20 @@
|
||||
|
||||
var vehInvItem = [];
|
||||
|
||||
function showInventory() {
|
||||
lastClass = "backpackClass";
|
||||
|
||||
document.getElementsByName("backpackClass")[0].classList.remove("hidden");
|
||||
document.getElementsByName("vehClass")[0].classList.remove("hidden");
|
||||
document.getElementsByName("vehClass")[0].classList.toggle("hidden");
|
||||
//document.getElementsByName("handelClass")[0].style.visibility = "hidden";
|
||||
document.getElementsByName("inventory")[0].classList.remove("hidden");
|
||||
}
|
||||
|
||||
function closeInventory() {
|
||||
document.getElementsByName("inventory")[0].classList.toggle("hidden");
|
||||
}
|
||||
|
||||
function setBackpackItems(jsonItemArr) {
|
||||
console.log(jsonItemArr);
|
||||
var parsedItemArr = JSON.parse(jsonItemArr)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!DOCTYPE html>
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
@@ -8,42 +8,47 @@
|
||||
<link rel="stylesheet" href="../../css/onlinelist/style.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<div class="heading">
|
||||
<h1>Spielerliste</h1>
|
||||
<h2>Spieler: <span id="player-count">0</span></h2>
|
||||
<div name="OnlineList" class="onlineList hidden">
|
||||
<div class="wrapper">
|
||||
<div class="heading">
|
||||
<h1>Spielerliste</h1>
|
||||
<h2>Spieler: <span id="player-count">0</span></h2>
|
||||
</div>
|
||||
|
||||
<div class="factions">
|
||||
<ol class="inline stats">
|
||||
<li><span class="group group--1">LSPD</span>: <span id="1">0</span></li>
|
||||
<li><span class="group group--3">FIB</span>: <span id="3">0</span></li>
|
||||
<li><span class="group group--2">LSED</span>: <span id="2">0</span></li>
|
||||
|
||||
<li><span class="group group--7">GSF</span>: <span id="7">0</span></li>
|
||||
<li><span class="group group--8">FYB</span>: <span id="8">0</span></li>
|
||||
<li><span class="group group--5">LSV</span>: <span id="5">0</span></li>
|
||||
|
||||
<li><span class="group group--9">WZN</span>: <span id="9">0</span></li>
|
||||
<li><span class="group group--0">ZIVI</span>: <span id="0">0</span></li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-sort="int">ID</th>
|
||||
<th data-sort="string">Name</th>
|
||||
<th data-sort="string">Fraktion</th>
|
||||
<th data-sort="int">Ping (ms)</th>
|
||||
<tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="players">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="factions">
|
||||
<ol class="inline stats">
|
||||
<li><span class="group group--1">LSPD</span>: <span id="1">0</span></li>
|
||||
<li><span class="group group--3">FIB</span>: <span id="3">0</span></li>
|
||||
<li><span class="group group--2">LSED</span>: <span id="2">0</span></li>
|
||||
|
||||
<li><span class="group group--7">GSF</span>: <span id="7">0</span></li>
|
||||
<li><span class="group group--8">FYB</span>: <span id="8">0</span></li>
|
||||
<li><span class="group group--5">LSV</span>: <span id="5">0</span></li>
|
||||
|
||||
<li><span class="group group--9">WZN</span>: <span id="9">0</span></li>
|
||||
<li><span class="group group--0">ZIVI</span>: <span id="0">0</span></li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Name</th>
|
||||
<th>Fraktion</th>
|
||||
<th>Ping (ms)</th>
|
||||
<tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="players">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<script src="../../js/onlinelist/script.js"></script>
|
||||
<script src="../../js/jquery-3.3.1.min.js"></script>
|
||||
<script src="../../js/onlinelist/stupidtable.min.js"></script>
|
||||
<script src="../../js/onlinelist/script.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 2.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 2.2 KiB |
@@ -1,7 +1,7 @@
|
||||
let chat =
|
||||
{
|
||||
size: 0,
|
||||
history_limit: 50,
|
||||
history_limit: 150,
|
||||
container: null,
|
||||
input: null,
|
||||
enabled: false,
|
||||
@@ -21,10 +21,9 @@ function enableChatInput(enable) {
|
||||
mp.invoke("focus", enable);
|
||||
|
||||
if (enable) {
|
||||
chat.input = $("#chat").append('<div><input id="chat_msg" type="text" /></div>').children(":last");
|
||||
chat.input = $("#chat").append('<div><input id="chat_msg" type="text" maxlength="375" /></div>').children(":last");
|
||||
chat.input.children("input").focus();
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
chat.input.fadeOut('fast', function () {
|
||||
chat.input.remove();
|
||||
chat.input = null;
|
||||
@@ -66,10 +65,10 @@ var chatAPI =
|
||||
|
||||
if (chatElement === "<li></li>") {
|
||||
if (chat.input == null || elmnt.scrollTop == elmnt.scrollHeight - elmnt.clientHeight) {
|
||||
chat.container.append("<li>" + "[" + today.toLocaleTimeString('de-DE') + "] " + text + "</li>");
|
||||
chat.container.append("<li>" + "<span class='timestamp'>[" + today.toLocaleTimeString('de-DE') + "]</span> " + text + "</li>");
|
||||
elmnt.scrollTop = elmnt.scrollHeight - elmnt.clientHeight;
|
||||
} else {
|
||||
chat.container.append("<li>" + "[" + today.toLocaleTimeString('de-DE') + "] " + text + "</li>");
|
||||
chat.container.append("<li>" + "<span class='timestamp'>[" + today.toLocaleTimeString('de-DE') + "]</span> " + text + "</li>");
|
||||
}
|
||||
} else {
|
||||
chat.container.append(chatElement);
|
||||
|
||||
@@ -3,12 +3,26 @@ window.onbeforeunload = () => { window.scrollTo(0, 0); }
|
||||
setPlayerCount = (factionId, value) => {
|
||||
if (factionId == -1) {
|
||||
document.getElementById('player-count').innerHTML = value;
|
||||
addTableSorting();
|
||||
} else if (factionId >= 0 && factionId <= 9) {
|
||||
document.getElementById(factionId).innerHTML = value;
|
||||
}
|
||||
}
|
||||
|
||||
function showPlayerList() {
|
||||
document.getElementsByName("OnlineList")[0].classList.remove("hidden");
|
||||
mp.events.call("CEF:PlayerList_Loaded");
|
||||
window.scrollTo(0, 0);
|
||||
}
|
||||
function closePlayerList() {
|
||||
document.getElementsByName("OnlineList")[0].classList.toggle("hidden");
|
||||
}
|
||||
|
||||
function clear_row() {
|
||||
document.getElementById('players').innerHTML = '';
|
||||
}
|
||||
|
||||
|
||||
|
||||
function getFactionNameByFactionId(factionId) {
|
||||
switch (parseInt(factionId)) {
|
||||
case 1: return "LSPD";
|
||||
@@ -28,33 +42,4 @@ function addPlayerEntry(userId, userName, factionId, userPing) {
|
||||
document.getElementById('players').innerHTML += `<tr><td>${userId}</td> <td>${userName}</td> <td class="group group--${factionId}">${factionName}</td> <td>${userPing}</td></tr>`;
|
||||
}
|
||||
|
||||
// https://www.jstips.co/en/javascript/detect-document-ready-in-pure-js/
|
||||
document.onreadystatechange = () => {
|
||||
if (document.readyState === 'complete') { mp.trigger('CEF:PlayerList_Loaded'); }
|
||||
};
|
||||
|
||||
// Sortierung von https://codepen.io/selbekk/pen/LNOZKL
|
||||
function addTableSorting() {
|
||||
const headers = Array.from(document.querySelectorAll('th'));
|
||||
const rows = Array.from(document.querySelectorAll('tbody tr'));
|
||||
|
||||
function sort(e) {
|
||||
const index = headers.indexOf(e.target);
|
||||
const sortVal = e.target.classList.contains('is-asc') ? 1 : -1;
|
||||
rows.sort((a, b) => {
|
||||
const aValue = a.children[index].innerHTML;
|
||||
const bValue = b.children[index].innerHTML;
|
||||
if(aValue > bValue) { return sortVal; }
|
||||
if(aValue < bValue) { return -sortVal; }
|
||||
return 0;
|
||||
})
|
||||
|
||||
e.target.classList.add('is-sorted');
|
||||
e.target.classList.toggle('is-asc');
|
||||
const body = document.querySelector('tbody');
|
||||
body.innerHTML = '';
|
||||
rows.forEach(row => body.appendChild(row));
|
||||
}
|
||||
|
||||
headers.forEach(header => header.addEventListener('click', sort));
|
||||
}
|
||||
$("table").stupidtable();
|
||||
|
||||
1
ReallifeGamemode.Client/assets/js/onlinelist/stupidtable.min.js
vendored
Normal file
1
ReallifeGamemode.Client/assets/js/onlinelist/stupidtable.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!function(i){i.fn.stupidtable=function(n){return this.each(function(){var t=i(this);n=n||{},n=i.extend({},i.fn.stupidtable.default_sort_fns,n),t.data("sortFns",n),t.stupidtable_build(),t.on("click.stupidtable","thead th",function(){i(this).stupidsort()}),t.find("th[data-sort-onload=yes]").eq(0).stupidsort()})},i.fn.stupidtable.default_settings={should_redraw:function(t){return!0},will_manually_build_table:!1},i.fn.stupidtable.dir={ASC:"asc",DESC:"desc"},i.fn.stupidtable.default_sort_fns={int:function(t,n){return parseInt(t,10)-parseInt(n,10)},float:function(t,n){return parseFloat(t)-parseFloat(n)},string:function(t,n){return t.toString().localeCompare(n.toString())},"string-ins":function(t,n){return t=t.toString().toLocaleLowerCase(),n=n.toString().toLocaleLowerCase(),t.localeCompare(n)}},i.fn.stupidtable_settings=function(a){return this.each(function(){var t=i(this),n=i.extend({},i.fn.stupidtable.default_settings,a);t.stupidtable.settings=n})},i.fn.stupidsort=function(t){var a=i(this),n=a.data("sort")||null;if(null!==n){var r=a.closest("table"),e={$th:a,$table:r,datatype:n};return r.stupidtable.settings||(r.stupidtable.settings=i.extend({},i.fn.stupidtable.default_settings)),e.compare_fn=r.data("sortFns")[n],e.th_index=l(e),e.sort_dir=u(t,e),a.data("sort-dir",e.sort_dir),r.trigger("beforetablesort",{column:e.th_index,direction:e.sort_dir,$th:a}),r.css("display"),setTimeout(function(){r.stupidtable.settings.will_manually_build_table||r.stupidtable_build();var t=s(e),n=d(t,e);r.stupidtable.settings.should_redraw(e)&&(r.children("tbody").append(n),o(e),r.trigger("aftertablesort",{column:e.th_index,direction:e.sort_dir,$th:a}),r.css("display"))},10),a}},i.fn.updateSortVal=function(t){var n=i(this);return n.is("[data-sort-value]")&&n.attr("data-sort-value",t),n.data("sort-value",t),n},i.fn.stupidtable_build=function(){return this.each(function(){var t=i(this),a=[];t.children("tbody").children("tr").each(function(t,n){var e={$tr:i(n),columns:[],index:t};i(n).children("td").each(function(t,n){var a=i(n).data("sort-value");if(void 0===a){var r=i(n).text();i(n).data("sort-value",r),a=r}e.columns.push(a)}),a.push(e)}),t.data("stupidsort_internaltable",a)})};var s=function(s){var t,n=s.$table.data("stupidsort_internaltable"),d=s.th_index,a=s.$th.data("sort-multicolumn");t=a?a.split(","):[];var o=i.map(t,function(t,n){return r(s.$table,t)});return n.sort(function(t,n){for(var a=o.slice(0),r=s.compare_fn(t.columns[d],n.columns[d]);0===r&&a.length;){var e=a[0],i=e.$e.data("sort");r=(0,s.$table.data("sortFns")[i])(t.columns[e.index],n.columns[e.index]),a.shift()}return 0===r?t.index-n.index:r}),s.sort_dir!=i.fn.stupidtable.dir.ASC&&n.reverse(),n},r=function(t,n){var a,r=t.find("th"),e=parseInt(n,10);return e||0===e?a=r.eq(e):(a=r.siblings("#"+n),e=r.index(a)),{index:e,$e:a}},d=function(t,a){var n=i.map(t,function(t,n){return[[t.columns[a.th_index],t.$tr,n]]});return a.column=n,i.map(t,function(t){return t.$tr})},o=function(t){var n=t.$table,a=t.$th,r=a.data("sort-dir");n.find("th").data("sort-dir",null).removeClass("sorting-desc sorting-asc"),a.data("sort-dir",r).addClass("sorting-"+r)},u=function(t,n){var a,r=n.$th,e=i.fn.stupidtable.dir;return t?a=t:(a=t||r.data("sort-default")||e.ASC,r.data("sort-dir")&&(a=r.data("sort-dir")===e.ASC?e.DESC:e.ASC)),a},l=function(t){var n=0,a=t.$th.index();return t.$th.parents("tr").find("th").slice(0,a).each(function(){var t=i(this).attr("colspan")||1;n+=parseInt(t,10)}),n}}(window.jQuery);
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6f1478ada7534b954caaec991bb2a3a24767b978de82533965e0c21c3d02831f
|
||||
size 8491
|
||||
3
ReallifeGamemode.Client/dlcpacks/fibgarage/dlc.rpf
Normal file
3
ReallifeGamemode.Client/dlcpacks/fibgarage/dlc.rpf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d7c638247cd28299585423da1746b80f7262daa3e86ffafd9d3254b9a66ef8e2
|
||||
size 38912
|
||||
3
ReallifeGamemode.Client/dlcpacks/heal/dlc.rpf
Normal file
3
ReallifeGamemode.Client/dlcpacks/heal/dlc.rpf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bb41e0f12df5bc1a1d0425d0b01f0918a18d27d6e10fec95145cd5d4633a29cd
|
||||
size 38912
|
||||
3
ReallifeGamemode.Client/dlcpacks/polcoquette/dlc.rpf
Normal file
3
ReallifeGamemode.Client/dlcpacks/polcoquette/dlc.rpf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fc9132404cdc1d20830d4684697bf82f3738bc4345cc6d1189cf2b63f0b15de8
|
||||
size 2962432
|
||||
3
ReallifeGamemode.Client/dlcpacks/sheriffcoqm/dlc.rpf
Normal file
3
ReallifeGamemode.Client/dlcpacks/sheriffcoqm/dlc.rpf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7a66cd9ec235636bd61c7cf90c0602be8bf97c303fe2fa6703b49c42352aeb7c
|
||||
size 18657792
|
||||
3
ReallifeGamemode.Client/dlcpacks/vagos/dlc.rpf
Normal file
3
ReallifeGamemode.Client/dlcpacks/vagos/dlc.rpf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e881ff859b49942bfa942525cb5acac5bd5a123c3febbbec28da3b84acc266b6
|
||||
size 98816
|
||||
3
ReallifeGamemode.Client/dlcpacks/vtvicechee/dlc.rpf
Normal file
3
ReallifeGamemode.Client/dlcpacks/vtvicechee/dlc.rpf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a7eb55afdb7bc022b5308388902e886291bff38a688b38e0dfcb48d492232a1a
|
||||
size 5581312
|
||||
6
ReallifeGamemode.Client/global.d.ts
vendored
6
ReallifeGamemode.Client/global.d.ts
vendored
@@ -91,6 +91,12 @@ declare type WeaponCategory = {
|
||||
Weapons: Weapon[];
|
||||
}
|
||||
|
||||
declare type RentcarProperty = {
|
||||
Name: string;
|
||||
Price: number;
|
||||
}
|
||||
}
|
||||
|
||||
declare type PlayerCharacterData = {
|
||||
Gender: boolean;
|
||||
Father: number;
|
||||
|
||||
@@ -186,8 +186,8 @@ ped();
|
||||
import reportList from './Player/reportmenu';
|
||||
reportList(globalData);
|
||||
|
||||
import nodmHandler from './Player/nodm';
|
||||
nodmHandler();
|
||||
import polygonHandler from './Player/polygons';
|
||||
polygonHandler();
|
||||
|
||||
import checkpointHandle from './util/checkpoint';
|
||||
checkpointHandle(globalData);
|
||||
@@ -208,7 +208,7 @@ import PilotRouteList from './Jobs/PilotRouteSelect';
|
||||
PilotRouteList(globalData);
|
||||
|
||||
import weapondamageUtil from './util/weapondamage';
|
||||
weapondamageUtil();
|
||||
weapondamageUtil(globalData);
|
||||
|
||||
import soundUtil from './util/sound';
|
||||
soundUtil();
|
||||
@@ -277,6 +277,14 @@ handsup();
|
||||
import spawnschutz from './Player/spawnschutz';
|
||||
spawnschutz();
|
||||
|
||||
import bigmap from './Gui/bigmap';
|
||||
bigmap();
|
||||
|
||||
import notification from './Gui/notification';
|
||||
notification();
|
||||
|
||||
import rentCar from './util/rentcar';
|
||||
rentCar(globalData);
|
||||
|
||||
require('./Gui/policedepartment');
|
||||
require('./Gui/helptext');
|
||||
@@ -290,4 +298,4 @@ interface VehicleData {
|
||||
|
||||
export {
|
||||
VehicleData
|
||||
}
|
||||
}
|
||||
@@ -12,51 +12,27 @@
|
||||
|
||||
var loaded = false;
|
||||
|
||||
mp.events.add('inventoryShow', () => {
|
||||
if (invBrowser !== null) {
|
||||
invBrowser.destroy()
|
||||
invBrowser = null;
|
||||
globalData.InMenu = false;
|
||||
loaded = false;
|
||||
mp.gui.cursor.show(false, false);
|
||||
return;
|
||||
}
|
||||
if (!globalData.InMenu) {
|
||||
globalData.InMenu = true;
|
||||
mp.gui.cursor.show(true, true);
|
||||
itemArr = [];
|
||||
vehItemArr = [];
|
||||
invBrowser = mp.browsers.new('package://assets/html/inventory/inventory.html');
|
||||
}
|
||||
});
|
||||
var offer = 0;
|
||||
|
||||
var tradeItemID;
|
||||
var tradeItemAmount;
|
||||
var tradeItemName;
|
||||
var tradeItemWeight;
|
||||
|
||||
mp.events.add('openInventory', () => {
|
||||
globalData.InMenu = true;
|
||||
mp.gui.cursor.show(true, true);
|
||||
mp.events.add('loadInventoryCEF', () => {
|
||||
itemArr = [];
|
||||
vehItemArr = [];
|
||||
if (invBrowser !== null) {
|
||||
invBrowser.destroy
|
||||
}
|
||||
invBrowser = mp.browsers.new('package://assets/html/inventory/inventory.html');
|
||||
});
|
||||
mp.events.add('closeInventory', () => {
|
||||
invBrowser.destroy()
|
||||
invBrowser = null;
|
||||
globalData.InMenu = false;
|
||||
loaded = false;
|
||||
mp.gui.cursor.show(false, false);
|
||||
return;
|
||||
});
|
||||
|
||||
mp.events.addDataHandler("tradeOffer", (entity, value) => {
|
||||
if (entity.type === "player") {
|
||||
offer = parseInt(value);
|
||||
if (invBrowser != null)
|
||||
invBrowser.execute(`changeTradeStatus('${JSON.stringify(offer)}')`);
|
||||
mp.events.add('inventoryShow', () => {
|
||||
if (!globalData.InMenu && !loaded) {
|
||||
globalData.InMenu = true;
|
||||
mp.gui.cursor.show(true, true);
|
||||
loaded = true;
|
||||
|
||||
invBrowser.execute(`showInventory()`);
|
||||
} else if (loaded) {
|
||||
globalData.InMenu = false;
|
||||
mp.gui.cursor.show(false, false);
|
||||
loaded = false;
|
||||
invBrowser.execute(`closeInventory()`);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -81,17 +57,6 @@
|
||||
}
|
||||
});
|
||||
|
||||
mp.events.add("CEF:InventoryLoaded", () => {
|
||||
invBrowser.execute(`setBackpackItems('${JSON.stringify(itemArr)}')`);
|
||||
if (vehItemArr.length != 0) {
|
||||
invBrowser.execute(`setVehicleItems('${JSON.stringify(vehItemArr)}')`);
|
||||
}
|
||||
|
||||
//invBrowser.execute(`setTradeItems('${JSON.stringify(tradeItemArr)}')`);
|
||||
//invBrowser.execute(`setOfferItems('${JSON.stringify(offerItemArr)}')`);
|
||||
loaded = true;
|
||||
});
|
||||
|
||||
mp.events.add("CEF:callVehicleInventory", () => {
|
||||
mp.events.callRemote("CLIENT:getVehicleInventory")
|
||||
});
|
||||
@@ -117,8 +82,8 @@
|
||||
mp.events.add("aproveUse", (amount, name) => {
|
||||
if (invBrowser !== null) {
|
||||
mp.game.audio.playSoundFrontend(1, "LOCAL_PLYR_CASH_COUNTER_COMPLETE", "DLC_HEISTS_GENERAL_FRONTEND_SOUNDS", true);
|
||||
invBrowser.execute(`alertGreen('${JSON.stringify(amount)}','${JSON.stringify(name)}')`);
|
||||
mp.events.call("closeInventory");
|
||||
//invBrowser.execute(`alertGreen('${JSON.stringify(amount)}','${JSON.stringify(name)}')`);
|
||||
//mp.events.call("inventoryShow");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -171,16 +136,4 @@
|
||||
mp.events.add("CEF:UseItemInv", (itemId) => {
|
||||
mp.events.callRemote('invUseItem', itemId);
|
||||
});
|
||||
|
||||
mp.events.add("CEF:tradeItem", (money, User, tradeItems, tradeItemAmount) => {
|
||||
if (invBrowser !== null) {
|
||||
try {
|
||||
invBrowser.destroy()
|
||||
invBrowser = null;
|
||||
mp.events.callRemote('tradeItem', 0, User, tradeItems, tradeItemAmount);
|
||||
} finally {
|
||||
mp.gui.cursor.show(false, false);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1,4 +1,6 @@
|
||||
export default function gangwarHandle(globalData: IGlobalData) {
|
||||
var gangwarKillCounter = 0;
|
||||
|
||||
function inside(point, vs) {
|
||||
let x = point[0],
|
||||
y = point[1];
|
||||
@@ -625,4 +627,12 @@
|
||||
//turf.render();
|
||||
}
|
||||
});
|
||||
|
||||
mp.events.add("gangWarKillNotification", (deathPlayername) => {
|
||||
mp.events.call("BN_Show", "~y~GANGWAR~w~: Du hast ~r~" + deathPlayername + " ~w~getötet. Kills: " + ++gangwarKillCounter);
|
||||
});
|
||||
|
||||
mp.events.add("resetKillcounter", () => {
|
||||
gangwarKillCounter = 0;
|
||||
});
|
||||
}
|
||||
@@ -87,7 +87,7 @@ export default function animationSync() {
|
||||
mp.events.addDataHandler("AnimationData", (entity, string) => {
|
||||
entity.clearTasksImmediately();
|
||||
if (animationBreakTimer) {
|
||||
clearInterval(animationBreakTimer);
|
||||
clearTimeout(animationBreakTimer);
|
||||
animationBreakTimer = null;
|
||||
}
|
||||
if (string == null) {
|
||||
@@ -109,13 +109,12 @@ export default function animationSync() {
|
||||
|
||||
if (mp.players.local == entity) {
|
||||
if (!endless) {
|
||||
animationBreakTimer = setInterval(() => breakAnimation(name), 120000);
|
||||
animationBreakTimer = setTimeout(() => breakAnimation(name), 120000);
|
||||
}
|
||||
|
||||
if (!loop) {
|
||||
let a = setInterval(function () {
|
||||
clearInterval(a);
|
||||
mp.game.wait(500);
|
||||
let a = setTimeout(function () {
|
||||
clearTimeout(a);
|
||||
mp.events.callRemote("CLIENT:ClearAnimationData", true);
|
||||
}, duration);
|
||||
}
|
||||
@@ -126,7 +125,7 @@ export default function animationSync() {
|
||||
let { animName, msg } = animationBreakMessage.find(c => c.animName == name)
|
||||
|
||||
if (msg)
|
||||
mp.events.call("renderTextOnScreen", msg);
|
||||
mp.events.call("BN_Show", msg);
|
||||
|
||||
clearInterval(animationBreakTimer);
|
||||
animationBreakTimer = null;
|
||||
|
||||
102
ReallifeGamemode.Client/util/rentcar.ts
Normal file
102
ReallifeGamemode.Client/util/rentcar.ts
Normal file
@@ -0,0 +1,102 @@
|
||||
import * as NativeUI from '../libs/NativeUI';
|
||||
|
||||
const Menu = NativeUI.Menu;
|
||||
const UIMenuItem = NativeUI.UIMenuItem;
|
||||
const UIMenuListItem = NativeUI.UIMenuListItem;
|
||||
const Point = NativeUI.Point;
|
||||
const ItemsCollection = NativeUI.ItemsCollection;
|
||||
const Color = NativeUI.Color;
|
||||
|
||||
|
||||
let screenRes = mp.game.graphics.getScreenResolution(0, 0);
|
||||
|
||||
let sendItem = new UIMenuItem("Mieten", "Fahrzeug Mieten");
|
||||
sendItem.BackColor = new Color(13, 71, 161);
|
||||
sendItem.HighlightedBackColor = new Color(25, 118, 210);
|
||||
|
||||
let cancelItem = new UIMenuItem("Abbrechen", "");
|
||||
cancelItem.BackColor = new Color(213, 0, 0);
|
||||
cancelItem.HighlightedBackColor = new Color(229, 57, 53);
|
||||
|
||||
|
||||
export default function rentCar(globalData: IGlobalData) {
|
||||
|
||||
var rentcarMenu: NativeUI.Menu;
|
||||
var vehiclesToRent: RentcarProperty[] = [];
|
||||
var vehicleNames: string[] = [];
|
||||
var vehiclePrices: number[] = [];
|
||||
var selectedIndex: number;
|
||||
|
||||
var payTimer;
|
||||
var totalTime: number = 0;
|
||||
var totalBill: number = 0;
|
||||
|
||||
mp.events.add('showRentcarMenu', (vehiclestring, rentcarLocation) => {
|
||||
if (globalData.InMenu) {
|
||||
return;
|
||||
}
|
||||
|
||||
globalData.InMenu = true;
|
||||
|
||||
vehiclesToRent = JSON.parse(vehiclestring);
|
||||
|
||||
vehicleNames = [];
|
||||
vehiclePrices = [];
|
||||
for (let entry of vehiclesToRent) {
|
||||
vehicleNames.push(entry.Name);
|
||||
vehiclePrices.push(entry.Price);
|
||||
}
|
||||
|
||||
rentcarMenu = new Menu("Fahrzeugverleih", "", new Point(0, screenRes.y / 3), null, null);
|
||||
rentcarMenu.AddItem(new UIMenuListItem("Fahrzeug", "$" + vehiclePrices[0] + " alle 3 Minuten", new ItemsCollection(vehicleNames)));
|
||||
|
||||
rentcarMenu.AddItem(sendItem);
|
||||
rentcarMenu.AddItem(cancelItem);
|
||||
rentcarMenu.Visible = true;
|
||||
//outeText = "Route 1";
|
||||
|
||||
selectedIndex = 0;
|
||||
|
||||
rentcarMenu.ListChange.on((item: NativeUI.UIMenuListItem, index) => {
|
||||
switch (item.Text) {
|
||||
case "Fahrzeug":
|
||||
item.Description = "$" + vehiclePrices[index] + " alle 3 Minuten";
|
||||
selectedIndex = index;
|
||||
//item.Description = item.SelectedValue;
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
rentcarMenu.ItemSelect.on((item) => {
|
||||
if (item.Text === "Mieten") {
|
||||
mp.events.callRemote("SERVER:rentcarBooked", vehicleNames[selectedIndex], vehiclePrices[selectedIndex], rentcarLocation);
|
||||
rentcarMenu.Close();
|
||||
globalData.InMenu = false;
|
||||
} else if (item.Text === "Abbrechen") {
|
||||
rentcarMenu.Close();
|
||||
globalData.InMenu = false;
|
||||
}
|
||||
});
|
||||
|
||||
rentcarMenu.MenuClose.on(() => {
|
||||
globalData.InMenu = false;
|
||||
});
|
||||
});
|
||||
|
||||
mp.events.add('triggerRentcarTimer', (interval, pricePerInterval) => {
|
||||
totalBill = pricePerInterval;
|
||||
mp.events.callRemote("SERVER:updateRentCarBill", totalBill, totalTime);
|
||||
clearInterval(payTimer);
|
||||
|
||||
payTimer = setInterval(() => {
|
||||
totalTime += interval;
|
||||
totalBill += pricePerInterval;
|
||||
|
||||
mp.events.callRemote("SERVER:updateRentCarBill", totalBill, totalTime);
|
||||
}, interval * 1000);
|
||||
});
|
||||
|
||||
mp.events.add('abortRentcarTimer', () => {
|
||||
clearInterval(payTimer);
|
||||
});
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
import { isInAnyNoDMPolygon, listNoDMZones } from "../Player/nodm";
|
||||
import { isInAnyNoDMPolygon, listNoDMZones } from "../Player/polygons";
|
||||
import polygons from "../polygons";
|
||||
import { getWantedCount } from "../Gui/wanteds";
|
||||
import { spawnschutzEnabled } from "../Player/spawnschutz";
|
||||
@@ -18,7 +18,7 @@ function isTargetInPolygon(pos): boolean {
|
||||
return false;
|
||||
}
|
||||
|
||||
export default function weapondamageUtil() {
|
||||
export default function weapondamageUtil(globalData: IGlobalData) {
|
||||
let blockInput = false;
|
||||
|
||||
mp.players.local.setSuffersCriticalHits(false);
|
||||
@@ -32,12 +32,16 @@ export default function weapondamageUtil() {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (globalData.IsAfk == true && getWantedCount() === 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (spawnschutzEnabled && getWantedCount() === 0) {
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
mp.events.add('outgoingDamage', (sourceEntity, targetEntity, sourcePlayer, weapon, boneIndex, damage) => {
|
||||
mp.events.add(RageEnums.EventKey.OUTGOING_DAMAGE, (sourceEntity, targetEntity, sourcePlayer, weapon, boneIndex, damage) => {
|
||||
if (spawnschutzEnabled && getWantedCount() === 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user