Miese Corona Zeiten push für Lenhardt

This commit is contained in:
Siga
2020-05-10 19:19:53 +02:00
parent 15e4cec8ee
commit efbff34c21
159 changed files with 8042 additions and 8695 deletions

View File

@@ -1,11 +1,9 @@
using System;
using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GTANetworkAPI;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
/**
* @overview Life of German Reallife - Managers ATMManager (ATMManager.cs)
@@ -16,136 +14,140 @@ using ReallifeGamemode.Database.Models;
namespace ReallifeGamemode.Server.Managers
{
public class ATMManager : Script
{
public static List<ColShape> ATMColShapes = new List<ColShape>();
public static void InitATMs()
{
var addedATMs = 0;
using (var dbContext = new DatabaseContext())
{
foreach (var currentATM in dbContext.Blips)
public static List<ColShape> ATMColShapes = new List<ColShape>();
public static void InitATMs()
{
if (currentATM.Sprite == 500)
{
if (dbContext.ATMs.FirstOrDefault(a => a.Id == currentATM.Id) == null)
var addedATMs = 0;
using (var dbContext = new DatabaseContext())
{
var dataSet = new ATM
{
Id = currentATM.Id,
X = currentATM.PositionX,
Y = currentATM.PositionY,
Z = currentATM.PositionZ
};
dbContext.Add(dataSet);
addedATMs++;
foreach (var currentATM in dbContext.Blips)
{
if (currentATM.Sprite == 500)
{
if (dbContext.ATMs.FirstOrDefault(a => a.Id == currentATM.Id) == null)
{
var dataSet = new ATM
{
Id = currentATM.Id,
X = currentATM.PositionX,
Y = currentATM.PositionY,
Z = currentATM.PositionZ
};
dbContext.Add(dataSet);
addedATMs++;
}
else
{
continue;
}
}
}
if (addedATMs > 0)
{
NAPI.Util.ConsoleOutput(addedATMs + " Geldautomaten hinzugefügt");
}
else
{
NAPI.Util.ConsoleOutput("Keine Geldautomaten hinzugefügt");
}
dbContext.SaveChanges();
LoadATMs();
}
else
{
continue;
}
}
}
if (addedATMs > 0)
{
NAPI.Util.ConsoleOutput(addedATMs + " Geldautomaten hinzugefügt");
}
else
{
NAPI.Util.ConsoleOutput("Keine Geldautomaten hinzugefügt");
}
dbContext.SaveChanges();
LoadATMs();
}
}
public static void LoadATMs()
{
using (var dbContext = new DatabaseContext())
{
foreach (var currentATM in dbContext.ATMs)
public static void LoadATMs()
{
var currentColShape = NAPI.ColShape.CreateCylinderColShape(new Vector3(currentATM.X, currentATM.Y, currentATM.Z), 2.5f, 3, 0);
currentColShape.OnEntityEnterColShape += EnterATMRange;
currentColShape.OnEntityExitColShape += ExitATMRange;
ATMColShapes.Add(currentColShape);
currentColShape.SetData("id", currentATM.Id);
using (var dbContext = new DatabaseContext())
{
foreach (var currentATM in dbContext.ATMs)
{
var currentColShape = NAPI.ColShape.CreateCylinderColShape(new Vector3(currentATM.X, currentATM.Y, currentATM.Z), 2.5f, 3, 0);
currentColShape.OnEntityEnterColShape += EnterATMRange;
currentColShape.OnEntityExitColShape += ExitATMRange;
ATMColShapes.Add(currentColShape);
currentColShape.SetData("id", currentATM.Id);
}
}
}
}
}
public static void EnterATMRange(ColShape colShape, Player client)
{
client.SetData("nearATM", colShape.GetData<int>("id"));
}
public static void ExitATMRange(ColShape colShape, Player client)
{
client.ResetData("nearATM");
}
public static void ShowAtmUi(Player player, int atmId)
{
player.TriggerEvent("SERVER:ShowAtmUi", atmId);
}
[RemoteEvent("CLIENT:ATM_MANAGER:ATM_ACTION")]
public void AtmAction(Player client, int site, int inputField1, int inputField2)
{
using (var dbContext = new DatabaseContext())
{
var user = client.GetUser(dbContext);
int nearATM = client.GetData<int>("nearATM");
//SITE //0 Geld einzahlen //1 Geld auszahlen //2 Geld überweisen
switch (site)
public static void EnterATMRange(ColShape colShape, Player client)
{
//GELD EINZAHLEN in1
case 0:
if (user.Handmoney < inputField1)
{
//TODO im CEFBrowser anzeigen
//client.TriggerEvent("SERVER:WORLD_INTERACTION:ATM_ERROR", 0, checkATM.Balance);
client.SendNotification("~r~Nicht genügend Geld auf der Hand!");
}
else
{
var updateBankMoneyIn = user.BankAccount;
var updateATMBalanceIn = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
user.Handmoney -= inputField1;
updateBankMoneyIn.Balance += inputField1;
updateATMBalanceIn.Balance += inputField1;
client.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
}
break;
//GELD AUSZAHLEN in1
case 1:
var checkATM = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
if (user.BankAccount.Balance < inputField1)
{
client.SendNotification("~r~Nicht genügend Geld auf dem Bankkonto!"); //TODO Im Automaten anzeigen lassen
}
else if (checkATM.Balance < inputField1)
{
client.SendNotification("~r~Nicht genügend Geld im Automaten vorhanden!"); //TODO Im Automaten anzeigen lassen |||| oder OUT OF ORDER anzeigen wenn leer
}
else
{
var updateHandMoneyOut = dbContext.Users.FirstOrDefault(u => u.Id == user.Id);
var updateATMBalanceOut = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
updateHandMoneyOut.Handmoney += inputField1;
user.BankAccount.Balance -= inputField1;
updateATMBalanceOut.Balance -= inputField1;
client.TriggerEvent("SERVER:SET_HANDMONEY", updateHandMoneyOut.Handmoney);
}
break;
//GELD ÜBERWEISEN in1 = Kontonr // in2 = Betrag
case 2:
break;
client.SetData("nearATM", colShape.GetData<int>("id"));
}
public static void ExitATMRange(ColShape colShape, Player client)
{
client.ResetData("nearATM");
}
public static void ShowAtmUi(Player player, int atmId)
{
player.TriggerEvent("SERVER:ShowAtmUi", atmId);
}
[RemoteEvent("CLIENT:ATM_MANAGER:ATM_ACTION")]
public void AtmAction(Player client, int site, int inputField1, int inputField2)
{
using (var dbContext = new DatabaseContext())
{
var user = client.GetUser(dbContext);
int nearATM = client.GetData<int>("nearATM");
//SITE //0 Geld einzahlen //1 Geld auszahlen //2 Geld überweisen
switch (site)
{
//GELD EINZAHLEN in1
case 0:
if (user.Handmoney < inputField1)
{
//TODO im CEFBrowser anzeigen
//client.TriggerEvent("SERVER:WORLD_INTERACTION:ATM_ERROR", 0, checkATM.Balance);
client.SendNotification("~r~Nicht genügend Geld auf der Hand!");
}
else
{
var updateBankMoneyIn = user.BankAccount;
var updateATMBalanceIn = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
user.Handmoney -= inputField1;
updateBankMoneyIn.Balance += inputField1;
updateATMBalanceIn.Balance += inputField1;
client.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
}
break;
//GELD AUSZAHLEN in1
case 1:
var checkATM = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
if (user.BankAccount.Balance < inputField1)
{
client.SendNotification("~r~Nicht genügend Geld auf dem Bankkonto!"); //TODO Im Automaten anzeigen lassen
}
else if (checkATM.Balance < inputField1)
{
client.SendNotification("~r~Nicht genügend Geld im Automaten vorhanden!"); //TODO Im Automaten anzeigen lassen |||| oder OUT OF ORDER anzeigen wenn leer
}
else
{
var updateHandMoneyOut = dbContext.Users.FirstOrDefault(u => u.Id == user.Id);
var updateATMBalanceOut = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
updateHandMoneyOut.Handmoney += inputField1;
user.BankAccount.Balance -= inputField1;
updateATMBalanceOut.Balance -= inputField1;
client.TriggerEvent("SERVER:SET_HANDMONEY", updateHandMoneyOut.Handmoney);
}
break;
//GELD ÜBERWEISEN in1 = Kontonr // in2 = Betrag
case 2:
break;
}
dbContext.SaveChanges();
}
}
dbContext.SaveChanges();
}
}
}
}