Merge branch 'develop'

This commit is contained in:
hydrant
2021-05-27 23:26:31 +02:00
6 changed files with 1 additions and 363 deletions

View File

@@ -1,134 +0,0 @@
import * as NativeUI from '../libs/NativeUI';
var fieldSelectColShape = mp.colshapes.newCircle(2415.229, 4993.037, 46.230038);
const Menu = NativeUI.Menu;
var fieldMenu: NativeUI.Menu;
const Point = NativeUI.Point;
const UIMenuListItem = NativeUI.UIMenuListItem;
const ItemsCollection = NativeUI.ItemsCollection;
const UIMenuItem = NativeUI.UIMenuItem;
const Color = NativeUI.Color;
let sendItem = new UIMenuItem("Starten", "Route starten");
sendItem.BackColor = new Color(13, 71, 161);
sendItem.HighlightedBackColor = new Color(25, 118, 210);
let cancelItem = new UIMenuItem("Abbrechen", "");
cancelItem.BackColor = new Color(213, 0, 0);
cancelItem.HighlightedBackColor = new Color(229, 57, 53);
let screenRes = mp.game.graphics.getScreenResolution(0, 0);
var checkpoint = new mp.Vector3(2416.3723, 4993.94, 45);
export default function farmerFieldList(globalData: IGlobalData) {
var skillSelect;
var skill = 60;
var fieldSelected = false;
var fieldSelect;
mp.events.add(RageEnums.EventKey.PLAYER_EXIT_COLSHAPE, (colshape) => {
if (colshape == fieldSelectColShape) {
if (fieldMenu && fieldMenu.Visible) {
fieldMenu.Close();
}
}
});
mp.events.add('SERVER:selectField', () => {
skill = 100;
if (!globalData.InMenu) {
globalData.InMenu = true;
skillSelect = ["Knecht (1)", "Hilfsarbeiter (2)", "Ackersmann (3)", "Landwirt (4)", "Ökonom (5)"];
fieldMenu = new Menu("Bus Job", "", new Point(0, screenRes.y / 3), null, null);
fieldMenu.AddItem(new UIMenuListItem("Stufe wählen", "", new ItemsCollection(skillSelect)));
fieldSelect = "Anfänger";
fieldMenu.AddItem(sendItem);
fieldMenu.AddItem(cancelItem);
fieldMenu.Visible = true;
fieldMenu.ListChange.on((item, index) => {
switch (item.Text) {
case "Stufe wählen":
fieldSelect = String(item.SelectedItem.DisplayText);
break;
}
});
fieldMenu.ItemSelect.on((item) => {
if (item.Text === "Starten") {
if (fieldSelect == skillSelect[1] && skill < 5) {
mp.game.audio.playSoundFrontend(1, "Hack_Failed", "DLC_HEIST_BIOLAB_PREP_HACKING_SOUNDS", true);
}
else if (fieldSelect == skillSelect[2] && skill < 10) {
mp.game.audio.playSoundFrontend(1, "Hack_Failed", "DLC_HEIST_BIOLAB_PREP_HACKING_SOUNDS", true);
}
else if (fieldSelect == skillSelect[3] && skill < 25) {
mp.game.audio.playSoundFrontend(1, "Hack_Failed", "DLC_HEIST_BIOLAB_PREP_HACKING_SOUNDS", true);
}
else if (fieldSelect == skillSelect[4] && skill < 50) {
mp.game.audio.playSoundFrontend(1, "Hack_Failed", "DLC_HEIST_BIOLAB_PREP_HACKING_SOUNDS", true);
}
else {
mp.events.callRemote("CLIENT:StartFieldSelected", fieldSelect);
fieldSelected = true;
fieldMenu.Close();
globalData.InMenu = false;
}
} else if (item.Text === "Abbrechen") {
fieldMenu.Close();
}
});
fieldMenu.MenuClose.on(() => {
if (!fieldSelected) {
//mp.events.callRemote("CLIENT:Job_StopJob");
}
fieldSelected = false;
globalData.InMenu = false;
});
}
});
var activeCheckpoint;
var activeBlip = null;
var myVar;
var activeCheckpointId;
mp.events.add('farmerSetCheckpoint', (position, markerId, markerSize, cpId) => {
activeCheckpointId = cpId;
activeCheckpoint = mp.markers.new(markerId, position, markerSize, {
color: [255, 0, 0, 150],
visible: true,
dimension: 0
});
activeBlip = mp.blips.new(1, position,
{
color: 33,
alpha: 255,
shortRange: false,
});
activeBlip.setRoute(true);
activeBlip.setRouteColour(33);
clearInterval(myVar);
myVar = setInterval(checkpointTimer, 50);
});
function checkpointTimer() {
let dist = mp.game.gameplay.getDistanceBetweenCoords(mp.players.local.position.x, mp.players.local.position.y, 0, checkpoint.x, checkpoint.y, 0, false);
if (dist <= 2) {
clearInterval(myVar);
activeCheckpoint.destroy();
}
}
}

View File

@@ -57,6 +57,7 @@ const muellbaseVector2 = new mp.Vector3(454.88348, -2158.1938, 5.9788494);
const muellbaseVector3 = new mp.Vector3(529.06635, -2088.4097, 8.303088);
const krankenhausVector1 = new mp.Vector3(-508.50705, -351.24368, 34);
//const krankenhausVector2 = new mp.Vector3(-437.00146, -357.10526, 32.735916
const krankenhausVector2 = new mp.Vector3(-442.62323, -356.99185, 33);
const krankenhausVector3 = new mp.Vector3(-448.9346, -297.23972, 33.68);
const krankenhausVector4 = new mp.Vector3(-504.952, -315.21698, 35.04881);

View File

@@ -271,9 +271,6 @@ antiAfk(globalData);
import ammunation from './Interaction/ammunation/ammunation';
ammunation(globalData);
import farmerFieldList from './Jobs/FarmerFieldSelect';
farmerFieldList(globalData);
import handsup from './Player/handsup';
handsup();

View File

@@ -679,43 +679,6 @@ namespace ReallifeGamemode.Server.Events
}
}
if (player.Position.DistanceTo(FarmerJob.POSITION_SCHEUNE) <= 1.5)
{
if (JobManager.GetJob<FarmerJob>().GetUsersInJob().Contains(player))
{
player.TriggerEvent("SERVER:selectField");
return;
}
}
if (player.Position.DistanceTo(FarmerJob.POSITION_FAHRZEUGHALLE) <= 1.5)
{
if (FarmerJob.playersWaitingForVehicle.Contains(player) || true)
{
FarmerJob.spawnVehicle(player);
return;
}
}
if (CharacterCreator.surgeryPoint.DistanceTo(player.Position) <= 1.5)
{
if (user.GetData<bool>("duty"))
{
player.SendNotification("~r~Im Dienst kannst du nicht operiert werden", false);
return;
}
if (JobBase.GetPlayerInJob().Contains(player))
{
player.SendNotification("~r~Im aktiven Job kannst du nicht operiert werden", false);
return;
}
if (user.Wanteds > 0)
{
player.SendNotification("~r~Wenn du gesucht wirst kannst du nicht operiert werden", false);
return;
}
}
//if (CharacterCreator.surgeryPoint.DistanceTo(player.Position) <= 1.5)
//{
// if (user.GetData<bool>("duty"))

View File

@@ -1,176 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GTANetworkAPI;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
namespace ReallifeGamemode.Server.Job
{
public class FarmerJob : JobBase
{
public override int Id => 5;
public override string Name => "Farmer";
public override bool NeedVehicleToStart => false;
public override bool Deactivated => true;
private static FarmerJob _Instance;
public static Vector3 POSITION_JOB_START = new Vector3(2434.2983, 4976.952, 46.571423);
public static Vector3 POSITION_SCHEUNE = new Vector3(2416.3723, 4993.94, 45);
public static Vector3 POSITION_SCHEUNE_LABEL = new Vector3(2416.3723, 4993.94, 46);
public static Vector3 POSITION_FAHRZEUGHALLE = new Vector3(2494.346, 4964.773, 43.5833);
public static Vector3 POSITION_FAHRZEUGHALLE_LABEL = new Vector3(2494.346, 4964.773, 44.5833);
private static TextLabel labelScheune = null;
private static TextLabel labelFahrzeughalle = null;
public static List<Player> playersWaitingForVehicle = new List<Player>();
public static Dictionary<Player, String> playerHasField = new Dictionary<Player, String>();
private static readonly Dictionary<Vector3, float> VEHICLE_SPAWNS = new Dictionary<Vector3, float>
{
{ new Vector3(2500.026, 4982.7485, 44.50283), (float)-148.8139 },
{ new Vector3(2511.2246, 4981.6924, 44.722702), (float)139.25208 },
{ new Vector3(2518.3486, 4977.3125, 44.716434), (float)131.3338 },
{ new Vector3(2522.8215, 4966.823, 44.53701), (float)118.17867 }
};
private static int spawnIndex = 0;
public static readonly List<Vector3> CHECKPOINTS_FIELD1 = new List<Vector3>()
{
new Vector3(2335.83984375, 5114.8525390625, 47.83000183105469),
new Vector3(2295.81201171875, 5153.26123046875, 54.64070129394531),
new Vector3(2277.558837890625, 5139.4453125, 53.3763542175293),
new Vector3(2318.217041015625, 5099.271484375, 46.98373031616211),
new Vector3(2283.467041015625, 5066.1025390625, 45.97780227661133),
new Vector3(),
new Vector3(),
new Vector3(),
new Vector3(),
new Vector3(),
new Vector3(),
new Vector3(),
new Vector3(),
new Vector3(),
new Vector3(),
new Vector3(),
new Vector3(),
new Vector3(),
new Vector3(),
new Vector3()
};
public FarmerJob()
{
JobStart += FarmerDriverJobJobStart;
JobStop += FarmerDriverJobJobStop;
}
public static FarmerJob GetInstance()
{
if (_Instance == null)
_Instance = new FarmerJob();
return _Instance;
}
private void FarmerDriverJobJobStart(Player player)
{
labelScheune = NAPI.TextLabel.CreateTextLabel("Scheune - Drücke ~y~E ~w~um ein Feld auszuwählen", POSITION_SCHEUNE_LABEL, 15, 1, 0, new Color(255, 255, 255), false, 0);
player.SendChatMessage("~y~[JOB]~w~ Begebe dich zur Scheune um Felder zu pachten");
player.TriggerEvent("farmerSetCheckpoint", POSITION_SCHEUNE, 1, 1, "scheune");
}
private void FarmerDriverJobJobStop(Player player)
{
player.SendChatMessage("Job stop");
}
[RemoteEvent("CLIENT:StartFieldSelected")]
public void startFieldSelected(Player player, String field)
{
labelScheune.Delete();
labelFahrzeughalle = NAPI.TextLabel.CreateTextLabel("Fahrzeughalle - Drücke ~y~E ~w~um dir ein Fahrzeug zu holen", POSITION_FAHRZEUGHALLE_LABEL, 15, 1, 0, new Color(255, 255, 255), false, 0);
player.SendChatMessage("~y~[JOB]~w~ Begebe dich zur nun zur Fahrzeughalle um dein Fahrzeug abzuholen");
player.TriggerEvent("farmerSetCheckpoint", POSITION_FAHRZEUGHALLE, 1, 1, "fahrzeughalle");
playersWaitingForVehicle.Add(player);
playerHasField.Add(player, field);
}
public static void spawnVehicle(Player player)
{
if (!playerHasField.ContainsKey(player))
playerHasField.Add(player, "Landwirt (4)");
player.SendChatMessage("player " + player.Name + " with field " + playerHasField[player]);
//NEXT: verschiedene spawnpositionen für fahrzeuge in VEHICLE_SPAWNS
//Vector3 spawnPoint = VEHICLE_SPAWNS[spawnIndex++ % VEHICLE_SPAWNS.Count];
Random rnd = new Random();
spawnIndex = rnd.Next(VEHICLE_SPAWNS.Count);
Vector3 spawnPoint = VEHICLE_SPAWNS.ElementAt(spawnIndex).Key;
float vehicleHeading = VEHICLE_SPAWNS[spawnPoint];
Vehicle vehicle = null;
if (playerHasField[player] == "Knecht (1)")
{
vehicle = NAPI.Vehicle.CreateVehicle(0x61D6BA8C, spawnPoint, vehicleHeading, 111, 111, "JOB");
} else if (playerHasField[player] == "Hilfsarbeiter (2)")
{
vehicle = NAPI.Vehicle.CreateVehicle(0x61D6BA8C, spawnPoint, vehicleHeading, 111, 111, "JOB");
}
else if (playerHasField[player] == "Ackersmann (3)")
{
vehicle = NAPI.Vehicle.CreateVehicle(0x843B73DE, spawnPoint, vehicleHeading, 111, 111, "JOB");
}
else if (playerHasField[player] == "Landwirt (4)")
{
vehicle = NAPI.Vehicle.CreateVehicle(0x843B73DE, spawnPoint, vehicleHeading, 111, 111, "JOB");
}
else if (playerHasField[player] == "Ökonom(5)")
{
vehicle = NAPI.Vehicle.CreateVehicle(0x843B73DE, spawnPoint, vehicleHeading, 111, 111, "JOB");
}
vehicle.NumberPlate = "JOB-" + vehicle.Id;
_CHANGING_VEHICLE.Add(player);
if (playerVehiclePair.ContainsKey(player))
{
Vehicle previousVehicle = null;
if (playerVehiclePair[player] != null)
previousVehicle = playerVehiclePair[player];
playerVehiclePair.Remove(player);
previousVehicle?.Delete();
}
playerVehiclePair.Add(player, vehicle);
player.SetIntoVehicle(vehicle.Handle, 0);
}
public override void LastCheckpoint(Player player)
{
//nothing
}
public override void StartJobEndTimer(Player player)
{
//nothing
}
public override bool CheckVehicle(Player player, Vehicle vehicle)
{
//nothig, kack jobsystem
return false;
}
}
}

View File

@@ -9,7 +9,6 @@ using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Shop.Ammunation;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Job;
namespace ReallifeGamemode.Server.Managers
@@ -228,18 +227,11 @@ namespace ReallifeGamemode.Server.Managers
jobId = 4,
Skill = 0
};
JobPoint jobPointFarmer = new JobPoint()
{
Position = FarmerJob.POSITION_JOB_START,
jobId = 5,
Skill = 0
};
JobPoints.Add(jobPointRefuseCollector);
JobPoints.Add(jobPointPilot);
JobPoints.Add(jobPointPilot2);
JobPoints.Add(jobPointBusDriver);
JobPoints.Add(jobPointFarmer);
foreach (JobPoint p in JobPoints)
{
@@ -268,11 +260,6 @@ namespace ReallifeGamemode.Server.Managers
NAPI.TextLabel.CreateTextLabel("Busfahrer - Dr\u00fccke ~y~E~s~ um Job zu starten/beenden", p.Position, 15, 1, 0, new Color(255, 255, 255), false, 0);
NAPI.Blip.CreateBlip(513, p.Position, 1f, 16, "Busfahrer", 255, 0, true);
}
if (p.jobId == 5)
{
NAPI.TextLabel.CreateTextLabel("Farmer - Dr\u00fccke ~y~E~s~ um Job zu starten/beenden", p.Position, 15, 1, 0, new Color(255, 255, 255), false, 0);
NAPI.Blip.CreateBlip(369, p.Position, 1f, 16, "Farmer", 255, 0, true);
}
}
#endregion JobPoints