Merge dev to surgery
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
/**
|
/**
|
||||||
* @overview Life of German Reallife - Gui Infobox infobox.js
|
* @overview Life of German Reallife - Gui Infobox infobox.js
|
||||||
* @author VegaZ
|
* @author VegaZ
|
||||||
* @copyright (c) 2008 - 2018 Life of German
|
* @copyright (c) 2008 - 2018 Life of German
|
||||||
@@ -68,7 +68,7 @@ export default function deathScreen() {
|
|||||||
|
|
||||||
var medicString;
|
var medicString;
|
||||||
if (dutyMedics > 0) {
|
if (dutyMedics > 0) {
|
||||||
medicString = "Das L.S.E.D. wurde benachrichtigt\nDerzeit";
|
medicString = "Das L.S.E.D. wurde benachrichtigt\nDerzeit ";
|
||||||
if (dutyMedics === 1) {
|
if (dutyMedics === 1) {
|
||||||
medicString += "befindet sich ~g~" + dutyMedics + " Mitglied";
|
medicString += "befindet sich ~g~" + dutyMedics + " Mitglied";
|
||||||
} else {
|
} else {
|
||||||
@@ -108,4 +108,4 @@ export default function deathScreen() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import game from "..";
|
import game from "..";
|
||||||
import { Key } from "../game";
|
import { Key } from "../game";
|
||||||
|
|
||||||
var interiorId = -1;
|
var interiorId = -1;
|
||||||
@@ -14,7 +14,7 @@ game.events.add('SERVER:InteriorManager_ClearHelpText', () => {
|
|||||||
|
|
||||||
game.events.add('SERVER:InteriorManager_ShowHelpText', (interior, intId, entEx) => {
|
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'));
|
//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)
|
mp.events.call("renderHelpTextOnScreen", helpText)
|
||||||
interiorId = intId;
|
interiorId = intId;
|
||||||
enterExit = entEx;
|
enterExit = entEx;
|
||||||
@@ -25,4 +25,4 @@ game.events.add('SERVER:InteriorManager_ShowHelpText', (interior, intId, entEx)
|
|||||||
function keyPressHandler() {
|
function keyPressHandler() {
|
||||||
if (game.ui.inChat) return;
|
if (game.ui.inChat) return;
|
||||||
game.events.callServer('InteriorManager_UseTeleport', [interiorId, enterExit]);
|
game.events.callServer('InteriorManager_UseTeleport', [interiorId, enterExit]);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,19 +19,28 @@ let cancelItem = new UIMenuItem("Abbrechen", "");
|
|||||||
cancelItem.BackColor = new Color(213, 0, 0);
|
cancelItem.BackColor = new Color(213, 0, 0);
|
||||||
cancelItem.HighlightedBackColor = new Color(229, 57, 53);
|
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) {
|
export default function busRouteList(globalData: IGlobalData) {
|
||||||
var routeMenu: NativeUI.Menu;
|
|
||||||
var skillSelect;
|
var skillSelect;
|
||||||
var routeSelect;
|
var routeSelect;
|
||||||
var skill = 0;
|
var skill = 0;
|
||||||
var routeSelected = false;
|
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) => {
|
mp.events.add('SERVER:StartBusJob', (jobskill) => {
|
||||||
skill = jobskill;
|
skill = jobskill;
|
||||||
if (!globalData.InMenu) {
|
if (!globalData.InMenu) {
|
||||||
globalData.InMenu = true;
|
globalData.InMenu = true;
|
||||||
|
|
||||||
mp.gui.cursor.show(true, true);
|
|
||||||
skillSelect = ["Anfänger", "Fortgeschrittener", "Profi"];
|
skillSelect = ["Anfänger", "Fortgeschrittener", "Profi"];
|
||||||
|
|
||||||
routeMenu = new Menu("Bus Job", "", new Point(0, screenRes.y / 3), null, null);
|
routeMenu = new Menu("Bus Job", "", new Point(0, screenRes.y / 3), null, null);
|
||||||
@@ -69,9 +78,7 @@ export default function busRouteList(globalData: IGlobalData) {
|
|||||||
|
|
||||||
|
|
||||||
} else if (item.Text === "Abbrechen") {
|
} else if (item.Text === "Abbrechen") {
|
||||||
mp.events.callRemote("CLIENT:Job_StopJob");
|
|
||||||
routeMenu.Close();
|
routeMenu.Close();
|
||||||
globalData.InMenu = false;
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -80,8 +87,7 @@ export default function busRouteList(globalData: IGlobalData) {
|
|||||||
mp.events.callRemote("CLIENT:Job_StopJob");
|
mp.events.callRemote("CLIENT:Job_StopJob");
|
||||||
}
|
}
|
||||||
routeSelected = false;
|
routeSelected = false;
|
||||||
mp.gui.cursor.show(true, true);
|
|
||||||
|
|
||||||
globalData.InMenu = false;
|
globalData.InMenu = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
let distance = mp.game.gameplay.getDistanceBetweenCoords(lp.x, lp.y, lp.z, np.x, np.y, np.z, false);
|
let distance = mp.game.gameplay.getDistanceBetweenCoords(lp.x, lp.y, lp.z, np.x, np.y, np.z, false);
|
||||||
|
|
||||||
if (distance <= 3) {
|
if (distance <= 1.5) {
|
||||||
if (!afkStatus) {
|
if (!afkStatus) {
|
||||||
afkCounter++;
|
afkCounter++;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
var isStopped = player.isStopped();
|
var isStopped = player.isStopped();
|
||||||
|
|
||||||
mp.gui.chat.push("isStopped = " + isStopped);
|
|
||||||
|
|
||||||
if (isStopped) {
|
if (isStopped) {
|
||||||
mp.events.callRemote("CLIENT:Handsup_TogglePlayerHup");
|
mp.events.callRemote("CLIENT:Handsup_TogglePlayerHup");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
mp.events.add("client:checkInvincible", () => {
|
mp.events.add("client:checkInvincible", () => {
|
||||||
if (mp.players.local.dimension == 0) return
|
//if (mp.players.local.dimension == 0) return
|
||||||
if (!Behaviour.active) return
|
if (!Behaviour.active) return
|
||||||
var healthBefore = Behaviour.health
|
var healthBefore = Behaviour.health
|
||||||
mp.players.local.applyDamageTo(1, true);
|
mp.players.local.applyDamageTo(1, true);
|
||||||
@@ -49,9 +49,9 @@
|
|||||||
}, 500);
|
}, 500);
|
||||||
})
|
})
|
||||||
|
|
||||||
setInterval(() => {
|
//setInterval(() => {
|
||||||
mp.events.call("client:checkInvincible")
|
// mp.events.call("client:checkInvincible")
|
||||||
}, 30000);
|
//}, 30000);
|
||||||
|
|
||||||
mp.events.add('SERVER:AntiCheat:weaponSwap', () => {
|
mp.events.add('SERVER:AntiCheat:weaponSwap', () => {
|
||||||
Behaviour.resetWeapon()
|
Behaviour.resetWeapon()
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
mp.events.callRemote("CLIENT:CheatDetection", "Unallowed Weapon", Behaviour.weapon)
|
mp.events.callRemote("CLIENT:CheatDetection", "Unallowed Weapon", Behaviour.weapon)
|
||||||
}
|
}
|
||||||
if (Behaviour.reloadingWeapon) {
|
if (Behaviour.reloadingWeapon) {
|
||||||
mp.events.callRemote("CLIENT:CheatDetection", "No Reload")
|
//mp.events.callRemote("CLIENT:CheatDetection", "No Reload")
|
||||||
Behaviour.resetWeapon()
|
Behaviour.resetWeapon()
|
||||||
}
|
}
|
||||||
Behaviour.updateMagSize()
|
Behaviour.updateMagSize()
|
||||||
@@ -182,9 +182,24 @@
|
|||||||
var Behaviour = new PlayerBehaviour()
|
var Behaviour = new PlayerBehaviour()
|
||||||
var loop = Behaviour.secs()
|
var loop = Behaviour.secs()
|
||||||
|
|
||||||
|
function isUsingController() {
|
||||||
|
return !mp.game.controls.isInputDisabled(0);
|
||||||
|
}
|
||||||
|
|
||||||
mp.events.add("render", () => {
|
mp.events.add("render", () => {
|
||||||
mp.game.player.setHealthRechargeMultiplier(0);
|
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())
|
Behaviour.health = Number(mp.players.local.getHealth()) + Number(mp.players.local.getArmour())
|
||||||
if (loop < Behaviour.secs()) {
|
if (loop < Behaviour.secs()) {
|
||||||
if (Behaviour.active) {
|
if (Behaviour.active) {
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ html, body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
margin: 15vh auto 0;
|
margin: 10vh auto 0;
|
||||||
width: 32vw;
|
width: 35vw;
|
||||||
color: white;
|
color: white;
|
||||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
@@ -49,13 +49,23 @@ h2 {
|
|||||||
-webkit-box-align: start;
|
-webkit-box-align: start;
|
||||||
-ms-flex-align: start;
|
-ms-flex-align: start;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
margin-bottom: 1.5em;
|
margin-bottom: 1em;
|
||||||
padding: 1em 1em 0;
|
padding: 1em 1em 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.factions {
|
||||||
|
position: -webkit-sticky;
|
||||||
|
position: sticky;
|
||||||
|
top: 0;
|
||||||
|
z-index: 3;
|
||||||
|
font-size: .9em;
|
||||||
|
background-color: black;
|
||||||
|
padding: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
.wrapper {
|
.wrapper {
|
||||||
min-height: 50vh;
|
min-height: 60vh;
|
||||||
max-height: 70vh;
|
max-height: 80vh;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
border-radius: .25em;
|
border-radius: .25em;
|
||||||
background-color: rgba(0, 0, 0, 0.75);
|
background-color: rgba(0, 0, 0, 0.75);
|
||||||
@@ -74,7 +84,7 @@ table {
|
|||||||
table th {
|
table th {
|
||||||
position: -webkit-sticky;
|
position: -webkit-sticky;
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: 0;
|
top: 3em;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
background-color: black;
|
background-color: black;
|
||||||
@@ -203,19 +213,7 @@ ol.inline.stats {
|
|||||||
justify-content: center;
|
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 {
|
ol.inline.stats abbr {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
/*# sourceMappingURL=style.css.map */
|
/*# sourceMappingURL=style.css.map */
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"mappings": "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",
|
"mappings": "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",
|
||||||
"sources": [
|
"sources": [
|
||||||
"style.scss"
|
"style.scss"
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -9,9 +9,9 @@ html, body { margin: unset; }
|
|||||||
*, *:before, *:after { box-sizing: inherit; }
|
*, *:before, *:after { box-sizing: inherit; }
|
||||||
|
|
||||||
body {
|
body {
|
||||||
margin: 15vh auto 0;
|
margin: 10vh auto 0;
|
||||||
|
|
||||||
width: 32vw;
|
width: 35vw;
|
||||||
color: white;
|
color: white;
|
||||||
|
|
||||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
|
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;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
margin-bottom: 1.5em;
|
margin-bottom: 1em;
|
||||||
padding: 1em 1em 0;
|
padding: 1em 1em 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.factions {
|
||||||
|
position: sticky;
|
||||||
|
top: 0;
|
||||||
|
z-index: 3;
|
||||||
|
|
||||||
|
font-size: .9em;
|
||||||
|
background-color: black;
|
||||||
|
|
||||||
|
padding: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
.wrapper {
|
.wrapper {
|
||||||
min-height: 50vh;
|
min-height: 60vh;
|
||||||
max-height: 70vh;
|
max-height: 80vh;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
|
|
||||||
border-radius: .25em;
|
border-radius: .25em;
|
||||||
background-color: rgba(0, 0, 0, .75);
|
background-color: rgba(black, .75);
|
||||||
|
|
||||||
&::-webkit-scrollbar { display: none; }
|
&::-webkit-scrollbar { display: none; }
|
||||||
}
|
}
|
||||||
@@ -52,7 +63,7 @@ table {
|
|||||||
|
|
||||||
th {
|
th {
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: 0;
|
top: 3em;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
|
|
||||||
@@ -129,10 +140,6 @@ ol.inline {
|
|||||||
|
|
||||||
ol.inline.stats {
|
ol.inline.stats {
|
||||||
justify-content: center;
|
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; }
|
abbr { text-decoration: none; }
|
||||||
}
|
}
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||||
<title>Spielerliste</title>
|
<title>Spielerliste</title>
|
||||||
<link rel="stylesheet" href="package://assets/css/onlinelist/style.css">
|
<link rel="stylesheet" href="../../css/onlinelist/style.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
@@ -14,6 +14,21 @@
|
|||||||
<h2>Spieler: <span id="player-count">0</span></h2>
|
<h2>Spieler: <span id="player-count">0</span></h2>
|
||||||
</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>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -27,26 +42,8 @@
|
|||||||
<tbody id="players">
|
<tbody id="players">
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<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>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
<ol class="inline stats">
|
|
||||||
<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>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
<ol class="inline stats">
|
|
||||||
<li><span class="group group--9">WZN</span>: <span id="9">0</span></li>
|
|
||||||
<li><span class="group group--0">Zivilisten</span>: <span id="0">0</span></li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="package://assets/js/jquery-3.3.1.min.js"></script>
|
<script src="../../js/onlinelist/script.js"></script>
|
||||||
<script src="package://assets/js/onlinelist/script.js"></script>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
window.onbeforeunload = () => { window.scrollTo(0, 0); }
|
window.onbeforeunload = () => { window.scrollTo(0, 0); }
|
||||||
|
|
||||||
$(document).ready(function () {
|
|
||||||
mp.trigger('CEF:PlayerList_Loaded');
|
|
||||||
});
|
|
||||||
|
|
||||||
setPlayerCount = (factionId, value) => {
|
setPlayerCount = (factionId, value) => {
|
||||||
if (factionId == -1) {
|
if (factionId == -1) {
|
||||||
document.getElementById('player-count').innerHTML = value;
|
document.getElementById('player-count').innerHTML = value;
|
||||||
|
addTableSorting();
|
||||||
} else if (factionId >= 0 && factionId <= 9) {
|
} else if (factionId >= 0 && factionId <= 9) {
|
||||||
document.getElementById(factionId).innerHTML = value;
|
document.getElementById(factionId).innerHTML = value;
|
||||||
}
|
}
|
||||||
@@ -30,3 +27,34 @@ function addPlayerEntry(userId, userName, factionId, userPing) {
|
|||||||
var factionName = getFactionNameByFactionId(factionId);
|
var factionName = getFactionNameByFactionId(factionId);
|
||||||
document.getElementById('players').innerHTML += `<tr><td>${userId}</td> <td>${userName}</td> <td class="group group--${factionId}">${factionName}</td> <td>${userPing}</td></tr>`;
|
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));
|
||||||
|
}
|
||||||
|
|||||||
@@ -268,6 +268,9 @@ antiAfk(globalData);
|
|||||||
import ammunation from './Interaction/ammunation/ammunation';
|
import ammunation from './Interaction/ammunation/ammunation';
|
||||||
ammunation(globalData);
|
ammunation(globalData);
|
||||||
|
|
||||||
|
import handsup from './Player/handsup';
|
||||||
|
handsup();
|
||||||
|
|
||||||
import charSurgery from './CharCreator/surgery';
|
import charSurgery from './CharCreator/surgery';
|
||||||
charSurgery(globalData);
|
charSurgery(globalData);
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import * as NativeUI from '../libs/NativeUI';
|
import * as NativeUI from '../libs/NativeUI';
|
||||||
const Menu = NativeUI.Menu;
|
const Menu = NativeUI.Menu;
|
||||||
const UIMenuItem = NativeUI.UIMenuItem;
|
const UIMenuItem = NativeUI.UIMenuItem;
|
||||||
const UIMenuListItem = NativeUI.UIMenuListItem;
|
const UIMenuListItem = NativeUI.UIMenuListItem;
|
||||||
@@ -25,9 +25,7 @@ export default function planeSchoolHandle(globalData: IGlobalData) {
|
|||||||
var waitFinished = false;
|
var waitFinished = false;
|
||||||
|
|
||||||
mp.events.add('planeSchoolMenu', () => {
|
mp.events.add('planeSchoolMenu', () => {
|
||||||
mp.game.ui.setTextComponentFormat('STRING');
|
mp.events.call("renderHelpTextOnScreen", "~s~Drücke ~g~E~s~, um die ~b~Flugprüfung ~s~zu beginnen");
|
||||||
mp.game.ui.addTextComponentSubstringPlayerName('Drücke ~INPUT_CONTEXT~, um das Flugschulmenü zu öffnen');
|
|
||||||
mp.game.ui.displayHelpTextFromStringLabel(0, true, true, -1);
|
|
||||||
mp.keys.bind(0x45, false, keyPressHandler);
|
mp.keys.bind(0x45, false, keyPressHandler);
|
||||||
keyBound = true;
|
keyBound = true;
|
||||||
});
|
});
|
||||||
@@ -67,4 +65,4 @@ export default function planeSchoolHandle(globalData: IGlobalData) {
|
|||||||
mp.events.call('removeplaneSchoolMenu', false);
|
mp.events.call('removeplaneSchoolMenu', false);
|
||||||
mp.events.callRemote('startplaneSchool');
|
mp.events.callRemote('startplaneSchool');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ namespace ReallifeGamemode.Server.Bank
|
|||||||
{
|
{
|
||||||
player.SendNotification($"~w~Du hast {target.Name} $~g~{amount} ~w~Überwiesen.");
|
player.SendNotification($"~w~Du hast {target.Name} $~g~{amount} ~w~Überwiesen.");
|
||||||
player.GetUser(dbContext).BankAccount.Balance -= (int)(amount * 1.05);
|
player.GetUser(dbContext).BankAccount.Balance -= (int)(amount * 1.05);
|
||||||
target.GetUser(dbContext).otheramount = amount;
|
target.GetUser(dbContext).otheramount += amount;
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -203,7 +203,7 @@ namespace ReallifeGamemode.Server.Bank
|
|||||||
{
|
{
|
||||||
player.SendNotification($"~w~Du hast {target.Name} $~g~{amount} ~w~Überwiesen.");
|
player.SendNotification($"~w~Du hast {target.Name} $~g~{amount} ~w~Überwiesen.");
|
||||||
player.GetUser(dbContext).Faction.BankAccount.Balance -= (int)(amount * 1.05);
|
player.GetUser(dbContext).Faction.BankAccount.Balance -= (int)(amount * 1.05);
|
||||||
target.GetUser(dbContext).otheramount = amount;
|
target.GetUser(dbContext).otheramount += amount;
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Net.Http;
|
using System.Net.Http;
|
||||||
@@ -165,12 +165,6 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
[Command("position", "~m~Benutzung: ~s~/position")]
|
[Command("position", "~m~Benutzung: ~s~/position")]
|
||||||
public void CmdAdminPosition(Player player)
|
public void CmdAdminPosition(Player player)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.SUPPORTER) ?? true)
|
|
||||||
{
|
|
||||||
ChatService.NotAuthorized(player);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ChatService.SendMessage(player, "Position: X Y Z: " + player.Position + " Richtung: " + player.Heading);
|
ChatService.SendMessage(player, "Position: X Y Z: " + player.Position + " Richtung: " + player.Heading);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1358,7 +1352,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
if (target.GetData<bool>("isDead") == true)
|
if (target.GetData<bool>("isDead") == true)
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(player, "Dieser Spieler ist tot. Nutze /arevive.");
|
ChatService.ErrorMessage(player, "Dieser Spieler ist tot. Nutze /arevive");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("help", "~m~Benutzung: ~s~/help")]
|
[Command("help", "~m~Benutzung: ~s~/help")]
|
||||||
public void CmdHelp(Player player)
|
public void CmdUserHelp(Player player)
|
||||||
{
|
{
|
||||||
player.SendChatMessage("E - Interagieren (ATM, Türen, Shops, Friseur etc.");
|
player.SendChatMessage("E - Interagieren (ATM, Türen, Shops, Friseur etc.");
|
||||||
player.SendChatMessage("M - Interaktionsmenü öffnen und schließen");
|
player.SendChatMessage("M - Interaktionsmenü öffnen und schließen");
|
||||||
@@ -129,7 +129,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
player.SendChatMessage("O - Onlineliste öffnen / schließen");
|
player.SendChatMessage("O - Onlineliste öffnen / schließen");
|
||||||
player.SendChatMessage("I - Inventar öffnen / schließen");
|
player.SendChatMessage("I - Inventar öffnen / schließen");
|
||||||
player.SendChatMessage("F4 - Mikrofon an/aus schalten");
|
player.SendChatMessage("F4 - Mikrofon an/aus schalten");
|
||||||
player.SendChatMessage("/skill - Skillpunkte anzeigen");
|
player.SendChatMessage("/report - Support-Anfrage");
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("hup")]
|
[Command("hup")]
|
||||||
|
|||||||
@@ -632,10 +632,9 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
|
|
||||||
if(player.GetData<bool>("SellVehicleDecision") == true && player.HasData("VehicleToSell"))
|
if(player.GetData<bool>("SellVehicleDecision") == true && player.HasData("VehicleToSell"))
|
||||||
{
|
{
|
||||||
InteractionManager.SellPlayerVehicle(player, player.GetData<int>("VehicleToSell"));
|
InteractionManager.SellServerVehicle(player, player.GetData<int>("VehicleToSell"));
|
||||||
player.ResetData("SellVehicleDecision");
|
player.ResetData("SellVehicleDecision");
|
||||||
player.ResetData("VehicleToSell");
|
player.ResetData("VehicleToSell");
|
||||||
player.SendNotification("~g~Du hast dein Fahrzeug verkauft");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
@@ -100,7 +100,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
|
|
||||||
if (user.Wanteds > 0)
|
if (user.Wanteds > 0)
|
||||||
{
|
{
|
||||||
ChatService.HQMessage("Der Straftäter" + user.Name + " hat sich mit " + user.Wanteds + " Wanteds eingeloggt.");
|
ChatService.HQMessage("Der Straftäter " + user.Name + " hat sich mit " + user.Wanteds + " Wanteds eingeloggt.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (user.Wanteds == 0)
|
if (user.Wanteds == 0)
|
||||||
|
|||||||
@@ -29,9 +29,9 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
player.TriggerEvent("SERVER:Login_Error", "Das Passwort muss aus mindestens 6 Zeichen bestehen.");
|
player.TriggerEvent("SERVER:Login_Error", "Das Passwort muss aus mindestens 6 Zeichen bestehen.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (dbContext.Users.Where(u => u.SocialClubName == player.SocialClubName).Count() >= 3)
|
if (dbContext.Users.Where(u => u.SocialClubName == player.SocialClubName).Count()!= 0)
|
||||||
{
|
{
|
||||||
player.TriggerEvent("SERVER:Login_Error", "Es sind schon 3 Konten mit dieser Socialclub-ID registriert.");
|
player.TriggerEvent("SERVER:Login_Error", "Es ist schon ein Konto mit dieser Socialclub-ID registriert.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -195,6 +195,21 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void RemoveOldHealTask()
|
||||||
|
{
|
||||||
|
if (HealTasks.Count != 0)
|
||||||
|
{
|
||||||
|
foreach (var task in HealTasks.ToList())
|
||||||
|
{
|
||||||
|
var taskActive = DateTime.Now - task.Time;
|
||||||
|
if (taskActive > TimeSpan.FromMinutes(10) && task.MedicName == "none")
|
||||||
|
{
|
||||||
|
delHealTask(PlayerService.GetPlayerByNameOrId(task.Victim));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[RemoteEvent("loadMedicTasks")]
|
[RemoteEvent("loadMedicTasks")]
|
||||||
public void LoadMedicTasks(Player player, int type)
|
public void LoadMedicTasks(Player player, int type)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
@@ -145,7 +145,7 @@ namespace ReallifeGamemode.Server.Gangwar
|
|||||||
int id = JsonConvert.DeserializeObject<int>(jsonId);
|
int id = JsonConvert.DeserializeObject<int>(jsonId);
|
||||||
if (id == -1)
|
if (id == -1)
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(client, "Du befindest dich in keinem Gebiet!");
|
ChatService.ErrorMessage(client, "Du befindest dich in keinem Gebiet");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@@ -217,8 +217,8 @@ namespace ReallifeGamemode.Server.Gangwar
|
|||||||
{
|
{
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
ChatService.BroadcastFaction("~y~[GANGWAR] ~r~" + client.Name + "~w~ ist nicht im Gangwar beteiligt !", dbContext.Factions.Where(f => f.Name == getOwner()).FirstOrDefault());
|
ChatService.BroadcastFaction("~y~[GANGWAR] ~r~" + client.Name + "~w~ ist nicht im Gangwar beteiligt!", dbContext.Factions.Where(f => f.Name == getOwner()).FirstOrDefault());
|
||||||
ChatService.BroadcastFaction("~y~[GANGWAR] ~r~" + client.Name + "~w~ ist nicht im Gangwar beteiligt !", dbContext.Factions.Where(f => f.Name == getAttacker()).FirstOrDefault());
|
ChatService.BroadcastFaction("~y~[GANGWAR] ~r~" + client.Name + "~w~ ist nicht im Gangwar beteiligt!", dbContext.Factions.Where(f => f.Name == getAttacker()).FirstOrDefault());
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -332,7 +332,7 @@ namespace ReallifeGamemode.Server.Gangwar
|
|||||||
List<Player> leaders = context.Users.Include(u => u.Faction).Where(u => onlinePlayers.Contains(u.Name) && u.Faction.Name == attacker && u.FactionLeader).Select(u => u.Player).ToList();
|
List<Player> leaders = context.Users.Include(u => u.Faction).Where(u => onlinePlayers.Contains(u.Name) && u.Faction.Name == attacker && u.FactionLeader).Select(u => u.Player).ToList();
|
||||||
foreach (var l in leaders)
|
foreach (var l in leaders)
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(l, "Gangwarstart ist nicht möglich, da die beteiligten Fraktionen nicht genügend Mitglieder aufweisen.");
|
ChatService.ErrorMessage(l, "Du kannst keinen Gangwar starten, weil in der gegnerischen Fraktion zu wenig Spieler online sind");
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -30,14 +30,14 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
|||||||
|
|
||||||
if (!HasCooldownElapsed(user))
|
if (!HasCooldownElapsed(user))
|
||||||
{
|
{
|
||||||
DateTime time = InventoryManager.itemCooldown[user];
|
DateTime time = InventoryManager.itemCooldown[user.Id];
|
||||||
int timeUntillNextUse = (int)(time - DateTime.Now).TotalSeconds;
|
int timeUntillNextUse = (int)(time - DateTime.Now).TotalSeconds;
|
||||||
uItem.GetUser().Player.TriggerEvent("Error", $"Versuche es nach {timeUntillNextUse} Sekunden erneut.");
|
uItem.GetUser().Player.TriggerEvent("Error", $"Versuche es nach {timeUntillNextUse} Sekunden erneut.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
DateTime cooldown = DateTime.Now.AddMilliseconds(Cooldown);
|
DateTime cooldown = DateTime.Now.AddMilliseconds(Cooldown);
|
||||||
InventoryManager.itemCooldown.Add(user, cooldown);
|
InventoryManager.itemCooldown.Add(user.Id, cooldown);
|
||||||
|
|
||||||
Consume(uItem);
|
Consume(uItem);
|
||||||
return true;
|
return true;
|
||||||
@@ -48,13 +48,13 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
|||||||
if (user.Player == null || !user.Player.IsLoggedIn())
|
if (user.Player == null || !user.Player.IsLoggedIn())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (!InventoryManager.itemCooldown.ContainsKey(user))
|
if (!InventoryManager.itemCooldown.ContainsKey(user.Id))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
int timeRemaining = (int)(InventoryManager.itemCooldown[user] - DateTime.Now).TotalSeconds;
|
int timeRemaining = (int)(InventoryManager.itemCooldown[user.Id] - DateTime.Now).TotalSeconds;
|
||||||
|
|
||||||
if (timeRemaining <= 0)
|
if (timeRemaining <= 0)
|
||||||
InventoryManager.itemCooldown.Remove(user);
|
InventoryManager.itemCooldown.Remove(user.Id);
|
||||||
|
|
||||||
return timeRemaining <= 0;
|
return timeRemaining <= 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
@@ -267,7 +267,7 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
else if (data.getTrashCount() > MAX_BAG)
|
else if (data.getTrashCount() > MAX_BAG)
|
||||||
{
|
{
|
||||||
data.setTrashCount(MAX_BAG);
|
data.setTrashCount(MAX_BAG);
|
||||||
ChatService.ErrorMessage((Player)player, "Der Müllwagen ist schon voll.");
|
ChatService.ErrorMessage((Player)player, "Der Müllwagen ist schon voll");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
@@ -479,21 +479,39 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SellPlayerVehicle(Player player, int id)
|
public static void SellServerVehicle(Player player, int id)
|
||||||
{
|
{
|
||||||
using var dbContext = new DatabaseContext();
|
using var dbContext = new DatabaseContext();
|
||||||
var user = player.GetUser(dbContext);
|
var user = player.GetUser(dbContext);
|
||||||
var userVehicle = dbContext.UserVehicles.Where(v => v.Id == id && v.UserId == user.Id).FirstOrDefault();
|
ServerVehicle serverVehicle = dbContext.ServerVehicles.FirstOrDefault(v => v.Id == id);
|
||||||
var vehPrice = userVehicle.Price;
|
|
||||||
var backPrice = (int)(vehPrice * 0.4);
|
if(serverVehicle is UserVehicle)
|
||||||
GTANetworkAPI.Vehicle veh = VehicleManager.GetVehicleFromServerVehicle(userVehicle);
|
{
|
||||||
user.BankAccount.Balance += backPrice;
|
UserVehicle userVehicle = dbContext.UserVehicles.Where(v => v.Id == id && v.UserId == user.Id).FirstOrDefault();
|
||||||
|
var vehPrice = userVehicle.Price;
|
||||||
|
var backPrice = (int)(vehPrice * 0.4);
|
||||||
|
GTANetworkAPI.Vehicle veh = VehicleManager.GetVehicleFromServerVehicle(userVehicle);
|
||||||
|
user.BankAccount.Balance += backPrice;
|
||||||
|
|
||||||
ChatService.SendMessage(player, $"~b~[INFO]~s~ Du hast durch den Autoverkauf ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
|
ChatService.SendMessage(player, $"~b~[INFO]~s~ Du hast durch den Autoverkauf ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
|
||||||
|
|
||||||
VehicleManager.DeleteVehicle(veh);
|
VehicleManager.DeleteVehicle(veh);
|
||||||
|
dbContext.UserVehicles.Remove(userVehicle);
|
||||||
|
player.SendNotification("~g~Du hast dein Fahrzeug verkauft");
|
||||||
|
}
|
||||||
|
else if(serverVehicle is FactionVehicle)
|
||||||
|
{
|
||||||
|
FactionVehicle factionVehicle = dbContext.FactionVehicles.FirstOrDefault(v => v.Id == id);
|
||||||
|
var backPrice = (int)(factionVehicle.BuyPrice * 1.5 * 0.4);
|
||||||
|
user.Faction.BankAccount.Balance += backPrice;
|
||||||
|
|
||||||
dbContext.UserVehicles.Remove(userVehicle);
|
ChatService.SendMessage(player, $"~b~[INFO]~s~ Die Fraktionskasse hat ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
|
||||||
|
|
||||||
|
VehicleManager.DeleteVehicle(VehicleManager.GetVehicleFromServerVehicle(factionVehicle));
|
||||||
|
|
||||||
|
dbContext.FactionVehicles.Remove(factionVehicle);
|
||||||
|
player.SendNotification("~g~Du hast dein Fraktionsfahrzeug verkauft");
|
||||||
|
}
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -533,10 +551,10 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var factionVehicleCount = dbContext.FactionVehicles.ToList().Where(v => v.Id == id && v.GetOwners().Contains(user.FactionId.Value)).Count();
|
var factionVehicleCount = dbContext.FactionVehicles.ToList().Where(v => v.GetOwners().Contains(user.FactionId.Value)).Count();
|
||||||
if (factionVehicleCount <= 6)
|
if (factionVehicleCount <= 6)
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(player, "Die Fraktion braucht mindestens 6 Fahrzeuge");
|
ChatService.ErrorMessage(player, "Die Fraktion braucht mindestens sechs Fahrzeuge");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -546,16 +564,13 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
ChatService.ErrorMessage(player, "Das Fahrzeug konnte nicht verkauft werden. Bitte melde dich bei der Leaderverwaltung");
|
ChatService.ErrorMessage(player, "Das Fahrzeug konnte nicht verkauft werden. Bitte melde dich bei der Leaderverwaltung");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var backPrice = (int)(price.Price * 1.5 * 0.4);
|
var backPrice = (int)(price.Price * 1.5 * 0.4);
|
||||||
|
|
||||||
user.Faction.BankAccount.Balance += backPrice;
|
player.SetData<bool>("SellVehicleDecision", true);
|
||||||
|
player.SetData<int>("VehicleToSell", id);
|
||||||
ChatService.SendMessage(player, $"~b~[INFO]~s~ Die Fraktionskasse ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
|
ChatService.SendMessage(player, "~s~Möchtes du das Fahrzeug ~y~" + veh.DisplayName + " ~s~wirklich für ~g~$" + backPrice + " ~s~verkaufen? Drücke ~g~J~s~ zum Bestätigen oder ~r~N ~s~zum Abbrechen");
|
||||||
|
|
||||||
VehicleManager.DeleteVehicle(veh);
|
|
||||||
|
|
||||||
dbContext.FactionVehicles.Remove(factionVehicle);
|
|
||||||
dbContext.SaveChanges();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
public static Dictionary<Player, List<InventoryItem>> backpackItems { get; set; } = new Dictionary<Player, List<InventoryItem>>();
|
public static Dictionary<Player, List<InventoryItem>> backpackItems { get; set; } = new Dictionary<Player, List<InventoryItem>>();
|
||||||
public static Dictionary<Player, List<InventoryItem>> vehicleItems { get; set; } = new Dictionary<Player, List<InventoryItem>>();
|
public static Dictionary<Player, List<InventoryItem>> vehicleItems { get; set; } = new Dictionary<Player, List<InventoryItem>>();
|
||||||
|
|
||||||
public static Dictionary<User, DateTime> itemCooldown = new Dictionary<User, DateTime>();
|
public static Dictionary<int, DateTime> itemCooldown = new Dictionary<int, DateTime>();
|
||||||
|
|
||||||
public class InventoryItem
|
public class InventoryItem
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
@@ -66,7 +66,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
if (u.JobId == null)
|
if (u.JobId == null)
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(player, "Du hast momentan keinen Job, den du kündigen könntest.");
|
ChatService.ErrorMessage(player, "Du bist bereits arbeitslos");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,20 +89,20 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
if (u.JobId != null)
|
if (u.JobId != null)
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(player, "Du musst deinen alten Job kündigen, bevor du einen neuen ausüben kannst.");
|
ChatService.ErrorMessage(player, "Du musst deinen alten Job kündigen, bevor du einen Neuen ausüben kannst");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Pilotjob
|
//Pilotjob
|
||||||
if (jobId == 3 && u.FlyingLicensePlane == false)
|
if (jobId == 3 && u.FlyingLicensePlane == false)
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(player, "Um diesen Job annehmen zu können, musst du einen Flugschein besitzen.");
|
ChatService.ErrorMessage(player, "Um diesen Job annehmen zu können, musst du einen Flugschein besitzen");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (u.DriverLicenseVehicle == false)
|
if (u.DriverLicenseVehicle == false)
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(player, "Um diesen Job annehmen zu können, musst du einen Führerschein besitzen.");
|
ChatService.ErrorMessage(player, "Um diesen Job annehmen zu können, musst du einen Führerschein besitzen");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -202,9 +202,9 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
{
|
{
|
||||||
JobBase job = GetJob(player.GetUser().JobId ?? -1);
|
JobBase job = GetJob(player.GetUser().JobId ?? -1);
|
||||||
|
|
||||||
if (job != null && job.GetUsersInJob().Contains(player) && seat == 0)
|
if (job != null && job.GetUsersInJob().Contains(player))
|
||||||
{
|
{
|
||||||
if(job.CheckVehicle(player, veh))
|
if(job.CheckVehicle(player, veh) && seat == 0)
|
||||||
{
|
{
|
||||||
if (!playerTimersJobVehicleRespawn.ContainsKey(player))
|
if (!playerTimersJobVehicleRespawn.ContainsKey(player))
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
@@ -35,7 +35,7 @@ namespace ReallifeGamemode.Server.Report
|
|||||||
|
|
||||||
if (listReports.FindAll(e => (e.isAssigned() == false)).Count == 0)
|
if (listReports.FindAll(e => (e.isAssigned() == false)).Count == 0)
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(client, "Im Moment gibt es keine Tickets.");
|
ChatService.ErrorMessage(client, "Aktuell gibt es keine Tickets");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -92,7 +92,8 @@ namespace ReallifeGamemode.Server.Report
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ChatService.SendMessage(player, "!{#008fff}[REPORT]!{#FFFFFF} Admin " + admin.Name + " hat dein Ticket angenommen! (Benutze /rc zum Schreiben)");
|
ChatService.SendMessage(player, "!{#008fff}[REPORT]!{#FFFFFF} Admin " + admin.Name + " hat dein Ticket angenommen! Über /rc [Text] kannst du mit dem Admin schreiben.");
|
||||||
|
ChatService.SendMessage(admin, "!{#008fff}[REPORT]!{#FFFFFF} Du hast das Ticket von " + player.Name + " angenommen! Über /rc [Text] kannst du mit dem User schreiben.");
|
||||||
ChatService.BroadcastDutyAdmin("!{#008fff}[REPORT]!{#FFFFFF} " + admin.Name + " hat das Ticket von " + player.Name + " angenommen");
|
ChatService.BroadcastDutyAdmin("!{#008fff}[REPORT]!{#FFFFFF} " + admin.Name + " hat das Ticket von " + player.Name + " angenommen");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ namespace ReallifeGamemode.Server.Util
|
|||||||
Economy.Timer_Elapsed();
|
Economy.Timer_Elapsed();
|
||||||
WeaponDealManager.Timer_Elapsed();
|
WeaponDealManager.Timer_Elapsed();
|
||||||
Medic.UpdateReviveSperre();
|
Medic.UpdateReviveSperre();
|
||||||
|
Medic.RemoveOldHealTask();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user