diff --git a/.editorconfig b/.editorconfig
index b42c8ea4..0fadfff1 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -122,3 +122,5 @@ csharp_preserve_single_line_blocks = true
[*.vb]
# Modifier preferences
visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async:suggestion
+[*.js]
+encoding=utf-8-bom
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 4743a2ce..7dd68243 100644
--- a/.gitignore
+++ b/.gitignore
@@ -336,7 +336,7 @@ ASALocalRun/
launchSettings.json
tmp/
-index.js
+ReallifeGamemode.Client/index.js
# post build config
postbuild.config.xml
diff --git a/ReallifeGamemode.Client/Business/cardealer.ts b/ReallifeGamemode.Client/Business/cardealer.ts
index b6667a31..3a7c4d8e 100644
--- a/ReallifeGamemode.Client/Business/cardealer.ts
+++ b/ReallifeGamemode.Client/Business/cardealer.ts
@@ -1,4 +1,4 @@
-import * as NativeUI from '../libs/NativeUI';
+import * as NativeUI from '../libs/NativeUI';
const Menu = NativeUI.Menu;
const UIMenuItem = NativeUI.UIMenuItem;
const UIMenuListItem = NativeUI.UIMenuListItem;
@@ -37,6 +37,8 @@ export default function carDealer(globalData: IGlobalData) {
var text = label.text.replace("SHOPVEHICLE", realName);
label.text = text;
+ entity.setOnGroundProperly();
+ entity.setExplodesOnHighExplosionDamage(false);
entity.freezePosition(true);
}
@@ -62,7 +64,7 @@ export default function carDealer(globalData: IGlobalData) {
shopMenu.AddItem(priceItem);
var targetsCollection = new ItemsCollection(availableOptions);
- var targetItem = new UIMenuListItem("Kaufen für", "Wähle den Besitzer aus", targetsCollection);
+ var targetItem = new UIMenuListItem("Kaufen für", "Wähle den Besitzer aus", targetsCollection);
shopMenu.AddItem(targetItem);
shopMenu.ListChange.on((item, index) => {
diff --git a/ReallifeGamemode.Client/CharCreator/data.ts b/ReallifeGamemode.Client/CharCreator/data.ts
index bb827216..83801bab 100644
--- a/ReallifeGamemode.Client/CharCreator/data.ts
+++ b/ReallifeGamemode.Client/CharCreator/data.ts
@@ -1,4 +1,4 @@
-const fathers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 42, 43, 44];
+const fathers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 42, 43, 44];
const mothers = [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 45];
const fatherNames = ["Benjamin", "Daniel", "Joshua", "Noah", "Andrew", "Juan", "Alex", "Isaac", "Evan", "Ethan", "Vincent", "Angel", "Diego", "Adrian", "Gabriel", "Michael", "Santiago", "Kevin", "Louis", "Samuel", "Anthony", "Claude", "Niko", "John"];
const motherNames = ["Hannah", "Aubrey", "Jasmine", "Gisele", "Amelia", "Isabella", "Zoe", "Ava", "Camila", "Violet", "Sophia", "Evelyn", "Nicole", "Ashley", "Gracie", "Brianna", "Natalie", "Olivia", "Elizabeth", "Charlotte", "Emma", "Misty"];
diff --git a/ReallifeGamemode.Client/CharCreator/main.ts b/ReallifeGamemode.Client/CharCreator/main.ts
index 1c79dc30..daee8540 100644
--- a/ReallifeGamemode.Client/CharCreator/main.ts
+++ b/ReallifeGamemode.Client/CharCreator/main.ts
@@ -1,4 +1,4 @@
-// shitcode will be better in the future
+// shitcode will be better in the future
// , \u00dc, \u00fc
// , \u00c4, \u00e4
// , \u00d6, \u00f6
diff --git a/ReallifeGamemode.Client/Gui/Inventory/inventory.ts b/ReallifeGamemode.Client/Gui/Inventory/inventory.ts
index afb9e735..22b3c8f2 100644
--- a/ReallifeGamemode.Client/Gui/Inventory/inventory.ts
+++ b/ReallifeGamemode.Client/Gui/Inventory/inventory.ts
@@ -1,4 +1,4 @@
-import InputHelper from '../../inputhelper';
+import InputHelper from '../../inputhelper';
export default function inventory(globalData: IGlobalData) {
diff --git a/ReallifeGamemode.Client/Gui/Inventory/inventory_old.ts b/ReallifeGamemode.Client/Gui/Inventory/inventory_old.ts
index 2f6deb02..97698e92 100644
--- a/ReallifeGamemode.Client/Gui/Inventory/inventory_old.ts
+++ b/ReallifeGamemode.Client/Gui/Inventory/inventory_old.ts
@@ -1,4 +1,4 @@
-import InputHelper from '../../inputhelper';
+import InputHelper from '../../inputhelper';
export default function inventory(globalData: IGlobalData) {
var q;
diff --git a/ReallifeGamemode.Client/Gui/deathscreen.ts b/ReallifeGamemode.Client/Gui/deathscreen.ts
index 8374bd18..32826cce 100644
--- a/ReallifeGamemode.Client/Gui/deathscreen.ts
+++ b/ReallifeGamemode.Client/Gui/deathscreen.ts
@@ -1,4 +1,4 @@
-/**
+/**
* @overview Life of German Reallife - Gui Infobox infobox.js
* @author VegaZ
* @copyright (c) 2008 - 2018 Life of German
@@ -68,7 +68,7 @@ export default function deathScreen() {
var medicString;
if (dutyMedics > 0) {
- medicString = "Das L.S.E.D. wurde benachrichtigt\nDerzeit";
+ medicString = "Das L.S.E.D. wurde benachrichtigt\nDerzeit ";
if (dutyMedics === 1) {
medicString += "befindet sich ~g~" + dutyMedics + " Mitglied";
} else {
@@ -108,4 +108,4 @@ export default function deathScreen() {
}
}
});
-}
\ No newline at end of file
+}
diff --git a/ReallifeGamemode.Client/Gui/infobox.ts b/ReallifeGamemode.Client/Gui/infobox.ts
index 5e53bb15..cf1ba033 100644
--- a/ReallifeGamemode.Client/Gui/infobox.ts
+++ b/ReallifeGamemode.Client/Gui/infobox.ts
@@ -1,8 +1,8 @@
/**
- * @overview Life of German Reallife - Gui Infobox infobox.js
- * @author VegaZ
- * @copyright (c) 2008 - 2018 Life of German
- */
+* @overview Life of German Reallife - Gui Infobox infobox.js
+* @author VegaZ
+* @copyright (c) 2008 - 2018 Life of German
+*/
import moneyFormat from "../moneyformat";
@@ -16,6 +16,7 @@ export default function (globalData: IGlobalData): void {
var adutyMode = false;
var adminUnshow = false;
var adminTSupport = false;
+ var noDmZone = false;
var dutyMode = false;
let jailTime = 0;
let att_score = 0;
@@ -27,6 +28,7 @@ export default function (globalData: IGlobalData): void {
var cdTimestamp;
var countdownText;
var blackScreenMode = false;
+ let spawnschutz = false;
let posX = 0.92;
let posY = 0.45;
@@ -84,6 +86,14 @@ export default function (globalData: IGlobalData): void {
blackScreenMode = toggle;
});
+ mp.events.add("toggleNoDmZone", (toggle) => {
+ noDmZone = toggle;
+ });
+
+ mp.events.add("toggleSpawnschutz", (toggle) => {
+ spawnschutz = toggle;
+ });
+
mp.events.add("jailTime", (time) => {
jailTime = JSON.parse(time);
});
@@ -345,6 +355,28 @@ export default function (globalData: IGlobalData): void {
})
}
+ if (noDmZone) {
+ mp.game.graphics.drawText("~r~NoDM Zone", [0.92, 0.7],
+ {
+ font: 2,
+ color: [255, 255, 255, 255],
+ scale: [0.7, 0.7],
+ outline: true,
+ centre: false
+ })
+ }
+
+ if (spawnschutz) {
+ mp.game.graphics.drawText("~r~Spawnschutz", [0.92, 0.75],
+ {
+ font: 2,
+ color: [255, 255, 255, 255],
+ scale: [0.7, 0.7],
+ outline: true,
+ centre: false
+ })
+ }
+
if (countdown > 0) {
var now = Date.now();
var diff = Math.trunc((now - cdTimestamp) / 1000);
@@ -367,4 +399,4 @@ export default function (globalData: IGlobalData): void {
mp.game.graphics.drawRect(0, 0, 10000, 100000, 0, 0, 0, 255);
}
});
-}
\ No newline at end of file
+}
diff --git a/ReallifeGamemode.Client/Gui/interiors.ts b/ReallifeGamemode.Client/Gui/interiors.ts
index d4736eb0..a26195bf 100644
--- a/ReallifeGamemode.Client/Gui/interiors.ts
+++ b/ReallifeGamemode.Client/Gui/interiors.ts
@@ -1,4 +1,4 @@
-import game from "..";
+import game from "..";
import { Key } from "../game";
var interiorId = -1;
@@ -14,7 +14,7 @@ game.events.add('SERVER:InteriorManager_ClearHelpText', () => {
game.events.add('SERVER:InteriorManager_ShowHelpText', (interior, intId, entEx) => {
//game.ui.setHelpText('Drücke ~INPUT_CONTEXT~, um ~b~' + interior + ' ~s~zu ' + (entEx === 0 ? 'betreten' : 'verlassen'));
- helpText = "~s~Drücke ~g~E~s~ um ~b~" + interior + " ~s~zu " + (entEx === 0 ? "betreten" : "verlassen");
+ helpText = "~s~Drücke ~g~E~s~, um ~b~" + interior + " ~s~zu " + (entEx === 0 ? "betreten" : "verlassen");
mp.events.call("renderHelpTextOnScreen", helpText)
interiorId = intId;
enterExit = entEx;
@@ -25,4 +25,4 @@ game.events.add('SERVER:InteriorManager_ShowHelpText', (interior, intId, entEx)
function keyPressHandler() {
if (game.ui.inChat) return;
game.events.callServer('InteriorManager_UseTeleport', [interiorId, enterExit]);
-}
\ No newline at end of file
+}
diff --git a/ReallifeGamemode.Client/Gui/playerlist.ts b/ReallifeGamemode.Client/Gui/playerlist.ts
index 4fadec66..1d176cba 100644
--- a/ReallifeGamemode.Client/Gui/playerlist.ts
+++ b/ReallifeGamemode.Client/Gui/playerlist.ts
@@ -1,4 +1,4 @@
-/**
+/**
* @overview Life of German Reallife - Gui Playerlist playerlist.js
* @author VegaZ. Siga.
* @copyright (c) 2008 - 2018 Life of German
diff --git a/ReallifeGamemode.Client/Gui/taximeter.ts b/ReallifeGamemode.Client/Gui/taximeter.ts
index fe934bef..b807a298 100644
--- a/ReallifeGamemode.Client/Gui/taximeter.ts
+++ b/ReallifeGamemode.Client/Gui/taximeter.ts
@@ -1,4 +1,4 @@
-import InputHelper from '../inputhelper';
+import InputHelper from '../inputhelper';
let browser: BrowserMp;
let price: Number;
diff --git a/ReallifeGamemode.Client/Gui/wanteds.ts b/ReallifeGamemode.Client/Gui/wanteds.ts
index 2b04bbfc..9e8c75d0 100644
--- a/ReallifeGamemode.Client/Gui/wanteds.ts
+++ b/ReallifeGamemode.Client/Gui/wanteds.ts
@@ -1,11 +1,19 @@
-export default function wanteds(globalData: IGlobalData) {
+let wantedCount = 0;
+
+export default function wanteds(globalData: IGlobalData) {
var browser = mp.browsers.new("package://assets/html/wanteds/index.html");
mp.events.add("SERVER:SetWanteds", (count: number) => {
browser.execute(`setWanteds(${count});`);
+ wantedCount = count;
});
+
mp.events.add("SERVER:SetWantedFlash", (flash) => {
browser.execute(`setFlashing(${flash});`);
});
+}
+
+export function getWantedCount(): number {
+ return wantedCount;
}
\ No newline at end of file
diff --git a/ReallifeGamemode.Client/Jobs/BusRouteSelect.ts b/ReallifeGamemode.Client/Jobs/BusRouteSelect.ts
index f9ca378f..c5c33244 100644
--- a/ReallifeGamemode.Client/Jobs/BusRouteSelect.ts
+++ b/ReallifeGamemode.Client/Jobs/BusRouteSelect.ts
@@ -19,16 +19,28 @@ let cancelItem = new UIMenuItem("Abbrechen", "");
cancelItem.BackColor = new Color(213, 0, 0);
cancelItem.HighlightedBackColor = new Color(229, 57, 53);
+var routeMenu: NativeUI.Menu;
+var busRouteSelectColShape = mp.colshapes.newCircle(-535, -2144, 2.5);
+
export default function busRouteList(globalData: IGlobalData) {
- var routeMenu: NativeUI.Menu;
var skillSelect;
var routeSelect;
var skill = 0;
+ var routeSelected = false;
+
+ mp.events.add(RageEnums.EventKey.PLAYER_EXIT_COLSHAPE, (colshape) => {
+ if (colshape == busRouteSelectColShape) {
+ if (routeMenu && routeMenu.Visible) {
+ routeMenu.Close();
+ }
+ }
+ });
mp.events.add('SERVER:StartBusJob', (jobskill) => {
skill = jobskill;
if (!globalData.InMenu) {
globalData.InMenu = true;
+
skillSelect = ["Anfänger", "Fortgeschrittener", "Profi"];
routeMenu = new Menu("Bus Job", "", new Point(0, screenRes.y / 3), null, null);
@@ -59,20 +71,23 @@ export default function busRouteList(globalData: IGlobalData) {
else
{
mp.events.callRemote("CLIENT:StartBusRoute", routeSelect);
+ routeSelected = true;
routeMenu.Close();
globalData.InMenu = false;
}
} else if (item.Text === "Abbrechen") {
- mp.events.callRemote("CLIENT:Job_StopJob");
-
routeMenu.Close();
- globalData.InMenu = false;
}
});
routeMenu.MenuClose.on(() => {
+ if (!routeSelected) {
+ mp.events.callRemote("CLIENT:Job_StopJob");
+ }
+ routeSelected = false;
+
globalData.InMenu = false;
});
}
diff --git a/ReallifeGamemode.Client/Login/main.ts b/ReallifeGamemode.Client/Login/main.ts
index 3fe6e020..739d77f9 100644
--- a/ReallifeGamemode.Client/Login/main.ts
+++ b/ReallifeGamemode.Client/Login/main.ts
@@ -1,8 +1,9 @@
/**
* @overview Life of German Reallife - Login Main main.js
- * @author VegaZ, hydrant
+ * @author VegaZ, hydrant, balbo
* @copyright (c) 2008 - 2018 Life of German
*/
+import { getWantedCount } from "../Gui/wanteds";
export default function (globalData: IGlobalData): void {
var loginBrowser: BrowserMp;
diff --git a/ReallifeGamemode.Client/Player/antiafk.ts b/ReallifeGamemode.Client/Player/antiafk.ts
index 1db1251f..229cd705 100644
--- a/ReallifeGamemode.Client/Player/antiafk.ts
+++ b/ReallifeGamemode.Client/Player/antiafk.ts
@@ -17,7 +17,7 @@
let distance = mp.game.gameplay.getDistanceBetweenCoords(lp.x, lp.y, lp.z, np.x, np.y, np.z, false);
- if (distance <= 5) {
+ if (distance <= 1.5) {
if (!afkStatus) {
afkCounter++;
}
diff --git a/ReallifeGamemode.Client/Player/handsup.ts b/ReallifeGamemode.Client/Player/handsup.ts
new file mode 100644
index 00000000..812689e5
--- /dev/null
+++ b/ReallifeGamemode.Client/Player/handsup.ts
@@ -0,0 +1,11 @@
+export default function handsup() {
+ mp.events.add("SERVER:Handsup_CheckIfPlayerCanHandsup", () => {
+ var player = mp.players.local;
+
+ var isStopped = player.isStopped();
+
+ if (isStopped) {
+ mp.events.callRemote("CLIENT:Handsup_TogglePlayerHup");
+ }
+ });
+}
\ No newline at end of file
diff --git a/ReallifeGamemode.Client/Player/keys.ts b/ReallifeGamemode.Client/Player/keys.ts
index 9c344a16..92ffe3e0 100644
--- a/ReallifeGamemode.Client/Player/keys.ts
+++ b/ReallifeGamemode.Client/Player/keys.ts
@@ -138,7 +138,7 @@ export default function keys(globalData: IGlobalData) {
});
mp.keys.bind(0x7A, false, () => {
- mp.gui.takeScreenshot(new Date().toLocaleDateString(), 1, 100, 80);
+ mp.gui.takeScreenshot(new Date().toLocaleTimeString() + ".png", 1, 100, 80);
});
KeyBinder.bind("ctrl+h", () => {
diff --git a/ReallifeGamemode.Client/Player/polygons.ts b/ReallifeGamemode.Client/Player/polygons.ts
new file mode 100644
index 00000000..ea468a4b
--- /dev/null
+++ b/ReallifeGamemode.Client/Player/polygons.ts
@@ -0,0 +1,94 @@
+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);
+const busbaseVector4 = new mp.Vector3(-600.4804, -2230.3953, 6.213662);
+
+const stadthalleVector1 = new mp.Vector3(-464.26273, -242.73814, 35.946384);
+const stadthalleVector2 = new mp.Vector3(-505.32938, -170.14832, 37.859695);
+const stadthalleVector3 = new mp.Vector3(-589.5164, -224.41574, 36.648193);
+const stadthalleVector4 = new mp.Vector3(-556.6909, -280.71564, 35.163292);
+
+const fahrschuleVector1 = new mp.Vector3(-812.13043, -1406.9983, 4.9805145);
+const fahrschuleVector2 = new mp.Vector3(-727.035, -1305.2482, 5.084054);
+const fahrschuleVector3 = new mp.Vector3(-757.4177, -1279.31, 5.1093183);
+const fahrschuleVector4 = new mp.Vector3(-832.14087, -1268.561, 4.9827914);
+const fahrschuleVector5 = new mp.Vector3(-856.8085, -1286.7786, 6.474576);
+
+const pilotAnfaengerVector1 = new mp.Vector3(1759.6045, 3305.2988, 41.1526);
+const pilotAnfaengerVector2 = new mp.Vector3(1785.29944, 3230.2786, 42.553444);
+const pilotAnfaengerVector3 = new mp.Vector3(1655.139, 3198.6257, 42.723602);
+const pilotAnfaengerVector4 = new mp.Vector3(1624.4799, 3294.2612, 39.53612);
+
+const pilotProfiVector1 = new mp.Vector3(-1595.5433, -3130.2798, 13.944942);
+const pilotProfiVector2 = new mp.Vector3(-1679.6715, -3082.12, 13.948778);
+const pilotProfiVector3 = new mp.Vector3(-1728.0858, -3164.9736, 14.055883);
+const pilotProfiVector4 = new mp.Vector3(-1640.4034, -3213.0503, 13.8741665);
+
+const muellbaseVector1 = new mp.Vector3(521.6251, -2194.5068, 5.985945);
+const muellbaseVector2 = new mp.Vector3(454.88348, -2158.1938, 5.9788494);
+const muellbaseVector3 = new mp.Vector3(529.06635, -2088.4097, 8.303088);
+
+const polygon_busbase = polygons.add([busbaseVector1, busbaseVector2, busbaseVector3, busbaseVector4], 15, false, [255, 155, 0, 255], 0);
+const polygon_stadthalle = polygons.add([stadthalleVector1, stadthalleVector2, stadthalleVector3, stadthalleVector4], 15, false, [255, 155, 0, 255], 0);
+const polygon_fahrschule = polygons.add([fahrschuleVector1, fahrschuleVector2, fahrschuleVector3, fahrschuleVector4, fahrschuleVector5], 15, false, [255, 155, 0, 255], 0);
+const polygon_pilotAnfaenger = polygons.add([pilotAnfaengerVector1, pilotAnfaengerVector2, pilotAnfaengerVector3, pilotAnfaengerVector4], 15, false, [255, 155, 0, 255], 0);
+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 polygonHandler() {
+
+ mp.events.add('playerEnterPolygon', (polygon) => {
+
+ if (listNoDMZones.indexOf(polygon) != -1){
+ mp.events.call('toggleNoDmZone', true);
+ isInAnyNoDMPolygon = true;
+ }
+ });
+
+ mp.events.add('playerLeavePolygon', (polygon) => {
+
+ if (listNoDMZones.indexOf(polygon) != -1) {
+ mp.events.call('toggleNoDmZone', false);
+ isInAnyNoDMPolygon = false;
+ }
+
+ if (polygon == polygon_prison) {
+ mp.events.callRemote("SERVER:BreakOutIfInPrison");
+ }
+ });
+}
diff --git a/ReallifeGamemode.Client/Player/spawnschutz.ts b/ReallifeGamemode.Client/Player/spawnschutz.ts
new file mode 100644
index 00000000..848d7c93
--- /dev/null
+++ b/ReallifeGamemode.Client/Player/spawnschutz.ts
@@ -0,0 +1,24 @@
+export let spawnschutzEnabled = true;
+var spawnschutzTimer;
+
+export default function spawnschutz() {
+
+ mp.events.add("enableSpawnschutz", () => {
+ spawnschutzEnabled = true;
+ mp.events.call("toggleSpawnschutz", true);
+ mp.events.call("triggerSpawnschutzTimer");
+ });
+
+ mp.events.add("abortSpawnschutz", () => {
+ spawnschutzEnabled = false;
+ mp.events.call("toggleSpawnschutz", false);
+ clearInterval(spawnschutzTimer);
+ });
+
+ mp.events.add("triggerSpawnschutzTimer", () => {
+ spawnschutzTimer = setTimeout(() => {
+ mp.events.call("toggleSpawnschutz", false);
+ spawnschutzEnabled = false;
+ }, 60000);
+ });
+}
\ No newline at end of file
diff --git a/ReallifeGamemode.Client/Player/weaponlist.ts b/ReallifeGamemode.Client/Player/weaponlist.ts
index 49f640c0..cba4f2d6 100644
--- a/ReallifeGamemode.Client/Player/weaponlist.ts
+++ b/ReallifeGamemode.Client/Player/weaponlist.ts
@@ -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) {
});
}
});
-}
\ No newline at end of file
+}
diff --git a/ReallifeGamemode.Client/Speedometer/index.ts b/ReallifeGamemode.Client/Speedometer/index.ts
index a3926f4a..d6bad213 100644
--- a/ReallifeGamemode.Client/Speedometer/index.ts
+++ b/ReallifeGamemode.Client/Speedometer/index.ts
@@ -1,4 +1,4 @@
-let player = mp.players.local;
+let player = mp.players.local;
export default function speedometer(globalData: IGlobalData) {
var dictLoaded = false;
diff --git a/ReallifeGamemode.Client/Tuning/colors.ts b/ReallifeGamemode.Client/Tuning/colors.ts
index 4b8ccefc..2f5533d6 100644
--- a/ReallifeGamemode.Client/Tuning/colors.ts
+++ b/ReallifeGamemode.Client/Tuning/colors.ts
@@ -1,4 +1,4 @@
-const vehicleColors = {
+const vehicleColors = {
"Klassisch (Util)": {
"Schwarz": 15,
"Silber": 18,
@@ -126,7 +126,7 @@ const vehicleColors = {
"Lila": 148,
"Dunkellila": 149,
"W\u00fcstenbraun": 153,
- "W\u00fcstenbräune": 154
+ "W\u00fcstenbr�une": 154
},
"Spezial": {
"Geb\u00fcrsteter Stahl": 117,
diff --git a/ReallifeGamemode.Client/Voice/main.ts b/ReallifeGamemode.Client/Voice/main.ts
index eccf7c9d..8405046e 100644
--- a/ReallifeGamemode.Client/Voice/main.ts
+++ b/ReallifeGamemode.Client/Voice/main.ts
@@ -1,4 +1,4 @@
-/**
+/**
* @overview Life of German Reallife - Voice Main main.ts
* @author Zeuto
* @copyright (c) 2008 - 2019 Life of German
diff --git a/ReallifeGamemode.Client/admin/anticheat.ts b/ReallifeGamemode.Client/admin/anticheat.ts
index 44807c32..b7d0a03f 100644
--- a/ReallifeGamemode.Client/admin/anticheat.ts
+++ b/ReallifeGamemode.Client/admin/anticheat.ts
@@ -32,7 +32,7 @@
});
mp.events.add("client:checkInvincible", () => {
- if (mp.players.local.dimension == 0) return
+ //if (mp.players.local.dimension == 0) return
if (!Behaviour.active) return
var healthBefore = Behaviour.health
mp.players.local.applyDamageTo(1, true);
@@ -49,9 +49,9 @@
}, 500);
})
- setInterval(() => {
- mp.events.call("client:checkInvincible")
- }, 30000);
+ //setInterval(() => {
+ // mp.events.call("client:checkInvincible")
+ //}, 30000);
mp.events.add('SERVER:AntiCheat:weaponSwap', () => {
Behaviour.resetWeapon()
@@ -62,7 +62,7 @@
mp.events.callRemote("CLIENT:CheatDetection", "Unallowed Weapon", Behaviour.weapon)
}
if (Behaviour.reloadingWeapon) {
- mp.events.callRemote("CLIENT:CheatDetection", "No Reload")
+ //mp.events.callRemote("CLIENT:CheatDetection", "No Reload")
Behaviour.resetWeapon()
}
Behaviour.updateMagSize()
@@ -182,9 +182,24 @@
var Behaviour = new PlayerBehaviour()
var loop = Behaviour.secs()
+ function isUsingController() {
+ return !mp.game.controls.isInputDisabled(0);
+ }
+
mp.events.add("render", () => {
mp.game.player.setHealthRechargeMultiplier(0);
+ if (isUsingController()) {
+ mp.game.controls.disableControlAction(32, 24, true);
+ mp.game.controls.disableControlAction(32, 25, true);
+
+ mp.game.controls.disableControlAction(32, 91, true);
+ mp.game.controls.disableControlAction(32, 92, true);
+
+ mp.game.controls.disableControlAction(32, 69, true);
+ mp.game.controls.disableControlAction(32, 70, true);
+ }
+
Behaviour.health = Number(mp.players.local.getHealth()) + Number(mp.players.local.getArmour())
if (loop < Behaviour.secs()) {
if (Behaviour.active) {
diff --git a/ReallifeGamemode.Client/assets/chat/index.html b/ReallifeGamemode.Client/assets/chat/index.html
deleted file mode 100644
index d4354663..00000000
--- a/ReallifeGamemode.Client/assets/chat/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ReallifeGamemode.Client/assets/chat/style/checkbox.css b/ReallifeGamemode.Client/assets/css/chat/checkbox.css
similarity index 94%
rename from ReallifeGamemode.Client/assets/chat/style/checkbox.css
rename to ReallifeGamemode.Client/assets/css/chat/checkbox.css
index 53fddb26..5d5fb115 100644
--- a/ReallifeGamemode.Client/assets/chat/style/checkbox.css
+++ b/ReallifeGamemode.Client/assets/css/chat/checkbox.css
@@ -1 +1 @@
-input[type=checkbox].css-checkbox{position:absolute;z-index:-1000;left:-1000px;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0;}input[type=checkbox].css-checkbox+label.css-label{height:20px;width:20px;display:inline-block;background-repeat:no-repeat;background-position:0 0;cursor:pointer;}input[type=checkbox].css-checkbox:checked+label.css-label:after{content:'x';color:white;}label.css-label{background:#7b3784;border-radius:2px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
\ No newline at end of file
+input[type=checkbox].css-checkbox{position:absolute;z-index:-1000;left:-1000px;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0;}input[type=checkbox].css-checkbox+label.css-label{height:20px;width:20px;display:inline-block;background-repeat:no-repeat;background-position:0 0;cursor:pointer;}input[type=checkbox].css-checkbox:checked+label.css-label:after{content:'x';color:white;}label.css-label{background:#7b3784;border-radius:2px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
diff --git a/ReallifeGamemode.Client/assets/css/chat/main.css b/ReallifeGamemode.Client/assets/css/chat/main.css
new file mode 100644
index 00000000..a8d28c93
--- /dev/null
+++ b/ReallifeGamemode.Client/assets/css/chat/main.css
@@ -0,0 +1,108 @@
+html {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+*, *:before, *:after {
+ -webkit-box-sizing: inherit;
+ box-sizing: inherit;
+}
+
+*, body, html {
+ padding: 0;
+ margin: 0;
+}
+
+#chat, a, body, html {
+ color: white;
+}
+
+body, html {
+ -webkit-font-smoothing: antialiased;
+ overflow: hidden;
+ font-size: 14px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+body {
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
+ font-size: calc(.75em + .3vw);
+ font-weight: 500;
+ direction: ltr;
+}
+
+a {
+ text-decoration: none;
+}
+
+.ui_element {
+ display: none;
+ position: absolute;
+ width: 100vw;
+ height: 100vh;
+ z-index: 2;
+}
+
+#chat {
+ display: block;
+ z-index: 0;
+ line-height: 1.25;
+ text-shadow: 1px 1px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;
+ letter-spacing: .4px;
+ margin-top: 1em;
+ margin-left: 1em;
+}
+
+#chat ul#chat_messages {
+ height: 16.45em;
+ min-width: 50ch;
+ max-width: calc(45vw + 10px);
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ overflow-y: auto;
+ overflow-x: hidden;
+ word-break: break-all;
+ list-style-type: none;
+ margin-bottom: .25em;
+}
+
+#chat ul#chat_messages > li {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ margin-bottom: .125em;
+}
+
+#chat ul#chat_messages > li:last-child {
+ margin-bottom: .25em;
+}
+
+#chat input#chat_msg {
+ width: 45vw;
+ outline: 0;
+ border: none;
+ border-radius: 3px;
+ font-family: inherit;
+ font-size: inherit;
+ font-weight: inherit;
+ line-height: 1;
+ color: white;
+ background: rgba(0, 0, 0, 0.5);
+ padding: .25em .5em .5em;
+}
+
+::-webkit-scrollbar {
+ width: 10px;
+}
+
+::-webkit-scrollbar-thumb {
+ background: rgba(255, 17, 0, 0);
+ border-radius: 3px;
+}
+
+::-webkit-scrollbar-thumb:hover {
+ background: rgba(255, 17, 0, 0);
+}
+/*# sourceMappingURL=main.css.map */
\ No newline at end of file
diff --git a/ReallifeGamemode.Client/assets/css/chat/main.css.map b/ReallifeGamemode.Client/assets/css/chat/main.css.map
new file mode 100644
index 00000000..7f240a1f
--- /dev/null
+++ b/ReallifeGamemode.Client/assets/css/chat/main.css.map
@@ -0,0 +1,9 @@
+{
+ "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;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,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,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,eAAe;CACzB;;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",
+ "sources": [
+ "main.scss"
+ ],
+ "names": [],
+ "file": "main.css"
+}
\ No newline at end of file
diff --git a/ReallifeGamemode.Client/assets/css/chat/main.scss b/ReallifeGamemode.Client/assets/css/chat/main.scss
new file mode 100644
index 00000000..b0de6970
--- /dev/null
+++ b/ReallifeGamemode.Client/assets/css/chat/main.scss
@@ -0,0 +1,95 @@
+html { box-sizing: border-box; }
+*, *:before, *:after { box-sizing: inherit; }
+
+
+*, body, html {
+ padding: 0;
+ margin: 0
+}
+
+#chat, a, body, html { color: white; }
+
+body, html {
+ -webkit-font-smoothing: antialiased;
+ overflow: hidden;
+ font-size: 14px;
+ user-select: none;
+}
+
+body {
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
+ font-size: calc(.75em + .3vw);
+ font-weight: 500;
+ direction: ltr;
+}
+
+a { text-decoration: none; }
+
+.ui_element {
+ display: none;
+ position: absolute;
+ width: 100vw;
+ height: 100vh;
+ z-index: 2
+}
+
+#chat {
+ display: block;
+ z-index: 0;
+
+ line-height: 1.25;
+ text-shadow: 1px 1px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;
+ letter-spacing: .4px;
+
+ margin-top: 1em;
+ margin-left: 1em;
+
+ ul#chat_messages {
+ height: 16.45em;
+ min-width: 50ch;
+ max-width: calc(45vw + 10px);
+ transform: rotate(0deg);
+
+ overflow-y: auto;
+ overflow-x: hidden;
+ word-break: break-all;
+
+ list-style-type: none;
+ margin-bottom: .25em;
+
+ &> li {
+ transform: rotate(0deg);
+ margin-bottom: .125em;
+
+ &:last-child { margin-bottom: .25em; }
+ }
+ }
+
+ input#chat_msg {
+ width: 45vw;
+ outline: 0;
+ border: none;
+ border-radius: 3px;
+
+ font-family: inherit;
+ font-size: inherit;
+ font-weight: inherit;
+ line-height: 1;
+
+ color: white;
+ background: rgba(0, 0, 0, .5);
+
+ padding: .25em .5em .5em;
+ }
+}
+
+::-webkit-scrollbar {
+ width: 10px;
+
+ &-thumb {
+ background: rgba(255, 17, 0, 0);
+ border-radius: 3px;
+
+ &:hover { background: rgba(255, 17, 0, 0); }
+ }
+}
diff --git a/ReallifeGamemode.Client/assets/chat/style/main.css b/ReallifeGamemode.Client/assets/css/chat/main_old.css
similarity index 100%
rename from ReallifeGamemode.Client/assets/chat/style/main.css
rename to ReallifeGamemode.Client/assets/css/chat/main_old.css
diff --git a/ReallifeGamemode.Client/assets/css/inputhelper/style.css b/ReallifeGamemode.Client/assets/css/inputhelper/style.css
index 830931f3..5f9b84a8 100644
--- a/ReallifeGamemode.Client/assets/css/inputhelper/style.css
+++ b/ReallifeGamemode.Client/assets/css/inputhelper/style.css
@@ -1,122 +1,138 @@
html {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- user-select: none;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ user-select: none;
}
*, *::before, *::after {
- -webkit-box-sizing: inherit;
- box-sizing: inherit;
+ -webkit-box-sizing: inherit;
+ box-sizing: inherit;
}
body {
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -ms-flex-direction: column;
- flex-direction: column;
- -webkit-box-pack: center;
- -ms-flex-pack: center;
- justify-content: center;
- height: 100vh;
- width: -webkit-fit-content;
- width: -moz-fit-content;
- width: fit-content;
- margin: 0 auto;
- padding: 1em .5em;
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
- font-weight: 400;
- color: #FFF;
-
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ height: 100vh;
+ width: -webkit-fit-content;
+ width: -moz-fit-content;
+ width: fit-content;
+ margin: 0 auto;
+ padding: 1em .5em;
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
+ font-weight: 400;
+ color: #FFF;
}
main {
- height: auto;
- position: relative;
- min-width: 50ch;
- max-width: 35vw;
- padding: 1em;
- border-radius: .25em;
- font-size: 1em;
- line-height: 1.25;
- background-color: rgba(0, 0, 0, 0.5);
-
+ height: auto;
+ max-height: 60vh;
+ position: relative;
+ min-width: 45ch;
+ max-width: 30vw;
+ padding: 1em;
+ border-radius: .25em;
+ font-size: 1em;
+ line-height: 1.25;
+ background-color: rgba(0, 0, 0, 0.5);
}
- main a#close {
- position: absolute;
- right: 1em;
- top: 1em;
- height: 1em;
- width: 1em;
- opacity: 0.25;
-
+ main a#close {
+ position: absolute;
+ right: 1em;
+ top: 1em;
+ height: 1em;
+ width: 1em;
+ opacity: 0.25;
+ }
+
+ main a#close:hover {
+ opacity: 1;
}
- main a#close:hover {
- opacity: 1;
- }
-
- main a#close:before, main a#close:after {
- content: ' ';
- position: absolute;
- left: .5em;
- height: 1em;
- width: 2px;
- background-color: #FFF;
- border-radius: 1px;
- }
-
- main a#close:before {
- -webkit-transform: rotate(45deg);
- transform: rotate(45deg);
- }
-
- main a#close:after {
- -webkit-transform: rotate(-45deg);
- transform: rotate(-45deg);
- }
-
- main h1, main p {
- margin: 0;
+ main a#close:before, main a#close:after {
+ content: ' ';
+ position: absolute;
+ left: .5em;
+ height: 1em;
+ width: 2px;
+ background-color: #FFF;
+ border-radius: 1px;
}
- main h1 {
- font-size: 1.5em;
- line-height: 1;
- margin-bottom: .125em;
- padding-right: 1em;
- text-overflow: ellipsis;
- white-space: nowrap;
- overflow: hidden;
+ main a#close:before {
+ -webkit-transform: rotate(45deg);
+ transform: rotate(45deg);
}
- main p {
- margin-bottom: 1em;
- line-height: 1.125;
+ main a#close:after {
+ -webkit-transform: rotate(-45deg);
+ transform: rotate(-45deg);
}
- main .form {
- margin-top: .25em;
+ main h1, main p {
+ margin: 0;
+ }
+
+ main h1 {
+ font-size: 1.5em;
+ line-height: 1.125;
+ margin-bottom: .25em;
+ padding-right: 1em;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+ }
+
+ main p {
+ margin-bottom: .5em;
+ line-height: 1.125;
+ max-height: 12em;
+ overflow-y: auto;
+ padding-right: .5em;
+ word-break: break-word;
+ }
+
+ main p::-webkit-scrollbar {
+ width: 5px;
+ }
+
+ main p::-webkit-scrollbar-track {
+ background-color: rgba(0, 0, 0, .125);
+ border-radius: 3px;
+ }
+
+ main p::-webkit-scrollbar-thumb {
+ background-color: rgba(0, 0, 0, .125);
+ border-radius: 3px;
+ }
+
+ main .form {
+ margin-top: .25em;
+ }
+
+ main .form input {
+ width: 100%;
+ padding: .5em;
+ font-family: "Roboto Mono";
+ font-weight: 500;
+ font-size: 1em;
+ border: none;
+ border-radius: 5px;
+ background-color: rgba(0, 0, 0, 0.125);
+ color: inherit;
}
- main .form input {
- width: 100%;
- padding: .5em;
- font-family: "Roboto Mono";
- font-weight: 500;
- font-size: 1em;
- border: none;
- border-radius: 5px;
- background-color: rgba(0, 0, 0, 0.125);
- color: inherit;
- }
-
- main .form input:focus {
- outline-width: 0;
- }
+ main .form input:focus {
+ outline-width: 0;
+ }
diff --git a/ReallifeGamemode.Client/assets/css/onlinelist/style.css b/ReallifeGamemode.Client/assets/css/onlinelist/style.css
index 28dd56ed..d74093be 100644
--- a/ReallifeGamemode.Client/assets/css/onlinelist/style.css
+++ b/ReallifeGamemode.Client/assets/css/onlinelist/style.css
@@ -19,8 +19,8 @@ html, body {
}
body {
- margin: 15vh auto 0;
- width: 32vw;
+ margin: 10vh auto 0;
+ width: 35vw;
color: white;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
font-size: 1em;
@@ -49,13 +49,23 @@ h2 {
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
- margin-bottom: 1.5em;
+ margin-bottom: 1em;
padding: 1em 1em 0;
}
+.factions {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 3;
+ font-size: .9em;
+ background-color: #222;
+ padding: 1em 0;
+}
+
.wrapper {
- min-height: 50vh;
- max-height: 70vh;
+ min-height: 60vh;
+ max-height: 80vh;
overflow-y: scroll;
border-radius: .25em;
background-color: rgba(0, 0, 0, 0.75);
@@ -74,10 +84,10 @@ table {
table th {
position: -webkit-sticky;
position: sticky;
- top: 0;
+ top: 3em;
text-align: left;
z-index: 2;
- background-color: black;
+ background-color: #222;
}
table th:first-child {
@@ -203,19 +213,7 @@ ol.inline.stats {
justify-content: center;
}
-ol.inline.stats:first-of-type {
- margin-top: 1em !important;
-}
-
-ol.inline.stats:last-of-type {
- margin-bottom: 1em;
-}
-
-ol.inline.stats:not(:last-of-type) {
- margin-bottom: .125em;
-}
-
ol.inline.stats abbr {
text-decoration: none;
}
-/*# sourceMappingURL=style.css.map */
\ No newline at end of file
+/*# sourceMappingURL=style.css.map */
diff --git a/ReallifeGamemode.Client/assets/css/onlinelist/style.css.map b/ReallifeGamemode.Client/assets/css/onlinelist/style.css.map
index 74b823b9..ad1da382 100644
--- a/ReallifeGamemode.Client/assets/css/onlinelist/style.css.map
+++ b/ReallifeGamemode.Client/assets/css/onlinelist/style.css.map
@@ -1,6 +1,6 @@
{
"version": 3,
- "mappings": "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",
+ "mappings": "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",
"sources": [
"style.scss"
],
diff --git a/ReallifeGamemode.Client/assets/css/onlinelist/style.scss b/ReallifeGamemode.Client/assets/css/onlinelist/style.scss
index 6486aa77..a88100de 100644
--- a/ReallifeGamemode.Client/assets/css/onlinelist/style.scss
+++ b/ReallifeGamemode.Client/assets/css/onlinelist/style.scss
@@ -9,9 +9,9 @@ html, body { margin: unset; }
*, *:before, *:after { box-sizing: inherit; }
body {
- margin: 15vh auto 0;
+ margin: 10vh auto 0;
- width: 32vw;
+ width: 35vw;
color: white;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
@@ -30,17 +30,28 @@ h2 { font-size: 1.125em; }
display: flex;
justify-content: space-between;
align-items: flex-start;
- margin-bottom: 1.5em;
+ margin-bottom: 1em;
padding: 1em 1em 0;
}
+.factions {
+ position: sticky;
+ top: 0;
+ z-index: 3;
+
+ font-size: .9em;
+ background-color: #222;
+
+ padding: 1em 0;
+}
+
.wrapper {
- min-height: 50vh;
- max-height: 70vh;
+ min-height: 60vh;
+ max-height: 80vh;
overflow-y: scroll;
border-radius: .25em;
- background-color: rgba(0, 0, 0, .75);
+ background-color: rgba(black, .75);
&::-webkit-scrollbar { display: none; }
}
@@ -52,11 +63,11 @@ table {
th {
position: sticky;
- top: 0;
+ top: 3em;
text-align: left;
z-index: 2;
- background-color: black;
+ background-color: #222;
&:first-child { border-top-left-radius: .25em; }
&:last-child { border-top-right-radius: .25em; }
@@ -129,10 +140,6 @@ ol.inline {
ol.inline.stats {
justify-content: center;
-
- &:first-of-type { margin-top: 1em !important; }
- &:last-of-type { margin-bottom: 1em; }
- &:not(:last-of-type) { margin-bottom: .125em; }
abbr { text-decoration: none; }
-}
+}
\ No newline at end of file
diff --git a/ReallifeGamemode.Client/assets/chat/fonts/CenturyGothicRegular.ttf b/ReallifeGamemode.Client/assets/font/chat/CenturyGothicRegular.ttf
similarity index 100%
rename from ReallifeGamemode.Client/assets/chat/fonts/CenturyGothicRegular.ttf
rename to ReallifeGamemode.Client/assets/font/chat/CenturyGothicRegular.ttf
diff --git a/ReallifeGamemode.Client/assets/chat/fonts/CodeProLC.otf b/ReallifeGamemode.Client/assets/font/chat/CodeProLC.otf
similarity index 100%
rename from ReallifeGamemode.Client/assets/chat/fonts/CodeProLC.otf
rename to ReallifeGamemode.Client/assets/font/chat/CodeProLC.otf
diff --git a/ReallifeGamemode.Client/assets/chat/fonts/emoji_unicode.php b/ReallifeGamemode.Client/assets/font/chat/emoji_unicode.php
similarity index 100%
rename from ReallifeGamemode.Client/assets/chat/fonts/emoji_unicode.php
rename to ReallifeGamemode.Client/assets/font/chat/emoji_unicode.php
diff --git a/ReallifeGamemode.Client/assets/html/chat/index.html b/ReallifeGamemode.Client/assets/html/chat/index.html
new file mode 100644
index 00000000..655c409d
--- /dev/null
+++ b/ReallifeGamemode.Client/assets/html/chat/index.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ReallifeGamemode.Client/assets/html/inputhelper/index.html b/ReallifeGamemode.Client/assets/html/inputhelper/index.html
index f3247c4b..335e30f4 100644
--- a/ReallifeGamemode.Client/assets/html/inputhelper/index.html
+++ b/ReallifeGamemode.Client/assets/html/inputhelper/index.html
@@ -1,4 +1,4 @@
-
+
@@ -6,22 +6,25 @@
Eingabe | Life of German
-
-
-
+
+
+
-
+
{{ Überschrift }}
+
+
+
-
+
-
-
\ No newline at end of file
+