убежать от Таркова

This commit is contained in:
Siga
2020-04-05 00:40:51 +02:00
parent 2ca92e301b
commit de2af71cd6
3 changed files with 30 additions and 45 deletions

View File

@@ -12,6 +12,8 @@
var ShapeTonneBase = null; var ShapeTonneBase = null;
var vehicle = null; var vehicle = null;
var interval = null;
var BlipTonne = []; var BlipTonne = [];
var ShapeTonne = []; var ShapeTonne = [];
@@ -71,7 +73,7 @@
if (Shape != ShapeTonne[i]) continue; if (Shape != ShapeTonne[i]) continue;
if (!Traegt) { if (!Traegt) {
if (!HintenVoll) { if (!HintenVoll) {
mp.events.callRemote('CLIENT:MuellmannImShape', JSON.stringify(Shape)); mp.events.callRemote('CLIENT:MuellmannImShape', i);
Traegt = true; Traegt = true;
BlipTonne[i].destroy(); BlipTonne[i].destroy();
BlipTonne[i] = null; BlipTonne[i] = null;
@@ -80,7 +82,7 @@
MuellSack = mp.objects.new(600967813, mp.players.local.position, { rotation: new mp.Vector3(0.0, 0.0, 0.0), alpha: 255, dimension: 0 }); MuellSack = mp.objects.new(600967813, 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.45, -0.9, -0.075, 270.0, 0.0, 25.0, true, true, false, false, 0, true); MuellSack.attachTo(mp.players.local.handle, mp.players.local.getBoneIndex(6286), 0.45, -0.9, -0.075, 270.0, 0.0, 25.0, true, true, false, false, 0, true);
createMarker(); interval = setInterval(function () { createMarker(); }, 250);
} }
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!");
@@ -98,6 +100,8 @@
Traegt = false; Traegt = false;
mp.events.callRemote('CLIENT:MuellmannAddSack'); mp.events.callRemote('CLIENT:MuellmannAddSack');
clearInterval(interval);
if (BlipTonneHinten) BlipTonneHinten.destroy(); if (BlipTonneHinten) BlipTonneHinten.destroy();
BlipTonneHinten = null; BlipTonneHinten = null;
if (CheckpointTonneHinten) CheckpointTonneHinten.destroy(); if (CheckpointTonneHinten) CheckpointTonneHinten.destroy();
@@ -115,17 +119,13 @@
HintenVoll = false; HintenVoll = false;
} }
}); });
mp.events.add("MuellmannUpdateColshape", (jsonColShape) => { mp.events.add("MuellmannUpdateColshape", (index) => {
let ColShape = JSON.parse(jsonColShape); if (BlipTonne[index] != null)
for (var i = 0; i < ShapeTonne.length; i++) { BlipTonne[index].destroy();
if (ColShape != ShapeTonne[i]) continue; BlipTonne[index] = null;
BlipTonne[i].destroy(); if (ShapeTonne[index] != null)
BlipTonne[i] = null; ShapeTonne[index].destroy();
ShapeTonne[i].destroy(); ShapeTonne[index] = null;
ShapeTonne[i] = null;
}
}); });
mp.events.add("SERVER:MuellmannZuBase", () => { mp.events.add("SERVER:MuellmannZuBase", () => {

View File

@@ -118,49 +118,34 @@ namespace ReallifeGamemode.Server.Job
public void MuellmannJobBeenden(Player player) public void MuellmannJobBeenden(Player player)
{ {
if (player.IsInVehicle) ChatService.SendMessage((Player)player, "~g~Du hast den Müllmann-Job beendet!");
player.TriggerEvent("SERVER:MuellmannStatusFalse");
player.TriggerEvent("SERVER:MuellmannBCSEntfernen");
foreach (var data in muellmanData)
{ {
Vehicle vehicle = player.Vehicle; if (data.getDataFromClient(player) == null) continue;
if (vehicle.Model == (uint)Types.VehicleModel.Trash || vehicle.Model == (uint)Types.VehicleModel.Trash2)
if (data.hasFreePlace())
{ {
ChatService.SendMessage((Player)player, "~g~Du hast den Müllmann-Job beendet!"); muellmanData.Remove(data);
player.TriggerEvent("SERVER:MuellmannStatusFalse"); //müllwagen respawnen
player.TriggerEvent("SERVER:MuellmannBCSEntfernen"); return;
foreach (var data in muellmanData)
{
if (data.getDataFromClient(player) == null) continue;
if (data.hasFreePlace())
{
muellmanData.Remove(data);
//müllwagen respawnen
return;
}
data.removeClientFromData(player);
return;
}
} }
else
{ data.removeClientFromData(player);
ChatService.SendMessage((Player)player, "~r~INFO: Das ist kein Müllwagen!"); return;
}
}
else
{
ChatService.SendMessage((Player)player, "~r~INFO: Zum Job beenden musst du im Auto sein.");
} }
} }
[RemoteEvent("CLIENT:MuellmannImShape")] [RemoteEvent("CLIENT:MuellmannImShape")]
public void MuellmannImShape(Player player, string jsonColShape) public void MuellmannImShape(Player player, int colshapeIndex)
{ {
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", jsonColShape); 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.");
return; return;
} }

View File

@@ -267,7 +267,7 @@ namespace ReallifeGamemode.Server.Managers
} }
[ServerEvent(Event.PlayerDeath)] [ServerEvent(Event.PlayerDeath)]
private void JobManagerOnPlayerDeath(Player player) private void JobManagerOnPlayerDeath(Player player, Player killer, uint reason)
{ {
if (JobManager.GetJob<RefuseCollectorJob>().GetUsersInJob().Contains(player)) { JobManager.GetJob<RefuseCollectorJob>().MuellmannOnPlayerDeath(player); } if (JobManager.GetJob<RefuseCollectorJob>().GetUsersInJob().Contains(player)) { JobManager.GetJob<RefuseCollectorJob>().MuellmannOnPlayerDeath(player); }
} }