Merge branch 'develop' of ssh://development.life-of-german.org:451/log-gtav/reallife-gamemode into develop
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);
|
||||||
|
|||||||
@@ -36,12 +36,12 @@ export default function tuning(globalData: IGlobalData) {
|
|||||||
{ Slot: 8, Name: "Extra 1", Price: 2000 },
|
{ Slot: 8, Name: "Extra 1", Price: 2000 },
|
||||||
{ Slot: 9, Name: "Extra 2", Price: 2000 },
|
{ Slot: 9, Name: "Extra 2", Price: 2000 },
|
||||||
{ Slot: 10, Name: "Dach", Price: 1500 },
|
{ Slot: 10, Name: "Dach", Price: 1500 },
|
||||||
{ Slot: 11, Name: "Motor", BasePercentage: 20, PriceIncreasePerLevel: 7.5 },
|
{ Slot: 11, Name: "Motor", BasePercentage: 6.25, PriceIncreasePerLevel: 6.25 },
|
||||||
{ Slot: 12, Name: "Bremsen", BasePercentage: 5, PriceIncreasePerLevel: 2.5 },
|
{ Slot: 12, Name: "Bremsen", BasePercentage: 2.5, PriceIncreasePerLevel: 2.5 },
|
||||||
{ Slot: 13, Name: "Getriebe", BasePercentage: 10, PriceIncreasePerLevel: 2.5 },
|
{ Slot: 13, Name: "Getriebe", BasePercentage: 3.75, PriceIncreasePerLevel: 3.75 },
|
||||||
{ Slot: 14, Name: "Hupe", Price: 500 },
|
{ Slot: 14, Name: "Hupe", Price: 500 },
|
||||||
{ Slot: 15, Name: "Federung", Price: 2000 },
|
{ Slot: 15, Name: "Federung", Price: 2000 },
|
||||||
{ Slot: 18, Name: "Turbo", BasePercentage: 45, PriceIncreasePerLevel: 0 },
|
{ Slot: 18, Name: "Turbo", BasePercentage: 25, PriceIncreasePerLevel: 0 },
|
||||||
{ Slot: 22, Name: "Licht", Price: 500 },
|
{ Slot: 22, Name: "Licht", Price: 500 },
|
||||||
{ Slot: -2, Name: "Reifen", Price: 2500 },
|
{ Slot: -2, Name: "Reifen", Price: 2500 },
|
||||||
{ Slot: -1, Name: "Lackierung", Price: 1000 },
|
{ Slot: -1, Name: "Lackierung", Price: 1000 },
|
||||||
|
|||||||
@@ -10,9 +10,7 @@ export default function () {
|
|||||||
});
|
});
|
||||||
mp.events.addDataHandler("vehicleAdminSpeed2", (entity, newValue2) => {
|
mp.events.addDataHandler("vehicleAdminSpeed2", (entity, newValue2) => {
|
||||||
if (!entity.isAVehicle()) return;
|
if (!entity.isAVehicle()) return;
|
||||||
//entity.setEngineTorqueMultiplier(newValue2);
|
entity.setEngineTorqueMultiplier(newValue2);
|
||||||
TorqueEntity = entity;
|
|
||||||
TorqueValue = newValue2;
|
|
||||||
});
|
});
|
||||||
/*mp.events.add('render', () => {
|
/*mp.events.add('render', () => {
|
||||||
let vehicle = mp.players.local.vehicle;
|
let vehicle = mp.players.local.vehicle;
|
||||||
|
|||||||
@@ -271,6 +271,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();
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,10 @@ game.events.add('SERVER:Vehicle:UpdateData', (vehId, dataStr) => {
|
|||||||
setVehicleData(vehicle, data);
|
setVehicleData(vehicle, data);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
game.events.add("SERVER:Vehicle:SetDefaultEngineBehavior", () => {
|
||||||
|
mp.game.vehicle.defaultEngineBehaviour = false;
|
||||||
|
});
|
||||||
|
|
||||||
game.events.onPlayerEnterVehicle((vehicle, seat) => {
|
game.events.onPlayerEnterVehicle((vehicle, seat) => {
|
||||||
while (!game.players.local.inVehicle) {
|
while (!game.players.local.inVehicle) {
|
||||||
game.wait(0);
|
game.wait(0);
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ using ReallifeGamemode.Server.Core.Extensions;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
using ReallifeGamemode.Server.Common;
|
using ReallifeGamemode.Server.Common;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace ReallifeGamemode.Server.Core.Managers
|
namespace ReallifeGamemode.Server.Core.Managers
|
||||||
{
|
{
|
||||||
@@ -451,6 +452,8 @@ namespace ReallifeGamemode.Server.Core.Managers
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Log.LogInformation("Player {0} did a withdraw of {1} dollars from house {2}", player.Name, amount, house.Id);
|
||||||
|
|
||||||
user.BankAccount.Balance += amount;
|
user.BankAccount.Balance += amount;
|
||||||
house.BankAccount.Balance -= amount;
|
house.BankAccount.Balance -= amount;
|
||||||
|
|
||||||
|
|||||||
@@ -6,12 +6,13 @@ using ReallifeGamemode.Server.Types;
|
|||||||
using ReallifeGamemode.Server.Core.Extensions;
|
using ReallifeGamemode.Server.Core.Extensions;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace ReallifeGamemode.Server.Core.Menus
|
namespace ReallifeGamemode.Server.Core.Menus
|
||||||
{
|
{
|
||||||
internal class PoliceDepartment : Script
|
internal class PoliceDepartment : Script
|
||||||
{
|
{
|
||||||
|
private const int WEAPONLICENSE_PRICE = 5000;
|
||||||
|
|
||||||
public PoliceDepartment()
|
public PoliceDepartment()
|
||||||
{
|
{
|
||||||
@@ -40,13 +41,15 @@ namespace ReallifeGamemode.Server.Core.Menus
|
|||||||
|
|
||||||
var account = user.BankAccount;
|
var account = user.BankAccount;
|
||||||
|
|
||||||
if (account.Balance < 5000)
|
if (account.Balance < WEAPONLICENSE_PRICE)
|
||||||
{
|
{
|
||||||
player.SendMessage("Du hast nicht genug Geld auf der Bank (5.000$)!", ChatPrefix.Error);
|
player.SendMessage("Du hast nicht genug Geld auf der Bank (5.000$)!", ChatPrefix.Error);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
account.Balance -= 5000;
|
Log.LogInformation("Player {0} bought a weapon license for {1} dollars", player.Name, WEAPONLICENSE_PRICE);
|
||||||
|
|
||||||
|
account.Balance -= WEAPONLICENSE_PRICE;
|
||||||
|
|
||||||
player.SendMessage("Du hast den Waffenschein erfolgreich erworben.", ChatPrefix.Info);
|
player.SendMessage("Du hast den Waffenschein erfolgreich erworben.", ChatPrefix.Info);
|
||||||
|
|
||||||
|
|||||||
@@ -4,18 +4,20 @@
|
|||||||
* @copyright (c) 2008 - 2021 Life of German
|
* @copyright (c) 2008 - 2021 Life of German
|
||||||
*/
|
*/
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
using ReallifeGamemode.Server.Extensions;
|
using ReallifeGamemode.Server.Extensions;
|
||||||
using ReallifeGamemode.Server.Finance;
|
using ReallifeGamemode.Server.Finance;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
using ReallifeGamemode.Services;
|
using ReallifeGamemode.Services;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
|
|
||||||
namespace ReallifeGamemode.Server.Bank
|
namespace ReallifeGamemode.Server.Bank
|
||||||
{
|
{
|
||||||
class bank : Script
|
class Bank : Script
|
||||||
{
|
{
|
||||||
private static TextLabel informationLabel;
|
private static TextLabel informationLabel;
|
||||||
private static TextLabel factionInformationLabel;
|
private static TextLabel factionInformationLabel;
|
||||||
@@ -25,6 +27,7 @@ namespace ReallifeGamemode.Server.Bank
|
|||||||
private static ColShape _factioncolShape;
|
private static ColShape _factioncolShape;
|
||||||
public static Vector3 Position { get; }
|
public static Vector3 Position { get; }
|
||||||
|
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<Bank>();
|
||||||
|
|
||||||
public static void Setup()
|
public static void Setup()
|
||||||
{
|
{
|
||||||
@@ -92,6 +95,7 @@ namespace ReallifeGamemode.Server.Bank
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
logger.LogInformation("Player {0} did a deposit of {1} dollars at the bank", player.Name, amount);
|
||||||
player.SendNotification($"~w~Du hast $~g~{amount} ~w~eingezahlt.");
|
player.SendNotification($"~w~Du hast $~g~{amount} ~w~eingezahlt.");
|
||||||
player.GetUser(dbContext).Handmoney -= amount;
|
player.GetUser(dbContext).Handmoney -= amount;
|
||||||
player.GetUser(dbContext).BankAccount.Balance += amount;
|
player.GetUser(dbContext).BankAccount.Balance += amount;
|
||||||
@@ -115,6 +119,7 @@ namespace ReallifeGamemode.Server.Bank
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
logger.LogInformation("Player {0} did a withdraw of {1} dollars at the bank", player.Name, amount);
|
||||||
player.SendNotification($"~w~Du hast $~g~{amount} ~w~abgehoben.");
|
player.SendNotification($"~w~Du hast $~g~{amount} ~w~abgehoben.");
|
||||||
player.GetUser(dbContext).Handmoney += amount;
|
player.GetUser(dbContext).Handmoney += amount;
|
||||||
player.GetUser(dbContext).BankAccount.Balance -= amount;
|
player.GetUser(dbContext).BankAccount.Balance -= amount;
|
||||||
@@ -130,34 +135,40 @@ namespace ReallifeGamemode.Server.Bank
|
|||||||
int amount = Int32.Parse(stringAmount);
|
int amount = Int32.Parse(stringAmount);
|
||||||
Player target = PlayerService.GetPlayerByNameOrId(nameOrId);
|
Player target = PlayerService.GetPlayerByNameOrId(nameOrId);
|
||||||
|
|
||||||
|
if (!target.IsLoggedIn())
|
||||||
|
{
|
||||||
|
player.SendNotification($"~r~Dieser Spieler ist nicht Online.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
if (player.GetUser().PlayedMinutes < 180)
|
User user = player.GetUser(dbContext);
|
||||||
|
if (user.PlayedMinutes < 180)
|
||||||
{
|
{
|
||||||
player.SendNotification("~r~Du kannst Geld erst ab 3 Spielstunden vergeben");
|
player.SendNotification("~r~Du kannst Geld erst ab 3 Spielstunden vergeben");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (player.GetUser(dbContext) == target.GetUser(dbContext))
|
|
||||||
|
User targetUser = target.GetUser(dbContext);
|
||||||
|
|
||||||
|
if (user == targetUser)
|
||||||
{
|
{
|
||||||
player.SendNotification($"~r~Du kannst dir selber kein Geld überweisen.");
|
player.SendNotification($"~r~Du kannst dir selber kein Geld überweisen.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (!target.IsLoggedIn())
|
else if (amount <= 0 || (int)(amount * 1.05) > user.BankAccount.Balance)
|
||||||
{
|
|
||||||
player.SendNotification($"~r~Dieser Spieler ist nicht Online.");
|
|
||||||
|
|
||||||
}
|
|
||||||
else if (amount <= 0 || (int)(amount * 1.05) > player.GetUser(dbContext).BankAccount.Balance)
|
|
||||||
{
|
{
|
||||||
player.SendNotification($"~r~Dieser Betrag kann nicht überwiesen werden.");
|
player.SendNotification($"~r~Dieser Betrag kann nicht überwiesen werden.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
logger.LogInformation("Player {0} did a transfer of {1} dollars to {2}", user.Name, amount, targetUser.Name);
|
||||||
player.SendNotification($"~w~Du hast {target.Name} $~g~{amount} ~w~Überwiesen.");
|
player.SendNotification($"~w~Du hast {target.Name} $~g~{amount} ~w~Überwiesen.");
|
||||||
target.SendNotification($"~w~{player.Name} hat dir $~g~{amount} ~w~Überwiesen.");
|
target.SendNotification($"~w~{player.Name} hat dir $~g~{amount} ~w~Überwiesen.");
|
||||||
player.GetUser(dbContext).BankAccount.Balance -= (int)(amount * 1.05);
|
user.BankAccount.Balance -= (int)(amount * 1.05);
|
||||||
target.GetUser(dbContext).otheramount += amount;
|
targetUser.otheramount += amount;
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -170,17 +181,23 @@ namespace ReallifeGamemode.Server.Bank
|
|||||||
|
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
|
User user = player.GetUser(dbContext);
|
||||||
|
if (user.FactionId == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (amount <= 0 || amount > player.GetUser(dbContext).BankAccount.Balance)
|
if (amount <= 0 || amount > user.BankAccount.Balance)
|
||||||
{
|
{
|
||||||
player.SendNotification($"~r~Dieser Betrag ist ungültig.");
|
player.SendNotification($"~r~Dieser Betrag ist ungültig.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
logger.LogInformation("Player {0} did a faction payin of {1} dollars to faction {2}", user.Name, amount, user.Faction.Id);
|
||||||
player.SendNotification($"~w~Du hast $~g~{amount}~w~ in die Fraktionskasse eingezahlt.");
|
player.SendNotification($"~w~Du hast $~g~{amount}~w~ in die Fraktionskasse eingezahlt.");
|
||||||
player.GetUser(dbContext).BankAccount.Balance -= amount;
|
user.BankAccount.Balance -= amount;
|
||||||
player.GetUser(dbContext).Faction.BankAccount.Balance += amount;
|
user.Faction.BankAccount.Balance += amount;
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -193,23 +210,28 @@ namespace ReallifeGamemode.Server.Bank
|
|||||||
int amount = Int32.Parse(stringAmount);
|
int amount = Int32.Parse(stringAmount);
|
||||||
Player target = PlayerService.GetPlayerByNameOrId(nameOrId);
|
Player target = PlayerService.GetPlayerByNameOrId(nameOrId);
|
||||||
|
|
||||||
using (var dbContext = new DatabaseContext())
|
|
||||||
{
|
|
||||||
if (!target.IsLoggedIn())
|
if (!target.IsLoggedIn())
|
||||||
{
|
{
|
||||||
player.SendNotification($"~r~Dieser Spieler ist nicht Online.");
|
player.SendNotification($"~r~Dieser Spieler ist nicht Online.");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else if (amount <= 0 || (int)(amount * 1.05) > player.GetUser(dbContext).Faction.BankAccount.Balance)
|
|
||||||
|
using (var dbContext = new DatabaseContext())
|
||||||
|
{
|
||||||
|
User user = player.GetUser(dbContext);
|
||||||
|
User targetUser = target.GetUser(dbContext);
|
||||||
|
if (amount <= 0 || (int)(amount * 1.05) > user.Faction.BankAccount.Balance)
|
||||||
{
|
{
|
||||||
player.SendNotification($"~r~Dieser Betrag kann nicht überwiesen werden.");
|
player.SendNotification($"~r~Dieser Betrag kann nicht überwiesen werden.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
player.SendNotification($"~w~Du hast {target.Name} $~g~{amount} ~w~Überwiesen.");
|
logger.LogInformation("Player {0} did a faction transfer of {1} dollars from faction {2} to {3}", user.Name, amount, user.Faction.Id, target);
|
||||||
player.GetUser(dbContext).Faction.BankAccount.Balance -= (int)(amount * 1.05);
|
player.SendNotification($"Du hast ~g~{amount.ToMoneyString()}~s~ an ~y~{targetUser.Name}~s~ überwiesen");
|
||||||
target.GetUser(dbContext).otheramount += amount;
|
target.SendNotification($"Dir wurden ~g~{amount.ToMoneyString()}~s~ von ~y~{user.Name}~s~ überwiesen");
|
||||||
|
user.Faction.BankAccount.Balance -= (int)(amount * 1.05);
|
||||||
|
targetUser.otheramount += amount;
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -532,25 +532,6 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("bitcoin", "~m~/bitcoin [ID]")]
|
|
||||||
public void CmdAdminBitcoin(Player player, string name)
|
|
||||||
{
|
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.SUPPORTER) ?? true)
|
|
||||||
{
|
|
||||||
ChatService.NotAuthorized(player);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Player target = PlayerService.GetPlayerByNameOrId(name);
|
|
||||||
if (target == null || !target.IsLoggedIn())
|
|
||||||
{
|
|
||||||
ChatService.PlayerNotFound(player);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
target.TriggerEvent("CLIENT:PlaySound", "fun/bitcoinnect", "mp3", 50);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion Support
|
#endregion Support
|
||||||
|
|
||||||
#region Admin
|
#region Admin
|
||||||
@@ -567,7 +548,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("remspawnschutz", "~m~Benutzung: ~s~/rmss [Target]", Alias = "rmss")]
|
[Command("remspawnschutz", "~m~Benutzung: ~s~/rmss [Target]", Alias = "rmss")]
|
||||||
public void CmdAdminRmss(Player player, String targetname)
|
public void CmdAdminRemSpawnSchutz(Player player, String targetname)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -620,7 +601,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("ac", "~m~Benutzung: ~s~/ac [Nachricht]", GreedyArg = true)]
|
[Command("ac", "~m~Benutzung: ~s~/ac [Nachricht]", GreedyArg = true)]
|
||||||
public void CmdAdminA(Player player, string message)
|
public void CmdAdminChat(Player player, string message)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -1062,110 +1043,8 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("destroyped", "~m~Benutzung: ~s~/destroyped [PedNr]")]
|
|
||||||
public void CmdAdminAddPPed(Player player, int PedNr)
|
|
||||||
{
|
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
|
||||||
{
|
|
||||||
ChatService.NotAuthorized(player);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
player.TriggerEvent("CLIENT:DestroyPed", PedNr);
|
|
||||||
//NAPI.Ped.CreatePed(PedHash.Bankman, new Vector3(player.Position.X, player.Position.Y, player.Position.Z), player.Heading, dimension);
|
|
||||||
}
|
|
||||||
|
|
||||||
[Command("addpped", "~m~Benutzung: ~s~/addpped [PedNr] [model] [dimension] [Dynamic] [Freezed] [Collision(0-3)] [Weapon] [AttackProof] [Fire/Explosion-Proof] [DrownProof]")]
|
|
||||||
public void CmdAdminAddPPed(Player player, Array PedNr, string model, uint dimension = 0, bool dynamic = false, bool freeze = false, int collision = 0, string weapon = "none", bool attackproof = false, bool fireexplosionproof = false, bool drownproof = false)
|
|
||||||
{
|
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
|
||||||
{
|
|
||||||
ChatService.NotAuthorized(player);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
player.TriggerEvent("CLIENT:AddPed", PedNr, model, player.Position.X, player.Position.Y, player.Position.Z, player.Heading, dimension, dynamic, freeze, collision, weapon, attackproof, fireexplosionproof, drownproof);
|
|
||||||
//NAPI.Ped.CreatePed(PedHash.Bankman, new Vector3(player.Position.X, player.Position.Y, player.Position.Z), player.Heading, dimension);
|
|
||||||
}
|
|
||||||
|
|
||||||
[Command("addmped", "~m~Benutzung: ~s~/addmped [model] [dimension]")]
|
|
||||||
public void CmdAdminAddMPed(Player player, int model, uint dimension = 0)
|
|
||||||
{
|
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
|
||||||
{
|
|
||||||
ChatService.NotAuthorized(player);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
player.TriggerEvent("CLIENT:AddPedModel", model, player.Position.X, player.Position.Y, player.Position.Z, player.Heading, dimension);
|
|
||||||
//NAPI.Ped.CreatePed(PedHash.Bankman, new Vector3(player.Position.X, player.Position.Y, player.Position.Z), player.Heading, dimension);
|
|
||||||
}
|
|
||||||
|
|
||||||
[Command("addgped", "~m~Benutzung: ~s~/addgped")]
|
|
||||||
public void CmdAdminAddGPed(Player player, int model, uint dimension = 0)
|
|
||||||
{
|
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
|
||||||
{
|
|
||||||
ChatService.NotAuthorized(player);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//player.TriggerEvent("CLIENT:AddPed", model, player.Position.X, player.Position.Y, player.Position.Z, player.Heading, dimension);
|
|
||||||
Ped Peter = NAPI.Ped.CreatePed(PedHash.Bankman, new Vector3(player.Position.X, player.Position.Y, player.Position.Z), player.Heading, dimension);
|
|
||||||
|
|
||||||
//Peter.freezePosition(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
[Command("addgpedmore", "~m~Benutzung: ~s~/addgpedMore")]
|
|
||||||
public void CmdAdminAddGPedMore(Player player, int model, uint dimension = 0)
|
|
||||||
{
|
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
|
||||||
{
|
|
||||||
ChatService.NotAuthorized(player);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//player.TriggerEvent("CLIENT:AddPed", model, player.Position.X, player.Position.Y, player.Position.Z, player.Heading, dimension);
|
|
||||||
Ped Peter = NAPI.Ped.CreatePed(PedHash.ChickenHawk, new Vector3(player.Position.X + 1, player.Position.Y, player.Position.Z + 2), player.Heading, dimension);
|
|
||||||
Ped Peter2 = NAPI.Ped.CreatePed(PedHash.MovAlien01, new Vector3(player.Position.X + 2, player.Position.Y, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter3 = NAPI.Ped.CreatePed(PedHash.Chimp, new Vector3(player.Position.X + 3, player.Position.Y, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter4 = NAPI.Ped.CreatePed(PedHash.Boar, new Vector3(player.Position.X + 4, player.Position.Y, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter5 = NAPI.Ped.CreatePed(PedHash.BradCadaverCutscene, new Vector3(player.Position.X + 5, player.Position.Y, player.Position.Z + 2), player.Heading, dimension);
|
|
||||||
Ped Peter6 = NAPI.Ped.CreatePed(PedHash.Cat, new Vector3(player.Position.X - 1, player.Position.Y, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter7 = NAPI.Ped.CreatePed(PedHash.Chop, new Vector3(player.Position.X - 2, player.Position.Y, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter8 = NAPI.Ped.CreatePed(PedHash.Cormorant, new Vector3(player.Position.X - 3, player.Position.Y, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter9 = NAPI.Ped.CreatePed(PedHash.Cow, new Vector3(player.Position.X - 4, player.Position.Y, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter10 = NAPI.Ped.CreatePed(PedHash.Deer, new Vector3(player.Position.X - 5, player.Position.Y, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter11 = NAPI.Ped.CreatePed(PedHash.Coyote, new Vector3(player.Position.X, player.Position.Y + 1, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter12 = NAPI.Ped.CreatePed(PedHash.Crow, new Vector3(player.Position.X, player.Position.Y + 2, player.Position.Z + 2), player.Heading, dimension);
|
|
||||||
Ped Peter13 = NAPI.Ped.CreatePed(PedHash.Humpback, new Vector3(player.Position.X, player.Position.Y + 3, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter14 = NAPI.Ped.CreatePed(PedHash.Husky, new Vector3(player.Position.X, player.Position.Y + 4, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter15 = NAPI.Ped.CreatePed(PedHash.JohnnyKlebitz, new Vector3(player.Position.X, player.Position.Y + 5, player.Position.Z - 1), player.Heading, dimension);
|
|
||||||
Ped Peter16 = NAPI.Ped.CreatePed(PedHash.Pig, new Vector3(player.Position.X, player.Position.Y - 1, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter17 = NAPI.Ped.CreatePed(PedHash.Pigeon, new Vector3(player.Position.X, player.Position.Y - 2, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter18 = NAPI.Ped.CreatePed(PedHash.Poodle, new Vector3(player.Position.X, player.Position.Y - 3, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter19 = NAPI.Ped.CreatePed(PedHash.Pug, new Vector3(player.Position.X, player.Position.Y - 4, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter20 = NAPI.Ped.CreatePed(PedHash.Rabbit, new Vector3(player.Position.X, player.Position.Y - 5, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter21 = NAPI.Ped.CreatePed(PedHash.Rat, new Vector3(player.Position.X + 1, player.Position.Y + 1, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter22 = NAPI.Ped.CreatePed(PedHash.Retriever, new Vector3(player.Position.X + 2, player.Position.Y + 2, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter23 = NAPI.Ped.CreatePed(PedHash.Rhesus, new Vector3(player.Position.X + 3, player.Position.Y + 3, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter24 = NAPI.Ped.CreatePed(PedHash.Rottweiler, new Vector3(player.Position.X + 4, player.Position.Y + 4, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter25 = NAPI.Ped.CreatePed(PedHash.Seagull, new Vector3(player.Position.X + 5, player.Position.Y + 5, player.Position.Z + 2), player.Heading, dimension);
|
|
||||||
Ped Peter26 = NAPI.Ped.CreatePed(PedHash.Shepherd, new Vector3(player.Position.X - 1, player.Position.Y - 1, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter27 = NAPI.Ped.CreatePed(PedHash.Stingray, new Vector3(player.Position.X - 2, player.Position.Y - 2, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter28 = NAPI.Ped.CreatePed(PedHash.Westy, new Vector3(player.Position.X - 3, player.Position.Y - 3, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter29 = NAPI.Ped.CreatePed(PedHash.MountainLion, new Vector3(player.Position.X - 4, player.Position.Y - 4, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter30 = NAPI.Ped.CreatePed(PedHash.FatCult01AFM, new Vector3(player.Position.X - 5, player.Position.Y - 5, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter31 = NAPI.Ped.CreatePed(PedHash.FatCult01AFM, new Vector3(player.Position.X + 1, player.Position.Y - 3, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter32 = NAPI.Ped.CreatePed(PedHash.FatCult01AFM, new Vector3(player.Position.X + 3, player.Position.Y - 1, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter33 = NAPI.Ped.CreatePed(PedHash.FatCult01AFM, new Vector3(player.Position.X - 1, player.Position.Y + 3, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter34 = NAPI.Ped.CreatePed(PedHash.Acult01AMM, new Vector3(player.Position.X - 3, player.Position.Y + 1, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter35 = NAPI.Ped.CreatePed(PedHash.Acult01AMM, new Vector3(player.Position.X + 5, player.Position.Y + 1, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter36 = NAPI.Ped.CreatePed(PedHash.Acult01AMO, new Vector3(player.Position.X + 1, player.Position.Y - 5, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter37 = NAPI.Ped.CreatePed(PedHash.Acult01AMO, new Vector3(player.Position.X + 4, player.Position.Y - 2, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter38 = NAPI.Ped.CreatePed(PedHash.Acult01AMY, new Vector3(player.Position.X - 5, player.Position.Y + 2, player.Position.Z), player.Heading, dimension);
|
|
||||||
Ped Peter39 = NAPI.Ped.CreatePed(PedHash.Acult01AMY, new Vector3(player.Position.X - 4, player.Position.Y - 1, player.Position.Z), player.Heading, dimension);
|
|
||||||
|
|
||||||
//Peter.freezePosition(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
[Command("gotox", "~m~Benutzung: ~s~/gotox [X] [Y] [Z]")]
|
[Command("gotox", "~m~Benutzung: ~s~/gotox [X] [Y] [Z]")]
|
||||||
public void CmdAdminGotoxyz(Player player, float x, float y, float z)
|
public void CmdAdminGotox(Player player, float x, float y, float z)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -1515,7 +1394,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("aclear", "~m~Benutzung: ~s~/aclear [Spieler] [Grund]", GreedyArg = true)]
|
[Command("aclear", "~m~Benutzung: ~s~/aclear [Spieler] [Grund]", GreedyArg = true)]
|
||||||
public void CmdFactionClear(Player player, string nameOrId, string reason)
|
public void CmdAdminClear(Player player, string nameOrId, string reason)
|
||||||
{
|
{
|
||||||
User user = player.GetUser();
|
User user = player.GetUser();
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
||||||
@@ -1650,7 +1529,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("vcolor", "~m~Benutzung: ~s~/vcolor [Farb-ID1] [Farb-ID2]")]
|
[Command("vcolor", "~m~Benutzung: ~s~/vcolor [Farb-ID1] [Farb-ID2]")]
|
||||||
public void CmdAdminColor(Player player, int color1, int color2)
|
public void CmdAdminVColor(Player player, int color1, int color2)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -1766,7 +1645,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
public void CmdAdminUnshow(Player player)
|
public void CmdAdminUnshow(Player player)
|
||||||
{
|
{
|
||||||
User user = player.GetUser();
|
User user = player.GetUser();
|
||||||
if (!user.IsAdmin(AdminLevel.HEADADMIN))
|
if (!user.IsAdmin(AdminLevel.ADMIN))
|
||||||
{
|
{
|
||||||
ChatService.NotAuthorized(player);
|
ChatService.NotAuthorized(player);
|
||||||
return;
|
return;
|
||||||
@@ -1834,7 +1713,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("setsvar", "~m~Benutzung:~s~ /setsvar [ID] [WERT]")]
|
[Command("setsvar", "~m~Benutzung:~s~ /setsvar [ID] [WERT]")]
|
||||||
public void CmdAdmSetSvar(Player player, int varId, int varValue)
|
public void CmdAdminSetSvar(Player player, int varId, int varValue)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.PROJEKTLEITUNG) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.PROJEKTLEITUNG) ?? true)
|
||||||
{
|
{
|
||||||
@@ -1845,7 +1724,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("createturf", "~m~Benutzung:~s~ /createturf [radius]")]
|
[Command("createturf", "~m~Benutzung:~s~ /createturf [radius]")]
|
||||||
public void CmdAdmCreateTurf(Player player, float option)
|
public void CmdAdminCreateTurf(Player player, float option)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -1867,7 +1746,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("cancleturf", "~m~Benutzung:~s~ /cancleturf")]
|
[Command("cancleturf", "~m~Benutzung:~s~ /cancleturf")]
|
||||||
public void CmdAdmCancleTurf(Player player)
|
public void CmdAdminCancleTurf(Player player)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -1878,7 +1757,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("reloadturfs", "~m~Benutzung:~s~ /ReloadTurfs")]
|
[Command("reloadturfs", "~m~Benutzung:~s~ /ReloadTurfs")]
|
||||||
public void CmdAdmReloadTurf(Player player)
|
public void CmdAdminReloadTurf(Player player)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -1890,7 +1769,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("deleteturf", "~m~Benutzung:~s~ /DeleteTurfs")]
|
[Command("deleteturf", "~m~Benutzung:~s~ /DeleteTurfs")]
|
||||||
public void CmdAdmDeleteTurf(Player player)
|
public void CmdAdminDeleteTurf(Player player)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -1901,7 +1780,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("setturfpoint", "~m~Benutzung:~s~ /setturfpoint")]
|
[Command("setturfpoint", "~m~Benutzung:~s~ /setturfpoint")]
|
||||||
public void CmdAdmSetTurfPoint(Player player)
|
public void CmdAdminSetTurfPoint(Player player)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -1943,7 +1822,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
ChatService.SendMessage(target, "~r~WARNINFO: ~w~Dir wurde von " + adminPlayername + " ein Warn entfernt: " + reason);
|
ChatService.SendMessage(target, "~r~WARNINFO: ~w~Dir wurde von " + adminPlayername + " ein Warn entfernt: " + reason);
|
||||||
|
|
||||||
ChatService.Broadcast("~y~INFO: ~w~" + targetPlayername + " wurde von " + player.GetUser().AdminLevel.GetName() + " " + adminPlayername + " ein Warn entfernt: " + reason);
|
ChatService.BroadcastAdmin("~y~INFO: ~w~" + targetPlayername + " wurde von " + player.GetUser().AdminLevel.GetName() + " " + adminPlayername + " ein Warn entfernt: " + reason, AdminLevel.ADMIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("setskill", "~m~Benutzung: ~s~/setskill [Playerid] [Bus/Pilot] [Menge]")]
|
[Command("setskill", "~m~Benutzung: ~s~/setskill [Playerid] [Bus/Pilot] [Menge]")]
|
||||||
@@ -2124,7 +2003,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("setweather", "~m~Benutzung: ~s~/setweather [Wetter]")]
|
[Command("setweather", "~m~Benutzung: ~s~/setweather [Wetter]")]
|
||||||
public void CmdAdminSetweather(Player player, string weather)
|
public void CmdAdminSetWeather(Player player, string weather)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -2174,7 +2053,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
|
|
||||||
[Command("showtuningmenu", "~m~Benutzung: ~s~/showtuningmenu", Alias = "stm")]
|
[Command("showtuningmenu", "~m~Benutzung: ~s~/showtuningmenu", Alias = "stm")]
|
||||||
public void CmdAdminShowtuningmenu(Player player)
|
public void CmdAdminShowTuningMenu(Player player)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -2244,14 +2123,14 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
[Command("wepmod", "~m~Benutzung: ~s~/wepmod [Variable]")]
|
[Command("wepmod", "~m~Benutzung: ~s~/wepmod [Variable]")]
|
||||||
public void CmdWeaponModifier(Player player, float modifier)
|
public void CmdWeaponModifier(Player player, float modifier)
|
||||||
{
|
{
|
||||||
player.SendChatMessage("Modifier steht auf" + modifier);
|
player.SendChatMessage("Modifier steht auf " + modifier);
|
||||||
player.TriggerEvent("SERVER:WeaponModifier2", player, modifier, 1);
|
player.TriggerEvent("SERVER:WeaponModifier2", player, modifier, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("wepmmod", "~m~Benutzung: ~s~/wepmmod [Variable]")]
|
[Command("wepmmod", "~m~Benutzung: ~s~/wepmmod [Variable]")]
|
||||||
public void CmdWeaponMeeleModifier(Player player, float modifier)
|
public void CmdWeaponMeeleModifier(Player player, float modifier)
|
||||||
{
|
{
|
||||||
player.SendChatMessage("MeeleModifier steht auf" + modifier);
|
player.SendChatMessage("MeeleModifier steht auf " + modifier);
|
||||||
player.TriggerEvent("SERVER:WeaponModifier2", player, 1, modifier);
|
player.TriggerEvent("SERVER:WeaponModifier2", player, 1, modifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2269,7 +2148,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("sethandmoney", "~m~Benutzung: ~s~/sethandmoney [Name/ID] [Menge]")]
|
[Command("sethandmoney", "~m~Benutzung: ~s~/sethandmoney [Name/ID] [Menge]")]
|
||||||
public void CmdAdminSetUserHandMoney(Player admin, string targetname, int amount)
|
public void CmdAdminSetHandMoney(Player admin, string targetname, int amount)
|
||||||
{
|
{
|
||||||
if (!admin.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!admin.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -2287,6 +2166,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
{
|
{
|
||||||
var user = target.GetUser(context);
|
var user = target.GetUser(context);
|
||||||
user.Handmoney = amount;
|
user.Handmoney = amount;
|
||||||
|
logger.LogInformation("Admin {0} set the handmoney of player {1} to {2} dollars", admin.Name, target.Name, amount);
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
//target.TriggerEvent("SERVER:SET_HANDMONEY", amount);
|
//target.TriggerEvent("SERVER:SET_HANDMONEY", amount);
|
||||||
}
|
}
|
||||||
@@ -2295,7 +2175,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("givehandmoney", "~m~Benutzung: ~s~/givehandmoney [Name/ID] [Menge]")]
|
[Command("givehandmoney", "~m~Benutzung: ~s~/givehandmoney [Name/ID] [Menge]")]
|
||||||
public void CmdAdminGiveUserHandMoney(Player admin, string targetname, int amount)
|
public void CmdAdminGiveHandMoney(Player admin, string targetname, int amount)
|
||||||
{
|
{
|
||||||
if (!admin.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!admin.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -2313,6 +2193,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
{
|
{
|
||||||
var user = target.GetUser(context);
|
var user = target.GetUser(context);
|
||||||
user.Handmoney += amount;
|
user.Handmoney += amount;
|
||||||
|
logger.LogInformation("Admin {0} added {2} dollarsto the handmoney of player {1}", admin.Name, target.Name, amount);
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
//target.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
|
//target.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
|
||||||
}
|
}
|
||||||
@@ -2321,7 +2202,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("quicksavemode", "~m~Benutzung: ~s~/quicksavemode [Modus]: ~g~blip, ~g~atm")]
|
[Command("quicksavemode", "~m~Benutzung: ~s~/quicksavemode [Modus]: ~g~blip, ~g~atm")]
|
||||||
public void CmdAdminSetQuickSaveMode(Player player, string mode)
|
public void CmdAdminQuickSaveMode(Player player, string mode)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -2371,7 +2252,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("setshopitem", "~m~Benutzung: ~s~/setshopitem [Item ID]")]
|
[Command("setshopitem", "~m~Benutzung: ~s~/setshopitem [Item ID]")]
|
||||||
public void CmdAdminSetItemInShop(Player player, int itemId)
|
public void CmdAdminSetShopItem(Player player, int itemId)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -2417,7 +2298,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("rmshopitem", "~m~Benutzung: ~s~/rmshopitem [Item ID]")]
|
[Command("rmshopitem", "~m~Benutzung: ~s~/rmshopitem [Item ID]")]
|
||||||
public void CmdAdminRemoveItemInShop(Player player, int itemId)
|
public void CmdAdminRmShopItem(Player player, int itemId)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -3226,7 +3107,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
//
|
//
|
||||||
[Command("managefactionranks", "~m~Benutzung: ~s~/managefactionranks [Fraktions-ID]", Alias = "mfr")]
|
[Command("managefactionranks", "~m~Benutzung: ~s~/managefactionranks [Fraktions-ID]", Alias = "mfr")]
|
||||||
public void CmdFactionManageFactionRanks(Player player, int factionID)
|
public void CmdAdminManageFactionRanks(Player player, int factionID)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -3340,7 +3221,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("setmoney", "~m~Benutzung: ~s~/setmoney [Name] [Menge]")]
|
[Command("setmoney", "~m~Benutzung: ~s~/setmoney [Name] [Menge]")]
|
||||||
public void SetPlayerMoney(Player player, string receiver, int amount)
|
public void CmdAdminSetMoney(Player player, string receiver, int amount)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -3356,6 +3237,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
|
logger.LogInformation("Admin {0} set the bank account of {1} to {2} dollars", player.Name, target.Name, amount);
|
||||||
target.GetUser(dbContext).BankAccount.Balance = amount;
|
target.GetUser(dbContext).BankAccount.Balance = amount;
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
@@ -3364,7 +3246,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("givemoney", "~m~Benutzung: ~s~/givemoney [Name] [Menge]")]
|
[Command("givemoney", "~m~Benutzung: ~s~/givemoney [Name] [Menge]")]
|
||||||
public void GivePlayerMoney(Player player, string receiver, int amount)
|
public void GiveAdminGiveMoney(Player player, string receiver, int amount)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -3381,6 +3263,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
|
logger.LogInformation("Admin {0} added {1} dollars to the bank account of {2}", player.Name, amount, target.Name);
|
||||||
target.GetUser(dbContext).BankAccount.Balance += amount;
|
target.GetUser(dbContext).BankAccount.Balance += amount;
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
@@ -3389,7 +3272,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("setbusinessowner", "~m~Benutzung: ~s~/setbusinessowner [Name] [Business ID]")]
|
[Command("setbusinessowner", "~m~Benutzung: ~s~/setbusinessowner [Name] [Business ID]")]
|
||||||
public void CmdAdminSetbusinessowner(Player player, string name, int businessid)
|
public void CmdAdminSetBusinessOwner(Player player, string name, int businessid)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -3470,7 +3353,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("setbusinessbankbalance", "~m~Benutzung: ~s~/setbusinessbankbalance [Business ID] [Menge]")]
|
[Command("setbusinessbankbalance", "~m~Benutzung: ~s~/setbusinessbankbalance [Business ID] [Menge]")]
|
||||||
public void CmdAdminGivebusinessbankbalance(Player player, int businessid, int amount)
|
public void CmdAdminSetBusinessBankBalance(Player player, int businessid, int amount)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -4002,7 +3885,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("blind", "~m~Benutzung: ~s~/blind [Spieler] [Mode]")]
|
[Command("blind", "~m~Benutzung: ~s~/blind [Spieler] [Mode]")]
|
||||||
public void CmdBlind(Player player, string name, int mode)
|
public void CmdAdminBlind(Player player, string name, int mode)
|
||||||
{
|
{
|
||||||
if (!player.IsLoggedIn()) return;
|
if (!player.IsLoggedIn()) return;
|
||||||
|
|
||||||
@@ -4073,7 +3956,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
[RemoteEvent("Noclip")]
|
[RemoteEvent("Noclip")]
|
||||||
public void Noclip(Player player)
|
public void Noclip(Player player)
|
||||||
{
|
{
|
||||||
if (!player.GetUser().IsAdmin(AdminLevel.HEADADMIN))
|
if (!player.GetUser().IsAdmin(AdminLevel.ADMIN))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Entities.Logs.Chat;
|
using ReallifeGamemode.Database.Entities.Logs.Chat;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
@@ -15,6 +16,7 @@ using ReallifeGamemode.Server.Services;
|
|||||||
using ReallifeGamemode.Server.Types;
|
using ReallifeGamemode.Server.Types;
|
||||||
using ReallifeGamemode.Server.Util;
|
using ReallifeGamemode.Server.Util;
|
||||||
using ReallifeGamemode.Services;
|
using ReallifeGamemode.Services;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @overview Life of German Reallife - Faction Commands (Faction.cs)
|
* @overview Life of German Reallife - Faction Commands (Faction.cs)
|
||||||
@@ -26,6 +28,8 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
{
|
{
|
||||||
internal class FactionCommands : Script
|
internal class FactionCommands : Script
|
||||||
{
|
{
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<FactionCommands>();
|
||||||
|
|
||||||
#region Chat Commands
|
#region Chat Commands
|
||||||
|
|
||||||
[Command("f", "~m~Benutzung: ~s~/f [Nachricht]", GreedyArg = true)]
|
[Command("f", "~m~Benutzung: ~s~/f [Nachricht]", GreedyArg = true)]
|
||||||
@@ -233,7 +237,20 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
[Command("giverank", "~m~Benutzung: ~s~/giverank [Name] [Rang]", GreedyArg = true)]
|
[Command("giverank", "~m~Benutzung: ~s~/giverank [Name] [Rang]", GreedyArg = true)]
|
||||||
public void CmdFactionGiverank(Player player, string name, string rank)
|
public void CmdFactionGiverank(Player player, string name, string rank)
|
||||||
{
|
{
|
||||||
if (player.GetUser()?.FactionId == null || player.GetUser().FactionLeader == false)
|
if (!player.IsLoggedIn())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
using var dbContext = new DatabaseContext();
|
||||||
|
User user = player.GetUser(dbContext);
|
||||||
|
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (user.FactionId == null || !user.FactionLeader)
|
||||||
{
|
{
|
||||||
ChatService.NotAuthorized(player);
|
ChatService.NotAuthorized(player);
|
||||||
return;
|
return;
|
||||||
@@ -246,29 +263,33 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (target.GetUser()?.FactionId != player.GetUser()?.FactionId)
|
User targetUser = target.GetUser(dbContext);
|
||||||
|
if (targetUser == null)
|
||||||
|
{
|
||||||
|
ChatService.PlayerNotFound(player);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (targetUser.FactionId != user.FactionId)
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(player, "Dieser Spieler ist nicht in deiner Fraktion");
|
ChatService.ErrorMessage(player, "Dieser Spieler ist nicht in deiner Fraktion");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
using (var dbContext = new DatabaseContext())
|
FactionRank fr = dbContext.FactionRanks.FirstOrDefault(r => r.Order == int.Parse(rank) && r.FactionId == user.FactionId);
|
||||||
{
|
|
||||||
FactionRank fr = dbContext.FactionRanks.FirstOrDefault(r => r.Order == int.Parse(rank) && r.FactionId == player.GetUser(dbContext).FactionId);
|
|
||||||
if (fr == null)
|
if (fr == null)
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(player, "Dieser Rang existiert nicht");
|
ChatService.ErrorMessage(player, "Dieser Rang existiert nicht");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
target.GetUser(dbContext).FactionRankId = fr.Id;
|
targetUser.FactionRankId = fr.Id;
|
||||||
|
|
||||||
ChatService.SendMessage(player, "!{02FCFF}Du hast " + target.Name + " den Rang '" + fr.RankName + "' (" + fr.Order + ") gegeben.");
|
ChatService.SendMessage(player, "!{02FCFF}Du hast " + target.Name + " den Rang '" + fr.RankName + "' (" + fr.Order + ") gegeben.");
|
||||||
ChatService.SendMessage(target, "!{02FCFF}Du hast von " + player.Name + " den Rang '" + fr.RankName + "' (" + fr.Order + ")' erhalten.");
|
ChatService.SendMessage(target, "!{02FCFF}Du hast von " + player.Name + " den Rang '" + fr.RankName + "' (" + fr.Order + ")' erhalten.");
|
||||||
|
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[Command("lc", "~m~Benutzung: ~s~/lc [Nachricht]", GreedyArg = true)]
|
[Command("lc", "~m~Benutzung: ~s~/lc [Nachricht]", GreedyArg = true)]
|
||||||
public void CmdFactionLc(Player player, string message)
|
public void CmdFactionLc(Player player, string message)
|
||||||
@@ -413,17 +434,19 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (deadPlayerUser.Handmoney >= 100)
|
if (deadPlayerUser.Handmoney >= Medic.ReviveIncome)
|
||||||
{
|
{
|
||||||
deadPlayerUser.Handmoney -= 100;
|
deadPlayerUser.Handmoney -= Medic.ReviveIncome;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int bankMoney = 100 - deadPlayerUser.Handmoney;
|
int bankMoney = Medic.ReviveIncome - deadPlayerUser.Handmoney;
|
||||||
deadPlayerUser.Handmoney = 0;
|
deadPlayerUser.Handmoney = 0;
|
||||||
deadPlayerUser.BankAccount.Balance -= bankMoney;
|
deadPlayerUser.BankAccount.Balance -= bankMoney;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
logger.LogInformation("Player {0} has been revived by {1} for {2} dollars", deadPlayer.Name, player.Name, Medic.ReviveIncome);
|
||||||
|
|
||||||
player.PlayAnimation("amb@medic@standing@kneel@enter", "enter", 0);
|
player.PlayAnimation("amb@medic@standing@kneel@enter", "enter", 0);
|
||||||
|
|
||||||
deadPlayer.TriggerEvent("onPlayerRevived");
|
deadPlayer.TriggerEvent("onPlayerRevived");
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
@@ -13,17 +14,22 @@ using ReallifeGamemode.Server.Services;
|
|||||||
using ReallifeGamemode.Server.Types;
|
using ReallifeGamemode.Server.Types;
|
||||||
using ReallifeGamemode.Server.Util;
|
using ReallifeGamemode.Server.Util;
|
||||||
using ReallifeGamemode.Services;
|
using ReallifeGamemode.Services;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
|
|
||||||
namespace ReallifeGamemode.Server.Commands
|
namespace ReallifeGamemode.Server.Commands
|
||||||
{
|
{
|
||||||
internal class UserCommands : Script
|
internal class UserCommands : Script
|
||||||
{
|
{
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<UserCommands>();
|
||||||
|
|
||||||
|
private const int SMS_PRICE = 5;
|
||||||
|
|
||||||
[Command("rent", "~m~rent stop")]
|
[Command("rent", "~m~rent stop")]
|
||||||
public void CmdUserStopRent(Player player, String option = "")
|
public void CmdUserStopRent(Player player, String option = "")
|
||||||
{
|
{
|
||||||
if (!player.IsLoggedIn()) return;
|
if (!player.IsLoggedIn()) return;
|
||||||
|
|
||||||
if (option != "stop")
|
if (option.ToLower() != "stop")
|
||||||
{
|
{
|
||||||
player.SendChatMessage("Mit \"/rent stop\" kannst du die Miete kündigen");
|
player.SendChatMessage("Mit \"/rent stop\" kannst du die Miete kündigen");
|
||||||
return;
|
return;
|
||||||
@@ -113,13 +119,15 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
User user = player.GetUser(dbContext);
|
User user = player.GetUser(dbContext);
|
||||||
if (user.BankAccount.Balance < 5)
|
if (user.BankAccount.Balance < SMS_PRICE)
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(player, "Dafür hast du nicht genug Geld auf deinem Bankkonto");
|
ChatService.ErrorMessage(player, "Dafür hast du nicht genug Geld auf deinem Bankkonto");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
user.BankAccount.Balance -= 5;
|
logger.LogInformation("Player {0} sent a sms to {1} for {2} dollars", player.Name, target.Name, SMS_PRICE);
|
||||||
|
|
||||||
|
user.BankAccount.Balance -= SMS_PRICE;
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,17 +6,24 @@ using ReallifeGamemode.Server.Extensions;
|
|||||||
using ReallifeGamemode.Server.Managers;
|
using ReallifeGamemode.Server.Managers;
|
||||||
using ReallifeGamemode.Server.Util;
|
using ReallifeGamemode.Server.Util;
|
||||||
using System;
|
using System;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
|
|
||||||
namespace ReallifeGamemode.Server.DrivingSchool
|
namespace ReallifeGamemode.Server.DrivingSchool
|
||||||
{
|
{
|
||||||
internal class DrivingSchool : Script
|
internal class DrivingSchool : Script
|
||||||
{
|
{
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<DrivingSchool>();
|
||||||
|
|
||||||
private static TextLabel informationLabel;
|
private static TextLabel informationLabel;
|
||||||
private static Marker marker;
|
private static Marker marker;
|
||||||
private static ColShape _colShape;
|
private static ColShape _colShape;
|
||||||
public static Vector3 Position { get; }
|
public static Vector3 Position { get; }
|
||||||
private const int FAILPOINTS = 2;
|
private const int FAILPOINTS = 2;
|
||||||
|
|
||||||
|
private const int CAR_LICENSE_PRICE = 2500;
|
||||||
|
private const int BIKE_LICENSE_PRICE = 3500;
|
||||||
|
|
||||||
private readonly IReadOnlyCollection<Vector3> BikeRoute = new List<Vector3>
|
private readonly IReadOnlyCollection<Vector3> BikeRoute = new List<Vector3>
|
||||||
{
|
{
|
||||||
new Vector3(-741.98, -1283.46, 6.17),
|
new Vector3(-741.98, -1283.46, 6.17),
|
||||||
@@ -129,7 +136,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (user.Handmoney < 2500)
|
if (user.Handmoney < CAR_LICENSE_PRICE)
|
||||||
{
|
{
|
||||||
client.SendNotification("~r~[FEHLER]~s~ Du hast nicht genug Geld auf der Hand($2.500)!", true);
|
client.SendNotification("~r~[FEHLER]~s~ Du hast nicht genug Geld auf der Hand($2.500)!", true);
|
||||||
return;
|
return;
|
||||||
@@ -138,7 +145,8 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
|||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
User payer = client.GetUser(dbContext);
|
User payer = client.GetUser(dbContext);
|
||||||
payer.Handmoney -= 2500;
|
payer.Handmoney -= CAR_LICENSE_PRICE;
|
||||||
|
logger.LogInformation("Player {0} bought the driving school (car) for {1} dollars", client.Name, CAR_LICENSE_PRICE);
|
||||||
// client.TriggerEvent("SERVER:SET_HANDMONEY", payer.Handmoney);
|
// client.TriggerEvent("SERVER:SET_HANDMONEY", payer.Handmoney);
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
@@ -232,7 +240,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
switch(checkpoint)
|
switch (checkpoint)
|
||||||
{
|
{
|
||||||
case 25:
|
case 25:
|
||||||
case 26:
|
case 26:
|
||||||
@@ -275,7 +283,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
|||||||
client.SendChatMessage("~b~[INFO]~s~ Du besitzt schon einen Motorradschein.");
|
client.SendChatMessage("~b~[INFO]~s~ Du besitzt schon einen Motorradschein.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (user.Handmoney < 3500)
|
if (user.Handmoney < BIKE_LICENSE_PRICE)
|
||||||
{
|
{
|
||||||
client.SendNotification("~r~[FEHLER]~s~Du hast nicht genug Geld auf der Hand($3.500)!", true);
|
client.SendNotification("~r~[FEHLER]~s~Du hast nicht genug Geld auf der Hand($3.500)!", true);
|
||||||
return;
|
return;
|
||||||
@@ -284,7 +292,8 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
|||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
User payer = client.GetUser(dbContext);
|
User payer = client.GetUser(dbContext);
|
||||||
payer.Handmoney -= 3500;
|
payer.Handmoney -= BIKE_LICENSE_PRICE;
|
||||||
|
logger.LogInformation("Player {0} bought the driving school (bike) for {1} dollars", client.Name, BIKE_LICENSE_PRICE);
|
||||||
// client.TriggerEvent("SERVER:SET_HANDMONEY", payer.Handmoney);
|
// client.TriggerEvent("SERVER:SET_HANDMONEY", payer.Handmoney);
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
using ReallifeGamemode.Server.Extensions;
|
using ReallifeGamemode.Server.Extensions;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
using ReallifeGamemode.Server.Managers;
|
using ReallifeGamemode.Server.Managers;
|
||||||
using ReallifeGamemode.Server.Util;
|
using ReallifeGamemode.Server.Util;
|
||||||
|
|
||||||
@@ -15,8 +17,12 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
|||||||
private static ColShape _colShape1;
|
private static ColShape _colShape1;
|
||||||
public static Vector3 Position { get; }
|
public static Vector3 Position { get; }
|
||||||
|
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<PlaneSchool>();
|
||||||
|
|
||||||
private const int CHECKPOINT_MARKER_ID = 6;
|
private const int CHECKPOINT_MARKER_ID = 6;
|
||||||
|
|
||||||
|
private const int PLANE_LICENSE_PRICE = 5000;
|
||||||
|
|
||||||
private readonly IReadOnlyCollection<Vector3> planeRoute = new List<Vector3>
|
private readonly IReadOnlyCollection<Vector3> planeRoute = new List<Vector3>
|
||||||
{
|
{
|
||||||
new Vector3(-1114.39, -2333.09, 14.87),
|
new Vector3(-1114.39, -2333.09, 14.87),
|
||||||
@@ -74,7 +80,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
|||||||
client.SendChatMessage("~b~[INFO]~s~ Du besitzt schon einen Flugschein.");
|
client.SendChatMessage("~b~[INFO]~s~ Du besitzt schon einen Flugschein.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (user.Handmoney < 5000)
|
if (user.Handmoney < PLANE_LICENSE_PRICE)
|
||||||
{
|
{
|
||||||
client.SendNotification("~r~Du brauchst ~g~$5.000~r~ auf der Hand, um die Prüfung starten zu können.", true);
|
client.SendNotification("~r~Du brauchst ~g~$5.000~r~ auf der Hand, um die Prüfung starten zu können.", true);
|
||||||
return;
|
return;
|
||||||
@@ -82,7 +88,8 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
|||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
User payer = client.GetUser(dbContext);
|
User payer = client.GetUser(dbContext);
|
||||||
payer.Handmoney -= 5000;
|
payer.Handmoney -= PLANE_LICENSE_PRICE;
|
||||||
|
logger.LogInformation("Player {0} bought the plane school for {1} dollars", client.Name, PLANE_LICENSE_PRICE);
|
||||||
//client.TriggerEvent("SERVER:SET_HANDMONEY", payer.Handmoney);
|
//client.TriggerEvent("SERVER:SET_HANDMONEY", payer.Handmoney);
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
@@ -171,7 +178,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
|||||||
|
|
||||||
case 14:
|
case 14:
|
||||||
user.TriggerEvent("renderTextOnScreen", "Setzen Sie zum Landeanflug an. Drücken Sie 'G', um das Fahrwerk auszufahren.");
|
user.TriggerEvent("renderTextOnScreen", "Setzen Sie zum Landeanflug an. Drücken Sie 'G', um das Fahrwerk auszufahren.");
|
||||||
CheckPointHandle.StartCheckPointRoute(user, planeRouteEnd, 5000, CHECKPOINT_MARKER_ID, 12, 5, true, "planeSchoolEventEnd");
|
CheckPointHandle.StartCheckPointRoute(user, planeRouteEnd, PLANE_LICENSE_PRICE, CHECKPOINT_MARKER_ID, 12, 5, true, "planeSchoolEventEnd");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using System.Collections;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
@@ -19,6 +20,7 @@ using ReallifeGamemode.Server.Services;
|
|||||||
using ReallifeGamemode.Server.Types;
|
using ReallifeGamemode.Server.Types;
|
||||||
using ReallifeGamemode.Server.Util;
|
using ReallifeGamemode.Server.Util;
|
||||||
using ReallifeGamemode.Server.WeaponDeal;
|
using ReallifeGamemode.Server.WeaponDeal;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @overview Life of German Reallife - Event Key (Key.cs)
|
* @overview Life of German Reallife - Event Key (Key.cs)
|
||||||
@@ -30,6 +32,8 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
{
|
{
|
||||||
public class Key : Script
|
public class Key : Script
|
||||||
{
|
{
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<Key>();
|
||||||
|
|
||||||
#region User Key
|
#region User Key
|
||||||
|
|
||||||
[RemoteEvent("keyPress:NUM2")]
|
[RemoteEvent("keyPress:NUM2")]
|
||||||
@@ -171,7 +175,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
isActive = JobBase.GetPlayerInJob().Contains(player),
|
isActive = JobBase.GetPlayerInJob().Contains(player),
|
||||||
};
|
};
|
||||||
|
|
||||||
var memberList = dbContext.Users.Where(f => f.FactionId == u.FactionId && u.FactionId != 0).OrderByDescending(f => f.FactionRank.Order).ThenBy(f => f.Name).Select(m => new
|
var memberList = dbContext.Users.Where(f => f.FactionId == u.FactionId && u.FactionId != null && u.FactionId != 0).OrderByDescending(f => f.FactionRank.Order).ThenBy(f => f.Name).Select(m => new
|
||||||
{
|
{
|
||||||
username = m.Name,
|
username = m.Name,
|
||||||
factionRank = m.FactionRank.Order,
|
factionRank = m.FactionRank.Order,
|
||||||
@@ -293,6 +297,8 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
dbContext.VehicleItems.Remove(v);
|
dbContext.VehicleItems.Remove(v);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
logger.LogInformation("Player {0} took the weapon deal item {1} (amount: {2}) out of weapon vehicle {3}", player.Name, v.VehicleId, itemToAdd, v.VehicleId);
|
||||||
|
|
||||||
InventoryManager.AddItemToInventory(player, v.ItemId, itemToAdd);
|
InventoryManager.AddItemToInventory(player, v.ItemId, itemToAdd);
|
||||||
nearestBehindVehiclePoint.usePoint(player);
|
nearestBehindVehiclePoint.usePoint(player);
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
@@ -392,6 +398,8 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
logger.LogInformation("Player {0} put the weapon deal item \"{1}\" (amount: {2}) in weapon rack of faction {3}", player.Name, weapon.WeaponModel, item.Amount, user.FactionId);
|
||||||
|
|
||||||
weapon.Ammount += item.Amount;
|
weapon.Ammount += item.Amount;
|
||||||
ChatService.SendMessage(player, $"~y~[WT] ~s~Du hast eine ~y~Kiste abgeladen ~s~(Inhalt: {item.Amount}x {iItem.Name}).");
|
ChatService.SendMessage(player, $"~y~[WT] ~s~Du hast eine ~y~Kiste abgeladen ~s~(Inhalt: {item.Amount}x {iItem.Name}).");
|
||||||
unloadedWeaponPackage = true;
|
unloadedWeaponPackage = true;
|
||||||
@@ -585,6 +593,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"))
|
||||||
@@ -963,7 +1008,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
}
|
}
|
||||||
|
|
||||||
[RemoteEvent("keyPress:Z")]
|
[RemoteEvent("keyPress:Z")]
|
||||||
public void KeyPressX(Player player)
|
public void KeyPressZ(Player player)
|
||||||
{
|
{
|
||||||
if (!player.IsLoggedIn() || player.GetData<bool>("isDead")) return;
|
if (!player.IsLoggedIn() || player.GetData<bool>("isDead")) return;
|
||||||
|
|
||||||
|
|||||||
@@ -6,11 +6,15 @@ using ReallifeGamemode.Database.Entities;
|
|||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
using ReallifeGamemode.Server.Extensions;
|
using ReallifeGamemode.Server.Extensions;
|
||||||
using System;
|
using System;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
|
|
||||||
namespace ReallifeGamemode.Server.Events
|
namespace ReallifeGamemode.Server.Events
|
||||||
{
|
{
|
||||||
public class UpdateCharacterCloth : Script
|
public class UpdateCharacterCloth : Script
|
||||||
{
|
{
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<UpdateCharacterCloth>();
|
||||||
|
|
||||||
[RemoteEvent("updateDutyProp")]
|
[RemoteEvent("updateDutyProp")]
|
||||||
public void UpdateDutyProp(Player player, int componentId, int componentVariation)
|
public void UpdateDutyProp(Player player, int componentId, int componentVariation)
|
||||||
{
|
{
|
||||||
@@ -280,7 +284,8 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(data[0] == 2){
|
if (data[0] == 2)
|
||||||
|
{
|
||||||
User payer = client.GetUser(dbContext);
|
User payer = client.GetUser(dbContext);
|
||||||
payer.GetCharacter(dbContext);
|
payer.GetCharacter(dbContext);
|
||||||
payer.Character.Hair = Convert.ToByte(data[2]);
|
payer.Character.Hair = Convert.ToByte(data[2]);
|
||||||
@@ -288,6 +293,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
}
|
}
|
||||||
|
|
||||||
client.GetUser(dbContext).Handmoney -= data[6];
|
client.GetUser(dbContext).Handmoney -= data[6];
|
||||||
|
logger.LogInformation("Player {0} bought clothing for {1} dollars: slot = {2}, cloth = {3}, texture = {4}", client.Name, data[6], data[0], data[2], data[1]);
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
//client.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
|
//client.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -140,14 +140,9 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
{
|
{
|
||||||
ServerVehicle carlocked = v.GetServerVehicle(dbContext);
|
ServerVehicle carlocked = v.GetServerVehicle(dbContext);
|
||||||
|
|
||||||
if (state == true)
|
if (carlocked != null)
|
||||||
{
|
{
|
||||||
carlocked.Locked = true;
|
carlocked.Locked = state;
|
||||||
dbContext.SaveChanges();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
carlocked.Locked = false;
|
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -208,14 +203,9 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
{
|
{
|
||||||
ServerVehicle carlocked = vehicle.GetServerVehicle(dbContext);
|
ServerVehicle carlocked = vehicle.GetServerVehicle(dbContext);
|
||||||
|
|
||||||
if (state == true)
|
if (carlocked != null)
|
||||||
{
|
{
|
||||||
carlocked.Locked = true;
|
carlocked.Locked = state;
|
||||||
dbContext.SaveChanges();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
carlocked.Locked = false;
|
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
player.SendNotification("Du hast nicht genügend Geld bei dir");
|
player.SendNotification("Du hast nicht genügend Geld bei dir");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
logger.LogInformation("Player {0} bought a {1} in ammunation", user.Name, weaponmodel);
|
logger.LogInformation("Player {0} bought a weapon {1} in ammunation for {2} dollars", user.Name, weaponmodel, price);
|
||||||
user.Handmoney -= price;
|
user.Handmoney -= price;
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
player.GiveWeapon(NAPI.Util.WeaponNameToModel(weaponmodel), ammo);
|
player.GiveWeapon(NAPI.Util.WeaponNameToModel(weaponmodel), ammo);
|
||||||
|
|||||||
@@ -3,10 +3,12 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
using ReallifeGamemode.Server.Admin;
|
using ReallifeGamemode.Server.Admin;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
using ReallifeGamemode.Server.Managers;
|
using ReallifeGamemode.Server.Managers;
|
||||||
using ReallifeGamemode.Server.Services;
|
using ReallifeGamemode.Server.Services;
|
||||||
using ReallifeGamemode.Server.Types;
|
using ReallifeGamemode.Server.Types;
|
||||||
@@ -22,6 +24,8 @@ namespace ReallifeGamemode.Server.Extensions
|
|||||||
{
|
{
|
||||||
public static class PlayerExtension
|
public static class PlayerExtension
|
||||||
{
|
{
|
||||||
|
private static ILogger Logger => LogManager.GetLogger(typeof(PlayerExtension));
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gibt das User-Objekt eines Player's zurück.
|
/// Gibt das User-Objekt eines Player's zurück.
|
||||||
/// Gibt nichts zurück, wenn der Player nicht eingeloggt ist
|
/// Gibt nichts zurück, wenn der Player nicht eingeloggt ist
|
||||||
@@ -108,6 +112,8 @@ namespace ReallifeGamemode.Server.Extensions
|
|||||||
faction.BankAccount.Balance += factionMoney;
|
faction.BankAccount.Balance += factionMoney;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Logger.LogInformation("Player {0} was sent to jail for {1} seconds, executive factions got {2} dollars each", user.Name, time, factionMoney);
|
||||||
|
|
||||||
user.Wanteds = 0;
|
user.Wanteds = 0;
|
||||||
user.JailTime = time;
|
user.JailTime = time;
|
||||||
}
|
}
|
||||||
@@ -216,12 +222,13 @@ namespace ReallifeGamemode.Server.Extensions
|
|||||||
|
|
||||||
internal static void GiveWanteds(this User user, Player cop, int amount, string reason)
|
internal static void GiveWanteds(this User user, Player cop, int amount, string reason)
|
||||||
{
|
{
|
||||||
if (user.Wanteds + amount > 50)
|
int newWanteds = user.Wanteds + amount;
|
||||||
|
if (newWanteds > 50)
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(cop, "Die Wanteds dürfen ein Limit von 50 nicht überschreiten");
|
ChatService.ErrorMessage(cop, "Die Wanteds dürfen ein Limit von 50 nicht überschreiten");
|
||||||
return;
|
newWanteds = 50;
|
||||||
}
|
}
|
||||||
int newWanteds = user.Wanteds + amount;
|
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
User dbUser = dbContext.Users.Where(u => u.Id == user.Id).FirstOrDefault();
|
User dbUser = dbContext.Users.Where(u => u.Id == user.Id).FirstOrDefault();
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ using ReallifeGamemode.Database.Models;
|
|||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using System;
|
using System;
|
||||||
using ReallifeGamemode.Server.Extensions;
|
using ReallifeGamemode.Server.Extensions;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @overview Life of German Reallife - Server Factions Medic Medic.cs
|
* @overview Life of German Reallife - Server Factions Medic Medic.cs
|
||||||
@@ -20,6 +22,8 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
|||||||
{
|
{
|
||||||
public class Medic : Script
|
public class Medic : Script
|
||||||
{
|
{
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<Medic>();
|
||||||
|
|
||||||
public static List<MedicTask> ReviveTasks = new List<MedicTask>();
|
public static List<MedicTask> ReviveTasks = new List<MedicTask>();
|
||||||
public static List<MedicTask> HealTasks = new List<MedicTask>();
|
public static List<MedicTask> HealTasks = new List<MedicTask>();
|
||||||
public static List<MedicTask> FireTasks = new List<MedicTask>();
|
public static List<MedicTask> FireTasks = new List<MedicTask>();
|
||||||
@@ -84,7 +88,7 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
|||||||
public static void UpdateReviveSperre()
|
public static void UpdateReviveSperre()
|
||||||
{
|
{
|
||||||
var allRevivedPlayers = NAPI.Pools.GetAllPlayers().Where(c => c.HasData("reviveSperre"));
|
var allRevivedPlayers = NAPI.Pools.GetAllPlayers().Where(c => c.HasData("reviveSperre"));
|
||||||
foreach(var player in allRevivedPlayers)
|
foreach (var player in allRevivedPlayers)
|
||||||
{
|
{
|
||||||
var timeLeft = player.GetData<int>("reviveSperre");
|
var timeLeft = player.GetData<int>("reviveSperre");
|
||||||
|
|
||||||
@@ -101,7 +105,7 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
|||||||
|
|
||||||
public static void CheckHealDecisionDistance()
|
public static void CheckHealDecisionDistance()
|
||||||
{
|
{
|
||||||
foreach(var healAuftrag in HealDecisions.ToList())
|
foreach (var healAuftrag in HealDecisions.ToList())
|
||||||
{
|
{
|
||||||
if (healAuftrag.dMedic.Position.DistanceTo(healAuftrag.dTarget.Position) > 5)
|
if (healAuftrag.dMedic.Position.DistanceTo(healAuftrag.dTarget.Position) > 5)
|
||||||
{
|
{
|
||||||
@@ -117,9 +121,9 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
|||||||
public static void MakeHealDecision(Player target, bool decision)
|
public static void MakeHealDecision(Player target, bool decision)
|
||||||
{
|
{
|
||||||
var activeDecision = HealDecisions.FirstOrDefault(d => d.dTarget == target);
|
var activeDecision = HealDecisions.FirstOrDefault(d => d.dTarget == target);
|
||||||
if(decision == false)
|
if (decision == false)
|
||||||
{
|
{
|
||||||
activeDecision.dMedic.SendNotification(activeDecision.dTarget.Name + " hat den Heal ~r~abgelehnt",false);
|
activeDecision.dMedic.SendNotification(activeDecision.dTarget.Name + " hat den Heal ~r~abgelehnt", false);
|
||||||
activeDecision.dTarget.SendNotification("Du hast den Heal ~r~abgelehnt", false);
|
activeDecision.dTarget.SendNotification("Du hast den Heal ~r~abgelehnt", false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -141,6 +145,8 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
|||||||
targetUser.BankAccount.Balance -= bankMoney;
|
targetUser.BankAccount.Balance -= bankMoney;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
logger.LogInformation("Player {0} accepted a heal for {1} dollars from medic {2}", target.Name, activeDecision.dPrice, activeDecision.dMedic.Name);
|
||||||
|
|
||||||
dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Id == 2).First().BankAccount.Balance += activeDecision.dPrice / 2;
|
dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Id == 2).First().BankAccount.Balance += activeDecision.dPrice / 2;
|
||||||
activeDecision.dMedic.GetUser(dbContext).Wage += activeDecision.dPrice / 2;
|
activeDecision.dMedic.GetUser(dbContext).Wage += activeDecision.dPrice / 2;
|
||||||
|
|
||||||
@@ -166,7 +172,7 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
|||||||
var taskTimeLeft = Math.Abs((int)(((DateTimeOffset)actualTime).ToUnixTimeSeconds() - ((DateTimeOffset)task.Time).ToUnixTimeSeconds() - reviveTaskTime));
|
var taskTimeLeft = Math.Abs((int)(((DateTimeOffset)actualTime).ToUnixTimeSeconds() - ((DateTimeOffset)task.Time).ToUnixTimeSeconds() - reviveTaskTime));
|
||||||
task.TimeLeft = taskTimeLeft;
|
task.TimeLeft = taskTimeLeft;
|
||||||
var medic = PlayerService.GetPlayerByNameOrId(task.MedicName);
|
var medic = PlayerService.GetPlayerByNameOrId(task.MedicName);
|
||||||
if(medic != null) medic.TriggerEvent("setTaskTimeLeft", taskTimeLeft);
|
if (medic != null) medic.TriggerEvent("setTaskTimeLeft", taskTimeLeft);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -176,14 +182,14 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
|||||||
{
|
{
|
||||||
if (HealTasks.Count != 0)
|
if (HealTasks.Count != 0)
|
||||||
{
|
{
|
||||||
foreach(var task in HealTasks)
|
foreach (var task in HealTasks)
|
||||||
{
|
{
|
||||||
if(task.MedicName != "none")
|
if (task.MedicName != "none")
|
||||||
{
|
{
|
||||||
var medic = PlayerService.GetPlayerByNameOrId(task.MedicName);
|
var medic = PlayerService.GetPlayerByNameOrId(task.MedicName);
|
||||||
var victim = PlayerService.GetPlayerByNameOrId(task.Victim);
|
var victim = PlayerService.GetPlayerByNameOrId(task.Victim);
|
||||||
|
|
||||||
if(medic == null || victim == null)
|
if (medic == null || victim == null)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,9 +9,11 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
using ReallifeGamemode.Server.Extensions;
|
using ReallifeGamemode.Server.Extensions;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
using ReallifeGamemode.Server.Services;
|
using ReallifeGamemode.Server.Services;
|
||||||
using ReallifeGamemode.Server.Wanted;
|
using ReallifeGamemode.Server.Wanted;
|
||||||
|
|
||||||
@@ -19,13 +21,15 @@ namespace ReallifeGamemode.Server.Finance
|
|||||||
{
|
{
|
||||||
public class Economy
|
public class Economy
|
||||||
{
|
{
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<Economy>();
|
||||||
|
|
||||||
public static Dictionary<int, Paycheck> Paychecks { get; set; } = new Dictionary<int, Paycheck>();
|
public static Dictionary<int, Paycheck> Paychecks { get; set; } = new Dictionary<int, Paycheck>();
|
||||||
|
|
||||||
public static (int, float, float) GetEconomyClass(Player client, int wage)
|
public static (int, float, float) GetEconomyClass(Player client, int wage)
|
||||||
{
|
{
|
||||||
int bankAccount = client.GetUser().BankAccount.Balance;
|
int bankAccount = client.GetUser().BankAccount.Balance;
|
||||||
float financialHelp = -(float)Math.Pow(1.0001, -(bankAccount + client.GetUser().Handmoney)) * -1000;
|
float financialHelp = -(float)Math.Pow(1.0001, -(bankAccount + client.GetUser().Handmoney)) * -1000;
|
||||||
float financialInterest = 1 - (float)Math.Pow(1.00006, -wage) * 1;
|
float financialInterest = 1 - (float)Math.Pow(1.000041, -wage) * 1;
|
||||||
if (financialInterest >= 0.7)
|
if (financialInterest >= 0.7)
|
||||||
financialInterest = 0.7f;
|
financialInterest = 0.7f;
|
||||||
|
|
||||||
@@ -162,6 +166,15 @@ namespace ReallifeGamemode.Server.Finance
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
logger.LogInformation("Player {0} has a payday of {1} dollars. old balance: {2}, new balance: {3}, wage: {4}, interest: {5}, other: {6}",
|
||||||
|
client.Name,
|
||||||
|
paycheck.Amount,
|
||||||
|
u.BankAccount.Balance,
|
||||||
|
u.BankAccount.Balance + paycheck.Amount,
|
||||||
|
paycheck.Wage,
|
||||||
|
paycheck.FinancialInterest,
|
||||||
|
paycheck.otheramount);
|
||||||
|
|
||||||
u.BankAccount.Balance += paycheck.Amount;
|
u.BankAccount.Balance += paycheck.Amount;
|
||||||
u.Wage = 0;
|
u.Wage = 0;
|
||||||
u.otheramount = 0;
|
u.otheramount = 0;
|
||||||
@@ -173,7 +186,7 @@ namespace ReallifeGamemode.Server.Finance
|
|||||||
.Where(hR => hR.UserId == u.Id);
|
.Where(hR => hR.UserId == u.Id);
|
||||||
|
|
||||||
dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Id == 2).First().BankAccount.Balance += (int)(paycheck.HealthInsurance * 0.1);
|
dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Id == 2).First().BankAccount.Balance += (int)(paycheck.HealthInsurance * 0.1);
|
||||||
|
logger.LogInformation("Medic faction got a health insurance payment of {0} dollars from player {1}", paycheck.HealthInsurance * 0.1, client.Name);
|
||||||
if (rentals.Any())
|
if (rentals.Any())
|
||||||
{
|
{
|
||||||
foreach (var rental in rentals)
|
foreach (var rental in rentals)
|
||||||
@@ -181,6 +194,7 @@ namespace ReallifeGamemode.Server.Finance
|
|||||||
if (rental?.House?.BankAccount != null)
|
if (rental?.House?.BankAccount != null)
|
||||||
{
|
{
|
||||||
rental.House.BankAccount.Balance += (int)(rental.House.RentalFee * 0.7);
|
rental.House.BankAccount.Balance += (int)(rental.House.RentalFee * 0.7);
|
||||||
|
logger.LogInformation("House {0} got a rentalfee of {1} from paycheck from user {2}", rental.House.Id, rental.House.RentalFee * 0.7, u.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,16 +5,20 @@ using System.Threading.Tasks;
|
|||||||
using System.Timers;
|
using System.Timers;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
using ReallifeGamemode.Server.Extensions;
|
using ReallifeGamemode.Server.Extensions;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
using ReallifeGamemode.Server.Services;
|
using ReallifeGamemode.Server.Services;
|
||||||
|
|
||||||
namespace ReallifeGamemode.Server.Gangwar
|
namespace ReallifeGamemode.Server.Gangwar
|
||||||
{
|
{
|
||||||
public class Turf
|
public class Turf
|
||||||
{
|
{
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<Turf>();
|
||||||
|
|
||||||
public int TurfID { get; set; }
|
public int TurfID { get; set; }
|
||||||
public string TurfName { get; set; }
|
public string TurfName { get; set; }
|
||||||
public int Color { get; set; }
|
public int Color { get; set; }
|
||||||
@@ -203,7 +207,7 @@ namespace ReallifeGamemode.Server.Gangwar
|
|||||||
public void enter(Player client)
|
public void enter(Player client)
|
||||||
{
|
{
|
||||||
User user = client.GetUser();
|
User user = client.GetUser();
|
||||||
if(user == null || user.FactionId == null)
|
if (user == null || user.FactionId == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -276,6 +280,7 @@ namespace ReallifeGamemode.Server.Gangwar
|
|||||||
a.TriggerEvent("CLIENT:loose");
|
a.TriggerEvent("CLIENT:loose");
|
||||||
}
|
}
|
||||||
ownerFaction.BankAccount.Balance += 15000;
|
ownerFaction.BankAccount.Balance += 15000;
|
||||||
|
logger.LogInformation("Gang {0} successfully defended the turf {1} against gang {2} and gained {3} dollars", getOwner(), getName(), getAttacker(), 15000);
|
||||||
}
|
}
|
||||||
else if (getOwner() != FactionName)
|
else if (getOwner() != FactionName)
|
||||||
{
|
{
|
||||||
@@ -292,6 +297,7 @@ namespace ReallifeGamemode.Server.Gangwar
|
|||||||
if (a != null)
|
if (a != null)
|
||||||
a.TriggerEvent("CLIENT:win");
|
a.TriggerEvent("CLIENT:win");
|
||||||
}
|
}
|
||||||
|
logger.LogInformation("Gang {0} successfully took over the turf {1} from gang {2} and gained {3} dollars", getAttacker(), getName(), getOwner(), 10000);
|
||||||
this.Owner = FactionName;
|
this.Owner = FactionName;
|
||||||
attackerFaction.BankAccount.Balance += 10000;
|
attackerFaction.BankAccount.Balance += 10000;
|
||||||
Turfs turf = dbContext.Turfs.Where(t => t.Id == getId()).FirstOrDefault();
|
Turfs turf = dbContext.Turfs.Where(t => t.Id == getId()).FirstOrDefault();
|
||||||
|
|||||||
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 => 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -24,8 +24,8 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
public const string INTERMEDIATE = "Fortgeschrittener";
|
public const string INTERMEDIATE = "Fortgeschrittener";
|
||||||
public const string PROFESSIONAL = "Profi";
|
public const string PROFESSIONAL = "Profi";
|
||||||
|
|
||||||
public const int WAGE_BEGINNER = 350;
|
public const int WAGE_BEGINNER = 600;
|
||||||
public const int WAGE_INTERMEDIATE = 950;
|
public const int WAGE_INTERMEDIATE = 1300;
|
||||||
|
|
||||||
public const uint VEHICLE_BEGINNER = (uint)VehicleHash.Cuban800;
|
public const uint VEHICLE_BEGINNER = (uint)VehicleHash.Cuban800;
|
||||||
public const uint VEHICLE_INTERMEDIATE = (uint)VehicleHash.Velum2;
|
public const uint VEHICLE_INTERMEDIATE = (uint)VehicleHash.Velum2;
|
||||||
@@ -152,6 +152,8 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
|
|
||||||
private void _JobStop(Player player)
|
private void _JobStop(Player player)
|
||||||
{
|
{
|
||||||
|
player.TriggerEvent("SERVER:Vehicle:SetDefaultEngineBehavior");
|
||||||
|
|
||||||
if (!playerVehiclePair.ContainsKey(player))
|
if (!playerVehiclePair.ContainsKey(player))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ namespace ReallifeGamemode.Server
|
|||||||
DrivingSchool.DrivingSchool.Setup();
|
DrivingSchool.DrivingSchool.Setup();
|
||||||
PlaneSchool.Setup();
|
PlaneSchool.Setup();
|
||||||
Gangwar.Gangwar.loadTurfs();
|
Gangwar.Gangwar.loadTurfs();
|
||||||
Bank.bank.Setup();
|
Bank.Bank.Setup();
|
||||||
Introduction.Setup();
|
Introduction.Setup();
|
||||||
PositionManager.LoadPositionManager();
|
PositionManager.LoadPositionManager();
|
||||||
LoadManager.LoadLoadManager();
|
LoadManager.LoadLoadManager();
|
||||||
@@ -182,7 +182,7 @@ namespace ReallifeGamemode.Server
|
|||||||
}
|
}
|
||||||
|
|
||||||
Player player = PlayerService.GetPlayerByNameOrId(user);
|
Player player = PlayerService.GetPlayerByNameOrId(user);
|
||||||
if(player == null)
|
if (player == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,9 +2,11 @@
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
using ReallifeGamemode.Server.Extensions;
|
using ReallifeGamemode.Server.Extensions;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @overview Life of German Reallife - Managers ATMManager (ATMManager.cs)
|
* @overview Life of German Reallife - Managers ATMManager (ATMManager.cs)
|
||||||
@@ -18,6 +20,8 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
{
|
{
|
||||||
public static List<ColShape> ATMColShapes = new List<ColShape>();
|
public static List<ColShape> ATMColShapes = new List<ColShape>();
|
||||||
|
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<ATMManager>();
|
||||||
|
|
||||||
public static void InitATMs()
|
public static void InitATMs()
|
||||||
{
|
{
|
||||||
var addedATMs = 0;
|
var addedATMs = 0;
|
||||||
@@ -112,7 +116,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
//client.TriggerEvent("SERVER:WORLD_INTERACTION:ATM_ERROR", 0, checkATM.Balance);
|
//client.TriggerEvent("SERVER:WORLD_INTERACTION:ATM_ERROR", 0, checkATM.Balance);
|
||||||
client.SendNotification("~r~Nicht genügend Geld auf der Hand!");
|
client.SendNotification("~r~Nicht genügend Geld auf der Hand!");
|
||||||
}
|
}
|
||||||
else if(inputField1 < 0)
|
else if (inputField1 < 0)
|
||||||
{
|
{
|
||||||
client.SendNotification("~r~Ungültiger Betrag!");
|
client.SendNotification("~r~Ungültiger Betrag!");
|
||||||
}
|
}
|
||||||
@@ -121,6 +125,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
var updateBankMoneyIn = user.BankAccount;
|
var updateBankMoneyIn = user.BankAccount;
|
||||||
var updateATMBalanceIn = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
|
var updateATMBalanceIn = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
|
||||||
user.Handmoney -= inputField1;
|
user.Handmoney -= inputField1;
|
||||||
|
logger.LogInformation("Player {0} did a deposit of {1} dollars at atm {2}", client.Name, inputField1, nearATM);
|
||||||
updateBankMoneyIn.Balance += inputField1;
|
updateBankMoneyIn.Balance += inputField1;
|
||||||
updateATMBalanceIn.Balance += inputField1;
|
updateATMBalanceIn.Balance += inputField1;
|
||||||
//client.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
|
//client.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
|
||||||
@@ -149,6 +154,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
var updateATMBalanceOut = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
|
var updateATMBalanceOut = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
|
||||||
updateHandMoneyOut.Handmoney += inputField1;
|
updateHandMoneyOut.Handmoney += inputField1;
|
||||||
user.BankAccount.Balance -= inputField1;
|
user.BankAccount.Balance -= inputField1;
|
||||||
|
logger.LogInformation("Player {0} did a withdraw of {1} dollars at atm {2}", client.Name, inputField1, nearATM);
|
||||||
updateATMBalanceOut.Balance -= inputField1;
|
updateATMBalanceOut.Balance -= inputField1;
|
||||||
//client.TriggerEvent("SERVER:SET_HANDMONEY", updateHandMoneyOut.Handmoney);
|
//client.TriggerEvent("SERVER:SET_HANDMONEY", updateHandMoneyOut.Handmoney);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
using ReallifeGamemode.Server.Events;
|
using ReallifeGamemode.Server.Events;
|
||||||
using ReallifeGamemode.Server.Extensions;
|
using ReallifeGamemode.Server.Extensions;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
|
|
||||||
namespace ReallifeGamemode.Server.Managers
|
namespace ReallifeGamemode.Server.Managers
|
||||||
{
|
{
|
||||||
@@ -14,6 +16,8 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
public static Vector3 surgeryPoint = new Vector3(342.30032, -1397.7542, 32.50923);
|
public static Vector3 surgeryPoint = new Vector3(342.30032, -1397.7542, 32.50923);
|
||||||
public const int SURGERY_PRICE = 15000;
|
public const int SURGERY_PRICE = 15000;
|
||||||
|
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<CharacterCreator>();
|
||||||
|
|
||||||
public CharacterCreator()
|
public CharacterCreator()
|
||||||
{
|
{
|
||||||
//LoadSurgery();
|
//LoadSurgery();
|
||||||
@@ -273,6 +277,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
logger.LogInformation("Player {0} bought a surgery for {1} dollars", player.Name, SURGERY_PRICE);
|
||||||
user.BankAccount.Balance -= SURGERY_PRICE;
|
user.BankAccount.Balance -= SURGERY_PRICE;
|
||||||
}
|
}
|
||||||
saveCharacter.Remove(oldChar);
|
saveCharacter.Remove(oldChar);
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
using ReallifeGamemode.Server.Extensions;
|
using ReallifeGamemode.Server.Extensions;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
using ReallifeGamemode.Server.Services;
|
using ReallifeGamemode.Server.Services;
|
||||||
using ReallifeGamemode.Server.Types;
|
using ReallifeGamemode.Server.Types;
|
||||||
|
|
||||||
@@ -11,8 +13,11 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
{
|
{
|
||||||
internal class CityHallManager : Script
|
internal class CityHallManager : Script
|
||||||
{
|
{
|
||||||
|
private const int GROUP_PRICE = 50000;
|
||||||
private static readonly Vector3 _cityHallPosition = new Vector3(273.22, -278.14, 53.9);
|
private static readonly Vector3 _cityHallPosition = new Vector3(273.22, -278.14, 53.9);
|
||||||
|
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<CityHallManager>();
|
||||||
|
|
||||||
public static void LoadCityHall()
|
public static void LoadCityHall()
|
||||||
{
|
{
|
||||||
NAPI.Marker.CreateMarker(GTANetworkAPI.MarkerType.VerticalCylinder, _cityHallPosition.Subtract(new Vector3(0, 0, 1.7)), new Vector3(), new Vector3(), 1.0f, new Color(255, 255, 255));
|
NAPI.Marker.CreateMarker(GTANetworkAPI.MarkerType.VerticalCylinder, _cityHallPosition.Subtract(new Vector3(0, 0, 1.7)), new Vector3(), new Vector3(), 1.0f, new Color(255, 255, 255));
|
||||||
@@ -57,13 +62,14 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
u.Group = group;
|
u.Group = group;
|
||||||
u.GroupRank = GroupRank.OWNER;
|
u.GroupRank = GroupRank.OWNER;
|
||||||
|
|
||||||
if (player.GetUser(dbContext).BankAccount.Balance < 50000)
|
if (u.BankAccount.Balance < GROUP_PRICE)
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(player, "Du hast nicht genug Geld");
|
ChatService.ErrorMessage(player, "Du hast nicht genug Geld");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
player.GetUser(dbContext).BankAccount.Balance -= 50000;
|
logger.LogInformation("Player {0} created a group for {1} dollars", player.Name, GROUP_PRICE);
|
||||||
|
u.BankAccount.Balance -= GROUP_PRICE;
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
|
|
||||||
ChatService.BroadcastGroup($"Die Gruppe \"{name}\" wurde erfolgreich erstellt.", group);
|
ChatService.BroadcastGroup($"Die Gruppe \"{name}\" wurde erfolgreich erstellt.", group);
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ using ReallifeGamemode.Server.Events;
|
|||||||
using System;
|
using System;
|
||||||
using ReallifeGamemode.Server.Core.API;
|
using ReallifeGamemode.Server.Core.API;
|
||||||
using ReallifeGamemode.Server.Factions.Medic;
|
using ReallifeGamemode.Server.Factions.Medic;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @overview Life of German Reallife - Managers Interaction (InteractionManager.cs)
|
* @overview Life of German Reallife - Managers Interaction (InteractionManager.cs)
|
||||||
@@ -27,6 +29,8 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
{
|
{
|
||||||
public class InteractionManager : Script
|
public class InteractionManager : Script
|
||||||
{
|
{
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<InteractionManager>();
|
||||||
|
|
||||||
#region Eigeninteraktionen Taste-M
|
#region Eigeninteraktionen Taste-M
|
||||||
|
|
||||||
[RemoteEvent("CLIENT:InteractionMenu_AcceptInvite")]
|
[RemoteEvent("CLIENT:InteractionMenu_AcceptInvite")]
|
||||||
@@ -51,7 +55,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
using (var dbContext = new DatabaseContext(true))
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
User u = leader.GetUser(dbContext);
|
User u = leader.GetUser(dbContext);
|
||||||
User own = player.GetUser(dbContext);
|
User own = player.GetUser(dbContext);
|
||||||
@@ -485,7 +489,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
var user = player.GetUser(dbContext);
|
var user = player.GetUser(dbContext);
|
||||||
ServerVehicle serverVehicle = dbContext.ServerVehicles.FirstOrDefault(v => v.Id == id);
|
ServerVehicle serverVehicle = dbContext.ServerVehicles.FirstOrDefault(v => v.Id == id);
|
||||||
|
|
||||||
if(serverVehicle is UserVehicle)
|
if (serverVehicle is UserVehicle)
|
||||||
{
|
{
|
||||||
UserVehicle userVehicle = dbContext.UserVehicles.Where(v => v.Id == id && v.UserId == user.Id).FirstOrDefault();
|
UserVehicle userVehicle = dbContext.UserVehicles.Where(v => v.Id == id && v.UserId == user.Id).FirstOrDefault();
|
||||||
var vehPrice = userVehicle.Price;
|
var vehPrice = userVehicle.Price;
|
||||||
@@ -493,18 +497,22 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
GTANetworkAPI.Vehicle veh = VehicleManager.GetVehicleFromServerVehicle(userVehicle);
|
GTANetworkAPI.Vehicle veh = VehicleManager.GetVehicleFromServerVehicle(userVehicle);
|
||||||
user.BankAccount.Balance += backPrice;
|
user.BankAccount.Balance += backPrice;
|
||||||
|
|
||||||
ChatService.SendMessage(player, $"~b~[INFO]~s~ Du hast durch den Autoverkauf ~g~{backPrice.ToMoneyString()} ~s~erhalten.");
|
logger.LogInformation("Player {0} sold his uservehicle {1} for {2} dollars", player.Name, userVehicle.Model.ToString(), backPrice);
|
||||||
|
|
||||||
|
ChatService.SendMessage(player, $"~b~[INFO]~s~ Du hast durch den Autoverkauf ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
|
||||||
|
|
||||||
VehicleManager.DeleteVehicle(veh);
|
VehicleManager.DeleteVehicle(veh);
|
||||||
dbContext.UserVehicles.Remove(userVehicle);
|
dbContext.UserVehicles.Remove(userVehicle);
|
||||||
player.SendNotification("~g~Du hast dein Fahrzeug verkauft");
|
player.SendNotification("~g~Du hast dein Fahrzeug verkauft");
|
||||||
}
|
}
|
||||||
else if(serverVehicle is FactionVehicle)
|
else if (serverVehicle is FactionVehicle)
|
||||||
{
|
{
|
||||||
FactionVehicle factionVehicle = dbContext.FactionVehicles.FirstOrDefault(v => v.Id == id);
|
FactionVehicle factionVehicle = dbContext.FactionVehicles.FirstOrDefault(v => v.Id == id);
|
||||||
var backPrice = (int)(factionVehicle.BuyPrice * 1.5 * 0.4);
|
var backPrice = (int)(factionVehicle.BuyPrice * 1.5 * 0.4);
|
||||||
user.Faction.BankAccount.Balance += backPrice;
|
user.Faction.BankAccount.Balance += backPrice;
|
||||||
|
|
||||||
|
logger.LogInformation("Player {0} sold thr factionvehicle {1} of faction {2} for {3} dollars", player.Name, factionVehicle.Model.ToString(), user.Faction.Id, backPrice);
|
||||||
|
|
||||||
ChatService.SendMessage(player, $"~b~[INFO]~s~ Die Fraktionskasse hat ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
|
ChatService.SendMessage(player, $"~b~[INFO]~s~ Die Fraktionskasse hat ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
|
||||||
|
|
||||||
VehicleManager.DeleteVehicle(VehicleManager.GetVehicleFromServerVehicle(factionVehicle));
|
VehicleManager.DeleteVehicle(VehicleManager.GetVehicleFromServerVehicle(factionVehicle));
|
||||||
@@ -733,6 +741,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
fibBankAccount.Balance += (int)(ticket_amount / 100 * 60);
|
fibBankAccount.Balance += (int)(ticket_amount / 100 * 60);
|
||||||
lspdBankAccount.Balance += (int)(ticket_amount / 100 * 40);
|
lspdBankAccount.Balance += (int)(ticket_amount / 100 * 40);
|
||||||
}
|
}
|
||||||
|
logger.LogInformation("Player {0} accepted a ticket of {1} dollars", player.Name, ticket_amount);
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
target.ResetData("ticket_boolean");
|
target.ResetData("ticket_boolean");
|
||||||
@@ -798,6 +807,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
if (amount > 0 && amount <= 5000)
|
if (amount > 0 && amount <= 5000)
|
||||||
{
|
{
|
||||||
|
logger.LogInformation("Player {0} did a local payment of {1} dollars to player {2}", player.Name, amount, target.Name);
|
||||||
player.SendNotification($"~w~Du hast ~y~{targetname} ~w~{amount.ToMoneyString()} gegeben.");
|
player.SendNotification($"~w~Du hast ~y~{targetname} ~w~{amount.ToMoneyString()} gegeben.");
|
||||||
target.SendNotification($"~w~ Du hast von ~y~{playername} ~w~{amount.ToMoneyString()} erhalten.", true);
|
target.SendNotification($"~w~ Du hast von ~y~{playername} ~w~{amount.ToMoneyString()} erhalten.", true);
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ using ReallifeGamemode.Server.Services;
|
|||||||
using ReallifeGamemode.Server.Util;
|
using ReallifeGamemode.Server.Util;
|
||||||
using ReallifeGamemode.Services;
|
using ReallifeGamemode.Services;
|
||||||
using ReallifeGamemode.Server.Types;
|
using ReallifeGamemode.Server.Types;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @overview Life of German Reallife - Managers InventoryManager (InventoryManager.cs)
|
* @overview Life of German Reallife - Managers InventoryManager (InventoryManager.cs)
|
||||||
@@ -25,6 +27,9 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
{
|
{
|
||||||
public class InventoryManager : Script
|
public class InventoryManager : Script
|
||||||
{
|
{
|
||||||
|
private const int MAX_USER_INVENTORY = 40000;
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<InventoryManager>();
|
||||||
|
|
||||||
public static List<IItem> itemList;
|
public static List<IItem> itemList;
|
||||||
|
|
||||||
private static Dictionary<int, (int[], int[])> TradeItems { get; set; } = new Dictionary<int, (int[], int[])>();
|
private static Dictionary<int, (int[], int[])> TradeItems { get; set; } = new Dictionary<int, (int[], int[])>();
|
||||||
@@ -224,7 +229,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
using (var context = new DatabaseContext())
|
using (var context = new DatabaseContext())
|
||||||
{
|
{
|
||||||
List<UserItem> userItems = context.UserItems.ToList().FindAll(i => i.UserId == user.Id);
|
List<UserItem> userItems = context.UserItems.Where(i => i.UserId == user.Id).ToList();
|
||||||
foreach (var item in userItems)
|
foreach (var item in userItems)
|
||||||
{
|
{
|
||||||
IItem iItem = GetItemById(item.ItemId);
|
IItem iItem = GetItemById(item.ItemId);
|
||||||
@@ -381,7 +386,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
int setAmount = 0;
|
int setAmount = 0;
|
||||||
for (int i = 1; i <= amount; i++)
|
for (int i = 1; i <= amount; i++)
|
||||||
{
|
{
|
||||||
if (GetUserInventoryWeight(player) + (i * GetItemById(itemId).Gewicht) > 40000)
|
if (GetUserInventoryWeight(player) + (i * GetItemById(itemId).Gewicht) > MAX_USER_INVENTORY)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -608,6 +613,14 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
logger.LogInformation("Player {0} bought the item {1} for {2} dollars", client.Name, shopItem.Name, shopItem.Price);
|
||||||
|
|
||||||
|
if (GetUserInventoryWeight(client) + shopItem.Gewicht > MAX_USER_INVENTORY)
|
||||||
|
{
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
UserItem item = dbContext.UserItems.Where(i => i.ItemId == shopItem.Id && i.UserId == user.Id).FirstOrDefault();
|
UserItem item = dbContext.UserItems.Where(i => i.ItemId == shopItem.Id && i.UserId == user.Id).FirstOrDefault();
|
||||||
if (item == null)
|
if (item == null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -2,14 +2,17 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
using ReallifeGamemode.Server.Extensions;
|
using ReallifeGamemode.Server.Extensions;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
|
|
||||||
namespace ReallifeGamemode.Server.Managers
|
namespace ReallifeGamemode.Server.Managers
|
||||||
{
|
{
|
||||||
internal class TuningManager : Script
|
internal class TuningManager : Script
|
||||||
{
|
{
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<TuningManager>();
|
||||||
private static List<ColShape> tuningGarages = new List<ColShape>();
|
private static List<ColShape> tuningGarages = new List<ColShape>();
|
||||||
|
|
||||||
public static void LoadTuningGarages()
|
public static void LoadTuningGarages()
|
||||||
@@ -220,6 +223,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
ServerVehicle sV = player.Vehicle.GetServerVehicle(dbContext);
|
ServerVehicle sV = player.Vehicle.GetServerVehicle(dbContext);
|
||||||
if (sV == null) return;
|
if (sV == null) return;
|
||||||
|
logger.LogInformation("Player {0} bought a tuning part for server vehicle {1}, slot: {2}, mod: {3} for {4} dollars", player.Name, sV.Id, slot, index, price);
|
||||||
|
|
||||||
VehicleMod vMod = dbContext.VehicleMods.FirstOrDefault(m => m.ServerVehicleId == sV.Id && m.Slot == slot);
|
VehicleMod vMod = dbContext.VehicleMods.FirstOrDefault(m => m.ServerVehicleId == sV.Id && m.Slot == slot);
|
||||||
if (vMod == null && index != -1)
|
if (vMod == null && index != -1)
|
||||||
@@ -265,7 +269,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
veh.SecondaryColor = color;
|
veh.SecondaryColor = color;
|
||||||
}
|
}
|
||||||
|
|
||||||
using var dbContext = new DatabaseContext(true);
|
using var dbContext = new DatabaseContext();
|
||||||
ServerVehicle serverVeh = VehicleManager.GetServerVehicleFromVehicle(veh, dbContext);
|
ServerVehicle serverVeh = VehicleManager.GetServerVehicleFromVehicle(veh, dbContext);
|
||||||
|
|
||||||
if (serverVeh == null)
|
if (serverVeh == null)
|
||||||
@@ -311,6 +315,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
if (serverVehicle != null)
|
if (serverVehicle != null)
|
||||||
{
|
{
|
||||||
|
logger.LogInformation("Player {0} bought wheels for server vehicle {1}, type: {2}, wheels: {3} for {4} dollars", player.Name, serverVehicle.Id, wheelType, wheelIndex, price);
|
||||||
VehicleMod typeMod = dbContext.VehicleMods.Where(m => m.ServerVehicleId == serverVehicle.Id && m.Slot == -2).FirstOrDefault();
|
VehicleMod typeMod = dbContext.VehicleMods.Where(m => m.ServerVehicleId == serverVehicle.Id && m.Slot == -2).FirstOrDefault();
|
||||||
if (typeMod == null)
|
if (typeMod == null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,9 +2,11 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
using ReallifeGamemode.Server.Extensions;
|
using ReallifeGamemode.Server.Extensions;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
using ReallifeGamemode.Server.Managers;
|
using ReallifeGamemode.Server.Managers;
|
||||||
using ReallifeGamemode.Server.Services;
|
using ReallifeGamemode.Server.Services;
|
||||||
|
|
||||||
@@ -12,6 +14,7 @@ namespace ReallifeGamemode.Server.Util
|
|||||||
{
|
{
|
||||||
class Rentcar : Script
|
class Rentcar : Script
|
||||||
{
|
{
|
||||||
|
private static readonly ILogger logger = LogManager.GetLogger<Rentcar>();
|
||||||
//In Sekunden
|
//In Sekunden
|
||||||
public static int PAY_TIMER = 180;
|
public static int PAY_TIMER = 180;
|
||||||
|
|
||||||
@@ -49,18 +52,23 @@ namespace ReallifeGamemode.Server.Util
|
|||||||
{
|
{
|
||||||
noobspawnVehicleProperties.Add(new RentcarProperty("bmx", 10));
|
noobspawnVehicleProperties.Add(new RentcarProperty("bmx", 10));
|
||||||
noobspawnVehicleProperties.Add(new RentcarProperty("faggio3", 50));
|
noobspawnVehicleProperties.Add(new RentcarProperty("faggio3", 50));
|
||||||
|
noobspawnVehicleProperties.Add(new RentcarProperty("panto", 200));
|
||||||
|
|
||||||
stadthalleVehicleProperties.Add(new RentcarProperty("bmx", 10));
|
stadthalleVehicleProperties.Add(new RentcarProperty("bmx", 10));
|
||||||
stadthalleVehicleProperties.Add(new RentcarProperty("faggio3", 50));
|
stadthalleVehicleProperties.Add(new RentcarProperty("faggio3", 50));
|
||||||
|
stadthalleVehicleProperties.Add(new RentcarProperty("panto", 200));
|
||||||
|
|
||||||
knastVehicleProperties.Add(new RentcarProperty("bmx", 10));
|
knastVehicleProperties.Add(new RentcarProperty("bmx", 10));
|
||||||
knastVehicleProperties.Add(new RentcarProperty("faggio3", 50));
|
knastVehicleProperties.Add(new RentcarProperty("faggio3", 50));
|
||||||
|
knastVehicleProperties.Add(new RentcarProperty("panto", 200));
|
||||||
|
|
||||||
paletoVehicleProperties.Add(new RentcarProperty("bmx", 10));
|
paletoVehicleProperties.Add(new RentcarProperty("bmx", 10));
|
||||||
paletoVehicleProperties.Add(new RentcarProperty("faggio3", 50));
|
paletoVehicleProperties.Add(new RentcarProperty("faggio3", 50));
|
||||||
|
paletoVehicleProperties.Add(new RentcarProperty("panto", 200));
|
||||||
|
|
||||||
lamesaVehicleProperties.Add(new RentcarProperty("bmx", 10));
|
lamesaVehicleProperties.Add(new RentcarProperty("bmx", 10));
|
||||||
lamesaVehicleProperties.Add(new RentcarProperty("faggio3", 50));
|
lamesaVehicleProperties.Add(new RentcarProperty("faggio3", 50));
|
||||||
|
lamesaVehicleProperties.Add(new RentcarProperty("panto", 200));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void cancelRent(Player player)
|
public static void cancelRent(Player player)
|
||||||
@@ -69,6 +77,7 @@ namespace ReallifeGamemode.Server.Util
|
|||||||
{
|
{
|
||||||
User user = player.GetUser(dbContext);
|
User user = player.GetUser(dbContext);
|
||||||
user.BankAccount.Balance -= mapPlayerRentcarBill[player.Name].Item2;
|
user.BankAccount.Balance -= mapPlayerRentcarBill[player.Name].Item2;
|
||||||
|
logger.LogInformation("Player {0} cancelled a rent and payed {1} dollars", player.Name, mapPlayerRentcarBill[player.Name].Item2);
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,9 +20,15 @@ namespace ReallifeGamemode.Server.WeaponDeal
|
|||||||
public static readonly VehicleHash WEAPON_DEAL_GANG_VEHICLE_HASH = VehicleHash.Gburrito2;
|
public static readonly VehicleHash WEAPON_DEAL_GANG_VEHICLE_HASH = VehicleHash.Gburrito2;
|
||||||
public static readonly VehicleHash WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH = VehicleHash.Policet;
|
public static readonly VehicleHash WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH = VehicleHash.Policet;
|
||||||
|
|
||||||
private const int WEAPON_AMOUNT_GANG = 2;
|
private const int WEAPON_AMOUNT_GANG = 1;
|
||||||
private const int WEAPON_AMOUNT_COP = 4;
|
private const int WEAPON_AMOUNT_GANG_PISTOL50 = 3;
|
||||||
private const int WEAPON_AMOUNT_COP_STUNGUN = 4;
|
private const int WEAPON_AMOUNT_GANG_ARMOR = 2;
|
||||||
|
|
||||||
|
private const int WEAPON_AMOUNT_COP = 3;
|
||||||
|
private const int WEAPON_AMOUNT_COP_ARMOR = 4;
|
||||||
|
private const int WEAPON_AMOUNT_COP_PISTOLS = 5;
|
||||||
|
private const int WEAPON_AMOUNT_COP_SNIPER = 1;
|
||||||
|
|
||||||
public static bool checkWeaponDbyVehicle(Vehicle vehicle)
|
public static bool checkWeaponDbyVehicle(Vehicle vehicle)
|
||||||
{
|
{
|
||||||
if ((vehicle.HasData("WeaponDealLoad") && vehicle.GetData<bool>("WeaponDealLoad") == true) ||
|
if ((vehicle.HasData("WeaponDealLoad") && vehicle.GetData<bool>("WeaponDealLoad") == true) ||
|
||||||
@@ -43,7 +49,7 @@ namespace ReallifeGamemode.Server.WeaponDeal
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
using (var context = new DatabaseContext(true))
|
using (var context = new DatabaseContext())
|
||||||
{
|
{
|
||||||
FactionVehicle factionVehicle = context.FactionVehicles.Where(f => f.Model == WEAPON_DEAL_GANG_VEHICLE_HASH || f.Model == WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH)
|
FactionVehicle factionVehicle = context.FactionVehicles.Where(f => f.Model == WEAPON_DEAL_GANG_VEHICLE_HASH || f.Model == WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH)
|
||||||
.ToList()
|
.ToList()
|
||||||
@@ -129,11 +135,27 @@ namespace ReallifeGamemode.Server.WeaponDeal
|
|||||||
InventoryManager.RemoveAllItemsfromVehicleInventory(fVeh);
|
InventoryManager.RemoveAllItemsfromVehicleInventory(fVeh);
|
||||||
Faction fac = context.Factions.Where(f => f.Id == user.FactionId).FirstOrDefault();
|
Faction fac = context.Factions.Where(f => f.Id == user.FactionId).FirstOrDefault();
|
||||||
|
|
||||||
fac.WeaponDealTime = (fac.Id == 1 | fac.Id == 3) ? 180 : 60;
|
if (WEAPON_DEAL_STAATSFRAK_IDS.Contains(fac.Id))
|
||||||
|
{
|
||||||
|
fac.WeaponDealTime = 180;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fac.WeaponDealTime = 60;
|
||||||
|
}
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
public static void WeaponDealTimer()
|
||||||
|
{
|
||||||
|
System.Timers.Timer timer = new System.Timers.Timer(60000);
|
||||||
|
timer.Start();
|
||||||
|
timer.Elapsed += Timer_Elapsed;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
public static void Timer_Elapsed()
|
public static void Timer_Elapsed()
|
||||||
{
|
{
|
||||||
using (var context = new DatabaseContext())
|
using (var context = new DatabaseContext())
|
||||||
@@ -191,11 +213,11 @@ namespace ReallifeGamemode.Server.WeaponDeal
|
|||||||
|
|
||||||
if (owners.Any(o => WEAPON_DEAL_GANG_IDS.Contains(o))) // Gang WT
|
if (owners.Any(o => WEAPON_DEAL_GANG_IDS.Contains(o))) // Gang WT
|
||||||
{
|
{
|
||||||
VehicleItem item = new VehicleItem() { ItemId = 2, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_GANG * oMembers }; //pistol50
|
VehicleItem item = new VehicleItem() { ItemId = 2, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_GANG_PISTOL50 * oMembers }; //pistol50
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item.ItemId, item.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item.ItemId, item.Amount);
|
||||||
VehicleItem item3 = new VehicleItem() { ItemId = 9, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_GANG * oMembers }; //PumpShotgun
|
VehicleItem item3 = new VehicleItem() { ItemId = 9, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_GANG * oMembers }; //PumpShotgun
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item3.ItemId, item3.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item3.ItemId, item3.Amount);
|
||||||
VehicleItem item2 = new VehicleItem() { ItemId = 10, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_GANG * oMembers }; //Schutzweste
|
VehicleItem item2 = new VehicleItem() { ItemId = 10, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_GANG_ARMOR * oMembers }; //Schutzweste
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item2.ItemId, item2.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item2.ItemId, item2.Amount);
|
||||||
VehicleItem item4 = new VehicleItem() { ItemId = 7, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_GANG * oMembers }; //CompactRifle
|
VehicleItem item4 = new VehicleItem() { ItemId = 7, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_GANG * oMembers }; //CompactRifle
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item4.ItemId, item4.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item4.ItemId, item4.Amount);
|
||||||
@@ -204,34 +226,34 @@ namespace ReallifeGamemode.Server.WeaponDeal
|
|||||||
}
|
}
|
||||||
else if (owners.Contains(1)) // LSPD
|
else if (owners.Contains(1)) // LSPD
|
||||||
{
|
{
|
||||||
VehicleItem item = new VehicleItem() { ItemId = 1, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //pistol
|
VehicleItem item = new VehicleItem() { ItemId = 1, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP_PISTOLS * oMembers }; //pistol
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item.ItemId, item.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item.ItemId, item.Amount);
|
||||||
VehicleItem item2 = new VehicleItem() { ItemId = 2, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //Pistol50
|
VehicleItem item2 = new VehicleItem() { ItemId = 2, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP_PISTOLS * oMembers }; //Pistol50
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item2.ItemId, item2.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item2.ItemId, item2.Amount);
|
||||||
VehicleItem item3 = new VehicleItem() { ItemId = 5, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //SMG
|
VehicleItem item3 = new VehicleItem() { ItemId = 5, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //SMG
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item3.ItemId, item3.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item3.ItemId, item3.Amount);
|
||||||
VehicleItem item4 = new VehicleItem() { ItemId = 9, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //PumpShotgun
|
VehicleItem item4 = new VehicleItem() { ItemId = 9, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //PumpShotgun
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item4.ItemId, item4.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item4.ItemId, item4.Amount);
|
||||||
VehicleItem item5 = new VehicleItem() { ItemId = 10, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //Schutzweste
|
VehicleItem item5 = new VehicleItem() { ItemId = 10, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP_ARMOR * oMembers }; //Schutzweste
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item5.ItemId, item5.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item5.ItemId, item5.Amount);
|
||||||
VehicleItem item6 = new VehicleItem() { ItemId = 11, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP_STUNGUN * oMembers }; //Stungun
|
VehicleItem item6 = new VehicleItem() { ItemId = 11, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //Stungun
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item6.ItemId, item6.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item6.ItemId, item6.Amount);
|
||||||
VehicleItem item7 = new VehicleItem() { ItemId = 14, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP_STUNGUN * oMembers }; // AssaultSmg
|
VehicleItem item7 = new VehicleItem() { ItemId = 14, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; // AssaultSmg
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item7.ItemId, item7.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item7.ItemId, item7.Amount);
|
||||||
}
|
}
|
||||||
else if (owners.Contains(3)) // FIB
|
else if (owners.Contains(3)) // FIB
|
||||||
{
|
{
|
||||||
VehicleItem item = new VehicleItem() { ItemId = 3, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //pistol_mk2
|
VehicleItem item = new VehicleItem() { ItemId = 3, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP_PISTOLS * oMembers }; //pistol_mk2
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item.ItemId, item.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item.ItemId, item.Amount);
|
||||||
VehicleItem item2 = new VehicleItem() { ItemId = 4, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //Combatpistol
|
VehicleItem item2 = new VehicleItem() { ItemId = 4, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP_PISTOLS * oMembers }; //Combatpistol
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item2.ItemId, item2.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item2.ItemId, item2.Amount);
|
||||||
VehicleItem item3 = new VehicleItem() { ItemId = 6, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //Carbinrifle
|
VehicleItem item3 = new VehicleItem() { ItemId = 6, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //Carbinrifle
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item3.ItemId, item3.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item3.ItemId, item3.Amount);
|
||||||
VehicleItem item4 = new VehicleItem() { ItemId = 8, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //Sniperrifle
|
VehicleItem item4 = new VehicleItem() { ItemId = 8, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP_SNIPER * oMembers }; //Sniperrifle
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item4.ItemId, item4.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item4.ItemId, item4.Amount);
|
||||||
VehicleItem item5 = new VehicleItem() { ItemId = 10, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //Schutzweste
|
VehicleItem item5 = new VehicleItem() { ItemId = 10, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP_ARMOR * oMembers }; //Schutzweste
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item5.ItemId, item5.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item5.ItemId, item5.Amount);
|
||||||
VehicleItem item6 = new VehicleItem() { ItemId = 11, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP_STUNGUN * oMembers }; //Stungun
|
VehicleItem item6 = new VehicleItem() { ItemId = 11, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //Stungun
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item6.ItemId, item6.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item6.ItemId, item6.Amount);
|
||||||
VehicleItem item7 = new VehicleItem() { ItemId = 12, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //CombatPDW
|
VehicleItem item7 = new VehicleItem() { ItemId = 12, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //CombatPDW
|
||||||
InventoryManager.AddItemToVehicleInventory(fVeh, item7.ItemId, item7.Amount);
|
InventoryManager.AddItemToVehicleInventory(fVeh, item7.ItemId, item7.Amount);
|
||||||
|
|||||||
Reference in New Issue
Block a user