Das aller erste, ich glaub ich gib mir n’ schönen Kebab, so'n schönen Köfte-Spieß weißt du? so'n schönen Köfte-Spieß, Keupstraße, ein Köfte-Spieß erstmal, mit gar kein Reden auch und so, Haval, gib mir einfach nur ein Köfte-Spieß, dazu ein schönen frischen Ayran aus dieser Maschine weißt du, wo man den selber so ,,All You Can Drink" mäßig zapfen kann, und dann n' Handy besorgen man, ich brauch n' Handy man, ich brauch n' Handy.
This commit is contained in:
@@ -4,10 +4,6 @@ using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Core.Managers;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
|
||||
namespace ReallifeGamemode.Server.Job
|
||||
{
|
||||
@@ -19,7 +15,6 @@ namespace ReallifeGamemode.Server.Job
|
||||
|
||||
public override bool NeedVehicleToStart => false;
|
||||
|
||||
|
||||
public RefuseCollectorJob()
|
||||
{
|
||||
JobStart += RefuseCollectorJobJobStart;
|
||||
@@ -28,35 +23,84 @@ namespace ReallifeGamemode.Server.Job
|
||||
|
||||
private void RefuseCollectorJobJobStart(Player player)
|
||||
{
|
||||
|
||||
//setClothes
|
||||
}
|
||||
|
||||
private void RefuseCollectorJobJobStop(Player player)
|
||||
{
|
||||
|
||||
//removeClothes and replace with old
|
||||
MuellmannJobBeenden(player);
|
||||
}
|
||||
|
||||
public static List<MuellmannData> muellmanData = new List<MuellmannData>();
|
||||
|
||||
public List<MuellmannData> muellmanData = new List<MuellmannData>();
|
||||
private List<Vector3> vector3s = new List<Vector3>();
|
||||
|
||||
[ServerEvent(Event.ResourceStart)]
|
||||
public void LoadHouses()
|
||||
{
|
||||
foreach(var marker in HouseManager.houseMarkers)
|
||||
{
|
||||
vector3s.Add(new Vector3(marker.Value.Position.X, marker.Value.Position.Y, marker.Value.Position.Z));
|
||||
}
|
||||
}
|
||||
|
||||
private readonly IReadOnlyCollection<Vector3> vector3s = new List<Vector3>
|
||||
{
|
||||
new Vector3(332.9839782714844, -1741.807373046875, 29.73055076599121),
|
||||
new Vector3(321.3463439941406, -1759.986572265625, 29.644014358520508),
|
||||
new Vector3(305.2624206542969, -1776.0458984375, 28.871641159057617),
|
||||
new Vector3(300.1080017089844, -1784.01123046875, 28.438663482666016),
|
||||
new Vector3(348.7510986328125, -1820.57373046875, 28.89409637451172),
|
||||
new Vector3(328.7326965332031, -1845.462890625, 27.748090744018555),
|
||||
new Vector3(439.82269287109375, -1830.4090576171875, 28.36185646057129),
|
||||
new Vector3(427.9081115722656, -1841.7236328125, 28.463409423828125),
|
||||
new Vector3(412.9471130371094, -1856.100341796875, 27.32313346862793),
|
||||
new Vector3(399.9404296875, -1865.1639404296875, 26.716350555419922),
|
||||
new Vector3(386.0218811035156, -1882.2705078125, 25.788604736328125),
|
||||
new Vector3(368.0433349609375, -1896.9063720703125, 25.17853355407715),
|
||||
new Vector3(473.30694580078125, -1775.0206298828125, 28.69390296936035),
|
||||
new Vector3(475.3251647949219, -1758.085205078125, 28.892553329467773),
|
||||
new Vector3(479.7771301269531, -1736.3861083984375, 29.151023864746094),
|
||||
new Vector3(490.24884033203125, -1714.48974609375, 29.618074417114258),
|
||||
new Vector3(500.4996643066406, -1697.649658203125, 29.78924560546875),
|
||||
new Vector3(997.3480834960938, -729.1090087890625, 57.81574630737305),
|
||||
new Vector3(979.4336547851562, -716.036376953125, 58.22065734863281),
|
||||
new Vector3(970.9692993164062, -700.552978515625, 58.48196029663086),
|
||||
new Vector3(960.6688232421875, -669.340576171875, 58.44976806640625),
|
||||
new Vector3(943.6602783203125, -653.6834716796875, 58.4287109375),
|
||||
new Vector3(929.2879028320312, -639.0972900390625, 58.242271423339844),
|
||||
new Vector3(903.5896606445312, -616.0307006835938, 58.4549560546875),
|
||||
new Vector3(886.8736572265625, -607.783447265625, 58.445091247558594),
|
||||
new Vector3(861.7691650390625, -582.5391845703125, 58.156497955322266),
|
||||
new Vector3(920.3253784179688, -571.0201416015625, 58.36641311645508),
|
||||
new Vector3(963.1478881835938, -595.95654296875, 59.902706146240234),
|
||||
new Vector3(976.3702392578125, -579.7669067382812, 59.63575744628906),
|
||||
new Vector3(1010.3785400390625, -572.6109008789062, 60.59443283081055),
|
||||
new Vector3(999.9313354492188, -594.0516357421875, 59.63548278808594),
|
||||
new Vector3(1200.4964599609375, -576.1556396484375, 69.13911437988281),
|
||||
new Vector3(1206.1680908203125, -620.3853759765625, 66.43684387207031),
|
||||
new Vector3(1221.357421875, -668.6166381835938, 63.49313735961914),
|
||||
new Vector3(1222.5732421875, -697.0482788085938, 60.806724548339844),
|
||||
new Vector3(1228.840576171875, -725.5143432617188, 60.79587173461914),
|
||||
new Vector3(1266.1864013671875, -703.4100341796875, 64.55311584472656),
|
||||
new Vector3(1271.0609130859375, -682.7374267578125, 66.03081512451172),
|
||||
new Vector3(1265.1763916015625, -647.4813842773438, 67.92143249511719),
|
||||
new Vector3(1251.595947265625, -621.8599853515625, 69.41301727294922),
|
||||
new Vector3(1241.6507568359375, -601.6868286132812, 69.42526245117188),
|
||||
new Vector3(1242.1136474609375, -565.8869018554688, 69.65742492675781),
|
||||
new Vector3(-1898.0162353515625, 133.0081787109375, 81.85769653320312),
|
||||
new Vector3(-1960.471435546875, 212.37518310546875, 86.6491470336914),
|
||||
new Vector3(-1969.3568115234375, 246.49497985839844, 87.61412811279297),
|
||||
new Vector3(-1995.2470703125, 300.3732604980469, 91.96467590332031),
|
||||
new Vector3(-2009.92822265625, 445.47509765625, 103.01591491699219),
|
||||
new Vector3(-1995.321044921875, 590.8935546875, 117.90331268310547),
|
||||
new Vector3(-1973.7674560546875, 630.2719116210938, 122.53621673583984),
|
||||
new Vector3(-1929.476806640625, 595.318603515625, 122.28478240966797),
|
||||
new Vector3(-1939.19873046875, 551.6788330078125, 114.82840728759766),
|
||||
new Vector3(-1943.7459716796875, 449.3956298828125, 102.92235565185547),
|
||||
new Vector3(-1932.1275634765625, 362.3074035644531, 93.78870391845703),
|
||||
new Vector3(-1923.6715087890625, 298.3466796875, 89.28668975830078),
|
||||
new Vector3(-1874.3028564453125, 201.1282958984375, 84.2945327758789),
|
||||
new Vector3(-1805.06298828125, 438.19415283203125, 128.7073974609375),
|
||||
new Vector3(-1540.2606201171875, 421.3618469238281, 110.0140151977539),
|
||||
new Vector3(-1496.3275146484375, 437.88836669921875, 112.49789428710938),
|
||||
new Vector3(-1308.279541015625, 449.301513671875, 100.96974182128906),
|
||||
new Vector3(-1215.8623046875, 458.5867919921875, 91.85366821289062),
|
||||
}.AsReadOnly();
|
||||
|
||||
[RemoteEvent("CLIENT:MuellmannJobStarten")]
|
||||
public void MuellmannJobStarten(Player player, Vehicle vehicle)
|
||||
{
|
||||
|
||||
if (vehicle.Model == (uint)Types.VehicleModel.Trash || vehicle.Model == (uint)Types.VehicleModel.Trash2)
|
||||
{
|
||||
Vehicle veh;
|
||||
@@ -72,7 +116,6 @@ namespace ReallifeGamemode.Server.Job
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void MuellmannJobBeenden(Player player)
|
||||
{
|
||||
if (player.IsInVehicle)
|
||||
@@ -80,11 +123,24 @@ namespace ReallifeGamemode.Server.Job
|
||||
Vehicle vehicle = player.Vehicle;
|
||||
if (vehicle.Model == (uint)Types.VehicleModel.Trash || vehicle.Model == (uint)Types.VehicleModel.Trash2)
|
||||
{
|
||||
|
||||
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)
|
||||
{
|
||||
if (data.getDataFromClient(player) == null) continue;
|
||||
|
||||
if (data.hasFreePlace())
|
||||
{
|
||||
muellmanData.Remove(data);
|
||||
//müllwagen respawnen
|
||||
return;
|
||||
}
|
||||
|
||||
data.removeClientFromData(player);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -95,8 +151,8 @@ namespace ReallifeGamemode.Server.Job
|
||||
{
|
||||
ChatService.SendMessage((Player)player, "~r~INFO: Zum Job beenden musst du im Auto sein.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[RemoteEvent("CLIENT:MuellmannImShape")]
|
||||
public void MuellmannImShape(Player player, string jsonColShape)
|
||||
{
|
||||
@@ -145,29 +201,23 @@ namespace ReallifeGamemode.Server.Job
|
||||
{
|
||||
if (data.getDataFromClient(player) == null) continue;
|
||||
|
||||
Console.WriteLine($"[DATA DEBUG] vehicle: {data.vehicle.DisplayName} | Players: {data.getClientsFromData()}");
|
||||
|
||||
int count = data.getTrashCount();
|
||||
|
||||
|
||||
Player target = data.getPartnerClient(player);
|
||||
if (target != null) ChatService.SendMessage((Player)target, $"Fahrzeug wurde entleert. Säcke: {count}");
|
||||
ChatService.SendMessage((Player)player, $"Fahrzeug wurde entleert. Säcke: {count}");
|
||||
player.TriggerEvent("SERVER:MuellmannHintenWiederLeer");
|
||||
//bonus pro sack
|
||||
|
||||
data.setTrashCount(0);
|
||||
|
||||
Console.WriteLine($"[DATA DEBUG] vehicle: {data.vehicle.DisplayName} | Players: {data.getClientsFromData().Count} | Säcke: {data.getTrashCount()}");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
#region zweiSpeieler
|
||||
[ServerEvent(Event.PlayerDisconnected)]
|
||||
private void SrvEvent_PlayerDc(Player player)
|
||||
|
||||
public void MuellmannOnPlayerDc(Player player)
|
||||
{
|
||||
if (!player.IsLoggedIn() || !GetUsersInJob().Contains(player)) return;
|
||||
|
||||
|
||||
foreach (var data in muellmanData)
|
||||
{
|
||||
if (data.getDataFromClient(player) == null) continue;
|
||||
@@ -182,16 +232,10 @@ namespace ReallifeGamemode.Server.Job
|
||||
data.removeClientFromData(player);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[ServerEvent(Event.PlayerDeath)]
|
||||
private void SrvEvent_PlayerDeath(Player player)
|
||||
public void MuellmannOnPlayerDeath(Player player)
|
||||
{
|
||||
if (!player.IsLoggedIn() || !GetUsersInJob().Contains(player)) return;
|
||||
User u = player.GetUser();
|
||||
if (u.JobId != this.Id) return;
|
||||
|
||||
foreach (var data in muellmanData)
|
||||
{
|
||||
if (data.getDataFromClient(player) == null) continue;
|
||||
@@ -206,13 +250,12 @@ namespace ReallifeGamemode.Server.Job
|
||||
data.removeClientFromData(player);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[ServerEvent(Event.VehicleDeath)]
|
||||
private void SrvEvent_Vehicle(Vehicle veh)
|
||||
private void MuellmannOnVehicle(Vehicle veh)
|
||||
{
|
||||
if (veh.Model != (uint)Types.VehicleModel.Trash && veh.Model != (uint)Types.VehicleModel.Trash2) return;
|
||||
if (veh.Model != (uint)Types.VehicleModel.Trash && veh.Model != (uint)Types.VehicleModel.Trash2) return;
|
||||
foreach (var data in muellmanData)
|
||||
{
|
||||
if (data.vehicle == veh)
|
||||
@@ -220,22 +263,17 @@ namespace ReallifeGamemode.Server.Job
|
||||
//müllfahrzeug respawnen
|
||||
|
||||
List<Player> clients = data.getClientsFromData();
|
||||
foreach(var c in clients){ RefuseCollectorJobJobStop(c); }
|
||||
|
||||
foreach (var c in clients) { RefuseCollectorJobJobStop(c); }
|
||||
|
||||
muellmanData.Remove(data);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[ServerEvent(Event.PlayerEnterVehicleAttempt)]
|
||||
public void SrvEvent_PlayerEnterVehicle(Player player, Vehicle vehicle, sbyte seat)
|
||||
public void MuellmannOnPlayerEnterVehicle(Player player, Vehicle vehicle, sbyte seat)
|
||||
{
|
||||
Player target;
|
||||
if (!player.IsLoggedIn() || !GetUsersInJob().Contains(player)) return;
|
||||
User u = player.GetUser();
|
||||
if (u.JobId != this.Id) return;
|
||||
|
||||
if (vehicle.Model == (uint)Types.VehicleModel.Trash || vehicle.Model == (uint)Types.VehicleModel.Trash2)
|
||||
{
|
||||
foreach (var data in muellmanData)
|
||||
@@ -294,20 +332,22 @@ namespace ReallifeGamemode.Server.Job
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion zweiSpeieler
|
||||
|
||||
#region Data
|
||||
|
||||
public class MuellmannData
|
||||
{
|
||||
Player client1;
|
||||
Player client2;
|
||||
private Player client1;
|
||||
private Player client2;
|
||||
public Vehicle vehicle;
|
||||
int trashCount = 0;
|
||||
private static int trashCount = 0;
|
||||
|
||||
public MuellmannData(Vehicle vehicle)
|
||||
{
|
||||
this.vehicle = vehicle;
|
||||
}
|
||||
|
||||
public void setClientToData(Player player)
|
||||
{
|
||||
if (client1 == player || client2 == player)
|
||||
@@ -320,19 +360,23 @@ namespace ReallifeGamemode.Server.Job
|
||||
else if (client2 == null) { client2 = player; return; }
|
||||
else if (client1 != null && client2 != null) { Console.WriteLine("kein Platz"); }
|
||||
}
|
||||
|
||||
public void removeClientFromData(Player player)
|
||||
{
|
||||
if (client1 == player) { client1 = null; }
|
||||
if (client2 == player) { client2 = null; }
|
||||
}
|
||||
|
||||
public int getTrashCount()
|
||||
{
|
||||
return this.trashCount;
|
||||
return trashCount;
|
||||
}
|
||||
|
||||
public void setTrashCount(int i)
|
||||
{
|
||||
this.trashCount = i;
|
||||
trashCount = i;
|
||||
}
|
||||
|
||||
public List<Player> getClientsFromData()
|
||||
{
|
||||
List<Player> tempList = new List<Player>();
|
||||
@@ -340,18 +384,21 @@ namespace ReallifeGamemode.Server.Job
|
||||
if (client2 != null) { tempList.Add(client2); }
|
||||
return tempList;
|
||||
}
|
||||
|
||||
public MuellmannData getDataFromClient(Player player)
|
||||
{
|
||||
if (client1 != player && client2 != player)
|
||||
return null;
|
||||
return this;
|
||||
}
|
||||
|
||||
public bool hasFreePlace()
|
||||
{
|
||||
if (client1 != null && client2 != null)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public Player getPartnerClient(Player player)
|
||||
{
|
||||
if (client1 != player && client2 != player)
|
||||
@@ -362,8 +409,7 @@ namespace ReallifeGamemode.Server.Job
|
||||
return null;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion Data
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user