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:
@@ -32,6 +32,7 @@
|
|||||||
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);
|
||||||
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));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,6 +112,7 @@
|
|||||||
else if (Shape == ShapeTonneBase) {
|
else if (Shape == ShapeTonneBase) {
|
||||||
BlipTonneBase.setRoute(false);
|
BlipTonneBase.setRoute(false);
|
||||||
mp.events.callRemote('CLIENT:MuellmannBaseSack');
|
mp.events.callRemote('CLIENT:MuellmannBaseSack');
|
||||||
|
HintenVoll = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
mp.events.add("MuellmannUpdateColshape", (jsonColShape) => {
|
mp.events.add("MuellmannUpdateColshape", (jsonColShape) => {
|
||||||
@@ -132,23 +134,22 @@
|
|||||||
HintenVoll = true;
|
HintenVoll = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
mp.events.add("SERVER:MuellmannWiederLeer", () => {
|
|
||||||
HintenVoll = false;
|
|
||||||
});
|
|
||||||
|
|
||||||
function createMarker() {
|
function createMarker() {
|
||||||
if (vehicle != null) {
|
if (vehicle != null) {
|
||||||
const playerPos = vehicle.position;
|
var boneIndex = vehicle.getBoneIndexByName("platelight");
|
||||||
let pos = new mp.Vector3(vehicle.position.x, vehicle.position.y - 5.5, vehicle.position.z - 1);
|
let pos = vehicle.getWorldPositionOfBone(boneIndex);
|
||||||
if (BlipTonneHinten) BlipTonneHinten.destroy();
|
if (BlipTonneHinten) BlipTonneHinten.destroy();
|
||||||
BlipTonneHinten = null;
|
BlipTonneHinten = null;
|
||||||
if (CheckpointTonneHinten) CheckpointTonneHinten.destroy();
|
if (CheckpointTonneHinten) CheckpointTonneHinten.destroy();
|
||||||
CheckpointTonneHinten = null;
|
CheckpointTonneHinten = null;
|
||||||
if (ShapeTonneHinten) ShapeTonneHinten.destroy();
|
if (ShapeTonneHinten) ShapeTonneHinten.destroy();
|
||||||
ShapeTonneHinten = null;
|
ShapeTonneHinten = null;
|
||||||
BlipTonneHinten = mp.blips.new(1, 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(vehicle.position.x, vehicle.position.y - 5.5, vehicle.position.z - 1, 2);
|
ShapeTonneHinten = mp.colshapes.newSphere(pos.x, pos.y, pos.z - 1, 2);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
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.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
|
|||||||
@@ -4,10 +4,6 @@ using System.Linq;
|
|||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using ReallifeGamemode.Server.Services;
|
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
|
namespace ReallifeGamemode.Server.Job
|
||||||
{
|
{
|
||||||
@@ -19,7 +15,6 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
|
|
||||||
public override bool NeedVehicleToStart => false;
|
public override bool NeedVehicleToStart => false;
|
||||||
|
|
||||||
|
|
||||||
public RefuseCollectorJob()
|
public RefuseCollectorJob()
|
||||||
{
|
{
|
||||||
JobStart += RefuseCollectorJobJobStart;
|
JobStart += RefuseCollectorJobJobStart;
|
||||||
@@ -28,35 +23,84 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
|
|
||||||
private void RefuseCollectorJobJobStart(Player player)
|
private void RefuseCollectorJobJobStart(Player player)
|
||||||
{
|
{
|
||||||
|
|
||||||
//setClothes
|
//setClothes
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RefuseCollectorJobJobStop(Player player)
|
private void RefuseCollectorJobJobStop(Player player)
|
||||||
{
|
{
|
||||||
|
|
||||||
//removeClothes and replace with old
|
//removeClothes and replace with old
|
||||||
MuellmannJobBeenden(player);
|
MuellmannJobBeenden(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<MuellmannData> muellmanData = new List<MuellmannData>();
|
||||||
|
|
||||||
public List<MuellmannData> muellmanData = new List<MuellmannData>();
|
private readonly IReadOnlyCollection<Vector3> vector3s = new List<Vector3>
|
||||||
private List<Vector3> vector3s = new List<Vector3>();
|
{
|
||||||
|
new Vector3(332.9839782714844, -1741.807373046875, 29.73055076599121),
|
||||||
[ServerEvent(Event.ResourceStart)]
|
new Vector3(321.3463439941406, -1759.986572265625, 29.644014358520508),
|
||||||
public void LoadHouses()
|
new Vector3(305.2624206542969, -1776.0458984375, 28.871641159057617),
|
||||||
{
|
new Vector3(300.1080017089844, -1784.01123046875, 28.438663482666016),
|
||||||
foreach(var marker in HouseManager.houseMarkers)
|
new Vector3(348.7510986328125, -1820.57373046875, 28.89409637451172),
|
||||||
{
|
new Vector3(328.7326965332031, -1845.462890625, 27.748090744018555),
|
||||||
vector3s.Add(new Vector3(marker.Value.Position.X, marker.Value.Position.Y, marker.Value.Position.Z));
|
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")]
|
[RemoteEvent("CLIENT:MuellmannJobStarten")]
|
||||||
public void MuellmannJobStarten(Player player, Vehicle vehicle)
|
public void MuellmannJobStarten(Player player, Vehicle vehicle)
|
||||||
{
|
{
|
||||||
|
|
||||||
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;
|
||||||
@@ -72,7 +116,6 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void MuellmannJobBeenden(Player player)
|
public void MuellmannJobBeenden(Player player)
|
||||||
{
|
{
|
||||||
if (player.IsInVehicle)
|
if (player.IsInVehicle)
|
||||||
@@ -80,11 +123,24 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
Vehicle vehicle = player.Vehicle;
|
Vehicle vehicle = player.Vehicle;
|
||||||
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)
|
||||||
{
|
{
|
||||||
|
|
||||||
ChatService.SendMessage((Player)player, "~g~Du hast den Müllmann-Job beendet!");
|
ChatService.SendMessage((Player)player, "~g~Du hast den Müllmann-Job beendet!");
|
||||||
player.TriggerEvent("SERVER:MuellmannStatusFalse");
|
player.TriggerEvent("SERVER:MuellmannStatusFalse");
|
||||||
player.TriggerEvent("SERVER:MuellmannBCSEntfernen");
|
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
|
else
|
||||||
{
|
{
|
||||||
@@ -95,8 +151,8 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
{
|
{
|
||||||
ChatService.SendMessage((Player)player, "~r~INFO: Zum Job beenden musst du im Auto sein.");
|
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, string jsonColShape)
|
||||||
{
|
{
|
||||||
@@ -145,29 +201,23 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
{
|
{
|
||||||
if (data.getDataFromClient(player) == null) continue;
|
if (data.getDataFromClient(player) == null) continue;
|
||||||
|
|
||||||
Console.WriteLine($"[DATA DEBUG] vehicle: {data.vehicle.DisplayName} | Players: {data.getClientsFromData()}");
|
|
||||||
|
|
||||||
int count = data.getTrashCount();
|
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: {count}");
|
||||||
ChatService.SendMessage((Player)player, $"Fahrzeug wurde entleert. Säcke: {count}");
|
ChatService.SendMessage((Player)player, $"Fahrzeug wurde entleert. Säcke: {count}");
|
||||||
player.TriggerEvent("SERVER:MuellmannHintenWiederLeer");
|
|
||||||
//bonus pro sack
|
//bonus pro sack
|
||||||
|
|
||||||
data.setTrashCount(0);
|
data.setTrashCount(0);
|
||||||
|
Console.WriteLine($"[DATA DEBUG] vehicle: {data.vehicle.DisplayName} | Players: {data.getClientsFromData().Count} | Säcke: {data.getTrashCount()}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#region zweiSpeieler
|
#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)
|
foreach (var data in muellmanData)
|
||||||
{
|
{
|
||||||
if (data.getDataFromClient(player) == null) continue;
|
if (data.getDataFromClient(player) == null) continue;
|
||||||
@@ -182,16 +232,10 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
data.removeClientFromData(player);
|
data.removeClientFromData(player);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[ServerEvent(Event.PlayerDeath)]
|
public void MuellmannOnPlayerDeath(Player player)
|
||||||
private void SrvEvent_PlayerDeath(Player player)
|
|
||||||
{
|
{
|
||||||
if (!player.IsLoggedIn() || !GetUsersInJob().Contains(player)) return;
|
|
||||||
User u = player.GetUser();
|
|
||||||
if (u.JobId != this.Id) return;
|
|
||||||
|
|
||||||
foreach (var data in muellmanData)
|
foreach (var data in muellmanData)
|
||||||
{
|
{
|
||||||
if (data.getDataFromClient(player) == null) continue;
|
if (data.getDataFromClient(player) == null) continue;
|
||||||
@@ -206,13 +250,12 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
data.removeClientFromData(player);
|
data.removeClientFromData(player);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[ServerEvent(Event.VehicleDeath)]
|
[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)
|
foreach (var data in muellmanData)
|
||||||
{
|
{
|
||||||
if (data.vehicle == veh)
|
if (data.vehicle == veh)
|
||||||
@@ -220,22 +263,17 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
//müllfahrzeug respawnen
|
//müllfahrzeug respawnen
|
||||||
|
|
||||||
List<Player> clients = data.getClientsFromData();
|
List<Player> clients = data.getClientsFromData();
|
||||||
foreach(var c in clients){ RefuseCollectorJobJobStop(c); }
|
foreach (var c in clients) { RefuseCollectorJobJobStop(c); }
|
||||||
|
|
||||||
muellmanData.Remove(data);
|
muellmanData.Remove(data);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[ServerEvent(Event.PlayerEnterVehicleAttempt)]
|
public void MuellmannOnPlayerEnterVehicle(Player player, Vehicle vehicle, sbyte seat)
|
||||||
public void SrvEvent_PlayerEnterVehicle(Player player, Vehicle vehicle, sbyte seat)
|
|
||||||
{
|
{
|
||||||
Player target;
|
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)
|
if (vehicle.Model == (uint)Types.VehicleModel.Trash || vehicle.Model == (uint)Types.VehicleModel.Trash2)
|
||||||
{
|
{
|
||||||
foreach (var data in muellmanData)
|
foreach (var data in muellmanData)
|
||||||
@@ -294,20 +332,22 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion zweiSpeieler
|
||||||
|
|
||||||
#region Data
|
#region Data
|
||||||
|
|
||||||
public class MuellmannData
|
public class MuellmannData
|
||||||
{
|
{
|
||||||
Player client1;
|
private Player client1;
|
||||||
Player client2;
|
private Player client2;
|
||||||
public Vehicle vehicle;
|
public Vehicle vehicle;
|
||||||
int trashCount = 0;
|
private static int trashCount = 0;
|
||||||
|
|
||||||
public MuellmannData(Vehicle vehicle)
|
public MuellmannData(Vehicle vehicle)
|
||||||
{
|
{
|
||||||
this.vehicle = vehicle;
|
this.vehicle = vehicle;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setClientToData(Player player)
|
public void setClientToData(Player player)
|
||||||
{
|
{
|
||||||
if (client1 == player || client2 == player)
|
if (client1 == player || client2 == player)
|
||||||
@@ -320,19 +360,23 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
else if (client2 == null) { client2 = player; return; }
|
else if (client2 == null) { client2 = player; return; }
|
||||||
else if (client1 != null && client2 != null) { Console.WriteLine("kein Platz"); }
|
else if (client1 != null && client2 != null) { Console.WriteLine("kein Platz"); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeClientFromData(Player player)
|
public void removeClientFromData(Player player)
|
||||||
{
|
{
|
||||||
if (client1 == player) { client1 = null; }
|
if (client1 == player) { client1 = null; }
|
||||||
if (client2 == player) { client2 = null; }
|
if (client2 == player) { client2 = null; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getTrashCount()
|
public int getTrashCount()
|
||||||
{
|
{
|
||||||
return this.trashCount;
|
return trashCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTrashCount(int i)
|
public void setTrashCount(int i)
|
||||||
{
|
{
|
||||||
this.trashCount = i;
|
trashCount = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Player> getClientsFromData()
|
public List<Player> getClientsFromData()
|
||||||
{
|
{
|
||||||
List<Player> tempList = new List<Player>();
|
List<Player> tempList = new List<Player>();
|
||||||
@@ -340,18 +384,21 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
if (client2 != null) { tempList.Add(client2); }
|
if (client2 != null) { tempList.Add(client2); }
|
||||||
return tempList;
|
return tempList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MuellmannData getDataFromClient(Player player)
|
public MuellmannData getDataFromClient(Player player)
|
||||||
{
|
{
|
||||||
if (client1 != player && client2 != player)
|
if (client1 != player && client2 != player)
|
||||||
return null;
|
return null;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool hasFreePlace()
|
public bool hasFreePlace()
|
||||||
{
|
{
|
||||||
if (client1 != null && client2 != null)
|
if (client1 != null && client2 != null)
|
||||||
return false;
|
return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Player getPartnerClient(Player player)
|
public Player getPartnerClient(Player player)
|
||||||
{
|
{
|
||||||
if (client1 != player && client2 != player)
|
if (client1 != player && client2 != player)
|
||||||
@@ -362,8 +409,7 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
|
||||||
|
#endregion Data
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -145,8 +145,12 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
JobPoint nearJobPoint = PositionManager.jobPoints.Find(p => p.Position.DistanceTo(player.Position) <= 2);
|
||||||
|
if (nearJobPoint == null && u.JobId == 2) return;
|
||||||
|
|
||||||
|
|
||||||
var json = JsonConvert.SerializeObject(data);
|
|
||||||
|
var json = JsonConvert.SerializeObject(data);
|
||||||
|
|
||||||
player.TriggerEvent("SERVER:Job_ShowJobMenu", job.Name, json);
|
player.TriggerEvent("SERVER:Job_ShowJobMenu", job.Name, json);
|
||||||
}
|
}
|
||||||
@@ -256,6 +260,24 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ServerEvent(Event.PlayerEnterVehicleAttempt)]
|
||||||
|
private void JobManagerEnterVehicleAttempt(Player player, Vehicle vehicle, sbyte seat)
|
||||||
|
{
|
||||||
|
if (JobManager.GetJob<RefuseCollectorJob>().GetUsersInJob().Contains(player)){ JobManager.GetJob<RefuseCollectorJob>().MuellmannOnPlayerEnterVehicle(player, vehicle, seat); }
|
||||||
|
}
|
||||||
|
|
||||||
|
[ServerEvent(Event.PlayerDeath)]
|
||||||
|
private void JobManagerOnPlayerDeath(Player player)
|
||||||
|
{
|
||||||
|
if (JobManager.GetJob<RefuseCollectorJob>().GetUsersInJob().Contains(player)) { JobManager.GetJob<RefuseCollectorJob>().MuellmannOnPlayerDeath(player); }
|
||||||
|
}
|
||||||
|
|
||||||
|
[ServerEvent(Event.PlayerDisconnected)]
|
||||||
|
private void JobManagerOnPlayerDisconnect(Player player, DisconnectionType type, string reason)
|
||||||
|
{
|
||||||
|
if (JobManager.GetJob<RefuseCollectorJob>().GetUsersInJob().Contains(player)) { JobManager.GetJob<RefuseCollectorJob>().MuellmannOnPlayerDc(player); }
|
||||||
|
}
|
||||||
|
|
||||||
[ServerEvent(Event.PlayerExitVehicle)]
|
[ServerEvent(Event.PlayerExitVehicle)]
|
||||||
public void JobManagerPlayerEnterVehicle(Player player, Vehicle veh)
|
public void JobManagerPlayerEnterVehicle(Player player, Vehicle veh)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
public static List<ItemshopPoint> itemshopPoints = new List<ItemshopPoint>();
|
public static List<ItemshopPoint> itemshopPoints = new List<ItemshopPoint>();
|
||||||
|
|
||||||
|
public static List<JobPoint> jobPoints = new List<JobPoint>();
|
||||||
|
|
||||||
[ServerEvent(Event.ResourceStart)]
|
[ServerEvent(Event.ResourceStart)]
|
||||||
public void OnResourceStart()
|
public void OnResourceStart()
|
||||||
{
|
{
|
||||||
@@ -149,6 +151,22 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
#endregion ElevetaorPoints
|
#endregion ElevetaorPoints
|
||||||
|
|
||||||
|
JobPoint jobPointRefuseCollector = new JobPoint()
|
||||||
|
{
|
||||||
|
Position = new Vector3(-429.237, -1727.9839, 19.73836),
|
||||||
|
jobId = 2
|
||||||
|
};
|
||||||
|
|
||||||
|
jobPoints.Add(jobPointRefuseCollector);
|
||||||
|
|
||||||
|
foreach(JobPoint p in jobPoints)
|
||||||
|
{
|
||||||
|
NAPI.Marker.CreateMarker(1, new Vector3(p.Position.X, p.Position.Y, p.Position.Z - 2), new Vector3(p.Position.X, p.Position.Y, p.Position.Z + 1),
|
||||||
|
new Vector3(0, 0, 0), 1.5f, new Color(255, 255, 255, 50), false, 0);
|
||||||
|
NAPI.TextLabel.CreateTextLabel("M\u00fcllmann - Dr\u00fccke ~y~J~s~ um Job zu starten", p.Position, 7, 1, 0, new Color(255, 255, 255), false, 0);
|
||||||
|
NAPI.Blip.CreateBlip(318, p.Position, 1f, 0, "Müllmann", 255, 0,true);
|
||||||
|
}
|
||||||
|
|
||||||
#region Shops
|
#region Shops
|
||||||
foreach (var shop in ShopManager.clotheStores)
|
foreach (var shop in ShopManager.clotheStores)
|
||||||
{
|
{
|
||||||
@@ -229,6 +247,13 @@ public class ItemshopPoint
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class JobPoint
|
||||||
|
{
|
||||||
|
public Vector3 Position { get; set; }
|
||||||
|
public int jobId { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public class ElevatorPoint
|
public class ElevatorPoint
|
||||||
{
|
{
|
||||||
public Vector3 Position { get; set; }
|
public Vector3 Position { get; set; }
|
||||||
|
|||||||
Reference in New Issue
Block a user