Lol
This commit is contained in:
134
ReallifeGamemode.Client/Jobs/FarmerFieldSelect.ts
Normal file
134
ReallifeGamemode.Client/Jobs/FarmerFieldSelect.ts
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -57,7 +57,6 @@ const muellbaseVector2 = new mp.Vector3(454.88348, -2158.1938, 5.9788494);
|
|||||||
const muellbaseVector3 = new mp.Vector3(529.06635, -2088.4097, 8.303088);
|
const muellbaseVector3 = new mp.Vector3(529.06635, -2088.4097, 8.303088);
|
||||||
|
|
||||||
const krankenhausVector1 = new mp.Vector3(-508.50705, -351.24368, 34);
|
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 krankenhausVector2 = new mp.Vector3(-442.62323, -356.99185, 33);
|
||||||
const krankenhausVector3 = new mp.Vector3(-448.9346, -297.23972, 33.68);
|
const krankenhausVector3 = new mp.Vector3(-448.9346, -297.23972, 33.68);
|
||||||
const krankenhausVector4 = new mp.Vector3(-504.952, -315.21698, 35.04881);
|
const krankenhausVector4 = new mp.Vector3(-504.952, -315.21698, 35.04881);
|
||||||
|
|||||||
@@ -268,6 +268,9 @@ antiAfk(globalData);
|
|||||||
import ammunation from './Interaction/ammunation/ammunation';
|
import ammunation from './Interaction/ammunation/ammunation';
|
||||||
ammunation(globalData);
|
ammunation(globalData);
|
||||||
|
|
||||||
|
import farmerFieldList from './Jobs/FarmerFieldSelect';
|
||||||
|
farmerFieldList(globalData);
|
||||||
|
|
||||||
import handsup from './Player/handsup';
|
import handsup from './Player/handsup';
|
||||||
handsup();
|
handsup();
|
||||||
|
|
||||||
|
|||||||
@@ -585,6 +585,43 @@ 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 (CharacterCreator.surgeryPoint.DistanceTo(player.Position) <= 1.5)
|
||||||
//{
|
//{
|
||||||
// if (user.GetData<bool>("duty"))
|
// if (user.GetData<bool>("duty"))
|
||||||
|
|||||||
176
ReallifeGamemode.Server/Job/FarmerJob.cs
Normal file
176
ReallifeGamemode.Server/Job/FarmerJob.cs
Normal file
@@ -0,0 +1,176 @@
|
|||||||
|
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 => false;
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,6 +9,7 @@ using ReallifeGamemode.Server.Extensions;
|
|||||||
using ReallifeGamemode.Server.Shop.Ammunation;
|
using ReallifeGamemode.Server.Shop.Ammunation;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
|
using ReallifeGamemode.Server.Job;
|
||||||
|
|
||||||
|
|
||||||
namespace ReallifeGamemode.Server.Managers
|
namespace ReallifeGamemode.Server.Managers
|
||||||
@@ -207,11 +208,18 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
jobId = 4,
|
jobId = 4,
|
||||||
Skill = 0
|
Skill = 0
|
||||||
};
|
};
|
||||||
|
JobPoint jobPointFarmer = new JobPoint()
|
||||||
|
{
|
||||||
|
Position = FarmerJob.POSITION_JOB_START,
|
||||||
|
jobId = 5,
|
||||||
|
Skill = 0
|
||||||
|
};
|
||||||
|
|
||||||
JobPoints.Add(jobPointRefuseCollector);
|
JobPoints.Add(jobPointRefuseCollector);
|
||||||
JobPoints.Add(jobPointPilot);
|
JobPoints.Add(jobPointPilot);
|
||||||
JobPoints.Add(jobPointPilot2);
|
JobPoints.Add(jobPointPilot2);
|
||||||
JobPoints.Add(jobPointBusDriver);
|
JobPoints.Add(jobPointBusDriver);
|
||||||
|
JobPoints.Add(jobPointFarmer);
|
||||||
|
|
||||||
foreach (JobPoint p in JobPoints)
|
foreach (JobPoint p in JobPoints)
|
||||||
{
|
{
|
||||||
@@ -240,6 +248,11 @@ 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.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);
|
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
|
#endregion JobPoints
|
||||||
|
|||||||
Reference in New Issue
Block a user