Refactor Code in RefuseCollector.ts
This commit is contained in:
@@ -1,20 +1,19 @@
|
|||||||
export default function RefuseCollector() {
|
export default function RefuseCollector() {
|
||||||
var State = false;
|
var State = false;
|
||||||
var Traegt = false;
|
var hasBinBag = false;
|
||||||
var HintenVoll = false;
|
var dumptruckIsFull = false;
|
||||||
|
|
||||||
var BlipTonneHinten = null;
|
var blipDumptruck = null;
|
||||||
var CheckpointTonneHinten = null;
|
var dumptruckMarker = null;
|
||||||
var ShapeTonneHinten = null;
|
var colshapeDumptruck = null;
|
||||||
var BlipTonneBase = null;
|
var blipBase = null;
|
||||||
var CheckpointTonneBase = null;
|
var markerBase = null;
|
||||||
var ShapeTonneBase = null;
|
var colshapeBase = null;
|
||||||
var vehicle = null;
|
var vehicle = null;
|
||||||
|
|
||||||
var interval = null;
|
var interval = null;
|
||||||
|
|
||||||
var BlipTonne = [];
|
var garbageToCollect = new Map<BlipMp, ColshapeMp>();
|
||||||
var ShapeTonne = [];
|
|
||||||
|
|
||||||
mp.events.add('SERVER:MuellmannStatusTrue', () => {
|
mp.events.add('SERVER:MuellmannStatusTrue', () => {
|
||||||
State = true;
|
State = true;
|
||||||
@@ -29,104 +28,109 @@
|
|||||||
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, new mp.Vector3(pos.x, pos.y, 1000), { name: 'Mülltonne', color: 45, shortRange: false }));
|
|
||||||
BlipTonne[i].setFlashTimer(2000);
|
let newBlip = mp.blips.new(1, new mp.Vector3(pos.x, pos.y, 1000), { name: 'Mülltonne', color: 45, shortRange: false });
|
||||||
ShapeTonne.push(mp.colshapes.newSphere(posArr[i].x, posArr[i].y, posArr[i].z + 0.5, 1.75));
|
let newColShape = mp.colshapes.newSphere(posArr[i].x, posArr[i].y, posArr[i].z + 0.5, 1.75);
|
||||||
|
|
||||||
|
newBlip.setFlashTimer(2000);
|
||||||
|
|
||||||
|
garbageToCollect.set(newBlip, newColShape);
|
||||||
}
|
}
|
||||||
|
|
||||||
BlipTonneBase = mp.blips.new(1, new mp.Vector3(-442.3999, -1701.5234, 18.933002 - 1), { name: 'Recylinganlage', color: 5, shortRange: false });
|
blipBase = mp.blips.new(1, new mp.Vector3(-442.3999, -1701.5234, 18.933002 - 1), { name: 'Recylinganlage', color: 5, shortRange: false });
|
||||||
CheckpointTonneBase = mp.markers.new(1, new mp.Vector3(-442.3999, -1701.5234, 18.933002 - 1), 10, { direction: new mp.Vector3(-235.5747, -1685.475, 32.7207), color: [255, 255, 0, 150], visible: true, dimension: 0 });
|
markerBase = mp.markers.new(1, new mp.Vector3(-442.3999, -1701.5234, 18.933002 - 1), 10, { direction: new mp.Vector3(-235.5747, -1685.475, 32.7207), color: [255, 255, 0, 150], visible: true, dimension: 0 });
|
||||||
ShapeTonneBase = mp.colshapes.newSphere(-442.3999, -1701.5234, 18.933002 - 1, 10);
|
colshapeBase = mp.colshapes.newSphere(-442.3999, -1701.5234, 18.933002 - 1, 10);
|
||||||
});
|
});
|
||||||
mp.events.add('SERVER:MuellmannBCSEntfernen', () => {
|
mp.events.add('SERVER:MuellmannBCSEntfernen', () => {
|
||||||
for (var i = 0; i < BlipTonne.length; i++) {
|
garbageToCollect.forEach((colshape, blip) => {
|
||||||
if (BlipTonne[i] == null) continue;
|
if (colshape)
|
||||||
if (ShapeTonne[i] == null) continue;
|
colshape.destroy();
|
||||||
BlipTonne[i].destroy();
|
if (blip)
|
||||||
ShapeTonne[i].destroy();
|
blip.destroy();
|
||||||
}
|
});
|
||||||
BlipTonne = [];
|
|
||||||
ShapeTonne = [];
|
|
||||||
|
|
||||||
if (BlipTonneHinten) BlipTonneHinten.destroy();
|
garbageToCollect.clear();
|
||||||
BlipTonneHinten = null;
|
|
||||||
if (CheckpointTonneHinten) CheckpointTonneHinten.destroy();
|
if (blipDumptruck) blipDumptruck.destroy();
|
||||||
CheckpointTonneHinten = null;
|
blipDumptruck = null;
|
||||||
if (ShapeTonneHinten) ShapeTonneHinten.destroy();
|
if (dumptruckMarker) dumptruckMarker.destroy();
|
||||||
ShapeTonneHinten = null;
|
dumptruckMarker = null;
|
||||||
if (BlipTonneBase) BlipTonneBase.destroy();
|
if (colshapeDumptruck) colshapeDumptruck.destroy();
|
||||||
BlipTonneBase = null;
|
colshapeDumptruck = null;
|
||||||
if (CheckpointTonneBase) CheckpointTonneBase.destroy();
|
if (blipBase) blipBase.destroy();
|
||||||
CheckpointTonneBase = null;
|
blipBase = null;
|
||||||
if (ShapeTonneBase) ShapeTonneBase.destroy();
|
if (markerBase) markerBase.destroy();
|
||||||
ShapeTonneBase = null;
|
markerBase = null;
|
||||||
Traegt = false;
|
if (colshapeBase) colshapeBase.destroy();
|
||||||
|
colshapeBase = null;
|
||||||
|
hasBinBag = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
mp.events.add("playerEnterColshape", (Shape, player) => {
|
mp.events.add("playerEnterColshape", (currentShape, player) => {
|
||||||
//mp.events.callRemote('CLIENT:ImShape', JSON.stringify(Shape));
|
//mp.events.callRemote('CLIENT:ImShape', JSON.stringify(Shape));
|
||||||
for (var i = 0; i < ShapeTonne.length; i++) {
|
|
||||||
if (Shape != ShapeTonne[i]) continue;
|
|
||||||
if (!mp.players.local.vehicle) {
|
|
||||||
if (!Traegt) {
|
|
||||||
if (!HintenVoll) {
|
|
||||||
mp.events.callRemote('CLIENT:MuellmannImShape', i);
|
|
||||||
Traegt = true;
|
|
||||||
BlipTonne[i].destroy();
|
|
||||||
BlipTonne[i] = null;
|
|
||||||
ShapeTonne[i].destroy();
|
|
||||||
ShapeTonne[i] = null;
|
|
||||||
|
|
||||||
interval = setInterval(function () { createMarker(); }, 2);
|
garbageToCollect.forEach((colshape, blip) => {
|
||||||
}
|
if (!colshape || colshape != currentShape) return;
|
||||||
else {
|
|
||||||
mp.gui.chat.push("Der Müllwagen ist bereits voll! Fahre zur Base und lade ab!");
|
if (mp.players.local.vehicle) { mp.events.call("renderTextOnScreen", "Steige aus dem Müllwagen aus um den Müllsack zu entnehmen."); return; }
|
||||||
return;
|
if (hasBinBag) { mp.gui.chat.push("Du trägst bereits einen Müllsack!"); return; }
|
||||||
}
|
|
||||||
}
|
if (!dumptruckIsFull) {
|
||||||
else {
|
mp.events.callRemote('CLIENT:MuellmannImShape', JSON.stringify(blip));
|
||||||
mp.gui.chat.push(`Du trägst bereits einen Müllsack!`);
|
hasBinBag = true;
|
||||||
return;
|
|
||||||
}
|
if (colshape)
|
||||||
|
colshape.destroy();
|
||||||
|
if (blip)
|
||||||
|
blip.destroy();
|
||||||
|
|
||||||
|
interval = setInterval(function () { createMarker(); }, 2);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
mp.events.call("renderTextOnScreen", "Steige aus dem Müllwagen aus um den Müllsack zu entnehmen.");
|
mp.gui.chat.push("Der Müllwagen ist bereits voll! Fahre zur Base und lade ab!");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
if (Shape == ShapeTonneHinten) {
|
|
||||||
if (Traegt) {
|
if (currentShape == colshapeDumptruck) {
|
||||||
Traegt = false;
|
if (!hasBinBag) {
|
||||||
|
hasBinBag = false;
|
||||||
mp.events.callRemote('CLIENT:MuellmannAddSack');
|
mp.events.callRemote('CLIENT:MuellmannAddSack');
|
||||||
|
|
||||||
clearInterval(interval);
|
clearInterval(interval);
|
||||||
|
|
||||||
if (BlipTonneHinten) BlipTonneHinten.destroy();
|
if (blipDumptruck) blipDumptruck.destroy();
|
||||||
BlipTonneHinten = null;
|
blipDumptruck = null;
|
||||||
if (CheckpointTonneHinten) CheckpointTonneHinten.destroy();
|
if (dumptruckMarker) dumptruckMarker.destroy();
|
||||||
CheckpointTonneHinten = null;
|
dumptruckMarker = null;
|
||||||
if (ShapeTonneHinten) ShapeTonneHinten.destroy();
|
if (colshapeDumptruck) colshapeDumptruck.destroy();
|
||||||
ShapeTonneHinten = null;
|
colshapeDumptruck = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (Shape == ShapeTonneBase) {
|
else if (currentShape == colshapeBase) {
|
||||||
BlipTonneBase.setRoute(false);
|
blipBase.setRoute(false);
|
||||||
mp.events.callRemote('CLIENT:MuellmannBaseSack');
|
mp.events.callRemote('CLIENT:MuellmannBaseSack');
|
||||||
HintenVoll = false;
|
dumptruckIsFull = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
mp.events.add("MuellmannUpdateColshape", (index) => {
|
mp.events.add("MuellmannUpdateColshape", (jsonIdentifier) => {
|
||||||
if (BlipTonne[index] != null)
|
var blip = JSON.parse(jsonIdentifier);
|
||||||
BlipTonne[index].destroy();
|
if (!garbageToCollect.has(blip)) return;
|
||||||
BlipTonne[index] = null;
|
|
||||||
if (ShapeTonne[index] != null)
|
var colShape = garbageToCollect.get(blip);
|
||||||
ShapeTonne[index].destroy();
|
|
||||||
ShapeTonne[index] = null;
|
if (blip)
|
||||||
|
blip.destroy();
|
||||||
|
if (colShape)
|
||||||
|
colShape.destroy();
|
||||||
|
|
||||||
|
garbageToCollect.delete(blip);
|
||||||
});
|
});
|
||||||
|
|
||||||
mp.events.add("SERVER:MuellmannZuBase", () => {
|
mp.events.add("SERVER:MuellmannZuBase", () => {
|
||||||
BlipTonneBase.setRoute(true);
|
blipBase.setRoute(true);
|
||||||
BlipTonneBase.setRouteColour(5);
|
blipBase.setRouteColour(5);
|
||||||
HintenVoll = true;
|
dumptruckIsFull = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
function createMarker() {
|
function createMarker() {
|
||||||
@@ -154,15 +158,15 @@
|
|||||||
|
|
||||||
let pos = plateVec.add(temp);
|
let pos = plateVec.add(temp);
|
||||||
|
|
||||||
if (BlipTonneHinten) BlipTonneHinten.destroy();
|
if (blipDumptruck) blipDumptruck.destroy();
|
||||||
BlipTonneHinten = null;
|
blipDumptruck = null;
|
||||||
if (CheckpointTonneHinten) CheckpointTonneHinten.destroy();
|
if (dumptruckMarker) dumptruckMarker.destroy();
|
||||||
CheckpointTonneHinten = null;
|
dumptruckMarker = null;
|
||||||
if (ShapeTonneHinten) ShapeTonneHinten.destroy();
|
if (colshapeDumptruck) colshapeDumptruck.destroy();
|
||||||
ShapeTonneHinten = null;
|
colshapeDumptruck = null;
|
||||||
BlipTonneHinten = mp.blips.new(318, pos, { name: 'Müllmann', color: 24, shortRange: false });
|
blipDumptruck = 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 });
|
dumptruckMarker = 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, 2);
|
colshapeDumptruck = mp.colshapes.newSphere(pos.x, pos.y, pos.z, 2);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -19,7 +19,7 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
|
|
||||||
public override bool NeedVehicleToStart => false;
|
public override bool NeedVehicleToStart => false;
|
||||||
|
|
||||||
const int MAX_BAG = 40;
|
private const int MAX_BAG = 40;
|
||||||
|
|
||||||
public RefuseCollectorJob()
|
public RefuseCollectorJob()
|
||||||
{
|
{
|
||||||
@@ -157,7 +157,6 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
new Vector3(-921.0493774414062, -1095.1513671875, 2.1503124237060547),
|
new Vector3(-921.0493774414062, -1095.1513671875, 2.1503124237060547),
|
||||||
new Vector3(-942.0684204101562, -1077.1378173828125, 2.1503121852874756),
|
new Vector3(-942.0684204101562, -1077.1378173828125, 2.1503121852874756),
|
||||||
new Vector3(-951.5316772460938, -1078.955078125, 2.1503100395202637),
|
new Vector3(-951.5316772460938, -1078.955078125, 2.1503100395202637),
|
||||||
|
|
||||||
}.AsReadOnly();
|
}.AsReadOnly();
|
||||||
|
|
||||||
[RemoteEvent("CLIENT:MuellmannJobStarten")]
|
[RemoteEvent("CLIENT:MuellmannJobStarten")]
|
||||||
@@ -165,7 +164,6 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
{
|
{
|
||||||
if (vehicle.Model == (uint)Types.VehicleModel.Trash || vehicle.Model == (uint)Types.VehicleModel.Trash2)
|
if (vehicle.Model == (uint)Types.VehicleModel.Trash || vehicle.Model == (uint)Types.VehicleModel.Trash2)
|
||||||
{
|
{
|
||||||
|
|
||||||
Vehicle veh;
|
Vehicle veh;
|
||||||
foreach (var data in muellmanData)
|
foreach (var data in muellmanData)
|
||||||
{
|
{
|
||||||
@@ -192,7 +190,7 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
|
|
||||||
if (data.hasFreePlace())
|
if (data.hasFreePlace())
|
||||||
{
|
{
|
||||||
if(data.vehicle != null)
|
if (data.vehicle != null)
|
||||||
data.vehicle.GetServerVehicle().Spawn(data.vehicle);
|
data.vehicle.GetServerVehicle().Spawn(data.vehicle);
|
||||||
muellmanData.Remove(data);
|
muellmanData.Remove(data);
|
||||||
return;
|
return;
|
||||||
@@ -211,13 +209,13 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
}
|
}
|
||||||
|
|
||||||
[RemoteEvent("CLIENT:MuellmannImShape")]
|
[RemoteEvent("CLIENT:MuellmannImShape")]
|
||||||
public void MuellmannImShape(Player player, int colshapeIndex)
|
public void MuellmannImShape(Player player, string jsonIdentifier)
|
||||||
{
|
{
|
||||||
foreach (var data in muellmanData)
|
foreach (var data in muellmanData)
|
||||||
{
|
{
|
||||||
if (data.getDataFromClient(player) == null) continue;
|
if (data.getDataFromClient(player) == null) continue;
|
||||||
Player target = data.getPartnerClient(player);
|
Player target = data.getPartnerClient(player);
|
||||||
if (target != null) target.TriggerEvent("MuellmannUpdateColshape", colshapeIndex);
|
if (target != null) target.TriggerEvent("MuellmannUpdateColshape", jsonIdentifier);
|
||||||
player.TriggerEvent("renderTextOnScreen", "Wirf den Müllsack in den Müllwagen.");
|
player.TriggerEvent("renderTextOnScreen", "Wirf den Müllsack in den Müllwagen.");
|
||||||
player.AddAttachment("binbag", false);
|
player.AddAttachment("binbag", false);
|
||||||
return;
|
return;
|
||||||
@@ -260,19 +258,17 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
}
|
}
|
||||||
player.TriggerEvent("SERVER:MuellmannZuBase");
|
player.TriggerEvent("SERVER:MuellmannZuBase");
|
||||||
}
|
}
|
||||||
else if(data.getTrashCount() > MAX_BAG)
|
else if (data.getTrashCount() > MAX_BAG)
|
||||||
{
|
{
|
||||||
data.setTrashCount(MAX_BAG);
|
data.setTrashCount(MAX_BAG);
|
||||||
ChatService.ErrorMessage((Player)player, "Der Müllwagen ist schon voll.");
|
ChatService.ErrorMessage((Player)player, "Der Müllwagen ist schon voll.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
if (target != null)
|
if (target != null)
|
||||||
{
|
{
|
||||||
user1.Wage += 25;
|
user1.Wage += 25;
|
||||||
user2.Wage += 25;
|
user2.Wage += 25;
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -307,13 +303,13 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
if (target != null)
|
if (target != null)
|
||||||
{
|
{
|
||||||
user1.Wage += (int)(bonus / 2);
|
user1.Wage += (int)(bonus / 2);
|
||||||
user2.Wage += (int)(bonus / 2);
|
user2.Wage += (int)(bonus / 2);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
user1.Wage += bonus;
|
user1.Wage += bonus;
|
||||||
}
|
}
|
||||||
|
|
||||||
data.setTrashCount(0);
|
data.setTrashCount(0);
|
||||||
|
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
|
|||||||
Reference in New Issue
Block a user