Miese Corona Zeiten push für Lenhardt

This commit is contained in:
Siga
2020-05-10 19:19:53 +02:00
parent 15e4cec8ee
commit efbff34c21
159 changed files with 8042 additions and 8695 deletions

View File

@@ -19,19 +19,16 @@ cancelItem.BackColor = new Color(213, 0, 0);
cancelItem.HighlightedBackColor = new Color(229, 57, 53); cancelItem.HighlightedBackColor = new Color(229, 57, 53);
export default function elevatorList(globalData: IGlobalData) { export default function elevatorList(globalData: IGlobalData) {
var elevatorMenu: NativeUI.Menu; var elevatorMenu: NativeUI.Menu;
var stages; var stages;
var stage = ""; var stage = "";
//Weapon Menu //Weapon Menu
mp.events.add('showElevatorMenu', (stagesArr) => { mp.events.add('showElevatorMenu', (stagesArr) => {
if (!globalData.InMenu) { if (!globalData.InMenu) {
globalData.InMenu = true; globalData.InMenu = true;
stages = JSON.parse(stagesArr); stages = JSON.parse(stagesArr);

View File

@@ -1,9 +1,8 @@
export default function RefuseCollector() { export default function RefuseCollector() {
var State = false; var State = false;
var Traegt = false; var Traegt = false;
var HintenVoll = false; var HintenVoll = false;
var MuellSack = null;
var BlipTonneHinten = null; var BlipTonneHinten = null;
var CheckpointTonneHinten = null; var CheckpointTonneHinten = null;
var ShapeTonneHinten = null; var ShapeTonneHinten = null;
@@ -17,8 +16,6 @@
var BlipTonne = []; var BlipTonne = [];
var ShapeTonne = []; var ShapeTonne = [];
mp.events.add('SERVER:MuellmannStatusTrue', () => { mp.events.add('SERVER:MuellmannStatusTrue', () => {
State = true; State = true;
}); });
@@ -28,13 +25,12 @@
}); });
mp.events.add('SERVER:MuellmannBCSErstellen', (jsonPosArr, veh) => { mp.events.add('SERVER:MuellmannBCSErstellen', (jsonPosArr, veh) => {
let posArr = JSON.parse(jsonPosArr); let posArr = JSON.parse(jsonPosArr);
vehicle = veh; vehicle = veh;
for (var i = 0; i < posArr.length; i++) { for (var i = 0; i < posArr.length; i++) {
let pos = new mp.Vector3(posArr[i].x, posArr[i].y, posArr[i].z - 1) let pos = new mp.Vector3(posArr[i].x, posArr[i].y, posArr[i].z - 1)
BlipTonne.push(mp.blips.new(1, pos, { name: 'Müllmann', color: 45, shortRange: false })); BlipTonne.push(mp.blips.new(1, pos, { name: 'Müllmann', color: 45, shortRange: false }));
BlipTonne[i].setFlashes(true); BlipTonne[i].setFlashTimer(2000);
ShapeTonne.push(mp.colshapes.newSphere(posArr[i].x, posArr[i].y, posArr[i].z + 0.5, 1.75)); ShapeTonne.push(mp.colshapes.newSphere(posArr[i].x, posArr[i].y, posArr[i].z + 0.5, 1.75));
} }
@@ -43,7 +39,6 @@
ShapeTonneBase = mp.colshapes.newSphere(-535.1912, -1713.742, 19.23861 - 1, 10); ShapeTonneBase = mp.colshapes.newSphere(-535.1912, -1713.742, 19.23861 - 1, 10);
}); });
mp.events.add('SERVER:MuellmannBCSEntfernen', () => { mp.events.add('SERVER:MuellmannBCSEntfernen', () => {
for (var i = 0; i < BlipTonne.length; i++) { for (var i = 0; i < BlipTonne.length; i++) {
if (BlipTonne[i] == null) continue; if (BlipTonne[i] == null) continue;
BlipTonne[i].destroy(); BlipTonne[i].destroy();
@@ -79,10 +74,8 @@
BlipTonne[i] = null; BlipTonne[i] = null;
ShapeTonne[i].destroy(); ShapeTonne[i].destroy();
ShapeTonne[i] = null; ShapeTonne[i] = null;
MuellSack = mp.objects.new(3619689535, mp.players.local.position, { rotation: new mp.Vector3(0.0, 0.0, 0.0), alpha: 255, dimension: 0 });
MuellSack.attachTo(mp.players.local.handle, mp.players.local.getBoneIndex(6286), 0.08, 0.0, -0.03, 270.0, 0.0, 25.0, true, true, false, false, 0, true);
interval = setInterval(function () { createMarker(); }, 250); interval = setInterval(function () { createMarker(); }, 2);
} }
else { else {
mp.gui.chat.push("Der Müllwagen ist bereits voll! Fahre zur Base und lade ab!"); mp.gui.chat.push("Der Müllwagen ist bereits voll! Fahre zur Base und lade ab!");
@@ -96,7 +89,6 @@
} }
if (Shape == ShapeTonneHinten) { if (Shape == ShapeTonneHinten) {
if (Traegt) { if (Traegt) {
Traegt = false; Traegt = false;
mp.events.callRemote('CLIENT:MuellmannAddSack'); mp.events.callRemote('CLIENT:MuellmannAddSack');
@@ -108,10 +100,7 @@
CheckpointTonneHinten = null; CheckpointTonneHinten = null;
if (ShapeTonneHinten) ShapeTonneHinten.destroy(); if (ShapeTonneHinten) ShapeTonneHinten.destroy();
ShapeTonneHinten = null; ShapeTonneHinten = null;
MuellSack.destroy();
} }
} }
else if (Shape == ShapeTonneBase) { else if (Shape == ShapeTonneBase) {
BlipTonneBase.setRoute(false); BlipTonneBase.setRoute(false);
@@ -134,11 +123,31 @@
HintenVoll = true; HintenVoll = true;
}); });
function createMarker() { function createMarker() {
if (vehicle != null) { if (vehicle != null) {
var boneIndex = vehicle.getBoneIndexByName("platelight"); var boneIndex2 = vehicle.getBoneIndexByName("platelight");
let pos = vehicle.getWorldPositionOfBone(boneIndex); var boneIndex1 = vehicle.getBoneIndexByName("chassis_dummy");
let posPlate = vehicle.getWorldPositionOfBone(boneIndex2);
let posCentre = vehicle.getWorldPositionOfBone(boneIndex1);
let plateVec = new mp.Vector3(posPlate.x, posPlate.y, posPlate.z);
let lightVec = new mp.Vector3(posCentre.x, posCentre.y, posCentre.z);
let posPL = lightVec.subtract(plateVec);
let temp = new mp.Vector3(posPL.x * -1, posPL.y * -1, posPL.z * -1)
let length = Math.sqrt((temp.x * temp.x) + (temp.y * temp.y) + (temp.z * temp.z));
let x = temp.x / length;
let y = temp.y / length;
let z = temp.z / length;
temp = new mp.Vector3(x, y, z - 1);
let pos = plateVec.add(temp);
if (BlipTonneHinten) BlipTonneHinten.destroy(); if (BlipTonneHinten) BlipTonneHinten.destroy();
BlipTonneHinten = null; BlipTonneHinten = null;
if (CheckpointTonneHinten) CheckpointTonneHinten.destroy(); if (CheckpointTonneHinten) CheckpointTonneHinten.destroy();
@@ -147,10 +156,7 @@
ShapeTonneHinten = null; ShapeTonneHinten = null;
BlipTonneHinten = mp.blips.new(318, pos, { name: 'Müllmann', color: 24, shortRange: false }); BlipTonneHinten = mp.blips.new(318, pos, { name: 'Müllmann', color: 24, shortRange: false });
CheckpointTonneHinten = mp.markers.new(1, pos, 1, { direction: new mp.Vector3(-235.5747, -1685.475, 32.7207), color: [0, 255, 0, 255], visible: true, dimension: 0 }); CheckpointTonneHinten = mp.markers.new(1, pos, 1, { direction: new mp.Vector3(-235.5747, -1685.475, 32.7207), color: [0, 255, 0, 255], visible: true, dimension: 0 });
ShapeTonneHinten = mp.colshapes.newSphere(pos.x, pos.y, pos.z - 1, 2); ShapeTonneHinten = mp.colshapes.newSphere(pos.x, pos.y, pos.z, 2);
} }
}; };
} }

View File

@@ -22,8 +22,6 @@ body {
background-color: transparent; background-color: transparent;
} }
.main2 { .main2 {
z-index: 2; z-index: 2;
background: #0c0c0cc4; background: #0c0c0cc4;
@@ -557,53 +555,48 @@ t#tf_nameorid {
} }
#tf_zahl { #tf_zahl {
background-color: #313131; /* blau */ background-color: #313131;
border: none; border: none;
height: 30px; height: 1vw;
width: 124px; width: 4.3vw;
text-align: center; text-align: center;
text-decoration: none; text-decoration: none;
display: inline-block; display: inline-block;
font-size: 12px; font-size: 0.5vw;
position: relative; position: relative;
left: 42%; left: 7.8vw;
top: 40%; top: 1.2vw;
color: #ffffff; color: #ffffff;
} }
#tf_cancle { #tf_cancle {
background-color: #ff0000; background-color: #ff0000;
border: none; border: none;
height: 32px; height: 1vw;
width: 124px; width: 3vw;
text-align: center; text-align: center;
text-decoration: none; text-decoration: none;
display: inline-block; display: inline-block;
font-size: 16px; font-size: 0.5vw;
font-color: white;
position: relative; position: relative;
left: 33.7%; left: 12.5vw;
top: 44%; top: -0.2vw;
color: #ffffff; color: #ffffff;
opacity: 0.5;
transition: 0.3s;
} }
#tf_submitZahl { #tf_submitZahl {
background-color: #008CBA; /* blau */ background-color: #008CBA;
border: none; border: none;
height: 32px; height: 1.5vw;
width: 124px; width: 8vw;
text-align: center; text-align: center;
text-decoration: none; text-decoration: none;
display: inline-block; display: inline-block;
font-size: 16px; font-size: 0.5vw;
font-color: white;
position: relative; position: relative;
left: 42%; left: -1.8vw;
top: 40%; top: 6vw;
color: #ffffff; color: #ffffff;
opacity: 0.5;
transition: 0.3s; transition: 0.3s;
} }
@@ -614,15 +607,15 @@ t#tf_nameorid {
#tf_zahl4 { #tf_zahl4 {
background-color: #313131; background-color: #313131;
border: none; border: none;
height: 1.5vw; height: 1vw;
width: 5vw; width: 4.3vw;
text-align: center; text-align: center;
text-decoration: none; text-decoration: none;
display: inline-block; display: inline-block;
font-size: 0.6vw; font-size: 0.5vw;
position: relative; position: relative;
left: 19vw; left: 7.7vw;
top: 13vw; top: 1vw;
color: #ffffff; color: #ffffff;
} }
@@ -635,12 +628,10 @@ t#tf_nameorid {
text-decoration: none; text-decoration: none;
display: inline-block; display: inline-block;
font-size: 0.5vw; font-size: 0.5vw;
font-color: white;
position: relative; position: relative;
left: 17.8vw; left: 12.5vw;
top: 9.4vw; top: -0.3vw;
color: #ffffff; color: #ffffff;
opacity: 0.5;
transition: 0.3s; transition: 0.3s;
} }
@@ -657,12 +648,10 @@ t#tf_nameorid {
text-decoration: none; text-decoration: none;
display: inline-block; display: inline-block;
font-size: 0.5vw; font-size: 0.5vw;
font-color: white;
position: relative; position: relative;
left: 21vw; left: -5.4vw;
top: 13vw; top: 6vw;
color: #ffffff; color: #ffffff;
opacity: 0.5;
transition: 0.3s; transition: 0.3s;
} }
@@ -692,7 +681,6 @@ t#tf_nameorid {
opacity: 1; opacity: 1;
} }
#tf_acceptTrade { #tf_acceptTrade {
background-color: #009b03; background-color: #009b03;
border: none; border: none;
@@ -731,7 +719,9 @@ t#tf_nameorid {
color: #ffffff; color: #ffffff;
opacity: 0.5; opacity: 0.5;
transition: 0.3s; transition: 0.3s;
}i }
i
#tf_cancle3:hover { #tf_cancle3:hover {
opacity: 1 opacity: 1
@@ -784,7 +774,7 @@ t#tf_nameorid {
.BoxBlue { .BoxBlue {
background-color: #1b1b1b; background-color: #1b1b1b;
height: 11.1vw; height: 8.9vw;
width: 20.2vw; width: 20.2vw;
position: relative; position: relative;
margin-top: 11vw; margin-top: 11vw;
@@ -801,7 +791,7 @@ t#tf_nameorid {
display: inline-block; display: inline-block;
font-size: 0.5vw; font-size: 0.5vw;
position: relative; position: relative;
left: 5.45vw; left: 12.45vw;
top: 0vw; top: 0vw;
color: #ffffff; color: #ffffff;
} }
@@ -837,8 +827,8 @@ t#tf_nameorid {
display: inline-block; display: inline-block;
font-size: 0.6vw; font-size: 0.6vw;
position: relative; position: relative;
left: 10.8vw; left: -1.7vw;
top: 5.45vw; top: 6.45vw;
color: #ffffff; color: #ffffff;
opacity: 0.5; opacity: 0.5;
transition: 0.3s; transition: 0.3s;
@@ -858,8 +848,8 @@ t#tf_nameorid {
display: inline-block; display: inline-block;
font-size: 0.5vw; font-size: 0.5vw;
position: relative; position: relative;
left: 7.5vw; left: 7.8vw;
top: 4.4vw; top: 1.4vw;
color: #ffffff; color: #ffffff;
} }
@@ -871,15 +861,15 @@ select.select_box2 {
.blueIcon1 { .blueIcon1 {
position: relative; position: relative;
height: 3vw; height: 3vw;
margin-bottom: -3.1vw; margin-bottom: -3.6vw;
margin-left: 13.4vw; margin-left: 8.5vw;
} }
.blueIcon2 { .blueIcon2 {
position: relative; position: relative;
height: 3vw; height: 3vw;
margin-bottom: 0.9vw; margin-bottom: -4.6vw;
margin-left: 3.4vw; margin-left: 0.7vw;
} }
.blue3 { .blue3 {
@@ -901,7 +891,6 @@ select.select_box2 {
opacity: 1 opacity: 1
} }
#tf_nameorid { #tf_nameorid {
background-color: #313131; background-color: #313131;
border: none; border: none;
@@ -917,7 +906,6 @@ select.select_box2 {
color: #ffffff; color: #ffffff;
} }
.alert_green { .alert_green {
z-index: 2; z-index: 2;
background: rgba(85, 255, 0, 0.90); background: rgba(85, 255, 0, 0.90);

View File

@@ -11,40 +11,48 @@
<body> <body>
<div class="alerts" id='alertbox'> <div class="alerts" id='alertbox'>
</div> </div>
<div class="sidebar"> <div class="sidebar">
<ul> <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="side1" class="sidebaritem1" onclick="switchSite('backpackClass')">
<li name="side2" class="sidebaritem2" onclick="getVehicle()"><img class="sideicon2" src="img/backpack/car.svg"><p class="bartext">Fahrzeug</p></li> <img class="sideicon1" src="img/backpack/backpack.svg"><p class="bartext">Rucksack</p>
<li name="side3" class="sidebaritem3" onclick="switchSite('tradeClass')"><img class="sideicon4" src="img/backpack/trading.svg"><p class="bartext">Handel</p></li> </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="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="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> <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> </ul>
</div> </div>
<div name="backpackClass" class="backpack"> <div name="backpackClass" class="backpack">
<div class="main"> <div class="main">
<div class="Betrag" style="display: none;"> <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,'');"> <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_submitZahl' onclick="">Bestätigen</button> <button id="tf_cancle" onclick="">Schließen</button>
<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="Betrag2" style="display: none;">
<div class="BoxBlue"> <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,'');"> <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_submitZahlToHandel" onclick="">Zum handeln transferieren</button>
<button id="tf_cancle2" onclick="">Schließen</button> <button id="tf_cancle2" onclick="">Schließen</button>
<button id="tf_submitZahlToVehicle" onclick="">Zum Fahrzeug transferieren</button> <button id="tf_submitZahlToVehicle" onclick="">Zum Fahrzeug transferieren</button>
<img class="blueIcon1" src="img/backpack/car.svg"> <img class="blueIcon1" src="img/backpack/car.svg"></img>
<img class="blueIcon2" src="img/backpack/trading.svg">
</div> </div>
</div> </div>
<div class="title"><div class="titlecount"><span id="count1">0</span> / 40 Kilogramm</div><div class="titletext">Rucksack</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"> <div class="items">
<ul id="List0"></ul> <ul id="List0"></ul>
</div> </div>
@@ -53,11 +61,17 @@
<div name="vehClass" class="veh hidden"> <div name="vehClass" class="veh hidden">
<div class="main"> <div class="main">
<div class="title"><div class="titlecount"><span id="count2">0</span> / 250 Kilogramm</div><div class="titletext">Fahrzeug</div></div> <div class="title">
<div class="titlecount"><span id="count2">0</span> / 250 Kilogramm</div>
<div class="titletext">Fahrzeug</div>
</div>
<div class="Betrag4" style="display: none;"> <div class="Betrag4" style="display: none;">
<input type="text" id="tf_zahl4" name="number" placeholder="Betrag eingeben" min="1" step="1" oninput="this.value=this.value.replace(/[^0-9]/g,'');"> <div class="BoxBlue">
<button id='tf_submitZahl4' onclick="">Zum Rucksack transferieren</button>
<button id='tf_cancle4' onclick="">Schließen</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>
<div class="items"> <div class="items">
<ul id="List4"></ul> <ul id="List4"></ul>
@@ -65,7 +79,7 @@
</div> </div>
</div> </div>
<div name="handelClass" class="handel hidden"> <!-- <div name="handelClass" class="handel hidden">
<div class="main"> <div class="main">
<div class="Betrag3" style="display:none;"> <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,'');"> <input type="text" id="tf_zahl3" name="number" placeholder="Betrag eingeben" min="1" step="1" oninput="this.value=this.value.replace(/[^0-9]/g,'');">
@@ -91,53 +105,16 @@
<ul id="List3"></ul> <ul id="List3"></ul>
</div> </div>
</div> </div>
</div> </div> -->
<div id="invisible" style="display: none"></div> <div id="invisible" style="display: none"></div>
<script src="../../js/jquery-3.3.1.min.js"></script>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script> <script>
var lastClass = "backpackClass"; var lastClass = "backpackClass";
var val = 0; var val = 0;
function changeTradeStatus(value) {
val = JSON.parse(value);
}
function getTrade() {
if (val == 1) {
switchSite('anfrageClass');
}
}
function getVehicle() {
if (vehInv.length > 0) {
switchSite('vehClass');
} else {
mp.trigger("Error", "Kofferraum leer oder kein Fahrzeug in der Nähe.")
}
}
$("#tf_acceptTrade").unbind('click').click(function () {
if (anfrageInv.length > 0) {
mp.trigger("CEF:acceptTrade");
}
});
$("#tf_submitTrade").unbind('click').click(function () {
if (handelInv.length > 0) {
var handelItemID = [];
var handelItemAmount = [];
for (i = 0; i < handelInv.length; i++) {
handelItemID.push(handelInv[i].ID);
handelItemAmount.push(handelInv[i].Amount);
}
mp.trigger("CEF:tradeItem", 0, JSON.stringify(String($('#tf_nameorid').val())), JSON.stringify(handelItemID), JSON.stringify(handelItemAmount))
}
});
$("#tf_cancle4").unbind('click').click(function () { $("#tf_cancle4").unbind('click').click(function () {
$(".Betrag4").hide(); $(".Betrag4").hide();
}); });
@@ -151,20 +128,6 @@
$(".Betrag2").hide(); $(".Betrag2").hide();
}); });
function setAnfrage(jsonIdArr, jsonAmountArr, jsonNameArr, jsonWeight) {
var parsedIdArr = JSON.parse(jsonIdArr);
var parsedAmountArr = JSON.parse(jsonAmountArr);
var parsedNameArr = JSON.parse(jsonNameArr);
var parsedWeight = JSON.parse(jsonWeight);
for (var i = 0; i < parsedNameArr.length; i++) {
var num = parsedAmountArr[i];
var newItem = { Name: parsedNameArr[i], ID: parsedIdArr[i], Amount: num, Category: 3 };
anfrageInv[i] = newItem;
}
$('#count4').html(parsedWeight / 1000);
drawAnfrage();
}
function switchSite(site) { function switchSite(site) {
if (site != lastClass) { if (site != lastClass) {
if (site == "tradeClass") { if (site == "tradeClass") {
@@ -203,111 +166,8 @@
$(document).ready(function () { $(document).ready(function () {
mp.trigger('CEF:InventoryLoaded'); mp.trigger('CEF:InventoryLoaded');
mp.trigger('CEF:getNearVehicles');
}); });
function setItems(jsonName, jsonID, jsonAmount, nearPlayers) {
var parsedName = JSON.parse(jsonName);
var parsedID = JSON.parse(jsonID);
var parsedAmount = JSON.parse(jsonAmount);
for (var i = 0; i < parsedName.length; i++) {
var num = parsedAmount[i];
var newItem = { Name: parsedName[i], ID: parsedID[i], Amount: num, Category: 0 };
rucksackInv[i] = newItem;
}
jsonInv = JSON.stringify(rucksackInv);
ReceiveClientInformation(jsonInv);
var parsedPlayers = JSON.parse(nearPlayers);
Players = parsedPlayers;
for (var x = 0; x < parsedPlayers.length; x++) {
$('.dropdown-content').append("<a value=" + x + ">" + parsedPlayers[x] + "</a>");
}
}
var Players = [];
function setWeight(jsonWeight) {
var parsedWeight = JSON.parse(jsonWeight);
$('#count1').html(parsedWeight / 1000);
}
function setVehiclesInv(jsonVehInv) {
var parsedVehInv = JSON.parse(jsonVehInv);
vehInvItem.push(parsedVehInv);
var vehicle = vehInvItem[0];
for (i = 0; i < vehicle.ivehName.length; i++) {
var newItem = { Name: vehicle.ivehName[i], ID: vehicle.ivehId[i], Amount: vehicle.ivehAmount[i], Category: 1 };
vehInv.push(newItem);
}
Origin.push(0);
Origin.push(vehicle.ID);
var jsonVehInv = JSON.stringify(vehInv);
$('#count2').html(vehInvItem[0].currentWeight / 1000);
RecieveVehicleInfo(jsonVehInv);
}
function RecieveVehicleInfo(json) {
var parsed = JSON.parse(json);
for (var i = 0; i < parsed.length; i++) {
var item = parsed[i];
console.log(item);
var quantity = parsed[i].Amount;
var list = document.getElementById("List4");
var pictureElement = document.createElement("img");
pictureElement.setAttribute("class", "sideicon15");
pictureElement.setAttribute("src", "img/inventory/" + item.ID + ".svg");
var redButton = document.createElement("div");
var redButtonImg = document.createElement("img");
redButton.setAttribute("class", "red");
redButton.setAttribute("onclick", "onAction(1," + item.ID + "," + item.Amount + ","+ i +");");
redButtonImg.setAttribute("src", "img/backpack/trash.svg");
redButtonImg.setAttribute("class", "redImg");
redButton.appendChild(redButtonImg);
var blueButton = document.createElement("div");
var blueButtonImg = document.createElement("img");
blueButton.setAttribute("class", "blue2");
blueButton.setAttribute("onclick", "onAction(4," + item.ID + "," + item.Amount + ","+ i +");");
blueButtonImg.setAttribute("src", "img/backpack/paper-plane.svg");
blueButtonImg.setAttribute("class", "blueImg");
blueButton.appendChild(blueButtonImg);
var listLength = list.length;
var row = 1;
if (listLength > 3) {
row = 2;
}
if (listLength > 7) {
row = 3;
}
if (listLength > 11) {
row = 4;
}
if (listLength > 15) {
row = 5;
}
if (listLength > 19) {
row = 6;
}
var Litem = document.createElement("li");
Litem.setAttribute("class", "item" + row);
Litem.appendChild(document.createTextNode(quantity + "x " + item.Name));
Litem.appendChild(pictureElement);
Litem.appendChild(redButton);
Litem.appendChild(blueButton);
list.appendChild(Litem);
}
}
var rucksackInv = []; var rucksackInv = [];
var handelInv = []; var handelInv = [];
var vehInv = []; var vehInv = [];
@@ -316,73 +176,35 @@
var vehInvItem = []; var vehInvItem = [];
function ReceiveClientInformation(json) { function setBackpackItems(jsonItemArr) {
var parsed = JSON.parse(json); console.log(jsonItemArr);
rucksackInv = parsed; var parsedItemArr = JSON.parse(jsonItemArr)
for (var i = 0; i < parsed.length; i++) { rucksackInv = [];
var item = parsed[i]; for (var i = 0; i < parsedItemArr.length; i++) {
item.Category = 0; var item = parsedItemArr[i];
console.log(item); var newItem = { Name: item.Name, ID: item.ItemId, Amount: item.Amount, Category: 0 };
var quantity = parsed[i].Amount; rucksackInv.push(newItem);
var list = document.getElementById("List" + item.Category); $('#count1').html(item.Weight / 1000);
var pictureElement = document.createElement("img");
pictureElement.setAttribute("class", "sideicon15");
pictureElement.setAttribute("src", "img/inventory/" + item.ID + ".svg");
var redButton = document.createElement("div");
var redButtonImg = document.createElement("img");
redButton.setAttribute("class", "red");
redButton.setAttribute("onclick", "onAction(1," + item.ID + "," + item.Amount + "," + i + ");");
redButtonImg.setAttribute("src", "img/backpack/trash.svg");
redButtonImg.setAttribute("class", "redImg");
redButton.appendChild(redButtonImg);
var greenButton = document.createElement("div");
var greenButtonImg = document.createElement("img");
greenButton.setAttribute("class", "green");
greenButton.setAttribute("onclick", "onAction(0," + item.ID + "," + item.Amount + "," + i + ");");
greenButtonImg.setAttribute("src", "img/backpack/use.svg");
greenButtonImg.setAttribute("class", "greenImg");
greenButton.appendChild(greenButtonImg);
var blueButton = document.createElement("div");
var blueButtonImg = document.createElement("img");
blueButton.setAttribute("class", "blue");
blueButton.setAttribute("onclick", "onAction(2," + item.ID + "," + item.Amount + ", " + i + ");");
blueButtonImg.setAttribute("src", "img/backpack/paper-plane.svg");
blueButtonImg.setAttribute("class", "blueImg");
blueButton.appendChild(blueButtonImg);
var listLength = list.length;
var row = 1;
if (listLength > 3) {
row = 2;
} }
if (listLength > 7) { drawRucksack();
row = 3;
}
if (listLength > 11) {
row = 4;
}
if (listLength > 15) {
row = 5;
}
if (listLength > 19) {
row = 6;
} }
var Litem = document.createElement("li"); function getVehicle() {
Litem.setAttribute("class", "item" + row); mp.trigger("CEF:callVehicleInventory");
Litem.appendChild(document.createTextNode(quantity + "x " + item.Name));
Litem.appendChild(pictureElement);
Litem.appendChild(redButton);
Litem.appendChild(greenButton);
Litem.appendChild(blueButton);
list.appendChild(Litem);
} }
function setVehicleItems(jsonItemArr) {
var parsedItemArr = JSON.parse(jsonItemArr)
vehInv = [];
for (var i = 0; i < parsedItemArr.length; i++) {
var item = parsedItemArr[i];
var newItem = { Name: item.Name, ID: item.ItemId, Amount: item.Amount, Category: 0 };
vehInv.push(newItem);
$('#count2').html(item.Weight / 1000);
}
switchSite('vehClass');
drawVehicle();
} }
var clnc = 1; var clnc = 1;
@@ -478,7 +300,6 @@
} }
} }
function onAction(action, id, ammount, i) { function onAction(action, id, ammount, i) {
$(".Betrag").hide(); $(".Betrag").hide();
@@ -497,8 +318,6 @@
mp.trigger("CEF:useItem", JSON.stringify("drop"), JSON.stringify(ammount), JSON.stringify(rucksackInv[i].ID)) mp.trigger("CEF:useItem", JSON.stringify("drop"), JSON.stringify(ammount), JSON.stringify(rucksackInv[i].ID))
} }
$(".Betrag").hide(); $(".Betrag").hide();
drawRucksack();
drawVehicle();
event.preventDefault() event.preventDefault()
event.stopPropagation() event.stopPropagation()
}); });
@@ -507,209 +326,33 @@
{ {
$(".Betrag2").show(); $(".Betrag2").show();
var Copy = Object.assign({}, rucksackInv[i]); var Copy = Object.assign({}, rucksackInv[i]);
$("#tf_submitZahlToHandel").unbind('click').click(function () {
var y = parseInt($('#tf_zahl2').val(), 10);
if ($('#tf_zahl2').val() < ammount && ammount > 0) {
for (x = 0; x < handelInv.length; x++) {
if (handelInv[x].ID == Copy.ID) {
handelInv[x].Amount += y;
rucksackInv[i].Amount -= y;
$(".Betrag2").hide();
drawHandel();
drawRucksack();
event.preventDefault()
event.stopPropagation()
return;
}
}
handelInv.push(Copy);
handelInv[handelInv.length - 1].Amount = y;
handelInv[handelInv.length - 1].Category = 2;
rucksackInv[i].Amount -= y;
} else if ($('#tf_zahl2').val() >= ammount) {
for (x = 0; x < handelInv.length; x++) {
if (handelInv[x].ID == Copy.ID) {
handelInv[x].Amount += y;
rucksackInv.splice(i, 1);
$(".Betrag2").hide();
drawHandel();
drawRucksack();
event.preventDefault()
event.stopPropagation()
return;
}
}
handelInv.push(Copy);
handelInv[handelInv.length - 1].Category = 2;
rucksackInv.splice(i, 1);
}
$(".Betrag2").hide();
drawHandel();
drawRucksack();
event.preventDefault()
event.stopPropagation()
});
$("#tf_submitZahlToVehicle").unbind('click').click(function () { $("#tf_submitZahlToVehicle").unbind('click').click(function () {
if (Origin.length < 2) {
$(".Betrag2").hide();
drawVehicle();
drawRucksack();
event.preventDefault()
event.stopPropagation()
return;
}
Origin[0] = 0;
var y = parseInt($('#tf_zahl2').val(), 10); var y = parseInt($('#tf_zahl2').val(), 10);
if ($('#tf_zahl2').val() < ammount && ammount > 0) { if ($('#tf_zahl2').val() < ammount && ammount > 0) {
mp.trigger("CEF:backpackToVehicle", JSON.stringify(rucksackInv[i].ID), JSON.stringify(y));
for (x = 0; x < vehInv.length; x++) {
if (vehInv[x].ID == Copy.ID) {
vehInv[x].Amount += y;
rucksackInv[i].Amount -= y;
$(".Betrag2").hide();
mp.trigger("CEF:saveVehicleTransfer",0, JSON.stringify(Origin), JSON.stringify(rucksackInv[i].ID), JSON.stringify(rucksackInv[i].Amount), JSON.stringify(y));
drawVehicle();
drawRucksack();
event.preventDefault()
event.stopPropagation()
return;
}
}
vehInv.push(Copy);
vehInv[vehInv.length - 1].Amount = y;
vehInv[vehInv.length - 1].Category = 2;
rucksackInv[i].Amount -= y;
mp.trigger("CEF:saveVehicleTransfer",0, JSON.stringify(Origin), JSON.stringify(rucksackInv[i].ID), JSON.stringify(rucksackInv[i].Amount), JSON.stringify(y));
} else if ($('#tf_zahl2').val() >= ammount) { } else if ($('#tf_zahl2').val() >= ammount) {
for (x = 0; x < vehInv.length; x++) { mp.trigger("CEF:backpackToVehicle", JSON.stringify(rucksackInv[i].ID), JSON.stringify(ammount));
if (vehInv[x].ID == Copy.ID) {
vehInv[x].Amount += y;
rucksackInv.splice(i, 1);
$(".Betrag2").hide();
mp.trigger("CEF:saveVehicleTransfer",0, JSON.stringify(Origin), JSON.stringify(Copy.ID), JSON.stringify(0), JSON.stringify(ammount));
drawVehicle();
drawRucksack();
event.preventDefault()
event.stopPropagation()
return;
}
}
vehInv.push(Copy);
vehInv[vehInv.length - 1].Category = 2;
rucksackInv.splice(i, 1);
mp.trigger("CEF:saveVehicleTransfer",0, JSON.stringify(Origin), JSON.stringify(Copy.ID), JSON.stringify(0), JSON.stringify(ammount));
} }
$(".Betrag2").hide(); $(".Betrag2").hide();
drawVehicle();
drawRucksack();
event.preventDefault() event.preventDefault()
event.stopPropagation() event.stopPropagation()
}); });
} }
if (action == 3) { if (action == 3) {
$(".Betrag3").show();
var Copy = Object.assign({}, handelInv[i]);
$("#tf_submitZahl3").unbind('click').click(function () {
var y = parseInt($('#tf_zahl3').val(), 10);
if ($('#tf_zahl3').val() < ammount && ammount > 0) {
for (x = 0; x < rucksackInv.length; x++) {
if (rucksackInv[x].ID == Copy.ID) {
rucksackInv[x].Amount += y;
handelInv[i].Amount -= y;
$(".Betrag3").hide();
drawHandel();
drawRucksack();
event.preventDefault()
event.stopPropagation()
return;
}
}
rucksackInv.push(Copy);
rucksackInv[rucksackInv.length - 1].Amount = y;
rucksackInv[rucksackInv.length - 1].Category = 0;
handelInv[i].Amount -= y;
} else if ($('#tf_zahl3').val() >= ammount) {
for (x = 0; x < rucksackInv.length; x++) {
if (rucksackInv[x].ID == Copy.ID) {
rucksackInv[x].Amount += ammount;
handelInv.splice(i, 1);
$(".Betrag3").hide();
drawHandel();
drawRucksack();
event.preventDefault()
event.stopPropagation()
return;
}
}
rucksackInv.push(Copy);
rucksackInv[rucksackInv.length - 1].Category = 0;
handelInv.splice(i, 1);
}
$(".Betrag3").hide();
drawHandel();
drawRucksack();
event.preventDefault()
event.stopPropagation()
});
} }
if (action == 4) { if (action == 4) {
$(".Betrag4").show(); $(".Betrag4").show();
var Copy = Object.assign({}, vehInv[i]); var Copy = Object.assign({}, vehInv[i]);
$("#tf_submitZahl4").unbind('click').click(function () { $("#tf_submitZahl4").unbind('click').click(function () {
Origin[0] = 1;
var y = parseInt($('#tf_zahl4').val(), 10); var y = parseInt($('#tf_zahl4').val(), 10);
if ($('#tf_zahl4').val() < ammount && ammount > 0) { if ($('#tf_zahl4').val() < ammount && ammount > 0) {
mp.trigger("CEF:vehicleToBackpack", JSON.stringify(vehInv[i].ID), JSON.stringify(y));
for (x = 0; x < rucksackInv.length; x++) {
if (rucksackInv[x].ID == Copy.ID) {
rucksackInv[x].Amount += y;
vehInv[i].Amount -= y;
$(".Betrag2").hide();
mp.trigger("CEF:saveVehicleTransfer",1, JSON.stringify(Origin), JSON.stringify(Copy.ID), JSON.stringify(vehInv[i].Amount), JSON.stringify(y));
drawRucksack();
drawVehicle();
event.preventDefault()
event.stopPropagation()
return;
}
}
console.log(rucksackInv);
rucksackInv.push(Copy);
rucksackInv[rucksackInv.length - 1].Amount = y;
rucksackInv[rucksackInv.length - 1].Category = 2;
vehInv[i].Amount -= y;
console.log(rucksackInv);
mp.trigger("CEF:saveVehicleTransfer",1, JSON.stringify(Origin), JSON.stringify(Copy.ID), JSON.stringify(vehInv[i].Amount), JSON.stringify(y));
} else if ($('#tf_zahl4').val() >= ammount) { } else if ($('#tf_zahl4').val() >= ammount) {
for (x = 0; x < rucksackInv.length; x++) { mp.trigger("CEF:vehicleToBackpack", JSON.stringify(vehInv[i].ID), JSON.stringify(ammount));
if (rucksackInv[x].ID == Copy.ID) {
rucksackInv[x].Amount += ammount;
vehInv.splice(i, 1);
$(".Betrag2").hide();
mp.trigger("CEF:saveVehicleTransfer",1, JSON.stringify(Origin), JSON.stringify(Copy.ID), JSON.stringify(0), JSON.stringify(ammount));
drawRucksack();
drawVehicle();
event.preventDefault()
event.stopPropagation()
return;
}
} }
rucksackInv.push(Copy);
rucksackInv[rucksackInv.length - 1].Amount = ammount;
rucksackInv[rucksackInv.length - 1].Category = 2;
vehInv.splice(i, 1);
mp.trigger("CEF:saveVehicleTransfer",1, JSON.stringify(Origin), JSON.stringify(Copy.ID), JSON.stringify(0), JSON.stringify(ammount));
}
$(".Betrag4").hide(); $(".Betrag4").hide();
drawRucksack();
drawVehicle();
event.preventDefault() event.preventDefault()
event.stopPropagation() event.stopPropagation()
}); });
@@ -736,7 +379,6 @@
pictureElement.setAttribute("class", "sideicon15"); pictureElement.setAttribute("class", "sideicon15");
pictureElement.setAttribute("src", "img/inventory/" + item.ID + ".svg"); pictureElement.setAttribute("src", "img/inventory/" + item.ID + ".svg");
var blueButton = document.createElement("div"); var blueButton = document.createElement("div");
var blueButtonImg = document.createElement("img"); var blueButtonImg = document.createElement("img");
blueButton.setAttribute("class", "blue3"); blueButton.setAttribute("class", "blue3");
@@ -883,7 +525,6 @@
redButtonImg.setAttribute("class", "redImg"); redButtonImg.setAttribute("class", "redImg");
redButton.appendChild(redButtonImg); redButton.appendChild(redButtonImg);
var blueButton = document.createElement("div"); var blueButton = document.createElement("div");
var blueButtonImg = document.createElement("img"); var blueButtonImg = document.createElement("img");
blueButton.setAttribute("class", "blue2"); blueButton.setAttribute("class", "blue2");
@@ -943,7 +584,6 @@
pictureElement.setAttribute("class", "sideicon15"); pictureElement.setAttribute("class", "sideicon15");
pictureElement.setAttribute("src", "img/inventory/" + item.ID + ".svg"); pictureElement.setAttribute("src", "img/inventory/" + item.ID + ".svg");
var listLength = list.length; var listLength = list.length;
var row = 1; var row = 1;
@@ -974,8 +614,6 @@
} }
} }
</script> </script>
</body> </body>
</html> </html>

View File

@@ -1,4 +1,4 @@
import { IEntity, IPlayer, IPlayerPool, IVehicle, IVehiclePool, VehicleSeat, EntityType } from "../../game"; import { IEntity, IPlayer, IEntityAttachments, IEntityAttachmentPool, IPlayerPool, IVehicle, IVehiclePool, VehicleSeat, EntityType } from "../../game";
import { parseJson } from "../../util"; import { parseJson } from "../../util";
class RageEntity implements IEntity { class RageEntity implements IEntity {
@@ -8,6 +8,10 @@ class RageEntity implements IEntity {
return this.entity.id; return this.entity.id;
} }
get remoteId(): any {
return this.entity.remoteId;
}
constructor(entity: EntityMp) { constructor(entity: EntityMp) {
this.entity = entity; this.entity = entity;
} }
@@ -32,6 +36,8 @@ class RageEntity implements IEntity {
class RagePlayer extends RageEntity implements IPlayer { class RagePlayer extends RageEntity implements IPlayer {
private player: PlayerMp; private player: PlayerMp;
public __attachments: any[];
public __attachmentObjects: any[];
get name(): string { get name(): string {
return this.player.name; return this.player.name;
@@ -52,6 +58,78 @@ class RagePlayer extends RageEntity implements IPlayer {
} }
} }
class RageAttachments implements IEntityAttachments {
remoteId: any;
public __attachments: any[];
public __attachmentObjects: any[];
constructor(entity: IEntity, attachments: any[], attachmentObjects: any[]) {
this.remoteId = entity.remoteId;
this.__attachments = attachments;
this.__attachmentObjects = attachmentObjects;
}
}
class RageEntityAttachmentPool implements IEntityAttachmentPool {
public attachmentPool: IEntityAttachments[];
remove(entity: IEntity) {
for (let obj of this.attachmentPool.keys()) {
if (entity.remoteId == this.attachmentPool[obj].remoteId) delete this.attachmentPool[obj];
}
}
find(entity: EntityMp): IEntityAttachments {
for (let i of this.attachmentPool.keys()) {
let pool = this.attachmentPool[i];
for (let obj of pool.__attachmentObjects) {
if (entity == obj) { return pool;}
}
}
return null;
}
set(entity: IEntity, attachments: any[], attachmentObjects: any[]): IEntityAttachments {
if (!this.attachmentPool) {
let e = new RageAttachments(entity, attachments, attachmentObjects);
this.attachmentPool = [];
this.attachmentPool.push(e);
return e;
}
for (let obj of this.attachmentPool.keys()) {
if (entity.remoteId == this.attachmentPool[obj].remoteId) { this.remove(entity); }
}
let e = new RageAttachments(entity, attachments, attachmentObjects);
this.attachmentPool.push(e);
return e;
}
at(remoteId: any): IEntityAttachments {
if (!this.attachmentPool) {
return null;
}
for (let obj of this.attachmentPool.keys()) {
if (remoteId == this.attachmentPool[obj].remoteId) { return this.attachmentPool[obj]; }
}
return null;
}
get(entity: IEntity): IEntityAttachments {
if (!this.attachmentPool) {
return null;
}
for (let obj of this.attachmentPool.keys()) {
if (entity.remoteId == this.attachmentPool[obj].remoteId) { return this.attachmentPool[obj]; }
}
return null;
}
}
class RagePlayerPool implements IPlayerPool { class RagePlayerPool implements IPlayerPool {
get local(): IPlayer { get local(): IPlayer {
return new RagePlayer(mp.players.local); return new RagePlayer(mp.players.local);
@@ -103,14 +181,14 @@ class RageVehiclePool implements IVehiclePool {
fn(new RageVehicle(e)); fn(new RageVehicle(e));
}) })
} }
} }
export { export {
RageEntity, RageEntity,
RagePlayer, RagePlayer,
RagePlayerPool, RagePlayerPool,
RageAttachments,
RageEntityAttachmentPool,
RageVehicle, RageVehicle,
RageVehiclePool, RageVehiclePool,
} }

View File

@@ -1,12 +1,12 @@
import { IGame, IUi, IEvents, IPlayerPool, IVehiclePool } from "../../game"; import { IGame, IUi, IEvents, IPlayerPool, IVehiclePool, IEntityAttachmentPool } from "../../game";
import RageEvents from "./events"; import RageEvents from "./events";
import RageUi from "./ui"; import RageUi from "./ui";
import { RagePlayerPool, RageVehiclePool } from "./entities"; import { RagePlayerPool, RageVehiclePool, RageEntityAttachmentPool } from "./entities";
export default class RageGame implements IGame { export default class RageGame implements IGame {
players: IPlayerPool = new RagePlayerPool(); players: IPlayerPool = new RagePlayerPool();
vehicles: IVehiclePool = new RageVehiclePool(); vehicles: IVehiclePool = new RageVehiclePool();
attachments: IEntityAttachmentPool = new RageEntityAttachmentPool();
events: IEvents = new RageEvents; events: IEvents = new RageEvents;
ui: IUi = new RageUi; ui: IUi = new RageUi;

View File

@@ -5,6 +5,7 @@
players: IPlayerPool; players: IPlayerPool;
vehicles: IVehiclePool; vehicles: IVehiclePool;
attachments: IEntityAttachmentPool;
disableDefaultEngineBehaviour(): void; disableDefaultEngineBehaviour(): void;
} }
@@ -41,6 +42,7 @@ interface IBrowser {
interface IEntity { interface IEntity {
id: number; id: number;
remoteId: any;
type: EntityType; type: EntityType;
getSharedData<T>(key: string): T; getSharedData<T>(key: string): T;
} }
@@ -51,6 +53,12 @@ interface IPlayer extends IEntity {
vehicle: IVehicle; vehicle: IVehicle;
} }
interface IEntityAttachments {
remoteId: any;
__attachments: any[];
__attachmentObjects: any[];
}
interface IVehicle extends IEntity { interface IVehicle extends IEntity {
isSeatFree(seat: VehicleSeat): boolean; isSeatFree(seat: VehicleSeat): boolean;
setEngineStatus(status: boolean, instantly: boolean, otherwise: boolean); setEngineStatus(status: boolean, instantly: boolean, otherwise: boolean);
@@ -67,8 +75,16 @@ interface IPlayerPool extends IEntityPool<IPlayer> {
local: IPlayer; local: IPlayer;
} }
interface IVehiclePool extends IEntityPool<IVehicle> { interface IEntityAttachmentPool {
attachmentPool: IEntityAttachments[];
find(entity: EntityMp): IEntityAttachments;
remove(entity: IEntity): void;
set(entity: IEntity, attachments: any[], attachmentObjects: any[]): IEntityAttachments;
at(handle: any): IEntityAttachments;
get(entity: IEntity): IEntityAttachments;
}
interface IVehiclePool extends IEntityPool<IVehicle> {
} }
enum EntityType { enum EntityType {
@@ -122,6 +138,8 @@ export {
IBrowser, IBrowser,
IPlayer, IPlayer,
IEntityAttachments,
IEntityAttachmentPool,
IVehicle, IVehicle,
IEntity, IEntity,
IEntityPool, IEntityPool,

View File

@@ -209,6 +209,15 @@ taximeterInput(globalData);
import refuseCollector from './Jobs/RefuseCollector'; import refuseCollector from './Jobs/RefuseCollector';
refuseCollector(); refuseCollector();
import PedCreator from './Ped/PedCreator';
PedCreator();
import attachmentManager from './util/attachmentMngr';
attachmentManager(game);
import relativeVector from './util/relativevector';
relativeVector();
require('./Gui/policedepartment'); require('./Gui/policedepartment');
interface VehicleData { interface VehicleData {
@@ -219,3 +228,5 @@ interface VehicleData {
export { export {
VehicleData VehicleData
} }

View File

@@ -1,43 +1,31 @@
 export default function inventory(globalData: IGlobalData): void {
export default function inventory(globalData: IGlobalData): void {
var invBrowser: BrowserMp = null; var invBrowser: BrowserMp = null;
var itemIdArr; var itemIdArr;
var itemAmountArr; var itemAmountArr;
var invWeight; var invWeight;
var itemNameArr; var itemNameArr;
var itemArr;
var offerItemArr;
var tradeItemArr;
var vehItemArr;
var ivehArr; var loaded = false;
var Players; mp.events.add('inventoryShow', () => {
mp.events.add('setVehiclesInventory', (vehInvArr) => {
ivehArr = vehInvArr;
invBrowser.execute(`setVehiclesInv('${JSON.stringify(ivehArr)}');`);
});
mp.events.add('showVehInventory', () => {
invBrowser.execute(`execVehInv();`);
});
var open = false;
mp.events.add('inventoryShow', (iWeight, iNameArr, iAmountArr, iIdArr, playersArr) => {
if (invBrowser !== null) { if (invBrowser !== null) {
invBrowser.destroy() invBrowser.destroy()
invBrowser = null; invBrowser = null;
globalData.InInput = false; globalData.InInput = false;
loaded = false;
mp.gui.cursor.show(false, false); mp.gui.cursor.show(false, false);
return; return;
} }
if (!globalData.InInput) { if (!globalData.InInput) {
globalData.InInput = true; globalData.InInput = true;
mp.gui.cursor.show(true, true); mp.gui.cursor.show(true, true);
itemArr = [];
vehItemArr = [];
invBrowser = mp.browsers.new('package://assets/html/inventory/inventory.html'); invBrowser = mp.browsers.new('package://assets/html/inventory/inventory.html');
Players = playersArr;
itemIdArr = iIdArr;
itemAmountArr = iAmountArr;
itemNameArr = iNameArr;
invWeight = iWeight;
} }
}); });
var offer = 0; var offer = 0;
@@ -55,22 +43,42 @@ export default function inventory(globalData: IGlobalData): void {
} }
}); });
mp.events.add("addTradeItems", (itemId, itemAmount, itemName, weight) => { mp.events.addDataHandler("backpackItems", (entity: EntityMp, jsonItemArr) => {
tradeItemID = JSON.stringify(itemId); if (entity.handle != mp.players.local.handle) return;
tradeItemAmount = JSON.stringify(itemAmount); itemArr = JSON.parse(jsonItemArr);
tradeItemName = JSON.stringify(itemName); if (loaded)
tradeItemWeight = JSON.stringify(weight); invBrowser.execute(`setBackpackItems('${JSON.stringify(itemArr)}',true)`);
if (invBrowser != null)
invBrowser.execute(`setAnfrage('${tradeItemID}','${tradeItemAmount}','${tradeItemName}','${tradeItemWeight}');`);
}); });
mp.events.add("CEF:saveVehicleTransfer", (val, jsonOrigin, jsonInvID, jsonInvAmount, jsonVehAmount) => { mp.events.addDataHandler("vehicleItems", (entity: EntityMp, jsonItemArr) => {
if (val == 0) { if (entity != mp.players.local) return;
mp.events.callRemote('saveInventory', jsonInvID, jsonInvAmount, jsonOrigin, jsonVehAmount); vehItemArr = JSON.parse(jsonItemArr);
} else if(val == 1){
mp.events.callRemote('saveVehicleInventory', jsonInvID, jsonInvAmount, jsonOrigin, jsonVehAmount); if (loaded)
invBrowser.execute(`setVehicleItems('${JSON.stringify(vehItemArr)}')`);
});
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")
});
mp.events.add("CEF:backpackToVehicle", (jsonItemId, jsonAmount) => {
mp.events.callRemote('transferToVehicle', jsonItemId, jsonAmount);
});
mp.events.add("CEF:vehicleToBackpack", (jsonItemId, jsonAmount) => {
mp.events.callRemote('transferToBackpack', jsonItemId, jsonAmount);
}); });
mp.events.add("CEF:useItem", (type, amount, id) => { mp.events.add("CEF:useItem", (type, amount, id) => {
@@ -112,22 +120,6 @@ export default function inventory(globalData: IGlobalData): void {
}); });
mp.events.add("CEF:InventoryLoaded", () => {
if (offer == 1) {
invBrowser.execute(`changeTradeStatus('${JSON.stringify(offer)}')`);
invBrowser.execute(`setAnfrage('${tradeItemID}','${tradeItemAmount}','${tradeItemName}','${tradeItemWeight}');`);
}
invBrowser.execute(`setItems('${JSON.stringify(itemNameArr)}','${JSON.stringify(itemIdArr)}','${JSON.stringify(itemAmountArr)}','${JSON.stringify(Players)}');`);
invBrowser.execute(`setWeight('${JSON.stringify(invWeight)}');`);
});
mp.events.add("CEF:getNearVehicles", () => {
mp.events.callRemote('getNearVehicles');
});
mp.events.add("CEF:acceptTrade", () => { mp.events.add("CEF:acceptTrade", () => {
if (invBrowser !== null) { if (invBrowser !== null) {
mp.events.callRemote('acceptTrade'); mp.events.callRemote('acceptTrade');
@@ -135,7 +127,6 @@ export default function inventory(globalData: IGlobalData): void {
invBrowser = null; invBrowser = null;
mp.gui.cursor.show(false, false); mp.gui.cursor.show(false, false);
} }
}); });
mp.events.add("CEF:declineTrade", () => { mp.events.add("CEF:declineTrade", () => {
@@ -169,5 +160,4 @@ export default function inventory(globalData: IGlobalData): void {
} }
} }
}); });
} }

View File

@@ -1,7 +1,4 @@
 export default function gangwarHandle(globalData: IGlobalData) {
export default function gangwarHandle(globalData: IGlobalData) {
function inside(point, vs) { function inside(point, vs) {
let x = point[0], let x = point[0],
y = point[1]; y = point[1];
@@ -35,7 +32,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
}; };
var Gangturf = class { var Gangturf = class {
name: string; name: string;
id: number; id: number;
range: number; range: number;
@@ -70,7 +66,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
} }
_setup(name, id, x, y, range, color, rot, owner, edit, vector, value) { _setup(name, id, x, y, range, color, rot, owner, edit, vector, value) {
var self = this; var self = this;
self.name = name; self.name = name;
self.id = id; self.id = id;
@@ -127,7 +122,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
loadArea() { loadArea() {
var self = this; var self = this;
self.blip = mp.game.ui.addBlipForRadius(self.x, self.y, 1, self.range); self.blip = mp.game.ui.addBlipForRadius(self.x, self.y, 1, self.range);
mp.game.invoke(Natives.SET_BLIP_SPRITE, self.blip, 5); mp.game.invoke(Natives.SET_BLIP_SPRITE, self.blip, 5);
@@ -137,7 +131,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
self._colshape = mp.colshapes.newCircle(self.x, self.y, self.range * 1.5); self._colshape = mp.colshapes.newCircle(self.x, self.y, self.range * 1.5);
} }
render() { render() {
var self = this; var self = this;
if (self._colshape) { if (self._colshape) {
if (self.edit == true) { if (self.edit == true) {
@@ -151,11 +144,8 @@ export default function gangwarHandle(globalData: IGlobalData) {
} }
//self.blip.setRotation(self.rotation); //self.blip.setRotation(self.rotation);
mp.game.invoke(Natives.SET_BLIP_ROTATION, self.blip, self.rotation); mp.game.invoke(Natives.SET_BLIP_ROTATION, self.blip, self.rotation);
} }
if (self._status == "attack" || self.edit == true) { if (self._status == "attack" || self.edit == true) {
if (self._colshape) { if (self._colshape) {
if (mp.game.gameplay.getDistanceBetweenCoords(mp.players.local.position.x, mp.players.local.position.y, 0, self.x, self.y, 0, true) < self.range * 1.5) { if (mp.game.gameplay.getDistanceBetweenCoords(mp.players.local.position.x, mp.players.local.position.y, 0, self.x, self.y, 0, true) < self.range * 1.5) {
@@ -191,7 +181,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
mp.game.graphics.drawLine(bottom_left.x, bottom_left.y, i, top_left.x, top_left.y, i, 255, 0, 0, 255); mp.game.graphics.drawLine(bottom_left.x, bottom_left.y, i, top_left.x, top_left.y, i, 255, 0, 0, 255);
} }
} else { } else {
/* /*
let a = 0; let a = 0;
for (var i = z; i < z + 1; i += 0.001) { for (var i = z; i < z + 1; i += 0.001) {
@@ -203,10 +192,8 @@ export default function gangwarHandle(globalData: IGlobalData) {
} }
*/ */
} }
} }
if (self.isInsideArea()) { if (self.isInsideArea()) {
mp.game.graphics.drawText(self.name, [self.x, self.y, mp.players.local.position.z + 20], { mp.game.graphics.drawText(self.name, [self.x, self.y, mp.players.local.position.z + 20], {
font: 7, font: 7,
@@ -215,7 +202,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
outline: true, outline: true,
centre: true centre: true
}); });
} }
} }
} }
@@ -233,10 +219,8 @@ export default function gangwarHandle(globalData: IGlobalData) {
} }
} }
} }
} }
startGangWar() { startGangWar() {
var self = this; var self = this;
if (self._status == "normal") { if (self._status == "normal") {
@@ -287,7 +271,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
self.attackBlip = mp.game.ui.addBlipForCoord(self.x, self.y, 0); self.attackBlip = mp.game.ui.addBlipForCoord(self.x, self.y, 0);
mp.game.invoke(Natives.SET_BLIP_SPRITE, self.attackBlip, 378); mp.game.invoke(Natives.SET_BLIP_SPRITE, self.attackBlip, 378);
mp.game.invoke(Natives.SET_BLIP_AS_SHORT_RANGE, self.attackBlip, false); mp.game.invoke(Natives.SET_BLIP_AS_SHORT_RANGE, self.attackBlip, false);
} else if (!bool) { } else if (!bool) {
mp.game.invoke(Natives.SET_BLIP_SPRITE, self.attackBlip, 5); mp.game.invoke(Natives.SET_BLIP_SPRITE, self.attackBlip, 5);
} }
@@ -310,7 +293,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
self.setLeaderColShape(); self.setLeaderColShape();
mp.game.invoke(Natives.SET_BLIP_SPRITE, self.leaderBlip, 437); mp.game.invoke(Natives.SET_BLIP_SPRITE, self.leaderBlip, 437);
mp.game.invoke(Natives.SET_BLIP_AS_SHORT_RANGE, self.leaderBlip, false); mp.game.invoke(Natives.SET_BLIP_AS_SHORT_RANGE, self.leaderBlip, false);
} }
} }
@@ -323,7 +305,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
visible: true, visible: true,
dimension: 0 dimension: 0
}); });
} }
isTurfArea(shape) { isTurfArea(shape) {
@@ -354,7 +335,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
mp.game.audio.playSoundFrontend(1, "Enter_Capture_Zone", "DLC_Apartments_Drop_Zone_Sounds", true); mp.game.audio.playSoundFrontend(1, "Enter_Capture_Zone", "DLC_Apartments_Drop_Zone_Sounds", true);
mp.game.graphics.stopScreenEffect("MinigameTransitionIn"); mp.game.graphics.stopScreenEffect("MinigameTransitionIn");
mp.game.graphics.startScreenEffect("MinigameTransitionOut", 500, false); mp.game.graphics.startScreenEffect("MinigameTransitionOut", 500, false);
} }
mp.events.callRemote("Gangarea:Enter", JSON.stringify(self.id)); mp.events.callRemote("Gangarea:Enter", JSON.stringify(self.id));
} }
@@ -525,7 +505,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
} }
clearBlips(); clearBlips();
if (turfs.length > 0) { if (turfs.length > 0) {
gangturfs = []; gangturfs = [];
turfs.forEach(function (turf) { turfs.forEach(function (turf) {
if (turf.Id != undefined) { if (turf.Id != undefined) {
@@ -543,7 +522,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
mp.events.add('ADMIN:SetTurf', (name) => { mp.events.add('ADMIN:SetTurf', (name) => {
gangturfs[gangturfs.length - 1].edit = false; gangturfs[gangturfs.length - 1].edit = false;
if (gangturfs[gangturfs.length - 1].id == -1) { if (gangturfs[gangturfs.length - 1].id == -1) {
mp.events.callRemote("SERVER:SetTurf", JSON.stringify(gangturfs[gangturfs.length - 1].x), JSON.stringify(gangturfs[gangturfs.length - 1].y), JSON.stringify(gangturfs[gangturfs.length - 1].rotation), JSON.stringify(gangturfs[gangturfs.length - 1].range), name); mp.events.callRemote("SERVER:SetTurf", JSON.stringify(gangturfs[gangturfs.length - 1].x), JSON.stringify(gangturfs[gangturfs.length - 1].y), JSON.stringify(gangturfs[gangturfs.length - 1].rotation), JSON.stringify(gangturfs[gangturfs.length - 1].range), name);
} }
}); });

View File

@@ -21,5 +21,6 @@ namespace ReallifeGamemode.Database.Entities.Saves
public float Heading { get; set; } public float Heading { get; set; }
public byte Dimension { get; set; } public byte Dimension { get; set; }
public bool Active { get; set; } public bool Active { get; set; }
public int Type { get; set; }
} }
} }

View File

@@ -775,6 +775,8 @@ namespace ReallifeGamemode.Database.Migrations
b.Property<float>("PositionZ"); b.Property<float>("PositionZ");
b.Property<int>("Type");
b.HasKey("Id"); b.HasKey("Id");
b.ToTable("Peds"); b.ToTable("Peds");

View File

@@ -1,13 +1,9 @@
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
namespace ReallifeGamemode.Server.Business namespace ReallifeGamemode.Server.Business
{ {
class AirplaneDealerBusiness : CarDealerBusinessBase internal class AirplaneDealerBusiness : CarDealerBusinessBase
{ {
public override int Id => 7; public override int Id => 7;
public override string Name => "Flugzeug Shop"; public override string Name => "Flugzeug Shop";
@@ -22,7 +18,6 @@ namespace ReallifeGamemode.Server.Business
public override void Load() public override void Load()
{ {
} }
public override string BankAccountName => Name; public override string BankAccountName => Name;

View File

@@ -1,13 +1,9 @@
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
namespace ReallifeGamemode.Server.Business namespace ReallifeGamemode.Server.Business
{ {
class BeachDealerBusiness : CarDealerBusinessBase internal class BeachDealerBusiness : CarDealerBusinessBase
{ {
public override int Id => 9; public override int Id => 9;
public override string Name => "Beach Shop"; public override string Name => "Beach Shop";
@@ -22,7 +18,6 @@ namespace ReallifeGamemode.Server.Business
public override void Load() public override void Load()
{ {
} }
} }
} }

View File

@@ -1,7 +1,4 @@
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
namespace ReallifeGamemode.Server.Business namespace ReallifeGamemode.Server.Business
{ {
@@ -21,7 +18,6 @@ namespace ReallifeGamemode.Server.Business
public override void Load() public override void Load()
{ {
} }
} }
} }

View File

@@ -1,7 +1,4 @@
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
namespace ReallifeGamemode.Server.Business namespace ReallifeGamemode.Server.Business
{ {
@@ -21,7 +18,6 @@ namespace ReallifeGamemode.Server.Business
public override void Load() public override void Load()
{ {
} }
} }
} }

View File

@@ -1,11 +1,11 @@
using GTANetworkAPI; using System;
using System.Linq;
using GTANetworkAPI;
using Newtonsoft.Json; using Newtonsoft.Json;
using ReallifeGamemode.Database; using ReallifeGamemode.Database;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions; using ReallifeGamemode.Server.Extensions;
using System;
using System.Linq;
namespace ReallifeGamemode.Server.Business namespace ReallifeGamemode.Server.Business
{ {
@@ -86,7 +86,6 @@ namespace ReallifeGamemode.Server.Business
NAPI.Util.ConsoleOutput("Creating Bank Account for Business: " + Name); NAPI.Util.ConsoleOutput("Creating Bank Account for Business: " + Name);
using (var dbContext = new DatabaseContext()) using (var dbContext = new DatabaseContext())
{ {
dbContext.BusinessBankAccounts.Add(new BusinessBankAccount() dbContext.BusinessBankAccounts.Add(new BusinessBankAccount()
{ {
BusinessId = Id, BusinessId = Id,

View File

@@ -1,7 +1,4 @@
using GTANetworkAPI; using GTANetworkAPI;
using System;
using System.Collections.Generic;
using System.Text;
namespace ReallifeGamemode.Server.Business namespace ReallifeGamemode.Server.Business
{ {

View File

@@ -1,7 +1,4 @@
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
namespace ReallifeGamemode.Server.Business namespace ReallifeGamemode.Server.Business
{ {
@@ -21,7 +18,6 @@ namespace ReallifeGamemode.Server.Business
public override void Load() public override void Load()
{ {
} }
} }
} }

View File

@@ -1,13 +1,9 @@
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
namespace ReallifeGamemode.Server.Business namespace ReallifeGamemode.Server.Business
{ {
class LastTrainDealerBusiness : CarDealerBusinessBase internal class LastTrainDealerBusiness : CarDealerBusinessBase
{ {
public override int Id => 10; public override int Id => 10;
public override string Name => "Last Train Carshop"; public override string Name => "Last Train Carshop";
@@ -22,7 +18,6 @@ namespace ReallifeGamemode.Server.Business
public override void Load() public override void Load()
{ {
} }
} }
} }

View File

@@ -1,7 +1,4 @@
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
namespace ReallifeGamemode.Server.Business namespace ReallifeGamemode.Server.Business
{ {
@@ -19,7 +16,6 @@ namespace ReallifeGamemode.Server.Business
public override void Load() public override void Load()
{ {
} }
} }
} }

View File

@@ -1,13 +1,9 @@
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
namespace ReallifeGamemode.Server.Business namespace ReallifeGamemode.Server.Business
{ {
class SUVDealerBusiness : CarDealerBusinessBase internal class SUVDealerBusiness : CarDealerBusinessBase
{ {
public override int Id => 11; public override int Id => 11;
public override string Name => "SUV Carshop"; public override string Name => "SUV Carshop";
@@ -22,7 +18,6 @@ namespace ReallifeGamemode.Server.Business
public override void Load() public override void Load()
{ {
} }
} }
} }

View File

@@ -1,7 +1,4 @@
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
namespace ReallifeGamemode.Server.Business namespace ReallifeGamemode.Server.Business
{ {
@@ -15,7 +12,6 @@ namespace ReallifeGamemode.Server.Business
public override void Load() public override void Load()
{ {
} }
} }
} }

View File

@@ -1,7 +1,4 @@
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
namespace ReallifeGamemode.Server.Business namespace ReallifeGamemode.Server.Business
{ {
@@ -15,7 +12,6 @@ namespace ReallifeGamemode.Server.Business
public override void Load() public override void Load()
{ {
} }
} }
} }

View File

@@ -1,7 +1,4 @@
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
namespace ReallifeGamemode.Server.Business namespace ReallifeGamemode.Server.Business
{ {
@@ -19,7 +16,6 @@ namespace ReallifeGamemode.Server.Business
public override void Load() public override void Load()
{ {
} }
} }
} }

View File

@@ -1,8 +1,4 @@
using System; namespace ReallifeGamemode.Server.Classes
using System.Collections.Generic;
using System.Text;
namespace ReallifeGamemode.Server.Classes
{ {
public class TempBlip public class TempBlip
{ {

View File

@@ -1,26 +1,25 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text.RegularExpressions;
using GTANetworkAPI; using GTANetworkAPI;
using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json; using Newtonsoft.Json;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Inventory.Interfaces;
using ReallifeGamemode.Server.Business;
using System.Text.RegularExpressions;
using ReallifeGamemode.Server.Classes;
using ReallifeGamemode.Server.Factions.Medic;
using ReallifeGamemode.Server.Job;
using ReallifeGamemode.Server.Finance;
using ReallifeGamemode.Server.Wanted;
using Microsoft.EntityFrameworkCore;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Database; using ReallifeGamemode.Server.Business;
using ReallifeGamemode.Services; using ReallifeGamemode.Server.Classes;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Factions.Medic;
using ReallifeGamemode.Server.Finance;
using ReallifeGamemode.Server.Inventory.Interfaces;
using ReallifeGamemode.Server.Job;
using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Types; using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.Wanted;
using ReallifeGamemode.Services;
/** /**
* @overview Life of German Reallife - Admin Commands (Admin.cs) * @overview Life of German Reallife - Admin Commands (Admin.cs)
@@ -32,8 +31,8 @@ namespace ReallifeGamemode.Server.Commands
{ {
public class AdminCommands : Script public class AdminCommands : Script
{ {
#region Todo #region Todo
[Command("eat", "~m~Benutzung: ~s~/eat [Item]")] [Command("eat", "~m~Benutzung: ~s~/eat [Item]")]
public void CmdAdminEat(Player player, string item) public void CmdAdminEat(Player player, string item)
{ {
@@ -126,8 +125,10 @@ namespace ReallifeGamemode.Server.Commands
ChatService.SendMessage(player, msg); ChatService.SendMessage(player, msg);
} }
#endregion #endregion Todo
#region ahelp #region ahelp
[Command("ahelp", "~m~Benutzung: ~s~/ahelp")] [Command("ahelp", "~m~Benutzung: ~s~/ahelp")]
public void CmdAdminHelp(Player player) public void CmdAdminHelp(Player player)
{ {
@@ -143,35 +144,39 @@ namespace ReallifeGamemode.Server.Commands
case AdminLevel.MAPPING: case AdminLevel.MAPPING:
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position"); ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position");
break; break;
case AdminLevel.ENTWICKLUNG: case AdminLevel.ENTWICKLUNG:
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position"); ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position");
break; break;
case AdminLevel.SUPPORTER: case AdminLevel.SUPPORTER:
ChatService.SendMessage(player, "~b~ " + "/tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick"); ChatService.SendMessage(player, "~b~ " + "/tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
break; break;
case AdminLevel.ADMIN: case AdminLevel.ADMIN:
ChatService.SendMessage(player, "~b~ " + "/a, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist"); ChatService.SendMessage(player, "~b~ " + "/a, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist");
break; break;
case AdminLevel.ADMIN2: case AdminLevel.ADMIN2:
ChatService.SendMessage(player, "~b~ " + "/sethp, /setarmor, /arevive, /aunjail, /aclear, /clothes, /props"); ChatService.SendMessage(player, "~b~ " + "/sethp, /setarmor, /arevive, /aunjail, /aclear, /clothes, /props");
break; break;
case AdminLevel.ADMIN3: case AdminLevel.ADMIN3:
ChatService.SendMessage(player, "~b~ " + "/adice, /settime, /setweather, /rsetarmor, /rgiveweapon, /giveweapon, /veh, /fv, /vfix, /vdestroy, /vlivery, /vcolor, /vehsmoke, /aneon, /mod, /showtuningmenu, /rvdestroy, /vsethp"); ChatService.SendMessage(player, "~b~ " + "/adice, /settime, /setweather, /rsetarmor, /rgiveweapon, /giveweapon, /veh, /fv, /vfix, /vdestroy, /vlivery, /vcolor, /vehsmoke, /aneon, /mod, /showtuningmenu, /rvdestroy, /vsethp");
break; break;
case AdminLevel.HEADADMIN: case AdminLevel.HEADADMIN:
ChatService.SendMessage(player, "~b~ " + "/aspeed, /set, /setmoney, /givemoney, /sethandmoney, /givehandmoney, /paydaydrop, /setwage, /freekh, /ainvite, /makeleader, /managefactionranks, /setweaponrack, /rmweaponrack, /setweaponrank, /giveitem, /inventory, /save, /remove, /house, /setbusinessbankbalance, /reloaddors, /interior, /editmode, /setbliptemplate, /ipl, /load, /quicksavemode, /createturf, /setturf, /cancleturf, /reloadturfs, /deleteturfs, /setturfpoint"); ChatService.SendMessage(player, "~b~ " + "/aspeed, /set, /setmoney, /givemoney, /sethandmoney, /givehandmoney, /paydaydrop, /setwage, /freekh, /ainvite, /makeleader, /managefactionranks, /setweaponrack, /rmweaponrack, /setweaponrank, /giveitem, /inventory, /save, /remove, /house, /setbusinessbankbalance, /reloaddors, /interior, /editmode, /setbliptemplate, /ipl, /load, /quicksavemode, /createturf, /setturf, /cancleturf, /reloadturfs, /deleteturfs, /setturfpoint");
break; break;
case AdminLevel.PROJEKTLEITUNG: case AdminLevel.PROJEKTLEITUNG:
ChatService.SendMessage(player, "~b~ " + "/makeadmin, /whitelist, /blind"); ChatService.SendMessage(player, "~b~ " + "/makeadmin, /whitelist, /blind");
break; break;
} }
} }
} }
#endregion ahelp
#endregion
#region Mapping / Entwicklung #region Mapping / Entwicklung
@@ -219,9 +224,10 @@ namespace ReallifeGamemode.Server.Commands
ChatService.SendMessage(player, "Position: X Y Z: " + player.Position + " Richtung: " + player.Heading); ChatService.SendMessage(player, "Position: X Y Z: " + player.Position + " Richtung: " + player.Heading);
} }
#endregion Mapping / Entwicklung
#endregion
#region Support #region Support
[Command("tsupport", "~m~Benutzung: ~s~/tsupport", Alias = "ts")] [Command("tsupport", "~m~Benutzung: ~s~/tsupport", Alias = "ts")]
public void tsup(Player player) public void tsup(Player player)
{ {
@@ -242,8 +248,6 @@ namespace ReallifeGamemode.Server.Commands
GlobalHelper.tsupAdmins.Remove(player); GlobalHelper.tsupAdmins.Remove(player);
ChatService.SendMessage(player, "!{#ee4d2e}** " + "Du befindest dich nicht mehr im T-Support"); ChatService.SendMessage(player, "!{#ee4d2e}** " + "Du befindest dich nicht mehr im T-Support");
using (var dbContext = new DatabaseContext()) using (var dbContext = new DatabaseContext())
{ {
User targetUser = player.GetUser(dbContext); User targetUser = player.GetUser(dbContext);
@@ -252,12 +256,15 @@ namespace ReallifeGamemode.Server.Commands
case null: case null:
player.SetSharedData("blipColor", 0); player.SetSharedData("blipColor", 0);
break; break;
case 8: case 8:
player.SetSharedData("blipColor", 83); player.SetSharedData("blipColor", 83);
break; break;
case 7: case 7:
player.SetSharedData("blipColor", 52); player.SetSharedData("blipColor", 52);
break; break;
case 4: case 4:
player.SetSharedData("blipColor", 5); player.SetSharedData("blipColor", 5);
break; break;
@@ -281,8 +288,6 @@ namespace ReallifeGamemode.Server.Commands
ChatService.Broadcast("~g~[SUPPORT] " + player.Name + " hat sich zum Support angemeldet"); ChatService.Broadcast("~g~[SUPPORT] " + player.Name + " hat sich zum Support angemeldet");
player.TriggerEvent("toggleADutyMode", true); player.TriggerEvent("toggleADutyMode", true);
} }
else else
{ {
@@ -440,7 +445,7 @@ namespace ReallifeGamemode.Server.Commands
} }
} }
#endregion #endregion Support
#region ALevel1 #region ALevel1
@@ -485,9 +490,6 @@ namespace ReallifeGamemode.Server.Commands
ChatService.BroadcastAdmin("!{#1db992}** AC " + player.Name + ":~w~ " + message, AdminLevel.ADMIN); ChatService.BroadcastAdmin("!{#1db992}** AC " + player.Name + ":~w~ " + message, AdminLevel.ADMIN);
} }
[Command("gotolist", "~m~Benutzung: ~s~/gotolist")] //TODO Als Browser anzeigeN?? [Command("gotolist", "~m~Benutzung: ~s~/gotolist")] //TODO Als Browser anzeigeN??
public void CmdAdminGotoList(Player player) public void CmdAdminGotoList(Player player)
{ {
@@ -815,7 +817,6 @@ namespace ReallifeGamemode.Server.Commands
NAPI.Entity.SetEntityVelocity(player.Vehicle, new Vector3()); NAPI.Entity.SetEntityVelocity(player.Vehicle, new Vector3());
} }
else player.Position = new Vector3(p.X, p.Y, p.Z); else player.Position = new Vector3(p.X, p.Y, p.Z);
} }
} }
@@ -831,7 +832,6 @@ namespace ReallifeGamemode.Server.Commands
else player.Position = new Vector3(x, y, z); else player.Position = new Vector3(x, y, z);
} }
[Command("slap", "~m~Benutzung: ~s~/slap [Spieler] (Höhe)")] [Command("slap", "~m~Benutzung: ~s~/slap [Spieler] (Höhe)")]
public void CmdAdminSlap(Player player, string name, int wert = 5) public void CmdAdminSlap(Player player, string name, int wert = 5)
{ {
@@ -963,8 +963,10 @@ namespace ReallifeGamemode.Server.Commands
} }
} }
#endregion #endregion ALevel1
#region ALevel2 #region ALevel2
[Command("sethp", "~m~Benutzung: ~s~/sethp [Spieler] (Hp)")] [Command("sethp", "~m~Benutzung: ~s~/sethp [Spieler] (Hp)")]
public void CmdAdminSetHp(Player player, string name, int hp = 100) public void CmdAdminSetHp(Player player, string name, int hp = 100)
{ {
@@ -1130,7 +1132,6 @@ namespace ReallifeGamemode.Server.Commands
[Command("aclear", "~m~Benutzung: ~s~/aclear [Spieler] [Grund]", GreedyArg = true)] [Command("aclear", "~m~Benutzung: ~s~/aclear [Spieler] [Grund]", GreedyArg = true)]
public void CmdFactionClear(Player player, string nameOrId, string reason) public void CmdFactionClear(Player player, string nameOrId, string reason)
{ {
User user = player.GetUser(); User user = player.GetUser();
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN2) ?? true) if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN2) ?? true)
{ {
@@ -1160,12 +1161,15 @@ namespace ReallifeGamemode.Server.Commands
case null: case null:
target.SetSharedData("blipColor", 0); target.SetSharedData("blipColor", 0);
break; break;
case 8: case 8:
target.SetSharedData("blipColor", 83); target.SetSharedData("blipColor", 83);
break; break;
case 7: case 7:
target.SetSharedData("blipColor", 52); target.SetSharedData("blipColor", 52);
break; break;
case 4: case 4:
target.SetSharedData("blipColor", 5); target.SetSharedData("blipColor", 5);
break; break;
@@ -1176,7 +1180,9 @@ namespace ReallifeGamemode.Server.Commands
dbContext.SaveChanges(); dbContext.SaveChanges();
} }
} }
#endregion
#endregion ALevel2
#region ALevel3 #region ALevel3
[Command("adice", "~m~Benutzung: ~s~/adice [Zahl]")] [Command("adice", "~m~Benutzung: ~s~/adice [Zahl]")]
@@ -1537,7 +1543,6 @@ namespace ReallifeGamemode.Server.Commands
TimeManager.PauseTimeManager(); TimeManager.PauseTimeManager();
NAPI.World.SetTime(hour, min, sec); NAPI.World.SetTime(hour, min, sec);
return; return;
} }
[Command("setweather", "~m~Benutzung: ~s~/setweather [Wetter]")] [Command("setweather", "~m~Benutzung: ~s~/setweather [Wetter]")]
@@ -1600,7 +1605,8 @@ namespace ReallifeGamemode.Server.Commands
} }
} }
#endregion #endregion ALevel3
#region ALevel1337 #region ALevel1337
[Command("wepmod", "~m~Benutzung: ~s~/wepmod [Variable]")] [Command("wepmod", "~m~Benutzung: ~s~/wepmod [Variable]")]
public void CmdWeaponModifier(Player player, float modifier) public void CmdWeaponModifier(Player player, float modifier)
@@ -1618,7 +1624,6 @@ namespace ReallifeGamemode.Server.Commands
public void CmdAdminGotocp(Player admin) public void CmdAdminGotocp(Player admin)
{ {
admin.TriggerEvent("getCP"); admin.TriggerEvent("getCP");
} }
[RemoteEvent("sendCP")] [RemoteEvent("sendCP")]
@@ -1725,7 +1730,7 @@ namespace ReallifeGamemode.Server.Commands
else else
{ {
UserItem item = new UserItem() { ItemId = itemId, UserId = target.GetUser().Id, Amount = amount }; UserItem item = new UserItem() { ItemId = itemId, UserId = target.GetUser().Id, Amount = amount };
InventoryManager.AddItemToInventory(target, item); InventoryManager.AddItemToInventory(target, item.ItemId, item.Amount);
} }
} }
@@ -1771,7 +1776,6 @@ namespace ReallifeGamemode.Server.Commands
player.SendNotification("Edit-Mode ~r~deaktiviert"); player.SendNotification("Edit-Mode ~r~deaktiviert");
player.TriggerEvent("toggleEditMode", false); player.TriggerEvent("toggleEditMode", false);
} }
} }
[Command("setbliptemplate", "~m~Benutzung: ~s~/setbliptemplate [byte COLOR] [byte ALPHA] [bool SHORTRANGE] [uint SPRITE] [float SCALE] [string NAME]", GreedyArg = true)] [Command("setbliptemplate", "~m~Benutzung: ~s~/setbliptemplate [byte COLOR] [byte ALPHA] [bool SHORTRANGE] [uint SPRITE] [float SCALE] [string NAME]", GreedyArg = true)]
@@ -1911,16 +1915,18 @@ namespace ReallifeGamemode.Server.Commands
case null: case null:
target.SetSharedData("blipColor", 0); target.SetSharedData("blipColor", 0);
break; break;
case 8: case 8:
target.SetSharedData("blipColor", 83); target.SetSharedData("blipColor", 83);
break; break;
case 7: case 7:
target.SetSharedData("blipColor", 52); target.SetSharedData("blipColor", 52);
break; break;
case 4: case 4:
target.SetSharedData("blipColor", 5); target.SetSharedData("blipColor", 5);
break; break;
} }
dbContext.SaveChanges(); dbContext.SaveChanges();
} }
@@ -1969,16 +1975,18 @@ namespace ReallifeGamemode.Server.Commands
case null: case null:
target.SetSharedData("blipColor", 0); target.SetSharedData("blipColor", 0);
break; break;
case 8: case 8:
target.SetSharedData("blipColor", 83); target.SetSharedData("blipColor", 83);
break; break;
case 7: case 7:
target.SetSharedData("blipColor", 52); target.SetSharedData("blipColor", 52);
break; break;
case 4: case 4:
target.SetSharedData("blipColor", 5); target.SetSharedData("blipColor", 5);
break; break;
} }
dbContext.SaveChanges(); dbContext.SaveChanges();
@@ -1999,6 +2007,7 @@ namespace ReallifeGamemode.Server.Commands
case "blip": case "blip":
player.TriggerEvent("saveBlip"); player.TriggerEvent("saveBlip");
break; break;
case "goto": case "goto":
if (option1 == null) if (option1 == null)
{ {
@@ -2020,10 +2029,10 @@ namespace ReallifeGamemode.Server.Commands
ChatService.SendMessage(player, "Einen Goto-Punkt mit dieser Bezeichnung gibt es schon!"); ChatService.SendMessage(player, "Einen Goto-Punkt mit dieser Bezeichnung gibt es schon!");
} }
} }
} }
break; break;
case "vehicle": case "vehicle":
if (player.IsInVehicle) if (player.IsInVehicle)
{ {
@@ -2036,6 +2045,7 @@ namespace ReallifeGamemode.Server.Commands
} }
else ChatService.SendMessage(player, "~m~Du sitzt in keinem Fahrzeug!"); else ChatService.SendMessage(player, "~m~Du sitzt in keinem Fahrzeug!");
break; break;
case "fvehicle": case "fvehicle":
if (player.IsInVehicle) if (player.IsInVehicle)
{ {
@@ -2074,6 +2084,7 @@ namespace ReallifeGamemode.Server.Commands
} }
else ChatService.SendMessage(player, "~m~Du sitzt in keinem Fahrzeug!"); else ChatService.SendMessage(player, "~m~Du sitzt in keinem Fahrzeug!");
break; break;
case "jvehicle": case "jvehicle":
if (player.IsInVehicle) if (player.IsInVehicle)
{ {
@@ -2262,6 +2273,7 @@ namespace ReallifeGamemode.Server.Commands
} }
#region loadCommand #region loadCommand
[Command("load", "~m~Benutzung: ~s~/load [Typ = OnlineBunkers, ArcadiusBusinessCentre, MazeBankBuilding, LomBank, MazeBankWest, ClubWareHouse, SpecialLocations, GRHYacht, DHYacht, PYacht, AircraftCarrier, BridgeTC, BridgeTN, NorthYankton, ONeilsFarmB, ONeilsFarm, Morgue")] [Command("load", "~m~Benutzung: ~s~/load [Typ = OnlineBunkers, ArcadiusBusinessCentre, MazeBankBuilding, LomBank, MazeBankWest, ClubWareHouse, SpecialLocations, GRHYacht, DHYacht, PYacht, AircraftCarrier, BridgeTC, BridgeTN, NorthYankton, ONeilsFarmB, ONeilsFarm, Morgue")]
public void CmdAdminloadlocation(Player player, string typ) public void CmdAdminloadlocation(Player player, string typ)
{ {
@@ -2288,6 +2300,7 @@ namespace ReallifeGamemode.Server.Commands
NAPI.World.RequestIpl("gr_case4_bunkerclosed"); NAPI.World.RequestIpl("gr_case4_bunkerclosed");
ChatService.SendMessage(player, "~y~ Online Bunkers~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~ Online Bunkers~s~ erfolgreich geladen!");
break; break;
case "ArcadiusBusinessCentre": case "ArcadiusBusinessCentre":
NAPI.World.RequestIpl("ex_dt1_02_office_02b"); NAPI.World.RequestIpl("ex_dt1_02_office_02b");
NAPI.World.RequestIpl("ex_dt1_02_office_02c"); NAPI.World.RequestIpl("ex_dt1_02_office_02c");
@@ -2304,6 +2317,7 @@ namespace ReallifeGamemode.Server.Commands
NAPI.World.RequestIpl("imp_dt1_02_modgarage"); NAPI.World.RequestIpl("imp_dt1_02_modgarage");
ChatService.SendMessage(player, "~y~ Arcadius Business Centre~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~ Arcadius Business Centre~s~ erfolgreich geladen!");
break; break;
case "MazeBankBuilding": case "MazeBankBuilding":
NAPI.World.RequestIpl("ex_dt1_11_office_02b"); NAPI.World.RequestIpl("ex_dt1_11_office_02b");
NAPI.World.RequestIpl("ex_dt1_11_office_02c"); NAPI.World.RequestIpl("ex_dt1_11_office_02c");
@@ -2320,6 +2334,7 @@ namespace ReallifeGamemode.Server.Commands
NAPI.World.RequestIpl("imp_dt1_11_modgarage"); NAPI.World.RequestIpl("imp_dt1_11_modgarage");
ChatService.SendMessage(player, "~y~ Maze Bank Building~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~ Maze Bank Building~s~ erfolgreich geladen!");
break; break;
case "LomBank": case "LomBank":
NAPI.World.RequestIpl("ex_sm_13_office_02b"); NAPI.World.RequestIpl("ex_sm_13_office_02b");
NAPI.World.RequestIpl("ex_sm_13_office_02c"); NAPI.World.RequestIpl("ex_sm_13_office_02c");
@@ -2336,6 +2351,7 @@ namespace ReallifeGamemode.Server.Commands
NAPI.World.RequestIpl("imp_sm_13_modgarage"); NAPI.World.RequestIpl("imp_sm_13_modgarage");
ChatService.SendMessage(player, "~y~Lom Bank~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~Lom Bank~s~ erfolgreich geladen!");
break; break;
case "MazeBankWest": case "MazeBankWest":
NAPI.World.RequestIpl("ex_sm_15_office_02b"); NAPI.World.RequestIpl("ex_sm_15_office_02b");
NAPI.World.RequestIpl("ex_sm_15_office_02c"); NAPI.World.RequestIpl("ex_sm_15_office_02c");
@@ -2352,6 +2368,7 @@ namespace ReallifeGamemode.Server.Commands
NAPI.World.RequestIpl("imp_sm_15_modgarage"); NAPI.World.RequestIpl("imp_sm_15_modgarage");
ChatService.SendMessage(player, "~y~Maze Bank West~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~Maze Bank West~s~ erfolgreich geladen!");
break; break;
case "ClubWareHouse": case "ClubWareHouse":
NAPI.World.RequestIpl("bkr_biker_interior_placement_interior_0_biker_dlc_int_01_milo"); NAPI.World.RequestIpl("bkr_biker_interior_placement_interior_0_biker_dlc_int_01_milo");
NAPI.World.RequestIpl("bkr_biker_interior_placement_interior_1_biker_dlc_int_02_milo"); NAPI.World.RequestIpl("bkr_biker_interior_placement_interior_1_biker_dlc_int_02_milo");
@@ -2367,6 +2384,7 @@ namespace ReallifeGamemode.Server.Commands
NAPI.World.RequestIpl("bkr_bi_hw1_13_int"); NAPI.World.RequestIpl("bkr_bi_hw1_13_int");
ChatService.SendMessage(player, "~y~Clubs & Warehouses~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~Clubs & Warehouses~s~ erfolgreich geladen!");
break; break;
case "SpecialLocations": case "SpecialLocations":
NAPI.World.RequestIpl("cargoship"); NAPI.World.RequestIpl("cargoship");
NAPI.World.RequestIpl("sunkcargoship"); NAPI.World.RequestIpl("sunkcargoship");
@@ -2383,6 +2401,7 @@ namespace ReallifeGamemode.Server.Commands
NAPI.World.RequestIpl("FIBlobby"); NAPI.World.RequestIpl("FIBlobby");
ChatService.SendMessage(player, "~y~Special Locations~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~Special Locations~s~ erfolgreich geladen!");
break; break;
case "GRHYacht": case "GRHYacht":
NAPI.World.RequestIpl("gr_heist_yacht2"); NAPI.World.RequestIpl("gr_heist_yacht2");
NAPI.World.RequestIpl("gr_heist_yacht2_bar"); NAPI.World.RequestIpl("gr_heist_yacht2_bar");
@@ -2392,6 +2411,7 @@ namespace ReallifeGamemode.Server.Commands
NAPI.World.RequestIpl("gr_heist_yacht2_lounge"); NAPI.World.RequestIpl("gr_heist_yacht2_lounge");
ChatService.SendMessage(player, "~y~Gunrunning heist Yacht~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~Gunrunning heist Yacht~s~ erfolgreich geladen!");
break; break;
case "DHYacht": case "DHYacht":
NAPI.World.RequestIpl("hei_yacht_heist"); NAPI.World.RequestIpl("hei_yacht_heist");
NAPI.World.RequestIpl("hei_yacht_heist_enginrm"); NAPI.World.RequestIpl("hei_yacht_heist_enginrm");
@@ -2403,11 +2423,13 @@ namespace ReallifeGamemode.Server.Commands
NAPI.World.RequestIpl("hei_yacht_heist_LODLights"); NAPI.World.RequestIpl("hei_yacht_heist_LODLights");
ChatService.SendMessage(player, "~y~Dignity heist Yacht~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~Dignity heist Yacht~s~ erfolgreich geladen!");
break; break;
case "PYacht": case "PYacht":
NAPI.World.RequestIpl("smboat"); NAPI.World.RequestIpl("smboat");
NAPI.World.RequestIpl("smboat_lod"); NAPI.World.RequestIpl("smboat_lod");
ChatService.SendMessage(player, "~y~Party Yacht~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~Party Yacht~s~ erfolgreich geladen!");
break; break;
case "AircraftCarrier": case "AircraftCarrier":
NAPI.World.RequestIpl("hei_carrier"); NAPI.World.RequestIpl("hei_carrier");
NAPI.World.RequestIpl("hei_carrier_DistantLights"); NAPI.World.RequestIpl("hei_carrier_DistantLights");
@@ -2420,16 +2442,19 @@ namespace ReallifeGamemode.Server.Commands
NAPI.World.RequestIpl("hei_carrier_LODLights"); NAPI.World.RequestIpl("hei_carrier_LODLights");
ChatService.SendMessage(player, "~y~Aircraft Carrier~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~Aircraft Carrier~s~ erfolgreich geladen!");
break; break;
case "BridgeTC": case "BridgeTC":
NAPI.World.RequestIpl("canyonriver01_traincrash"); NAPI.World.RequestIpl("canyonriver01_traincrash");
NAPI.World.RequestIpl("canyonriver01_traincrash"); NAPI.World.RequestIpl("canyonriver01_traincrash");
ChatService.SendMessage(player, "~y~Bridge Train Crash~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~Bridge Train Crash~s~ erfolgreich geladen!");
break; break;
case "BridgeTN": case "BridgeTN":
NAPI.World.RequestIpl("canyonriver01"); NAPI.World.RequestIpl("canyonriver01");
NAPI.World.RequestIpl("railing_start"); NAPI.World.RequestIpl("railing_start");
ChatService.SendMessage(player, "~y~Bridge Train Normal~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~Bridge Train Normal~s~ erfolgreich geladen!");
break; break;
case "NorthYankton": case "NorthYankton":
NAPI.World.RequestIpl("prologue01"); NAPI.World.RequestIpl("prologue01");
NAPI.World.RequestIpl("prologue01c"); NAPI.World.RequestIpl("prologue01c");
@@ -2464,6 +2489,7 @@ namespace ReallifeGamemode.Server.Commands
NAPI.World.RequestIpl("prologuerdb"); NAPI.World.RequestIpl("prologuerdb");
ChatService.SendMessage(player, "~y~North Yankton~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~North Yankton~s~ erfolgreich geladen!");
break; break;
case "ONeilsFarmB": case "ONeilsFarmB":
NAPI.World.RequestIpl("farmint"); NAPI.World.RequestIpl("farmint");
NAPI.World.RequestIpl("farm_burnt"); NAPI.World.RequestIpl("farm_burnt");
@@ -2472,21 +2498,23 @@ namespace ReallifeGamemode.Server.Commands
NAPI.World.RequestIpl("des_farmhs_end_occl"); NAPI.World.RequestIpl("des_farmhs_end_occl");
ChatService.SendMessage(player, "~y~ONeils Farm Burnt~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~ONeils Farm Burnt~s~ erfolgreich geladen!");
break; break;
case "ONeilsFarm": case "ONeilsFarm":
NAPI.World.RequestIpl("farm"); NAPI.World.RequestIpl("farm");
NAPI.World.RequestIpl("farm_props"); NAPI.World.RequestIpl("farm_props");
NAPI.World.RequestIpl("farm_int"); NAPI.World.RequestIpl("farm_int");
ChatService.SendMessage(player, "~y~ONeils Farm~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~ONeils Farm~s~ erfolgreich geladen!");
break; break;
case "Morgue": case "Morgue":
NAPI.World.RequestIpl("coronertrash"); NAPI.World.RequestIpl("coronertrash");
NAPI.World.RequestIpl("Coroner_Int_On"); NAPI.World.RequestIpl("Coroner_Int_On");
ChatService.SendMessage(player, "~y~Morgue~s~ erfolgreich geladen!"); ChatService.SendMessage(player, "~y~Morgue~s~ erfolgreich geladen!");
break; break;
} }
} }
#endregion
#endregion loadCommand
// //
[Command("managefactionranks", "~m~Benutzung: ~s~/managefactionranks [Fraktions-ID]", Alias = "mfr")] [Command("managefactionranks", "~m~Benutzung: ~s~/managefactionranks [Fraktions-ID]", Alias = "mfr")]
@@ -2713,7 +2741,6 @@ namespace ReallifeGamemode.Server.Commands
// return; // return;
// } // }
//} //}
[Command("reloaddoors", "~m~Benutzung: ~s~/reloaddoors")] [Command("reloaddoors", "~m~Benutzung: ~s~/reloaddoors")]
@@ -2828,7 +2855,6 @@ namespace ReallifeGamemode.Server.Commands
dbContext.SaveChanges(); dbContext.SaveChanges();
ChatService.SendMessage(player, "Waffeneintrag bearbeitet für die Fraktion " + f.Name + ": " + weaponModel + ", SlotId: " + slotId); ChatService.SendMessage(player, "Waffeneintrag bearbeitet für die Fraktion " + f.Name + ": " + weaponModel + ", SlotId: " + slotId);
return; return;
} }
FactionWeapon fw2 = dbContext.FactionWeapons.FirstOrDefault(w => w.FactionId == factionID && w.WeaponModel == weaponModel); FactionWeapon fw2 = dbContext.FactionWeapons.FirstOrDefault(w => w.FactionId == factionID && w.WeaponModel == weaponModel);
@@ -2854,7 +2880,6 @@ namespace ReallifeGamemode.Server.Commands
} }
} }
[Command("rmweaponrack", "~m~Benutzung: ~s~/rmweaponrack [Fraktion ID] [Waffen Model]")] [Command("rmweaponrack", "~m~Benutzung: ~s~/rmweaponrack [Fraktion ID] [Waffen Model]")]
public void CmdAdminRmWeaponrack(Player player, int factionID, string weaponModel) public void CmdAdminRmWeaponrack(Player player, int factionID, string weaponModel)
{ {
@@ -3016,9 +3041,11 @@ namespace ReallifeGamemode.Server.Commands
} }
player.TriggerEvent("ADMIN:Turf_CreateLeaderBlip"); player.TriggerEvent("ADMIN:Turf_CreateLeaderBlip");
} }
#endregion
#endregion ALevel1337
#region ALevel1338 #region ALevel1338
[Command("whitelist", "~m~Benutzung: ~s~/whitelist [Add / Remove] [Socialclub Name]")] [Command("whitelist", "~m~Benutzung: ~s~/whitelist [Add / Remove] [Socialclub Name]")]
public void CmdAdminWhitelist(Player player, string option, string scName) public void CmdAdminWhitelist(Player player, string option, string scName)
{ {
@@ -3123,6 +3150,7 @@ namespace ReallifeGamemode.Server.Commands
ChatService.SendMessage(target, "~b~[ADMIN]~s~ Du wurdest durch ~y~" + player.Name + " ~s~auf Adminlevel ~y~" + target.GetUser().AdminLevel.GetName() + " ~y~(" + rank + ") ~s~gesetzt."); ChatService.SendMessage(target, "~b~[ADMIN]~s~ Du wurdest durch ~y~" + player.Name + " ~s~auf Adminlevel ~y~" + target.GetUser().AdminLevel.GetName() + " ~y~(" + rank + ") ~s~gesetzt.");
ChatService.SendMessage(player, "~b~[ADMIN]~s~ Du hast ~y~" + target.Name + " ~s~auf Adminlevel ~y~" + target.GetUser().AdminLevel.GetName() + " ~y~(" + rank + ") ~s~gesetzt."); ChatService.SendMessage(player, "~b~[ADMIN]~s~ Du hast ~y~" + target.Name + " ~s~auf Adminlevel ~y~" + target.GetUser().AdminLevel.GetName() + " ~y~(" + rank + ") ~s~gesetzt.");
} }
#endregion
#endregion ALevel1338
} }
} }

View File

@@ -1,4 +1,7 @@
using GTANetworkAPI; using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using GTANetworkAPI;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
@@ -6,11 +9,7 @@ using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Factions.Medic; using ReallifeGamemode.Server.Factions.Medic;
using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Wanted;
using ReallifeGamemode.Services; using ReallifeGamemode.Services;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
/** /**
* @overview Life of German Reallife - Faction Commands (Faction.cs) * @overview Life of German Reallife - Faction Commands (Faction.cs)
@@ -20,7 +19,7 @@ using System.Text.RegularExpressions;
namespace ReallifeGamemode.Server.Commands namespace ReallifeGamemode.Server.Commands
{ {
class FactionCommands : Script internal class FactionCommands : Script
{ {
#region Chat Commands #region Chat Commands
@@ -74,8 +73,11 @@ namespace ReallifeGamemode.Server.Commands
ChatService.BroadcastFaction(broadcastMessage, context.Factions.ToList().FindAll(c => c.StateOwned)); ChatService.BroadcastFaction(broadcastMessage, context.Factions.ToList().FindAll(c => c.StateOwned));
} }
} }
#endregion
#endregion Chat Commands
#region Leader Commands #region Leader Commands
[Command("giverank", "~m~Benutzung: ~s~/giverank [Name] [Rang]", GreedyArg = true)] [Command("giverank", "~m~Benutzung: ~s~/giverank [Name] [Rang]", GreedyArg = true)]
public void CmdFactionGiverank(Player player, string name, string rank) public void CmdFactionGiverank(Player player, string name, string rank)
{ {
@@ -173,8 +175,8 @@ namespace ReallifeGamemode.Server.Commands
} }
} }
#endregion Leader Commands
#endregion
#region Sanitäter Commands #region Sanitäter Commands
[Command("revive", "~m~Benutzung: ~s~/revive")] [Command("revive", "~m~Benutzung: ~s~/revive")]
@@ -267,8 +269,11 @@ namespace ReallifeGamemode.Server.Commands
target.SendNotification("Du wurdest von ~g~" + player.Name + " ~s~geheilt.", false); target.SendNotification("Du wurdest von ~g~" + player.Name + " ~s~geheilt.", false);
player.SendNotification("Du hast ~g~" + target.Name + " ~s~geheilt.", false); player.SendNotification("Du hast ~g~" + target.Name + " ~s~geheilt.", false);
} }
#endregion
#endregion Sanitäter Commands
#region Staatsfraktionen (LSPD / FBI) Commands #region Staatsfraktionen (LSPD / FBI) Commands
[Command("wanted", "~m~Benutzung: ~s~/wa(nted) [Spieler] [Anzahl] [Grund]", Alias = "wa", GreedyArg = true)] [Command("wanted", "~m~Benutzung: ~s~/wa(nted) [Spieler] [Anzahl] [Grund]", Alias = "wa", GreedyArg = true)]
public void CmdFactionWanted(Player player, string nameOrId, int amount, string reason) public void CmdFactionWanted(Player player, string nameOrId, int amount, string reason)
{ {
@@ -311,7 +316,6 @@ namespace ReallifeGamemode.Server.Commands
[Command("clear", "~m~Benutzung: ~s~/clear [Spieler] [Grund]", GreedyArg = true)] [Command("clear", "~m~Benutzung: ~s~/clear [Spieler] [Grund]", GreedyArg = true)]
public void CmdFactionClear(Player player, string nameOrId, string reason) public void CmdFactionClear(Player player, string nameOrId, string reason)
{ {
User user = player.GetUser(); User user = player.GetUser();
if (user == null || (user.FactionId != 1 && user.FactionId != 3)) if (user == null || (user.FactionId != 1 && user.FactionId != 3))
{ {
@@ -348,9 +352,11 @@ namespace ReallifeGamemode.Server.Commands
case 8: case 8:
target.SetSharedData("blipColor", 83); target.SetSharedData("blipColor", 83);
break; break;
case 7: case 7:
target.SetSharedData("blipColor", 52); target.SetSharedData("blipColor", 52);
break; break;
case 4: case 4:
target.SetSharedData("blipColor", 5); target.SetSharedData("blipColor", 5);
break; break;
@@ -362,11 +368,6 @@ namespace ReallifeGamemode.Server.Commands
} }
} }
#endregion Staatsfraktionen (LSPD / FBI) Commands
#endregion
#region Global Fraktions Commands
#endregion
} }
} }

View File

@@ -1,16 +1,14 @@
using GTANetworkAPI; using System.Text.RegularExpressions;
using GTANetworkAPI;
using ReallifeGamemode.Server.Extensions; using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Services;
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
namespace ReallifeGamemode.Server.Commands namespace ReallifeGamemode.Server.Commands
{ {
class GroupCommands : Script internal class GroupCommands : Script
{ {
#region Chat Commands #region Chat Commands
[Command("gc", "~m~Benutzung: ~s~/gc [Nachricht]", GreedyArg = true)] [Command("gc", "~m~Benutzung: ~s~/gc [Nachricht]", GreedyArg = true)]
public void CmdGroupG(Player player, string message) public void CmdGroupG(Player player, string message)
{ {
@@ -26,6 +24,7 @@ namespace ReallifeGamemode.Server.Commands
ChatService.BroadcastGroup(message, group); ChatService.BroadcastGroup(message, group);
} }
#endregion
#endregion Chat Commands
} }
} }

View File

@@ -1,17 +1,14 @@
using GTANetworkAPI; using System;
using ReallifeGamemode.Database; using GTANetworkAPI;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions; using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Finance; using ReallifeGamemode.Server.Finance;
using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Types; using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Server.Util;
using System;
using System.Linq;
namespace ReallifeGamemode.Server.Commands namespace ReallifeGamemode.Server.Commands
{ {
class UserCommands : Script internal class UserCommands : Script
{ {
[Command("dice", "~m~Benutzung: ~s~/dice")] [Command("dice", "~m~Benutzung: ~s~/dice")]
public void CmdUserDice(Player player) public void CmdUserDice(Player player)
@@ -52,7 +49,6 @@ namespace ReallifeGamemode.Server.Commands
[Command("paycheck", "~m~Benutzung: ~s~/paycheck")] [Command("paycheck", "~m~Benutzung: ~s~/paycheck")]
public void CmdUserPaycheck(Player client) public void CmdUserPaycheck(Player client)
{ {
User user = client.GetUser(); User user = client.GetUser();
if (Economy.Paychecks.ContainsKey(user.Id)) if (Economy.Paychecks.ContainsKey(user.Id))
{ {
@@ -68,6 +64,5 @@ namespace ReallifeGamemode.Server.Commands
ChatService.SendMessage(client, "~g~[PAYCHECK] -------------------------------------------------------"); ChatService.SendMessage(client, "~g~[PAYCHECK] -------------------------------------------------------");
} }
} }
} }
} }

View File

@@ -1,18 +1,14 @@
using System; using System.Collections.Generic;
using System.Collections.Generic;
using System.Text;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.Services;
using System.Linq;
using GTANetworkAPI; using GTANetworkAPI;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Util;
namespace ReallifeGamemode.Server.DrivingSchool namespace ReallifeGamemode.Server.DrivingSchool
{ {
class DrivingSchool : Script internal class DrivingSchool : Script
{ {
private static TextLabel informationLabel; private static TextLabel informationLabel;
private static Marker marker; private static Marker marker;
@@ -40,6 +36,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
{ {
new Vector3(-813.57, -1290.37, 4.59), new Vector3(-813.57, -1290.37, 4.59),
}.AsReadOnly(); }.AsReadOnly();
private readonly IReadOnlyCollection<Vector3> DrivingRoute = new List<Vector3> private readonly IReadOnlyCollection<Vector3> DrivingRoute = new List<Vector3>
{ {
//BEGIN //BEGIN
@@ -80,12 +77,12 @@ namespace ReallifeGamemode.Server.DrivingSchool
new Vector3(-617.66, -1259.34, 9.82), new Vector3(-617.66, -1259.34, 9.82),
new Vector3(-758.35, -1285.03, 3.48), new Vector3(-758.35, -1285.03, 3.48),
}.AsReadOnly(); }.AsReadOnly();
private readonly IReadOnlyCollection<Vector3> StopCar = new List<Vector3> private readonly IReadOnlyCollection<Vector3> StopCar = new List<Vector3>
{ {
new Vector3(-788.66, -1278.75, 4), new Vector3(-788.66, -1278.75, 4),
}.AsReadOnly(); }.AsReadOnly();
public static void Setup() public static void Setup()
{ {
informationLabel = NAPI.TextLabel.CreateTextLabel("Fahrschule\n~y~Auto ~s~- $~g~2500\n~y~Motorrad ~s~- $~g~3500", new Vector3(-813.17, -1354.5, 5.14), 20.0f, 1.3f, 0, new Color(255, 255, 255)); informationLabel = NAPI.TextLabel.CreateTextLabel("Fahrschule\n~y~Auto ~s~- $~g~2500\n~y~Motorrad ~s~- $~g~3500", new Vector3(-813.17, -1354.5, 5.14), 20.0f, 1.3f, 0, new Color(255, 255, 255));
@@ -181,7 +178,6 @@ namespace ReallifeGamemode.Server.DrivingSchool
user.Position = new Vector3(-813.17, -1354.5, 4.14); user.Position = new Vector3(-813.17, -1354.5, 4.14);
} }
[RemoteEvent("drivingSchoolEvent")] [RemoteEvent("drivingSchoolEvent")]
public void DrivingSchoolEvent(Player user, int checkpoint) public void DrivingSchoolEvent(Player user, int checkpoint)
{ {
@@ -189,7 +185,6 @@ namespace ReallifeGamemode.Server.DrivingSchool
{ {
user.TriggerEvent("renderTextOnScreen", "Sollten Sie aus dem Fahrzeug aussteigen fallen Sie durch."); user.TriggerEvent("renderTextOnScreen", "Sollten Sie aus dem Fahrzeug aussteigen fallen Sie durch.");
} }
else if (checkpoint == 9) else if (checkpoint == 9)
{ {
user.TriggerEvent("renderTextOnScreen", "Fahre zwischen den Laternen Slalom."); user.TriggerEvent("renderTextOnScreen", "Fahre zwischen den Laternen Slalom.");
@@ -205,8 +200,6 @@ namespace ReallifeGamemode.Server.DrivingSchool
} }
} }
[RemoteEvent("startBikeSchool")] [RemoteEvent("startBikeSchool")]
public void StartBikeSchool(Player client) public void StartBikeSchool(Player client)
{ {
@@ -233,7 +226,6 @@ namespace ReallifeGamemode.Server.DrivingSchool
client.TriggerEvent("waitPlayerEntersVehicle"); client.TriggerEvent("waitPlayerEntersVehicle");
} }
[RemoteEvent("bikeSchoolEventEnd")] [RemoteEvent("bikeSchoolEventEnd")]
public void bikeSchoolEventEnd(Player user, int checkpoint) public void bikeSchoolEventEnd(Player user, int checkpoint)
{ {
@@ -258,7 +250,6 @@ namespace ReallifeGamemode.Server.DrivingSchool
user.Position = new Vector3(-813.17, -1354.5, 4.14); user.Position = new Vector3(-813.17, -1354.5, 4.14);
} }
[RemoteEvent("bikeSchoolEvent")] [RemoteEvent("bikeSchoolEvent")]
public void bikeSchoolEvent(Player user, int checkpoint) public void bikeSchoolEvent(Player user, int checkpoint)
{ {
@@ -272,6 +263,5 @@ namespace ReallifeGamemode.Server.DrivingSchool
CheckPointHandle.StartCheckPointRoute(user, StopBike, 5000, 1, 7, "bikeSchoolEventEnd"); CheckPointHandle.StartCheckPointRoute(user, StopBike, 5000, 1, 7, "bikeSchoolEventEnd");
} }
} }
} }
} }

View File

@@ -1,7 +1,4 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Text;
namespace ReallifeGamemode.Server.DrivingSchool namespace ReallifeGamemode.Server.DrivingSchool
{ {
@@ -19,7 +16,6 @@ namespace ReallifeGamemode.Server.DrivingSchool
[JsonProperty("weaponLicense")] [JsonProperty("weaponLicense")]
public bool WeaponLicense { get; set; } public bool WeaponLicense { get; set; }
public Licenses(bool CarLicense, bool BikeLicense, bool PlaneLicense, bool weaponLicense) public Licenses(bool CarLicense, bool BikeLicense, bool PlaneLicense, bool weaponLicense)
{ {
this.CarLicense = CarLicense; this.CarLicense = CarLicense;
@@ -27,6 +23,5 @@ namespace ReallifeGamemode.Server.DrivingSchool
this.PlaneLicense = PlaneLicense; this.PlaneLicense = PlaneLicense;
this.WeaponLicense = weaponLicense; this.WeaponLicense = weaponLicense;
} }
} }
} }

View File

@@ -1,18 +1,14 @@
using System; using System.Collections.Generic;
using System.Collections.Generic;
using System.Text;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.Services;
using System.Linq;
using GTANetworkAPI; using GTANetworkAPI;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Util;
namespace ReallifeGamemode.Server.DrivingSchool namespace ReallifeGamemode.Server.DrivingSchool
{ {
class PlaneSchool : Script internal class PlaneSchool : Script
{ {
private static TextLabel informationLabel1; private static TextLabel informationLabel1;
private static Marker marker1; private static Marker marker1;
@@ -38,16 +34,13 @@ namespace ReallifeGamemode.Server.DrivingSchool
new Vector3(-869.77, -1424.05, 133), new Vector3(-869.77, -1424.05, 133),
}.AsReadOnly(); }.AsReadOnly();
private readonly IReadOnlyCollection<Vector3> planeRouteEnd = new List<Vector3> private readonly IReadOnlyCollection<Vector3> planeRouteEnd = new List<Vector3>
{ {
new Vector3(-1164.29, -2351.52, 14.88), new Vector3(-1164.29, -2351.52, 14.88),
}.AsReadOnly(); }.AsReadOnly();
public static void Setup() public static void Setup()
{ {
informationLabel1 = NAPI.TextLabel.CreateTextLabel("Flugschule\n~y~Flugschein ~s~- $~g~5000", new Vector3(-1083.96, -2476.96, 14.07), 20.0f, 1.3f, 0, new Color(255, 255, 255)); informationLabel1 = NAPI.TextLabel.CreateTextLabel("Flugschule\n~y~Flugschein ~s~- $~g~5000", new Vector3(-1083.96, -2476.96, 14.07), 20.0f, 1.3f, 0, new Color(255, 255, 255));
marker1 = NAPI.Marker.CreateMarker(MarkerType.VerticalCylinder, new Vector3(-1083.96, -2476.96, 13.07), new Vector3(), new Vector3(), 1f, new Color(255, 255, 255)); marker1 = NAPI.Marker.CreateMarker(MarkerType.VerticalCylinder, new Vector3(-1083.96, -2476.96, 13.07), new Vector3(), new Vector3(), 1f, new Color(255, 255, 255));
@@ -56,6 +49,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
_colShape1.OnEntityExitColShape += EntityExitBusinessColShape; _colShape1.OnEntityExitColShape += EntityExitBusinessColShape;
NAPI.Blip.CreateBlip(90, new Vector3(-1083.96, -2476.96, 14.07), 1.0f, 4, "Flugschule", shortRange: true); NAPI.Blip.CreateBlip(90, new Vector3(-1083.96, -2476.96, 14.07), 1.0f, 4, "Flugschule", shortRange: true);
} }
private static void EntityEnterBusinessColShape(ColShape colShape, Player client) private static void EntityEnterBusinessColShape(ColShape colShape, Player client)
{ {
if (client.IsInVehicle || !client.IsLoggedIn()) return; if (client.IsInVehicle || !client.IsLoggedIn()) return;
@@ -132,6 +126,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
user.ResetData("ActiveSchool"); user.ResetData("ActiveSchool");
user.Position = new Vector3(-1083.96, -2476.96, 13.07); user.Position = new Vector3(-1083.96, -2476.96, 13.07);
} }
[RemoteEvent("planeSchoolEvent")] [RemoteEvent("planeSchoolEvent")]
public void planeSchoolEvent(Player user, int checkpoint) public void planeSchoolEvent(Player user, int checkpoint)
{ {
@@ -177,11 +172,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
user.TriggerEvent("renderTextOnScreen", "Setze zum landeflug an. Drücke 'G' um ihr Fahrwerk auszufahren."); user.TriggerEvent("renderTextOnScreen", "Setze zum landeflug an. Drücke 'G' um ihr Fahrwerk auszufahren.");
CheckPointHandle.StartCheckPointRoute(user, planeRouteEnd, 5000, 6, 12, "planeSchoolEventEnd"); CheckPointHandle.StartCheckPointRoute(user, planeRouteEnd, 5000, 6, 12, "planeSchoolEventEnd");
break; break;
} }
} }
} }
} }

View File

@@ -1,6 +1,6 @@
using GTANetworkAPI; using System.Text.RegularExpressions;
using GTANetworkAPI;
using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Services;
using System.Text.RegularExpressions;
namespace ReallifeGamemode.Server.Events namespace ReallifeGamemode.Server.Events
{ {
@@ -13,7 +13,7 @@ namespace ReallifeGamemode.Server.Events
if (serverMsg.Trim().Length == 0) return; if (serverMsg.Trim().Length == 0) return;
NAPI.Player.GetPlayersInRadiusOfPlayer(10, player).ForEach(p => NAPI.Player.GetPlayersInRadiusOfPlayer(10, player).ForEach(p =>
{ {
ChatService.SendMessage(p, $"{player.Name} sagt: {serverMsg}");// ChatService.SendMessage(p, $"{player.Name} sagt: {serverMsg}");
}); });
} }
} }

View File

@@ -1,12 +1,9 @@
using System; using System;
using System.Linq; using System.Linq;
using GTANetworkAPI; using GTANetworkAPI;
using ReallifeGamemode.Database;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Types; using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.Wanted;
/** /**
* @overview Life of German Reallife - Event Login (Login.cs) * @overview Life of German Reallife - Event Login (Login.cs)
@@ -16,7 +13,7 @@ using ReallifeGamemode.Server.Wanted;
namespace ReallifeGamemode.Server.Events namespace ReallifeGamemode.Server.Events
{ {
class Connect : Script internal class Connect : Script
{ {
[ServerEvent(Event.PlayerConnected)] [ServerEvent(Event.PlayerConnected)]
public void OnPlayerConnected(Player player) public void OnPlayerConnected(Player player)
@@ -24,7 +21,6 @@ namespace ReallifeGamemode.Server.Events
player.SetData("isLoggedIn", false); player.SetData("isLoggedIn", false);
player.Position = new Vector3(-1883.736, -781.4911, -10); player.Position = new Vector3(-1883.736, -781.4911, -10);
using (var dbContext = new DatabaseContext()) using (var dbContext = new DatabaseContext())
{ {
if (!dbContext.WhitelistEntries.Any(w => w.SocialClubName.ToLower() == player.SocialClubName.ToLower())) if (!dbContext.WhitelistEntries.Any(w => w.SocialClubName.ToLower() == player.SocialClubName.ToLower()))
@@ -41,12 +37,10 @@ namespace ReallifeGamemode.Server.Events
} }
} }
if (IsPlayerBanned(player)) return; if (IsPlayerBanned(player)) return;
player.TriggerEvent("SERVER:Login_ShowBrowser"); player.TriggerEvent("SERVER:Login_ShowBrowser");
string msg = "~m~*** " + player.Name + " [" + player.SocialClubName + "] [ID: " + player.Handle.Value + "] (" + player.Address + ")"; string msg = "~m~*** " + player.Name + " [" + player.SocialClubName + "] [ID: " + player.Handle.Value + "] (" + player.Address + ")";
ChatService.BroadcastAdmin(msg, AdminLevel.ADMIN); ChatService.BroadcastAdmin(msg, AdminLevel.ADMIN);
} }
private bool IsPlayerBanned(Player player) private bool IsPlayerBanned(Player player)

View File

@@ -1,13 +1,16 @@
using System; using System;
using System.Collections.Generic;
using System.Linq;
using GTANetworkAPI; using GTANetworkAPI;
using ReallifeGamemode.Database;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions; using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Factions.Medic; using ReallifeGamemode.Server.Factions.Medic;
using ReallifeGamemode.Server.Inventory;
using ReallifeGamemode.Server.Inventory.Interfaces;
using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Types; using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.Wanted; using ReallifeGamemode.Server.Wanted;
/** /**
@@ -66,7 +69,6 @@ namespace ReallifeGamemode.Server.Events
User user = player.GetUser(); User user = player.GetUser();
if (user.JailTime <= 0) if (user.JailTime <= 0)
{ {
//MEDIC AUFTRAG //MEDIC AUFTRAG
MedicTask reviveTask = new MedicTask() MedicTask reviveTask = new MedicTask()
{ {
@@ -92,8 +94,35 @@ namespace ReallifeGamemode.Server.Events
//TODO PICTURE NOTIFICATION + SOUND für Medics //TODO PICTURE NOTIFICATION + SOUND für Medics
player.ClearAttachments();
using (var userDeath = new DatabaseContext()) using (var userDeath = new DatabaseContext())
{ {
List<UserItem> fItem = userDeath.UserItems.Where(u => u.UserId == user.Id).ToList();
foreach (var item in fItem)
{
IItem iItem = InventoryManager.GetItemById(item.ItemId);
if (iItem is IWeaponDealItem obj)
{
int amount = item.Amount;
Vector3 dropPosition = PlayerExtension.GetPositionFromPlayer(player, 0.6f, 0);
//new Vector3(player.Position.X, player.Position.Y, player.Position.Z - 0.8f);
Random r = new Random();
GTANetworkAPI.Object grndObject;
Vector3 textPos = dropPosition;
dropPosition.Z -= 1.05f;
grndObject = NAPI.Object.CreateObject(3666746839, dropPosition, new Vector3(0, 0, r.Next(0, 360)), 255, 0);
GroundItem grndItem = new GroundItem { ItemId = iItem.Id, Amount = amount, Position = dropPosition };
TextLabel grndTxtLbl = NAPI.TextLabel.CreateTextLabel(iItem.Name + " ~s~(~y~" + amount + "~s~)", textPos, 5, 0.5f, 4, new Color(255, 255, 255), false, 0);
GroundItem.AddGroundItem(grndItem, grndObject, grndTxtLbl);
userDeath.Remove(item);
}
}
var dead = new Database.Entities.Logs.Death var dead = new Database.Entities.Logs.Death
{ {
VictimId = player.GetUser().Id, VictimId = player.GetUser().Id,
@@ -117,7 +146,6 @@ namespace ReallifeGamemode.Server.Events
Jail.Check_PutBehindBars(player); Jail.Check_PutBehindBars(player);
} }
[RemoteEvent("RespawnPlayerAtHospital")] [RemoteEvent("RespawnPlayerAtHospital")]
public void RespawnPlayerAtHospital(Player player) public void RespawnPlayerAtHospital(Player player)
{ {

View File

@@ -1,16 +1,11 @@
using System; using GTANetworkAPI;
using System.Collections.Generic; using ReallifeGamemode.Database.Models;
using System.Linq;
using System.Text;
using GTANetworkAPI;
using ReallifeGamemode.Server.Extensions; using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Job; using ReallifeGamemode.Server.Job;
using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Database;
using ReallifeGamemode.Server.Types; using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Server.Util;
/** /**
* @overview Life of German Reallife - Event Login (Login.cs) * @overview Life of German Reallife - Event Login (Login.cs)

View File

@@ -1,6 +1,4 @@
using System; using System.Collections.Generic;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI; using GTANetworkAPI;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions; using ReallifeGamemode.Server.Extensions;
@@ -19,16 +17,16 @@ namespace ReallifeGamemode.Server.Events
return; return;
} }
if (vehicle.HasMarkerBehind())
vehicle.RemoveMarkerBehind();
if (vehicle.GetServerVehicle() is FactionVehicle veh) if (vehicle.GetServerVehicle() is FactionVehicle veh)
{ {
User u = client.GetUser(); User u = client.GetUser();
if (u.FactionId != null && (!veh.GetOwners().Contains(u.FactionId.Value)) && (veh.Model == VehicleHash.Burrito3) && vehicle.HasData("weaponDeal") && vehicle.GetData<bool>("weaponDeal") == true) if (u.FactionId != null && (veh.GetOwners().Contains(u.FactionId.Value)) && (veh.Model == VehicleHash.Burrito3) && vehicle.HasData("weaponDeal") && vehicle.GetData<bool>("weaponDeal") == true)
{ {
Vector3 vector = WeaponDealPoints.getRndWD_Route(client.GetUser().FactionId.Value);
if (vector == new Vector3())
return;
List<Vector3> dealPoint = new List<Vector3>(); List<Vector3> dealPoint = new List<Vector3>();
dealPoint.Add(vector); dealPoint.Add(vehicle.GetData<Vector3>("weaponDealPoint"));
CheckPointHandle.StartCheckPointRoute(client, dealPoint, 5000, 1, 7, "loadWeaponTransport"); CheckPointHandle.StartCheckPointRoute(client, dealPoint, 5000, 1, 7, "loadWeaponTransport");
} }
} }

View File

@@ -1,7 +1,4 @@
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions; using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Types; using ReallifeGamemode.Server.Types;
@@ -10,7 +7,6 @@ using ReallifeGamemode.Server.WeaponDeal;
namespace ReallifeGamemode.Server.Events namespace ReallifeGamemode.Server.Events
{ {
public class EnterVehicleAttempt : Script public class EnterVehicleAttempt : Script
{ {
[ServerEvent(Event.PlayerEnterVehicleAttempt)] [ServerEvent(Event.PlayerEnterVehicleAttempt)]

View File

@@ -1,12 +1,8 @@
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions; using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Util; using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.WeaponDeal;
namespace ReallifeGamemode.Server.Events namespace ReallifeGamemode.Server.Events
{ {
@@ -15,8 +11,11 @@ namespace ReallifeGamemode.Server.Events
[ServerEvent(Event.PlayerExitVehicleAttempt)] [ServerEvent(Event.PlayerExitVehicleAttempt)]
public void OnPlayerExitVehicle(Player client, GTANetworkAPI.Vehicle vehicle) public void OnPlayerExitVehicle(Player client, GTANetworkAPI.Vehicle vehicle)
{ {
if (client.VehicleSeat != -1) if (client.VehicleSeat != 0)
return; return;
client.TriggerEvent("SERVER:setMarkerBehindVehicle", vehicle);
if (vehicle.GetServerVehicle() is FactionVehicle veh) if (vehicle.GetServerVehicle() is FactionVehicle veh)
{ {
User u = client.GetUser(); User u = client.GetUser();
@@ -25,6 +24,10 @@ namespace ReallifeGamemode.Server.Events
CheckPointHandle.RemovePlayerHandlerFromList(client); CheckPointHandle.RemovePlayerHandlerFromList(client);
client.TriggerEvent("destroyCP"); client.TriggerEvent("destroyCP");
} }
else if ((u.FactionId != null) && (veh.GetOwners().Contains(u.FactionId ?? 0)) && ((VehicleHash)vehicle.Model == VehicleHash.Burrito3) && vehicle.HasData("WeaponDealLoad") && vehicle.GetData<bool>("WeaponDealLoad") == true)
{
client.TriggerEvent("SERVER:setMarkerBehindVehicle", vehicle);
}
} }
if (vehicle.GetServerVehicle() is SchoolVehicle vehS) if (vehicle.GetServerVehicle() is SchoolVehicle vehS)
{ {

View File

@@ -1,15 +1,15 @@
using GTANetworkAPI; using System.Collections.Generic;
using System.Linq;
using GTANetworkAPI;
using Newtonsoft.Json; using Newtonsoft.Json;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Util; using ReallifeGamemode.Server.Util;
using System.Collections.Generic;
using System.Linq;
namespace ReallifeGamemode.Server.Events namespace ReallifeGamemode.Server.Events
{ {
class Faction : Script internal class Faction : Script
{ {
[RemoteEvent("OnFactionRanksEdit")] [RemoteEvent("OnFactionRanksEdit")]
public void OnFactionRanksEdit(Player player, string jsonData) public void OnFactionRanksEdit(Player player, string jsonData)

View File

@@ -1,7 +1,5 @@
using System; using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text;
using GTANetworkAPI; using GTANetworkAPI;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
@@ -9,7 +7,6 @@ using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Inventory.Interfaces; using ReallifeGamemode.Server.Inventory.Interfaces;
using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Util; using ReallifeGamemode.Server.Util;
using Newtonsoft.Json;
namespace ReallifeGamemode.Server.Events namespace ReallifeGamemode.Server.Events
{ {
@@ -60,7 +57,6 @@ namespace ReallifeGamemode.Server.Events
iName.Add(iItem.Name); iName.Add(iItem.Name);
iAmount.Add(vehItem.Amount); iAmount.Add(vehItem.Amount);
iId.Add(iItem.Id); iId.Add(iItem.Id);
} }
var vehInv = new VehicleInventory var vehInv = new VehicleInventory
{ {
@@ -75,6 +71,5 @@ namespace ReallifeGamemode.Server.Events
} }
return vehicleInventory; return vehicleInventory;
} }
} }
} }

View File

@@ -2,21 +2,21 @@
using System.Linq; using System.Linq;
using GTANetworkAPI; using GTANetworkAPI;
using Newtonsoft.Json; using Newtonsoft.Json;
using ReallifeGamemode.Server.Classes;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Classes;
using ReallifeGamemode.Server.DrivingSchool;
using ReallifeGamemode.Server.Extensions; using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Factions.Medic; using ReallifeGamemode.Server.Factions.Medic;
using ReallifeGamemode.Server.Finance; using ReallifeGamemode.Server.Finance;
using ReallifeGamemode.Server.Inventory; using ReallifeGamemode.Server.Inventory;
using ReallifeGamemode.Server.Inventory.Interfaces;
using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Database;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.Inventory.Interfaces;
using ReallifeGamemode.Server.DrivingSchool;
using ReallifeGamemode.Server.Types; using ReallifeGamemode.Server.Types;
using Microsoft.EntityFrameworkCore; using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.WeaponDeal;
/** /**
* @overview Life of German Reallife - Event Key (Key.cs) * @overview Life of German Reallife - Event Key (Key.cs)
* @author VegaZ * @author VegaZ
@@ -46,6 +46,7 @@ namespace ReallifeGamemode.Server.Events
tempBlip.Transparency.ToString(), 200.ToString(), tempBlip.ShortRange.ToString(), 0.ToString(), 0.ToString()); tempBlip.Transparency.ToString(), 200.ToString(), tempBlip.ShortRange.ToString(), 0.ToString(), 0.ToString());
player.SendNotification("~y~Blip~s~ erstellt!", false); player.SendNotification("~y~Blip~s~ erstellt!", false);
break; break;
case "atm": case "atm":
SaveManager.OnSaveBlipData(player, "500", "Geldautomat", 0.7.ToString(), "11", SaveManager.OnSaveBlipData(player, "500", "Geldautomat", 0.7.ToString(), "11",
"0", "200", true.ToString(), 0.ToString(), 0.ToString()); "0", "200", true.ToString(), 0.ToString(), 0.ToString());
@@ -170,7 +171,6 @@ namespace ReallifeGamemode.Server.Events
if (!player.IsLoggedIn()) return; if (!player.IsLoggedIn()) return;
var user = player.GetUser(); var user = player.GetUser();
if (user?.FactionId != null) if (user?.FactionId != null)
{ {
DutyPoint nearestDuty = PositionManager.DutyPoints.Find(d => d.Position.DistanceTo(player.Position) <= 1.5 && d.FactionId == user.FactionId); DutyPoint nearestDuty = PositionManager.DutyPoints.Find(d => d.Position.DistanceTo(player.Position) <= 1.5 && d.FactionId == user.FactionId);
@@ -179,7 +179,63 @@ namespace ReallifeGamemode.Server.Events
ElevatorPoint nearestElevatorPoint = PositionManager.ElevatorPoints.Find(e => e.Position.DistanceTo(player.Position) <= 1.5 && (user.FactionId == 1 || user.FactionId == 3)); ElevatorPoint nearestElevatorPoint = PositionManager.ElevatorPoints.Find(e => e.Position.DistanceTo(player.Position) <= 1.5 && (user.FactionId == 1 || user.FactionId == 3));
ClotheshopPoint nearestClotheShopPoint = PositionManager.clotheshopPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.5 && (!user.GetData<bool>("duty"))); ClotheshopPoint nearestClotheShopPoint = PositionManager.clotheshopPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.5 && (!user.GetData<bool>("duty")));
ItemshopPoint nearestItemShopPoint = PositionManager.itemshopPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.5); ItemshopPoint nearestItemShopPoint = PositionManager.itemshopPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.5);
BehindVehiclePoint nearestBehindVehiclePoint = MarkerBehinVehicle.behindVehiclePoints.Find(s => s.marker.Position.DistanceTo(player.Position) <= 3 && (user.FactionId == 8 || user.FactionId == 7 || user.FactionId == 1 || user.FactionId == 3));
if (nearestBehindVehiclePoint != null)
{
if (player.HasAttachment("ammobox")) return;
using (var dbContext = new DatabaseContext())
{
List<VehicleItem> vehicleItems = dbContext.VehicleItems.Where(f => f.GetVehicle().GetVehicle() == nearestBehindVehiclePoint.vehicle && InventoryManager.GetItemById(f.ItemId) is IWeaponDealItem).ToList();
if (vehicleItems.Count == 0)
{
GTANetworkAPI.Vehicle vehicle = nearestBehindVehiclePoint.vehicle;
if (WeaponDealManager.checkWeaponDbyVehicle(vehicle))
{
vehicle.ResetData("WeaponDealLoad");
}
nearestBehindVehiclePoint.vehicle.RemoveMarkerBehind();
return;
}
foreach (var v in vehicleItems)
{
int itemToAdd = 0;
for (int i = 1; i <= v.Amount; i++)
{
if (InventoryManager.GetUserInventoryWeight(player) + (i * InventoryManager.GetItemById(v.ItemId).Gewicht) > 40000)
{
break;
}
else
{
itemToAdd = i;
}
}
if (itemToAdd == 0)
break;
v.Amount -= itemToAdd;
if (v.Amount <= 0)
dbContext.VehicleItems.Remove(v);
var newItem = new UserItem()
{
ItemId = v.ItemId,
Slot = v.Slot,
Amount = itemToAdd,
UserId = user.Id,
};
InventoryManager.AddItemToInventory(player, newItem.Id, newItem.Amount);
nearestBehindVehiclePoint.usePoint(player);
dbContext.SaveChanges();
return;
}
}
}
if (nearestDuty != null)// Duty Point if (nearestDuty != null)// Duty Point
{ {
var nameTagColor = new Color(0, 0, 0); var nameTagColor = new Color(0, 0, 0);
@@ -259,7 +315,6 @@ namespace ReallifeGamemode.Server.Events
} }
if (nearestWeapon != null) // Weapon Point if (nearestWeapon != null) // Weapon Point
{ {
List<string> primarys = new List<string>(); List<string> primarys = new List<string>();
List<string> secondarys = new List<string>(); List<string> secondarys = new List<string>();
List<string> melees = new List<string>(); List<string> melees = new List<string>();
@@ -271,11 +326,13 @@ namespace ReallifeGamemode.Server.Events
melees.Add("Keine"); melees.Add("Keine");
specials.Add("Keine"); specials.Add("Keine");
using (var context = new DatabaseContext()) using (var context = new DatabaseContext())
{ {
if (player.HasAttachment("ammobox"))
{
player.AddAttachment("ammobox", true);
player.StopAnimation();
}
List<UserItem> fItem = context.UserItems.Where(u => u.UserId == user.Id).ToList(); List<UserItem> fItem = context.UserItems.Where(u => u.UserId == user.Id).ToList();
foreach (var item in fItem) foreach (var item in fItem)
@@ -285,7 +342,11 @@ namespace ReallifeGamemode.Server.Events
{ {
FactionWeapon weapon = context.FactionWeapons.Where(w => w.FactionId == user.FactionId && w.WeaponModel == iItem.Name).FirstOrDefault(); FactionWeapon weapon = context.FactionWeapons.Where(w => w.FactionId == user.FactionId && w.WeaponModel == iItem.Name).FirstOrDefault();
if (weapon == null) if (weapon == null)
{
context.Remove(item);
continue; continue;
}
weapon.Ammount += item.Amount; weapon.Ammount += item.Amount;
ChatService.SendMessage(player, item.Amount + " " + iItem.Name + " wurden im Waffenlager hinzugefürgt."); ChatService.SendMessage(player, item.Amount + " " + iItem.Name + " wurden im Waffenlager hinzugefürgt.");
context.Remove(item); context.Remove(item);
@@ -311,14 +372,17 @@ namespace ReallifeGamemode.Server.Events
if (user.FactionRank.Order >= weapon.Rank) if (user.FactionRank.Order >= weapon.Rank)
primarys.Add(weapon.WeaponModel.ToString()); primarys.Add(weapon.WeaponModel.ToString());
break; break;
case 2: case 2:
if (user.FactionRank.Order >= weapon.Rank) if (user.FactionRank.Order >= weapon.Rank)
secondarys.Add(weapon.WeaponModel.ToString()); secondarys.Add(weapon.WeaponModel.ToString());
break; break;
case 3: case 3:
if (user.FactionRank.Order >= weapon.Rank) if (user.FactionRank.Order >= weapon.Rank)
melees.Add(weapon.WeaponModel.ToString()); melees.Add(weapon.WeaponModel.ToString());
break; break;
case 4: case 4:
if (user.FactionRank.Order >= weapon.Rank) if (user.FactionRank.Order >= weapon.Rank)
specials.Add(weapon.WeaponModel.ToString()); specials.Add(weapon.WeaponModel.ToString());
@@ -374,7 +438,8 @@ namespace ReallifeGamemode.Server.Events
public void KeyPressI(Player player) public void KeyPressI(Player player)
{ {
if (!player.IsLoggedIn()) return; if (!player.IsLoggedIn()) return;
InventoryManager.GetUserItems(player); player.TriggerEvent("inventoryShow");
InventoryManager.SetBackpackItems(player);
} }
[RemoteEvent("keyPress:O")] [RemoteEvent("keyPress:O")]
@@ -429,9 +494,11 @@ namespace ReallifeGamemode.Server.Events
case 11: case 11:
tops.Add(cloth.ClothId.ToString()); tops.Add(cloth.ClothId.ToString());
break; break;
case 4: case 4:
legs.Add(cloth.ClothId.ToString()); legs.Add(cloth.ClothId.ToString());
break; break;
case 6: case 6:
shoes.Add(cloth.ClothId.ToString()); shoes.Add(cloth.ClothId.ToString());
break; break;
@@ -441,7 +508,6 @@ namespace ReallifeGamemode.Server.Events
player.TriggerEvent("showDutyClothMenu", hats.ToArray(), tops.ToArray(), legs.ToArray(), shoes.ToArray()); player.TriggerEvent("showDutyClothMenu", hats.ToArray(), tops.ToArray(), legs.ToArray(), shoes.ToArray());
} }
} }
} }
[RemoteEvent("keyPress:L")] [RemoteEvent("keyPress:L")]
@@ -526,7 +592,6 @@ namespace ReallifeGamemode.Server.Events
if (!player.IsInVehicle) if (!player.IsInVehicle)
{ {
Vehicle.VehicleMenuLockCarEvent(player); Vehicle.VehicleMenuLockCarEvent(player);
GroundItem.PickUpGroundItem(player); GroundItem.PickUpGroundItem(player);

View File

@@ -1,16 +1,14 @@
using System.Linq; using System.Linq;
using GTANetworkAPI; using GTANetworkAPI;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions; using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Server.Util; using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.Wanted; using ReallifeGamemode.Server.Wanted;
using ReallifeGamemode.Database;
using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Database.Entities;
using Newtonsoft.Json;
/** /**
* @overview Life of German Reallife - Event Login (Login.cs) * @overview Life of German Reallife - Event Login (Login.cs)
@@ -96,12 +94,15 @@ namespace ReallifeGamemode.Server.Events
case null: case null:
player.SetSharedData("blipColor", 0); player.SetSharedData("blipColor", 0);
break; break;
case 8: case 8:
player.SetSharedData("blipColor", 83); player.SetSharedData("blipColor", 83);
break; break;
case 7: case 7:
player.SetSharedData("blipColor", 52); player.SetSharedData("blipColor", 52);
break; break;
case 4: case 4:
player.SetSharedData("blipColor", 5); player.SetSharedData("blipColor", 5);
break; break;

View File

@@ -1,7 +1,7 @@
using System.Linq; using System.Linq;
using GTANetworkAPI; using GTANetworkAPI;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
/** /**
* @overview Life of German Reallife - Event Register (Register.cs) * @overview Life of German Reallife - Event Register (Register.cs)
@@ -11,7 +11,7 @@ using ReallifeGamemode.Database.Entities;
namespace ReallifeGamemode.Server.Events namespace ReallifeGamemode.Server.Events
{ {
class Register : Script internal class Register : Script
{ {
[RemoteEvent("CLIENT:Login_RegisterRequest")] [RemoteEvent("CLIENT:Login_RegisterRequest")]
public void OnPlayerRegister(Player player, string username, string password, string passwordRepeat) public void OnPlayerRegister(Player player, string username, string password, string passwordRepeat)

View File

@@ -1,6 +1,6 @@
using GTANetworkAPI; using System.Linq;
using GTANetworkAPI;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using System.Linq;
/** /**
* @overview Life of German Reallife - Event ResourceStop (ResourceStop.cs) * @overview Life of German Reallife - Event ResourceStop (ResourceStop.cs)

View File

@@ -1,11 +1,9 @@
using GTANetworkAPI; using System.Collections.Generic;
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
namespace ReallifeGamemode.Server.Events namespace ReallifeGamemode.Server.Events
{ {
class Siren : Script internal class Siren : Script
{ {
private readonly Dictionary<NetHandle, bool> _sirenStates = new Dictionary<NetHandle, bool>(); private readonly Dictionary<NetHandle, bool> _sirenStates = new Dictionary<NetHandle, bool>();
@@ -21,7 +19,6 @@ namespace ReallifeGamemode.Server.Events
pV.SetSharedData("sirenSound", newValue); pV.SetSharedData("sirenSound", newValue);
NAPI.ClientEvent.TriggerClientEventForAll("toggleVehicleSiren", pV, newValue); NAPI.ClientEvent.TriggerClientEventForAll("toggleVehicleSiren", pV, newValue);
} }
} }
} }

View File

@@ -187,7 +187,6 @@ namespace ReallifeGamemode.Server.Events
} }
using (var dbContext = new DatabaseContext()) using (var dbContext = new DatabaseContext())
{ {
var clothes = dbContext.CharacterClothes.FirstOrDefault(c => c.UserId == user.Id && c.SlotId == data[0] && c.Duty == false); var clothes = dbContext.CharacterClothes.FirstOrDefault(c => c.UserId == user.Id && c.SlotId == data[0] && c.Duty == false);
if (clothes == null) if (clothes == null)
@@ -254,7 +253,6 @@ namespace ReallifeGamemode.Server.Events
client.GetUser(dbContext).Handmoney -= data[6]; client.GetUser(dbContext).Handmoney -= data[6];
dbContext.SaveChanges(); dbContext.SaveChanges();
client.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney); client.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
} }
client.TriggerEvent("clothesMenu:updateLast", data[2], data[1], data[4], data[5], data[3]); client.TriggerEvent("clothesMenu:updateLast", data[2], data[1], data[4], data[5], data[3]);
} }

View File

@@ -1,10 +1,6 @@
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Managers;
namespace ReallifeGamemode.Server.Events namespace ReallifeGamemode.Server.Events
{ {
public class UpdateCharacterElevator : Script public class UpdateCharacterElevator : Script

View File

@@ -1,5 +1,4 @@
using System.Collections.Generic; using System.Linq;
using System.Linq;
using GTANetworkAPI; using GTANetworkAPI;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
@@ -48,7 +47,6 @@ namespace ReallifeGamemode.Server.Events
client.RemoveAllWeapons(); client.RemoveAllWeapons();
} }
[RemoteEvent("saveWeaponSelection")] [RemoteEvent("saveWeaponSelection")]
public void SaveWeaponSelection(Player client, string primaryModel, string secondaryModel, string meleeModel, string specialModel) public void SaveWeaponSelection(Player client, string primaryModel, string secondaryModel, string meleeModel, string specialModel)
{ {
@@ -69,7 +67,6 @@ namespace ReallifeGamemode.Server.Events
melee = NAPI.Util.GetHashKey($"weapon_{meleeModel}"); melee = NAPI.Util.GetHashKey($"weapon_{meleeModel}");
} }
client.GiveWeapon((WeaponHash)primary, 50); client.GiveWeapon((WeaponHash)primary, 50);
client.GiveWeapon((WeaponHash)secondary, 150); client.GiveWeapon((WeaponHash)secondary, 150);
client.GiveWeapon((WeaponHash)melee, 1); client.GiveWeapon((WeaponHash)melee, 1);

View File

@@ -1,11 +1,10 @@
using GTANetworkAPI; using System;
using ReallifeGamemode.Database; using GTANetworkAPI;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions; using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Types; using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Server.Util; using ReallifeGamemode.Server.Util;
using System;
namespace ReallifeGamemode.Server.Events namespace ReallifeGamemode.Server.Events
{ {
@@ -175,7 +174,6 @@ namespace ReallifeGamemode.Server.Events
msg += state ? "~g~abgeschlossen" : "~r~aufgeschlossen"; msg += state ? "~g~abgeschlossen" : "~r~aufgeschlossen";
player.TriggerEvent("vehsync:OpenCar", state); player.TriggerEvent("vehsync:OpenCar", state);
player.SendNotification(msg); player.SendNotification(msg);
} }
} }
@@ -280,7 +278,5 @@ namespace ReallifeGamemode.Server.Events
VehicleStreaming.SetDoorState(veh, doorId, DoorState.DoorClosed); VehicleStreaming.SetDoorState(veh, doorId, DoorState.DoorClosed);
} }
} }
} }
} }

View File

@@ -8,7 +8,7 @@
namespace ReallifeGamemode.Server.Events namespace ReallifeGamemode.Server.Events
{ {
class Voice : Script internal class Voice : Script
{ {
[RemoteEvent("CLIENT:AddVoiceListener")] [RemoteEvent("CLIENT:AddVoiceListener")]
public void AddPlayerVoiceListenerEvent(Player player, Player target) public void AddPlayerVoiceListenerEvent(Player player, Player target)

View File

@@ -1,12 +1,12 @@
using GTANetworkAPI; using System;
using System.Collections.Generic;
using System.Linq;
using GTANetworkAPI;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json; using Newtonsoft.Json;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Services;
using System;
using System.Collections.Generic;
using System.Linq;
/** /**
* @overview Life of German Reallife - Player Extension (PlayerExtension.cs) * @overview Life of German Reallife - Player Extension (PlayerExtension.cs)
@@ -130,6 +130,7 @@ namespace ReallifeGamemode.Server.Extensions
} }
} }
} }
public static FactionRank GetFactionRank(this User user) public static FactionRank GetFactionRank(this User user)
{ {
using (var dbContext = new DatabaseContext()) using (var dbContext = new DatabaseContext())

View File

@@ -1,9 +1,4 @@
using ReallifeGamemode.Server.Util; using ReallifeGamemode.Server.Types;
using System;
using System.Collections.Generic;
using System.Text;
using ReallifeGamemode.Database;
using ReallifeGamemode.Server.Types;
using static ReallifeGamemode.Server.Types.AdminLevel; using static ReallifeGamemode.Server.Types.AdminLevel;
namespace ReallifeGamemode.Server.Extensions namespace ReallifeGamemode.Server.Extensions
@@ -21,18 +16,24 @@ namespace ReallifeGamemode.Server.Extensions
{ {
case MAPPING: case MAPPING:
return "Mapper"; return "Mapper";
case ENTWICKLUNG: case ENTWICKLUNG:
return "Entwickler"; return "Entwickler";
case SUPPORTER: case SUPPORTER:
return "Supporter"; return "Supporter";
case ADMIN: case ADMIN:
case ADMIN2: case ADMIN2:
case ADMIN3: case ADMIN3:
return "Admin"; return "Admin";
case HEADADMIN: case HEADADMIN:
return "Headadmin"; return "Headadmin";
case PROJEKTLEITUNG: case PROJEKTLEITUNG:
return "Projektleiter"; return "Projektleiter";
default: default:
return "Spieler"; return "Spieler";
} }
@@ -44,10 +45,13 @@ namespace ReallifeGamemode.Server.Extensions
{ {
case GroupRank.OWNER: case GroupRank.OWNER:
return "Besitzer"; return "Besitzer";
case GroupRank.MANAGER: case GroupRank.MANAGER:
return "Manager"; return "Manager";
case GroupRank.MEMBER: case GroupRank.MEMBER:
return "Mitglied"; return "Mitglied";
default: default:
return "Keiner"; return "Keiner";
} }

View File

@@ -1,11 +1,11 @@
using Microsoft.EntityFrameworkCore; using System.Linq;
using Microsoft.EntityFrameworkCore;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using System.Linq;
namespace ReallifeGamemode.Server.Extensions namespace ReallifeGamemode.Server.Extensions
{ {
static class HouseExtensions internal static class HouseExtensions
{ {
public static House Refresh(this House house) public static House Refresh(this House house)
{ {

View File

@@ -1,8 +1,4 @@
using System; namespace ReallifeGamemode.Server.Extensions
using System.Collections.Generic;
using System.Text;
namespace ReallifeGamemode.Server.Extensions
{ {
public static class IntegerExtension public static class IntegerExtension
{ {
@@ -10,6 +6,7 @@ namespace ReallifeGamemode.Server.Extensions
{ {
return ToMoneyString(money ?? 0); return ToMoneyString(money ?? 0);
} }
public static string ToMoneyString(this int money) public static string ToMoneyString(this int money)
{ {
return "$" + string.Format(Main.SERVER_CULTURE, "{0:C0}", money).Replace("€", "").Trim(); return "$" + string.Format(Main.SERVER_CULTURE, "{0:C0}", money).Replace("€", "").Trim();

View File

@@ -1,12 +1,10 @@
using GTANetworkAPI; using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using GTANetworkAPI;
namespace ReallifeGamemode.Server.Extensions namespace ReallifeGamemode.Server.Extensions
{ {
static class ListExtensions internal static class ListExtensions
{ {
public static bool Contains(this List<Player> list, Player client) public static bool Contains(this List<Player> list, Player client)
{ {

View File

@@ -1,7 +1,4 @@
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Job; using ReallifeGamemode.Server.Job;
using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Managers;

View File

@@ -1,8 +1,8 @@
using GTANetworkAPI; using System.Linq;
using GTANetworkAPI;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Managers;
using System.Linq;
namespace ReallifeGamemode.Server.Extensions namespace ReallifeGamemode.Server.Extensions
{ {

View File

@@ -1,9 +1,6 @@
using System; using System.Collections.Generic;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI; using GTANetworkAPI;
using Newtonsoft.Json; using Newtonsoft.Json;
using ReallifeGamemode.Server.Services;
/** /**
* @overview Life of German Reallife - Server Factions Medic Medic.cs * @overview Life of German Reallife - Server Factions Medic Medic.cs
@@ -11,7 +8,6 @@ using ReallifeGamemode.Server.Services;
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German
*/ */
namespace ReallifeGamemode.Server.Factions.Medic namespace ReallifeGamemode.Server.Factions.Medic
{ {
public class Medic : Script public class Medic : Script
@@ -32,9 +28,11 @@ namespace ReallifeGamemode.Server.Factions.Medic
case MedicTaskType.REVIVE: case MedicTaskType.REVIVE:
ReviveTasks.Add(task); ReviveTasks.Add(task);
break; break;
case MedicTaskType.HEAL: case MedicTaskType.HEAL:
HealTasks.Add(task); HealTasks.Add(task);
break; break;
case MedicTaskType.FIRE: case MedicTaskType.FIRE:
FireTasks.Add(task); FireTasks.Add(task);
break; break;
@@ -53,14 +51,17 @@ namespace ReallifeGamemode.Server.Factions.Medic
case MedicTaskType.REVIVE: case MedicTaskType.REVIVE:
ReviveTasks.Remove(task); ReviveTasks.Remove(task);
break; break;
case MedicTaskType.HEAL: case MedicTaskType.HEAL:
HealTasks.Remove(task); HealTasks.Remove(task);
break; break;
case MedicTaskType.FIRE: case MedicTaskType.FIRE:
FireTasks.Remove(task); FireTasks.Remove(task);
break; break;
} }
} }
[RemoteEvent("loadMedicTasks")] [RemoteEvent("loadMedicTasks")]
public void LoadMedicTasks(Player player, int type) public void LoadMedicTasks(Player player, int type)
{ {
@@ -69,14 +70,17 @@ namespace ReallifeGamemode.Server.Factions.Medic
case 0: case 0:
player.TriggerEvent("showMedicTasks", 0, JsonConvert.SerializeObject(ReviveTasks)); player.TriggerEvent("showMedicTasks", 0, JsonConvert.SerializeObject(ReviveTasks));
break; break;
case 1: case 1:
player.TriggerEvent("showMedicTasks", 1, JsonConvert.SerializeObject(HealTasks)); player.TriggerEvent("showMedicTasks", 1, JsonConvert.SerializeObject(HealTasks));
break; break;
case 2: case 2:
player.TriggerEvent("showMedicTasks", 2, JsonConvert.SerializeObject(FireTasks)); player.TriggerEvent("showMedicTasks", 2, JsonConvert.SerializeObject(FireTasks));
break; break;
} }
} }
[RemoteEvent("updateMedicTask")] [RemoteEvent("updateMedicTask")]
public void UpdateMedicTasks(Player player, int type, int index, string medicName) public void UpdateMedicTasks(Player player, int type, int index, string medicName)
{ {
@@ -85,9 +89,11 @@ namespace ReallifeGamemode.Server.Factions.Medic
case 0: case 0:
ReviveTasks[index].MedicName = medicName; ReviveTasks[index].MedicName = medicName;
break; break;
case 1: case 1:
HealTasks[index].MedicName = medicName; HealTasks[index].MedicName = medicName;
break; break;
case 2: case 2:
FireTasks[index].MedicName = medicName; FireTasks[index].MedicName = medicName;
break; break;

View File

@@ -1,6 +1,4 @@
using System; using System;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI; using GTANetworkAPI;
/** /**
@@ -9,7 +7,6 @@ using GTANetworkAPI;
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German
*/ */
namespace ReallifeGamemode.Server.Factions.Medic namespace ReallifeGamemode.Server.Factions.Medic
{ {
public class MedicTask public class MedicTask

View File

@@ -4,18 +4,16 @@
@copyright (c) 2008 - 2019 Life of German @copyright (c) 2008 - 2019 Life of German
*/ */
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text;
using GTANetworkAPI; using GTANetworkAPI;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Services;
using Newtonsoft.Json; using Newtonsoft.Json;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Services;
namespace ReallifeGamemode.Server.Finance namespace ReallifeGamemode.Server.Finance
{ {
@@ -52,7 +50,6 @@ namespace ReallifeGamemode.Server.Finance
} }
vehicleTaxation += (int)(uVeh.Price * 0.005f); vehicleTaxation += (int)(uVeh.Price * 0.005f);
} }
} }
return vehicleTaxation; return vehicleTaxation;
} }
@@ -69,7 +66,6 @@ namespace ReallifeGamemode.Server.Finance
return propertyTaxation; return propertyTaxation;
} }
public static void SetPaycheck(Player client) public static void SetPaycheck(Player client)
{ {
User user = client.GetUser(); User user = client.GetUser();
@@ -81,7 +77,6 @@ namespace ReallifeGamemode.Server.Finance
int healthInsurance = (int)(user.BankAccount.Balance * 0.001); int healthInsurance = (int)(user.BankAccount.Balance * 0.001);
int? factionMoney = null; int? factionMoney = null;
if (user.Faction != null && user.FactionRank != null) if (user.Faction != null && user.FactionRank != null)
@@ -124,7 +119,6 @@ namespace ReallifeGamemode.Server.Finance
u.PaydayTimer = 60; u.PaydayTimer = 60;
NAPI.Util.ConsoleOutput("set sachen"); NAPI.Util.ConsoleOutput("set sachen");
var rentals = dbContext.HouseRentals var rentals = dbContext.HouseRentals
@@ -132,7 +126,6 @@ namespace ReallifeGamemode.Server.Finance
.ThenInclude(h => h.BankAccount) .ThenInclude(h => h.BankAccount)
.Where(hR => hR.UserId == u.Id); .Where(hR => hR.UserId == u.Id);
NAPI.Util.ConsoleOutput("get rentals"); NAPI.Util.ConsoleOutput("get rentals");
dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Id == 2).First().BankAccount.Balance += (int)(paycheck.HealthInsurance * 0.1); dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Id == 2).First().BankAccount.Balance += (int)(paycheck.HealthInsurance * 0.1);
@@ -155,7 +148,6 @@ namespace ReallifeGamemode.Server.Finance
ChatService.SendMessage(client, "~g~[PAYDAY]~s~ Dein Stundenumsatz beträgt + $~g~" + paycheck.Amount + "~s~."); ChatService.SendMessage(client, "~g~[PAYDAY]~s~ Dein Stundenumsatz beträgt + $~g~" + paycheck.Amount + "~s~.");
else else
ChatService.SendMessage(client, "~g~[PAYDAY]~s~ Dein Stundenumsatz beträgt - $~r~" + paycheck.Amount + "~s~."); ChatService.SendMessage(client, "~g~[PAYDAY]~s~ Dein Stundenumsatz beträgt - $~r~" + paycheck.Amount + "~s~.");
} }
public static void Timer_Elapsed() public static void Timer_Elapsed()

View File

@@ -1,13 +1,4 @@
using System; using Newtonsoft.Json;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GTANetworkAPI;
using Newtonsoft.Json;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Services;
namespace ReallifeGamemode.Server.Finance namespace ReallifeGamemode.Server.Finance
{ {

View File

@@ -1,5 +1,4 @@
using System; using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq; using System.Linq;
using GTANetworkAPI; using GTANetworkAPI;
using Newtonsoft.Json; using Newtonsoft.Json;

View File

@@ -1,21 +1,19 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
using System.Timers;
using System.Linq; using System.Linq;
using ReallifeGamemode.Server.Extensions; using System.Timers;
using ReallifeGamemode.Database.Models; using GTANetworkAPI;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Services;
using Newtonsoft.Json;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Services;
namespace ReallifeGamemode.Server.Gangwar namespace ReallifeGamemode.Server.Gangwar
{ {
public class Turf public class Turf
{ {
public int TurfID { get; set; } public int TurfID { get; set; }
public string TurfName { get; set; } public string TurfName { get; set; }
public int Color { get; set; } public int Color { get; set; }
@@ -32,7 +30,6 @@ namespace ReallifeGamemode.Server.Gangwar
public Player[] playerInGangwar { get; set; } public Player[] playerInGangwar { get; set; }
public int timerCount; public int timerCount;
public Turf(int TurfID, string TurfName, int color, string Owner, int value, int maxValue, bool surplus) public Turf(int TurfID, string TurfName, int color, string Owner, int value, int maxValue, bool surplus)
{ {
this.TurfID = TurfID; this.TurfID = TurfID;
@@ -124,11 +121,10 @@ namespace ReallifeGamemode.Server.Gangwar
} }
} }
private void update() private void update()
{ {
#region Ticket system #region Ticket system
/* /*
try try
{ {
@@ -151,7 +147,9 @@ namespace ReallifeGamemode.Server.Gangwar
if(owners.Length < attackers.Length) if(owners.Length < attackers.Length)
this.Def_Score -= attackers.Length - owners.Length; this.Def_Score -= attackers.Length - owners.Length;
*/ */
#endregion
#endregion Ticket system
foreach (Player gangwarPlayer in this.playerInGangwar) foreach (Player gangwarPlayer in this.playerInGangwar)
{ {
gangwarPlayer.TriggerEvent("GangwarScore", this.Attacker, this.Owner, this.Att_Score, this.Def_Score); gangwarPlayer.TriggerEvent("GangwarScore", this.Attacker, this.Owner, this.Att_Score, this.Def_Score);
@@ -276,7 +274,6 @@ namespace ReallifeGamemode.Server.Gangwar
turf.FactionId = dbContext.Factions.Where(f => f.Name == this.Owner).FirstOrDefault().Id; turf.FactionId = dbContext.Factions.Where(f => f.Name == this.Owner).FirstOrDefault().Id;
dbContext.SaveChanges(); dbContext.SaveChanges();
} }
} }
this.Attacker = null; this.Attacker = null;
foreach (var c in playerInGangwar) foreach (var c in playerInGangwar)
@@ -312,7 +309,6 @@ namespace ReallifeGamemode.Server.Gangwar
} }
List<Player> inGangwar = new List<Player>(ownersInGangwar.Concat(attackersInGangwar)); List<Player> inGangwar = new List<Player>(ownersInGangwar.Concat(attackersInGangwar));
usersInGangwar = inGangwar.ToArray(); usersInGangwar = inGangwar.ToArray();
} }
if (this.status == "normal") if (this.status == "normal")

View File

@@ -1,11 +1,11 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using GTANetworkAPI; using GTANetworkAPI;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Inventory.Interfaces; using ReallifeGamemode.Server.Inventory.Interfaces;
using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Managers;
using System.Linq;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Database.Models;
namespace ReallifeGamemode.Server.Inventory namespace ReallifeGamemode.Server.Inventory
{ {
@@ -34,10 +34,12 @@ namespace ReallifeGamemode.Server.Inventory
var invWeight = InventoryManager.GetUserInventoryWeight(player); var invWeight = InventoryManager.GetUserInventoryWeight(player);
var itemsToAdd = 0; var itemsToAdd = 0;
GTANetworkAPI.Object nearestObject = GroundObjects.FirstOrDefault(d => d.Position == nearest.Position); GTANetworkAPI.Object nearestObject = GroundObjects.FirstOrDefault(d => d.Position == nearest.Position);
TextLabel nearestTextLabel = GroundTextLabels.FirstOrDefault(d => d.Position == nearest.Position); TextLabel nearestTextLabel = GroundTextLabels.FirstOrDefault(d => d.Position == new Vector3(nearest.Position.X, nearest.Position.Y, nearest.Position.Z + 1.05) || d.Position == new Vector3(nearest.Position.X, nearest.Position.Y, nearest.Position.Z + 0.8));
IItem nearestItem = InventoryManager.GetItemById(nearest.ItemId); IItem nearestItem = InventoryManager.GetItemById(nearest.ItemId);
UserItem existingItem = InventoryManager.UserHasThisItem(player, nearest.ItemId); UserItem existingItem = InventoryManager.UserHasThisItem(player, nearest.ItemId);
var user = player.GetUser(); var user = player.GetUser();
if (player.HasAttachment("ammobox"))
{ player.SendNotification("~r~Du kannst momentan nichts tragen!", false); return; }
if (nearestItem.Gewicht * nearest.Amount + invWeight > 40000) if (nearestItem.Gewicht * nearest.Amount + invWeight > 40000)
{ {
for (var i = 1; i <= nearest.Amount; i++) for (var i = 1; i <= nearest.Amount; i++)
@@ -69,7 +71,7 @@ namespace ReallifeGamemode.Server.Inventory
else else
{ {
UserItem newItem = new UserItem { ItemId = nearest.ItemId, UserId = user.Id, Amount = nearest.Amount }; UserItem newItem = new UserItem { ItemId = nearest.ItemId, UserId = user.Id, Amount = nearest.Amount };
InventoryManager.AddItemToInventory(player, newItem); InventoryManager.AddItemToInventory(player, newItem.ItemId, newItem.Amount);
} }
nearest.Amount -= itemsToAdd; nearest.Amount -= itemsToAdd;
nearestTextLabel.Text = nearestItem.Name + " ~s~(~y~" + nearest.Amount + "~s~)"; nearestTextLabel.Text = nearestItem.Name + " ~s~(~y~" + nearest.Amount + "~s~)";
@@ -90,11 +92,20 @@ namespace ReallifeGamemode.Server.Inventory
else else
{ {
UserItem item = new UserItem() { ItemId = nearest.ItemId, UserId = user.Id, Amount = nearest.Amount }; UserItem item = new UserItem() { ItemId = nearest.ItemId, UserId = user.Id, Amount = nearest.Amount };
InventoryManager.AddItemToInventory(player, item); InventoryManager.AddItemToInventory(player, item.ItemId, item.Amount);
} }
RemoveGroundItem(nearest, nearestObject, nearestTextLabel); RemoveGroundItem(nearest, nearestObject, nearestTextLabel);
player.SendNotification("Du hast ~g~" + nearest.Amount + " ~y~" + nearestItem.Name + " ~s~aufgehoben."); player.SendNotification("Du hast ~g~" + nearest.Amount + " ~y~" + nearestItem.Name + " ~s~aufgehoben.");
} }
if (nearestItem is IWeaponDealItem obj)
{
if (!player.HasAttachment("ammobox"))
{
player.PlayAnimation("anim@heists@box_carry@", "idle", 49);
player.AddAttachment("ammobox", false);
NAPI.Player.SetPlayerCurrentWeapon(player, WeaponHash.Unarmed);
}
}
} }
} }
@@ -108,4 +119,3 @@ namespace ReallifeGamemode.Server.Inventory
} }
} }
} }

View File

@@ -1,8 +1,4 @@
using System; /**
using System.Collections.Generic;
using System.Text;
/**
* @overview Life of German Reallife - Inventory Interfaces Item (IItem.cs) * @overview Life of German Reallife - Inventory Interfaces Item (IItem.cs)
* @author VegaZ * @author VegaZ
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German

View File

@@ -1,8 +1,4 @@
using GTANetworkAPI; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Entities;
using System;
using System.Collections.Generic;
using System.Text;
/** /**
* @overview Life of German Reallife - Inventory Interfaces UsableItem (IUsableItem.cs) * @overview Life of German Reallife - Inventory Interfaces UsableItem (IUsableItem.cs)

View File

@@ -1,7 +1,4 @@
using System; using GTANetworkAPI;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
namespace ReallifeGamemode.Server.Inventory.Interfaces namespace ReallifeGamemode.Server.Inventory.Interfaces

View File

@@ -1,9 +1,4 @@
using ReallifeGamemode.Server.Inventory.Interfaces; /**
using System;
using System.Collections.Generic;
using System.Text;
/**
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs) * @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
* @author VegaZ * @author VegaZ
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German

View File

@@ -1,9 +1,4 @@
using ReallifeGamemode.Server.Inventory.Interfaces; /**
using System;
using System.Collections.Generic;
using System.Text;
/**
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs) * @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
* @author VegaZ * @author VegaZ
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German

View File

@@ -1,7 +1,4 @@
using ReallifeGamemode.Server.Inventory.Interfaces; using ReallifeGamemode.Server.Inventory.Interfaces;
using System;
using System.Collections.Generic;
using System.Text;
/** /**
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs) * @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)

View File

@@ -1,9 +1,4 @@
using ReallifeGamemode.Server.Inventory.Interfaces; /**
using System;
using System.Collections.Generic;
using System.Text;
/**
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs) * @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
* @author VegaZ * @author VegaZ
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German

View File

@@ -1,9 +1,4 @@
using ReallifeGamemode.Server.Inventory.Interfaces; /**
using System;
using System.Collections.Generic;
using System.Text;
/**
* @overview Life of German Reallife - Inventory Items Cheeseburger (Cheeseburger.cs) * @overview Life of German Reallife - Inventory Items Cheeseburger (Cheeseburger.cs)
* @author VegaZ * @author VegaZ
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German
@@ -21,6 +16,5 @@ namespace ReallifeGamemode.Server.Inventory.Items
public override int HpAmount => 20; public override int HpAmount => 20;
public override uint Object => 2240524752; public override uint Object => 2240524752;
public override int Price => 150; public override int Price => 150;
} }
} }

View File

@@ -1,9 +1,4 @@
using ReallifeGamemode.Server.Inventory.Interfaces; /**
using System;
using System.Collections.Generic;
using System.Text;
/**
* @overview Life of German Reallife - Inventory Items Chickenburger (Chickenburger.cs) * @overview Life of German Reallife - Inventory Items Chickenburger (Chickenburger.cs)
* @author VegaZ * @author VegaZ
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German

View File

@@ -3,9 +3,6 @@ using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions; using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Inventory.Interfaces; using ReallifeGamemode.Server.Inventory.Interfaces;
using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Managers;
using System;
using System.Collections.Generic;
using System.Text;
namespace ReallifeGamemode.Server.Inventory.Items namespace ReallifeGamemode.Server.Inventory.Items
{ {

View File

@@ -1,9 +1,4 @@
using ReallifeGamemode.Server.Inventory.Interfaces; /**
using System;
using System.Collections.Generic;
using System.Text;
/**
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs) * @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
* @author VegaZ * @author VegaZ
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German

View File

@@ -3,9 +3,6 @@ using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions; using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Inventory.Interfaces; using ReallifeGamemode.Server.Inventory.Interfaces;
using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Managers;
using System;
using System.Collections.Generic;
using System.Text;
namespace ReallifeGamemode.Server.Inventory.Items namespace ReallifeGamemode.Server.Inventory.Items
{ {

View File

@@ -1,9 +1,4 @@
using ReallifeGamemode.Server.Inventory.Interfaces; /**
using System;
using System.Collections.Generic;
using System.Text;
/**
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs) * @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
* @author VegaZ * @author VegaZ
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German

View File

@@ -1,9 +1,4 @@
using ReallifeGamemode.Server.Inventory.Interfaces; /**
using System;
using System.Collections.Generic;
using System.Text;
/**
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs) * @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
* @author VegaZ * @author VegaZ
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German

View File

@@ -1,9 +1,4 @@
using ReallifeGamemode.Server.Inventory.Interfaces; /**
using System;
using System.Collections.Generic;
using System.Text;
/**
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs) * @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
* @author VegaZ * @author VegaZ
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German

View File

@@ -1,9 +1,4 @@
using ReallifeGamemode.Server.Inventory.Interfaces; /**
using System;
using System.Collections.Generic;
using System.Text;
/**
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs) * @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
* @author VegaZ * @author VegaZ
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German

View File

@@ -1,9 +1,4 @@
using ReallifeGamemode.Server.Inventory.Interfaces; /**
using System;
using System.Collections.Generic;
using System.Text;
/**
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs) * @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
* @author VegaZ * @author VegaZ
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German

View File

@@ -1,9 +1,4 @@
using ReallifeGamemode.Server.Inventory.Interfaces; /**
using System;
using System.Collections.Generic;
using System.Text;
/**
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs) * @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
* @author VegaZ * @author VegaZ
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German

View File

@@ -1,9 +1,4 @@
using ReallifeGamemode.Server.Inventory.Interfaces; /**
using System;
using System.Collections.Generic;
using System.Text;
/**
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs) * @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
* @author VegaZ * @author VegaZ
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German

View File

@@ -2,10 +2,6 @@
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions; using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Inventory.Interfaces; using ReallifeGamemode.Server.Inventory.Interfaces;
using ReallifeGamemode.Server.Managers;
using System;
using System.Collections.Generic;
using System.Text;
namespace ReallifeGamemode.Server.Inventory.Items namespace ReallifeGamemode.Server.Inventory.Items
{ {

View File

@@ -1,9 +1,4 @@
using ReallifeGamemode.Server.Inventory.Interfaces; /**
using System;
using System.Collections.Generic;
using System.Text;
/**
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs) * @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
* @author VegaZ * @author VegaZ
* @copyright (c) 2008 - 2018 Life of German * @copyright (c) 2008 - 2018 Life of German

View File

@@ -1,12 +1,12 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using GTANetworkAPI; using GTANetworkAPI;
using ReallifeGamemode.Server.Util;
using Newtonsoft.Json; using Newtonsoft.Json;
using ReallifeGamemode.Server.Util;
namespace ReallifeGamemode.Server.Job namespace ReallifeGamemode.Server.Job
{ {
class BusDriverJob : JobBase internal class BusDriverJob : JobBase
{ {
public override int Id => 4; public override int Id => 4;
@@ -57,7 +57,6 @@ namespace ReallifeGamemode.Server.Job
private readonly IReadOnlyCollection<Vector3> RouteLong = new List<Vector3> private readonly IReadOnlyCollection<Vector3> RouteLong = new List<Vector3>
{ {
new Vector3(403.8605,-597.0284,27.1788), new Vector3(403.8605,-597.0284,27.1788),
new Vector3(953.7955,140.8976,79.34214), new Vector3(953.7955,140.8976,79.34214),
new Vector3(1531.374,832.1884,75.94727), new Vector3(1531.374,832.1884,75.94727),
@@ -67,12 +66,10 @@ namespace ReallifeGamemode.Server.Job
new Vector3(2599.954,4264.15,40.87192), new Vector3(2599.954,4264.15,40.87192),
new Vector3(2705.722,3308.447,54.2841), new Vector3(2705.722,3308.447,54.2841),
new Vector3(355.8403,-634.835,27.56906), new Vector3(355.8403,-634.835,27.56906),
}.AsReadOnly(); }.AsReadOnly();
private readonly IReadOnlyCollection<Vector3> RouteVeryLong = new List<Vector3> private readonly IReadOnlyCollection<Vector3> RouteVeryLong = new List<Vector3>
{ {
new Vector3(-562.68, -2203.85, 6.72), new Vector3(-562.68, -2203.85, 6.72),
new Vector3(-889.0892, -2190.34, 8.100273), new Vector3(-889.0892, -2190.34, 8.100273),
new Vector3(-695.8978, -1197.1, 10.07723), new Vector3(-695.8978, -1197.1, 10.07723),
@@ -149,12 +146,10 @@ namespace ReallifeGamemode.Server.Job
{ {
CheckPointHandle.StartCheckPointRoute(player, RouteVeryLong, 3000, 1, 7, "busDriverJob"); CheckPointHandle.StartCheckPointRoute(player, RouteVeryLong, 3000, 1, 7, "busDriverJob");
} }
} }
public static void payWage(Player jobber, int wage) public static void payWage(Player jobber, int wage)
{ {
} }
} }
} }

View File

@@ -1,19 +1,20 @@
using GTANetworkAPI; using System.Collections.Generic;
using System.Linq;
using GTANetworkAPI;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Services;
using System;
using System.Collections.Generic;
using System.Linq;
namespace ReallifeGamemode.Server.Job namespace ReallifeGamemode.Server.Job
{ {
public abstract class JobBase : Script public abstract class JobBase : Script
{ {
public delegate void JobStartHandler(Player player); public delegate void JobStartHandler(Player player);
public delegate void JobStopHandler(Player player); public delegate void JobStopHandler(Player player);
public event JobStartHandler JobStart; public event JobStartHandler JobStart;
public event JobStopHandler JobStop; public event JobStopHandler JobStop;
private readonly List<Player> _inJob = new List<Player>(); private readonly List<Player> _inJob = new List<Player>();
@@ -59,6 +60,7 @@ namespace ReallifeGamemode.Server.Job
} }
public static List<Player> GetPlayerInJob() => jobPlayer; public static List<Player> GetPlayerInJob() => jobPlayer;
public List<Player> GetUsersInJob() => _inJob; public List<Player> GetUsersInJob() => _inJob;
} }
} }

View File

@@ -1,11 +1,12 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using GTANetworkAPI; using GTANetworkAPI;
using ReallifeGamemode.Server.Util;
using Newtonsoft.Json; using Newtonsoft.Json;
using ReallifeGamemode.Server.Util;
namespace ReallifeGamemode.Server.Job namespace ReallifeGamemode.Server.Job
{ {
class PilotJob : JobBase internal class PilotJob : JobBase
{ {
public override int Id => 3; public override int Id => 3;
@@ -101,8 +102,6 @@ namespace ReallifeGamemode.Server.Job
new Vector3(-591.96, -1943.26, 311.73), new Vector3(-591.96, -1943.26, 311.73),
}.AsReadOnly(); }.AsReadOnly();
public PilotJob() public PilotJob()
{ {
JobStart += PilotJob_JobStart; JobStart += PilotJob_JobStart;
@@ -117,7 +116,6 @@ namespace ReallifeGamemode.Server.Job
if (veh.DisplayName == "Velum") if (veh.DisplayName == "Velum")
{ {
listRouteTexts2.Add("Route 4"); listRouteTexts2.Add("Route 4");
listRouteTexts2.Add("Route 5"); listRouteTexts2.Add("Route 5");
listRouteTexts2.Add("Route 6"); listRouteTexts2.Add("Route 6");
@@ -132,8 +130,8 @@ namespace ReallifeGamemode.Server.Job
player.TriggerEvent("showPilotRouteMenu", JsonConvert.SerializeObject(listRouteTexts)); player.TriggerEvent("showPilotRouteMenu", JsonConvert.SerializeObject(listRouteTexts));
} }
} }
[RemoteEvent("startPilotRoute")] [RemoteEvent("startPilotRoute")]
public void StartPilotRoute(Player player, string type) public void StartPilotRoute(Player player, string type)
{ {

View File

@@ -202,6 +202,7 @@ namespace ReallifeGamemode.Server.Job
Player target = data.getPartnerClient(player); Player target = data.getPartnerClient(player);
if (target != null) target.TriggerEvent("MuellmannUpdateColshape", colshapeIndex); if (target != null) target.TriggerEvent("MuellmannUpdateColshape", colshapeIndex);
ChatService.SendMessage((Player)player, "Du hast den Müllsack in der Hand. Bringe ihm zum Müllwagen hinten."); ChatService.SendMessage((Player)player, "Du hast den Müllsack in der Hand. Bringe ihm zum Müllwagen hinten.");
player.AddAttachment("binbag", false);
return; return;
} }
} }
@@ -213,14 +214,10 @@ namespace ReallifeGamemode.Server.Job
{ {
if (data.getDataFromClient(player) == null) continue; if (data.getDataFromClient(player) == null) continue;
int count = data.getTrashCount(); data.setTrashCount(data.getTrashCount() + 1);
count++;
data.setTrashCount(count);
Player target = data.getPartnerClient(player); Player target = data.getPartnerClient(player);
if (target != null) ChatService.SendMessage((Player)target, $"Es sind jetzt {count} Säcke im Müllwagen."); player.AddAttachment("binbag", true);
ChatService.SendMessage((Player)player, $"Es sind jetzt {count} Säcke im Müllwagen.");
if (data.getTrashCount() >= 20) if (data.getTrashCount() >= 20)
{ {
ChatService.SendMessage((Player)player, "Auto ist voll fahre nun zu Base."); ChatService.SendMessage((Player)player, "Auto ist voll fahre nun zu Base.");
@@ -241,11 +238,9 @@ namespace ReallifeGamemode.Server.Job
{ {
if (data.getDataFromClient(player) == null) continue; if (data.getDataFromClient(player) == null) continue;
int count = data.getTrashCount();
Player target = data.getPartnerClient(player); Player target = data.getPartnerClient(player);
if (target != null) ChatService.SendMessage((Player)target, $"Fahrzeug wurde entleert. Säcke: {count}"); if (target != null) ChatService.SendMessage((Player)target, $"Fahrzeug wurde entleert. Säcke: {data.getTrashCount()}");
ChatService.SendMessage((Player)player, $"Fahrzeug wurde entleert. Säcke: {count}"); ChatService.SendMessage((Player)player, $"Fahrzeug wurde entleert. Säcke: {data.getTrashCount()}");
//bonus pro sack //bonus pro sack
data.setTrashCount(0); data.setTrashCount(0);
@@ -330,7 +325,7 @@ namespace ReallifeGamemode.Server.Job
} }
CheckDataForDuplicatePlayer(player, data); CheckDataForDuplicatePlayer(player, data);
data.setClientToData(player); data.setClientToData(player);
//destroy veh
MuellmannJobStarten(player, vehicle); MuellmannJobStarten(player, vehicle);
target = data.getPartnerClient(player); target = data.getPartnerClient(player);

View File

@@ -1,21 +1,18 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Extensions;
using System.Timers;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Database.Entities;
using System.Linq; using System.Linq;
using GTANetworkAPI;
using Newtonsoft.Json; using Newtonsoft.Json;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Types; using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Server.Util;
namespace ReallifeGamemode.Server.Job namespace ReallifeGamemode.Server.Job
{ {
class TaxiDriverJob : JobBase internal class TaxiDriverJob : JobBase
{ {
public List<TaxiContract> TaxiContracts { get; set; } = new List<TaxiContract>(); public List<TaxiContract> TaxiContracts { get; set; } = new List<TaxiContract>();
@@ -27,7 +24,6 @@ namespace ReallifeGamemode.Server.Job
public override bool NeedVehicleToStart => true; public override bool NeedVehicleToStart => true;
private static TaxiDriverJob _Instance; private static TaxiDriverJob _Instance;
public TaxiDriverJob() public TaxiDriverJob()
@@ -42,6 +38,7 @@ namespace ReallifeGamemode.Server.Job
_Instance = new TaxiDriverJob(); _Instance = new TaxiDriverJob();
return _Instance; return _Instance;
} }
private void TaxiDriverJobJobStart(Player player) private void TaxiDriverJobJobStart(Player player)
{ {
player.Vehicle.SetSharedData("vehicleTaxiLight", true); player.Vehicle.SetSharedData("vehicleTaxiLight", true);
@@ -89,7 +86,6 @@ namespace ReallifeGamemode.Server.Job
dbContext.SaveChanges(); dbContext.SaveChanges();
target.Player.TriggerEvent("SERVER:SET_HANDMONEY", target.Handmoney); target.Player.TriggerEvent("SERVER:SET_HANDMONEY", target.Handmoney);
} }
} }
/* /*
@@ -124,9 +120,7 @@ namespace ReallifeGamemode.Server.Job
{ {
occupant.TriggerEvent("CLIENT:updateFare", JsonConvert.SerializeObject(distance)); occupant.TriggerEvent("CLIENT:updateFare", JsonConvert.SerializeObject(distance));
} }
} }
} }
} }
} }

View File

@@ -1,29 +1,21 @@
using System.Globalization; using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Reflection;
using GTANetworkAPI; using GTANetworkAPI;
using Newtonsoft.Json; using Newtonsoft.Json;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Classes; using ReallifeGamemode.Server.Classes;
using ReallifeGamemode.Server.Finance; using ReallifeGamemode.Server.Common;
using ReallifeGamemode.Server.Core.API;
using ReallifeGamemode.Server.Core.Events;
using ReallifeGamemode.Server.Core.RageMP;
using ReallifeGamemode.Server.DrivingSchool;
using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Util; using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.Wanted;
using ReallifeGamemode.Server.DrivingSchool;
using ReallifeGamemode.Server.WeaponDeal;
using ReallifeGamemode.Server.Core.API;
using ReallifeGamemode.Server.Core.RageMP;
using ReallifeGamemode.Server.Core.Events;
using System.Collections.Generic;
using ReallifeGamemode.Server.Common;
using System.Reflection;
using System.Linq;
using ReallifeGamemode.Server.Job;
using ReallifeGamemode.Database.Models;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Infrastructure;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Services; using ReallifeGamemode.Services;
/** /**
* @overview Life of German Reallife - Main Class (Main.cs) * @overview Life of German Reallife - Main Class (Main.cs)
* @author VegaZ, hydrant * @author VegaZ, hydrant

View File

@@ -1,11 +1,9 @@
using System; using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text;
using GTANetworkAPI; using GTANetworkAPI;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
/** /**
* @overview Life of German Reallife - Managers ATMManager (ATMManager.cs) * @overview Life of German Reallife - Managers ATMManager (ATMManager.cs)
@@ -59,6 +57,7 @@ namespace ReallifeGamemode.Server.Managers
LoadATMs(); LoadATMs();
} }
} }
public static void LoadATMs() public static void LoadATMs()
{ {
using (var dbContext = new DatabaseContext()) using (var dbContext = new DatabaseContext())
@@ -73,14 +72,17 @@ namespace ReallifeGamemode.Server.Managers
} }
} }
} }
public static void EnterATMRange(ColShape colShape, Player client) public static void EnterATMRange(ColShape colShape, Player client)
{ {
client.SetData("nearATM", colShape.GetData<int>("id")); client.SetData("nearATM", colShape.GetData<int>("id"));
} }
public static void ExitATMRange(ColShape colShape, Player client) public static void ExitATMRange(ColShape colShape, Player client)
{ {
client.ResetData("nearATM"); client.ResetData("nearATM");
} }
public static void ShowAtmUi(Player player, int atmId) public static void ShowAtmUi(Player player, int atmId)
{ {
player.TriggerEvent("SERVER:ShowAtmUi", atmId); player.TriggerEvent("SERVER:ShowAtmUi", atmId);

View File

@@ -1,15 +1,10 @@
using System; using System.Linq;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GTANetworkAPI; using GTANetworkAPI;
using ReallifeGamemode.Server.Business;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Database; using ReallifeGamemode.Database;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Database.Entities.Logs;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Entities.Logs;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Util;
/** /**
* @overview Life of German Reallife - Managers BankManager (BankManager.cs) * @overview Life of German Reallife - Managers BankManager (BankManager.cs)

View File

@@ -1,22 +1,21 @@
using GTANetworkAPI; using System;
using Newtonsoft.Json;
using ReallifeGamemode.Server.Business;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Util;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using ReallifeGamemode.Database; using GTANetworkAPI;
using ReallifeGamemode.Server.Types;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json;
using ReallifeGamemode.Database;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Business;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Util;
namespace ReallifeGamemode.Server.Managers namespace ReallifeGamemode.Server.Managers
{ {
class BusinessManager : Script internal class BusinessManager : Script
{ {
public static List<BusinessBase> Businesses { get; private set; } public static List<BusinessBase> Businesses { get; private set; }

View File

@@ -1,8 +1,8 @@
using System.Linq; using System.Linq;
using GTANetworkAPI; using GTANetworkAPI;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
namespace ReallifeGamemode.Server.Managers namespace ReallifeGamemode.Server.Managers
{ {
@@ -14,6 +14,7 @@ namespace ReallifeGamemode.Server.Managers
if (gender == 0) player.SetSkin(PedHash.FreemodeMale01); if (gender == 0) player.SetSkin(PedHash.FreemodeMale01);
else player.SetSkin(PedHash.FreemodeFemale01); else player.SetSkin(PedHash.FreemodeFemale01);
} }
[RemoteEvent("creatorSave")] [RemoteEvent("creatorSave")]
public void CreatorSave(Player player, bool gender, string parentData, string featureData, string appearanceData, string hairAndColorData) public void CreatorSave(Player player, bool gender, string parentData, string featureData, string appearanceData, string hairAndColorData)
{ {
@@ -304,7 +305,6 @@ namespace ReallifeGamemode.Server.Managers
player.SetHeadOverlay(11, blemishes); player.SetHeadOverlay(11, blemishes);
player.SetHeadOverlay(12, blemishes); player.SetHeadOverlay(12, blemishes);
//Gesicht (Vererbung durch Mutter / Vater) //Gesicht (Vererbung durch Mutter / Vater)
HeadBlend headBlend = new HeadBlend() HeadBlend headBlend = new HeadBlend()
{ {
@@ -326,7 +326,6 @@ namespace ReallifeGamemode.Server.Managers
//Augenfarbe //Augenfarbe
NAPI.Player.SetPlayerEyeColor(player, character.EyeColor); NAPI.Player.SetPlayerEyeColor(player, character.EyeColor);
} }
} }
} }

View File

@@ -1,20 +1,15 @@
using GTANetworkAPI; using System.Linq;
using GTANetworkAPI;
using Newtonsoft.Json; using Newtonsoft.Json;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ReallifeGamemode.Database;
using ReallifeGamemode.Server.Types; using ReallifeGamemode.Server.Types;
namespace ReallifeGamemode.Server.Managers namespace ReallifeGamemode.Server.Managers
{ {
class CityHallManager : Script internal class CityHallManager : Script
{ {
private static readonly Vector3 _cityHallPosition = new Vector3(273.22, -278.14, 53.9); private static readonly Vector3 _cityHallPosition = new Vector3(273.22, -278.14, 53.9);

View File

@@ -2,11 +2,10 @@
using System.Linq; using System.Linq;
using GTANetworkAPI; using GTANetworkAPI;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Util; using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Database;
using ReallifeGamemode.Server.Types; using ReallifeGamemode.Server.Types;
/** /**
* @overview Life of German Reallife - Managers BankManager (BankManager.cs) * @overview Life of German Reallife - Managers BankManager (BankManager.cs)
* @author VegaZ * @author VegaZ

View File

@@ -1,16 +1,14 @@
using GTANetworkAPI; using System.Collections.Generic;
using System.Linq;
using GTANetworkAPI;
using Newtonsoft.Json; using Newtonsoft.Json;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions; using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Job; using ReallifeGamemode.Server.Job;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Server.Util; using ReallifeGamemode.Server.Util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ReallifeGamemode.Database;
using ReallifeGamemode.Services; using ReallifeGamemode.Services;
using ReallifeGamemode.Server.Types; using ReallifeGamemode.Server.Types;
using System.Buffers; using System.Buffers;
@@ -27,9 +25,8 @@ namespace ReallifeGamemode.Server.Managers
{ {
public class InteractionManager : Script public class InteractionManager : Script
{ {
#region Umgebungsinteraktionen PFEILTASTE-HOCH
#endregion
#region Eigeninteraktionen PFEILTASTE-RUNTER #region Eigeninteraktionen PFEILTASTE-RUNTER
[RemoteEvent("CLIENT:InteractionMenu_AcceptInvite")] [RemoteEvent("CLIENT:InteractionMenu_AcceptInvite")]
public void InteractionMenuAcceptInvite(Player player, string type) public void InteractionMenuAcceptInvite(Player player, string type)
{ {
@@ -75,12 +72,15 @@ namespace ReallifeGamemode.Server.Managers
default: default:
player.SetSharedData("blipColor", 0); player.SetSharedData("blipColor", 0);
break; break;
case 8: case 8:
player.SetSharedData("blipColor", 83); player.SetSharedData("blipColor", 83);
break; break;
case 7: case 7:
player.SetSharedData("blipColor", 52); player.SetSharedData("blipColor", 52);
break; break;
case 4: case 4:
player.SetSharedData("blipColor", 5); player.SetSharedData("blipColor", 5);
break; break;
@@ -121,6 +121,7 @@ namespace ReallifeGamemode.Server.Managers
} }
} }
} }
[RemoteEvent("CLIENT:InteractionMenu_EndShow")] [RemoteEvent("CLIENT:InteractionMenu_EndShow")]
public void InteractionMenuEndShow(Player client) public void InteractionMenuEndShow(Player client)
{ {
@@ -165,7 +166,6 @@ namespace ReallifeGamemode.Server.Managers
licenses.Add(playerUser.FlyingLicensePlane); licenses.Add(playerUser.FlyingLicensePlane);
licenses.Add(playerUser.WeaponLicense); licenses.Add(playerUser.WeaponLicense);
target.TriggerEvent("ShowLicenses", player.Name, licenses.ToArray()); target.TriggerEvent("ShowLicenses", player.Name, licenses.ToArray());
} }
} }
@@ -310,7 +310,6 @@ namespace ReallifeGamemode.Server.Managers
using (var dbContext = new DatabaseContext()) using (var dbContext = new DatabaseContext())
{ {
target.GetUser(dbContext).Group = null; target.GetUser(dbContext).Group = null;
target.GetUser(dbContext).GroupRank = GroupRank.NONE; target.GetUser(dbContext).GroupRank = GroupRank.NONE;
@@ -411,7 +410,6 @@ namespace ReallifeGamemode.Server.Managers
player.SendNotification("~r~Du kannst nur zwischen 1$ und 10000$ angeben!"); player.SendNotification("~r~Du kannst nur zwischen 1$ und 10000$ angeben!");
} }
} }
} }
[RemoteEvent("CLIENT:InteractionMenu_LSPD_Points3")] [RemoteEvent("CLIENT:InteractionMenu_LSPD_Points3")]
public void InteractionMenu_LSPD_Points3(Player player, string jsonNameOrId, string jsoAmount, string jsonReason) public void InteractionMenu_LSPD_Points3(Player player, string jsonNameOrId, string jsoAmount, string jsonReason)
@@ -484,7 +482,6 @@ namespace ReallifeGamemode.Server.Managers
{ {
target.SendNotification($"~w~Grund: ~g~{reason}~w~. ~x~Du hast nun ~y~{target.GetUser().Points}/8 ~x~Strafpunkten.", true); target.SendNotification($"~w~Grund: ~g~{reason}~w~. ~x~Du hast nun ~y~{target.GetUser().Points}/8 ~x~Strafpunkten.", true);
} }
} }
else else
{ {
@@ -532,7 +529,6 @@ namespace ReallifeGamemode.Server.Managers
target.ResetData("ticket_boolean"); target.ResetData("ticket_boolean");
target.ResetData("ticket_amount"); target.ResetData("ticket_amount");
target.ResetData("ticket_player"); target.ResetData("ticket_player");
} }
else if (type == "Abgelehnt") else if (type == "Abgelehnt")
{ {
@@ -543,8 +539,11 @@ namespace ReallifeGamemode.Server.Managers
target.ResetData("ticket_player"); target.ResetData("ticket_player");
} }
} }
#endregion
#endregion Eigeninteraktionen PFEILTASTE-RUNTER
#region Spielerinteraktionen PFEILTASTE-LINKS #region Spielerinteraktionen PFEILTASTE-LINKS
[RemoteEvent("openTradeInventory")] [RemoteEvent("openTradeInventory")]
public void OpenTradeInventory(Player player, string targetPlayer) public void OpenTradeInventory(Player player, string targetPlayer)
{ {
@@ -603,8 +602,7 @@ namespace ReallifeGamemode.Server.Managers
tradeRequester.TriggerEvent("unlockTradeItems"); tradeRequester.TriggerEvent("unlockTradeItems");
} }
} }
#endregion
#region Fraktionsinteraktionen / Jobinteraktionen PFEILTASTE-RECHTS #endregion Spielerinteraktionen PFEILTASTE-LINKS
#endregion
} }
} }

Some files were not shown because too many files have changed in this diff Show More