formatted code
This commit is contained in:
@@ -14,9 +14,9 @@ import moneyFormat from '../moneyformat';
|
|||||||
|
|
||||||
export default function carDealer() {
|
export default function carDealer() {
|
||||||
|
|
||||||
var shopMenu;
|
var shopMenu: NativeUI.Menu;
|
||||||
|
|
||||||
mp.events.add('ShopVehicle_OpenMenu', (businessName, price) => {
|
mp.events.add('ShopVehicle_OpenMenu', (businessName, price, availableOptions: string[]) => {
|
||||||
var veh = mp.players.local.vehicle;
|
var veh = mp.players.local.vehicle;
|
||||||
if (!veh) return;
|
if (!veh) return;
|
||||||
mp.gui.chat.show(false);
|
mp.gui.chat.show(false);
|
||||||
@@ -34,6 +34,10 @@ export default function carDealer() {
|
|||||||
priceItem.SetRightLabel("~g~$~s~ " + moneyFormat(price));
|
priceItem.SetRightLabel("~g~$~s~ " + moneyFormat(price));
|
||||||
shopMenu.AddItem(priceItem);
|
shopMenu.AddItem(priceItem);
|
||||||
|
|
||||||
|
var targetsCollection = new ItemsCollection(availableOptions);
|
||||||
|
var targetItem = new UIMenuListItem("Besitzer", "W<>hle den Besitzer aus", targetsCollection);
|
||||||
|
shopMenu.AddItem(targetItem);
|
||||||
|
|
||||||
var saveItem = new UIMenuItem("Kaufen");
|
var saveItem = new UIMenuItem("Kaufen");
|
||||||
saveItem.BackColor = new Color(0, 100, 0);
|
saveItem.BackColor = new Color(0, 100, 0);
|
||||||
saveItem.HighlightedBackColor = new Color(0, 150, 0);
|
saveItem.HighlightedBackColor = new Color(0, 150, 0);
|
||||||
@@ -48,7 +52,7 @@ export default function carDealer() {
|
|||||||
if (item === cancelItem) {
|
if (item === cancelItem) {
|
||||||
shopMenu.Close();
|
shopMenu.Close();
|
||||||
} else if (item === saveItem) {
|
} else if (item === saveItem) {
|
||||||
mp.events.callRemote("VehShop_BuyVehicle");
|
mp.events.callRemote("VehShop_BuyVehicle", targetItem.SelectedItem.Id);
|
||||||
shopMenu.Close();
|
shopMenu.Close();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ namespace ReallifeGamemode.Server.Business
|
|||||||
NAPI.Util.ConsoleOutput("Creating Bank Account for Business: " + Name);
|
NAPI.Util.ConsoleOutput("Creating Bank Account for Business: " + Name);
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
|
|
||||||
dbContext.BusinessBankAccounts.Add(new BusinessBankAccount()
|
dbContext.BusinessBankAccounts.Add(new BusinessBankAccount()
|
||||||
{
|
{
|
||||||
BusinessId = Id,
|
BusinessId = Id,
|
||||||
@@ -81,7 +81,7 @@ namespace ReallifeGamemode.Server.Business
|
|||||||
|
|
||||||
public User GetOwner(DatabaseContext dbContext = null)
|
public User GetOwner(DatabaseContext dbContext = null)
|
||||||
{
|
{
|
||||||
if(dbContext == null)
|
if (dbContext == null)
|
||||||
{
|
{
|
||||||
using (dbContext = new DatabaseContext())
|
using (dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
IItem iItem = InventoryManager.GetItemByName(item);
|
IItem iItem = InventoryManager.GetItemByName(item);
|
||||||
|
|
||||||
if(iItem == null)
|
if (iItem == null)
|
||||||
{
|
{
|
||||||
player.SendChatMessage("Dieses Essen existiert nicht.");
|
player.SendChatMessage("Dieses Essen existiert nicht.");
|
||||||
return;
|
return;
|
||||||
@@ -46,15 +46,15 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
List<UserItem> itemList = player.GetUser().GetItems();
|
List<UserItem> itemList = player.GetUser().GetItems();
|
||||||
UserItem eatItem = itemList.FirstOrDefault(i => i.ItemId == iItem.Id);
|
UserItem eatItem = itemList.FirstOrDefault(i => i.ItemId == iItem.Id);
|
||||||
|
|
||||||
if(eatItem == null)
|
if (eatItem == null)
|
||||||
{
|
{
|
||||||
player.SendChatMessage("Du hast dieses Item nicht");
|
player.SendChatMessage("Du hast dieses Item nicht");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(iItem is IUsableItem usableItemObj)
|
if (iItem is IUsableItem usableItemObj)
|
||||||
{
|
{
|
||||||
usableItemObj.Use(eatItem);
|
usableItemObj.Use(eatItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -227,7 +227,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (target == player)
|
if (target == player)
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Du kannst dir nicht selber zuflüstern.");
|
ChatService.Error(player, "Du kannst dir nicht selber zuflüstern.");
|
||||||
return;
|
return;
|
||||||
@@ -339,7 +339,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var gotoString = "";
|
var gotoString = "";
|
||||||
using(var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
foreach (GotoPoint point in dbContext.GotoPoints)
|
foreach (GotoPoint point in dbContext.GotoPoints)
|
||||||
{
|
{
|
||||||
@@ -659,7 +659,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
{
|
{
|
||||||
GotoPoint p = dbContext.GotoPoints.FirstOrDefault(x => x.Description == location);
|
GotoPoint p = dbContext.GotoPoints.FirstOrDefault(x => x.Description == location);
|
||||||
|
|
||||||
if(p == null)
|
if (p == null)
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Dieser Goto-Punkt existiert nicht.");
|
ChatService.Error(player, "Dieser Goto-Punkt existiert nicht.");
|
||||||
return;
|
return;
|
||||||
@@ -757,7 +757,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
Vehicle v = VehicleManager.GetVehicleFromId(vehid);
|
Vehicle v = VehicleManager.GetVehicleFromId(vehid);
|
||||||
if(v == null)
|
if (v == null)
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Dieses Fahrzeug existiert nicht.");
|
ChatService.Error(player, "Dieses Fahrzeug existiert nicht.");
|
||||||
return;
|
return;
|
||||||
@@ -864,7 +864,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
public void CmdAdminVeh(Client player, string hash, int color1 = 111, int color2 = 111)
|
public void CmdAdminVeh(Client player, string hash, int color1 = 111, int color2 = 111)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN3) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN3) ?? true)
|
||||||
//TODO: Bestimmte Autos nur ab Adminlevel 1337, "normale Fahrzeuge" schon ab Adminlevel 3.
|
//TODO: Bestimmte Autos nur ab Adminlevel 1337, "normale Fahrzeuge" schon ab Adminlevel 3.
|
||||||
{
|
{
|
||||||
ChatService.NotAuthorized(player);
|
ChatService.NotAuthorized(player);
|
||||||
return;
|
return;
|
||||||
@@ -876,10 +876,10 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!uint.TryParse(hash, out uint uHash))
|
if (!uint.TryParse(hash, out uint uHash))
|
||||||
uHash = NAPI.Util.GetHashKey(hash);
|
uHash = NAPI.Util.GetHashKey(hash);
|
||||||
|
|
||||||
if(!VehicleManager.IsValidHash(uHash))
|
if (!VehicleManager.IsValidHash(uHash))
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Dieses Fahrzeug existiert nicht.");
|
ChatService.Error(player, "Dieses Fahrzeug existiert nicht.");
|
||||||
return;
|
return;
|
||||||
@@ -931,7 +931,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
targetVeh = VehicleManager.GetVehicleFromId(vid);
|
targetVeh = VehicleManager.GetVehicleFromId(vid);
|
||||||
if(targetVeh == null)
|
if (targetVeh == null)
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Dieses Fahrzeug existiert nicht.");
|
ChatService.Error(player, "Dieses Fahrzeug existiert nicht.");
|
||||||
return;
|
return;
|
||||||
@@ -939,7 +939,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
ServerVehicle veh = VehicleManager.GetServerVehicleFromVehicle(targetVeh);
|
ServerVehicle veh = VehicleManager.GetServerVehicleFromVehicle(targetVeh);
|
||||||
if(veh != null)
|
if (veh != null)
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Dieses Fahrzeug wird von einem Server-System benutzt: ~m~" + veh.GetType().Name);
|
ChatService.Error(player, "Dieses Fahrzeug wird von einem Server-System benutzt: ~m~" + veh.GetType().Name);
|
||||||
return;
|
return;
|
||||||
@@ -1120,7 +1120,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
user.Handmoney += amount;
|
user.Handmoney += amount;
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
target.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
|
target.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("quicksavemode", "~m~Benutzung: ~s~/quicksavemode [Modus]\nModi (klein schreiben): ~g~blip, ~r~atm")]
|
[Command("quicksavemode", "~m~Benutzung: ~s~/quicksavemode [Modus]\nModi (klein schreiben): ~g~blip, ~r~atm")]
|
||||||
@@ -1155,7 +1155,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
using (var context = new DatabaseContext())
|
using (var context = new DatabaseContext())
|
||||||
{
|
{
|
||||||
List<UserItem> userItems = context.UserItems.ToList().FindAll(i => i.UserId == target.GetUser().Id);
|
List<UserItem> userItems = context.UserItems.ToList().FindAll(i => i.UserId == target.GetUser().Id);
|
||||||
foreach(var uItem in userItems)
|
foreach (var uItem in userItems)
|
||||||
{
|
{
|
||||||
invWeight += uItem.Amount * InventoryManager.GetItemById(uItem.ItemId).Gewicht;
|
invWeight += uItem.Amount * InventoryManager.GetItemById(uItem.ItemId).Gewicht;
|
||||||
}
|
}
|
||||||
@@ -1169,7 +1169,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
{
|
{
|
||||||
UserItem item = new UserItem() { ItemId = itemId, UserId = target.GetUser().Id, Amount = amount };
|
UserItem item = new UserItem() { ItemId = itemId, UserId = target.GetUser().Id, Amount = amount };
|
||||||
InventoryManager.AddItemToInventory(target, item);
|
InventoryManager.AddItemToInventory(target, item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("inventory", "~m~Benutzung: ~s~/inventory [Spieler]")]
|
[Command("inventory", "~m~Benutzung: ~s~/inventory [Spieler]")]
|
||||||
@@ -1192,7 +1192,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
InventoryManager.GetUserItemsAsAdmin(player, user);
|
InventoryManager.GetUserItemsAsAdmin(player, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("editmode", "~m~Benutzung: ~s~/editmode")]
|
[Command("editmode", "~m~Benutzung: ~s~/editmode")]
|
||||||
public void CmdAdminToggleEditMode(Client player)
|
public void CmdAdminToggleEditMode(Client player)
|
||||||
{
|
{
|
||||||
@@ -1201,8 +1201,8 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
ChatService.NotAuthorized(player);
|
ChatService.NotAuthorized(player);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(player.GetData("editmode") == false)
|
if (player.GetData("editmode") == false)
|
||||||
{
|
{
|
||||||
player.SetData("editmode", true);
|
player.SetData("editmode", true);
|
||||||
player.SendNotification("Edit-Mode ~g~aktiviert");
|
player.SendNotification("Edit-Mode ~g~aktiviert");
|
||||||
@@ -1433,13 +1433,13 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(hour > 23 || min > 59 || sec > 59)
|
if (hour > 23 || min > 59 || sec > 59)
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Es wurde eine ungültige Zeit eingegeben.");
|
ChatService.Error(player, "Es wurde eine ungültige Zeit eingegeben.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(hour == -1)
|
if (hour == -1)
|
||||||
{
|
{
|
||||||
player.SendChatMessage("Es wird nun wieder die Echtzeit genutzt.");
|
player.SendChatMessage("Es wird nun wieder die Echtzeit genutzt.");
|
||||||
TimeManager.StartTimeManager();
|
TimeManager.StartTimeManager();
|
||||||
@@ -1618,26 +1618,26 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
case "svehicle":
|
case "svehicle":
|
||||||
if (player.IsInVehicle)
|
if (player.IsInVehicle)
|
||||||
{
|
{
|
||||||
if(option1 == null || option2 == null)
|
if (option1 == null || option2 == null)
|
||||||
{
|
{
|
||||||
player.SendChatMessage("~m~Benutzung: ~s~/save SVehicle [Carshop Business ID] [Preis]");
|
player.SendChatMessage("~m~Benutzung: ~s~/save SVehicle [Carshop Business ID] [Preis]");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!int.TryParse(option1, out int businessId) || !int.TryParse(option2, out int price))
|
if (!int.TryParse(option1, out int businessId) || !int.TryParse(option2, out int price))
|
||||||
{
|
{
|
||||||
player.SendChatMessage("~m~Benutzung: ~s~/save SVehicle [Carshop Business ID] [Preis]");
|
player.SendChatMessage("~m~Benutzung: ~s~/save SVehicle [Carshop Business ID] [Preis]");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
BusinessBase business = BusinessManager.GetBusiness(businessId);
|
BusinessBase business = BusinessManager.GetBusiness(businessId);
|
||||||
if(business == null)
|
if (business == null)
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Dieses Business existiert nicht.");
|
ChatService.Error(player, "Dieses Business existiert nicht.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!(business is CarDealerBusinessBase))
|
if (!(business is CarDealerBusinessBase))
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Dieses Business ist kein Fahrzeug-Business.");
|
ChatService.Error(player, "Dieses Business ist kein Fahrzeug-Business.");
|
||||||
return;
|
return;
|
||||||
@@ -1666,23 +1666,23 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(type.ToLower())
|
switch (type.ToLower())
|
||||||
{
|
{
|
||||||
case "vehicle":
|
case "vehicle":
|
||||||
if(!player.IsInVehicle)
|
if (!player.IsInVehicle)
|
||||||
{
|
{
|
||||||
player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
|
player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerVehicle veh = player.Vehicle.GetServerVehicle();
|
ServerVehicle veh = player.Vehicle.GetServerVehicle();
|
||||||
if(veh == null)
|
if (veh == null)
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Dieses Fahrzeug wird nicht von einem Server-System genutzt.");
|
ChatService.Error(player, "Dieses Fahrzeug wird nicht von einem Server-System genutzt.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(option.ToLower() != "yes")
|
if (option.ToLower() != "yes")
|
||||||
{
|
{
|
||||||
player.SendChatMessage("Bist du sicher, dass du folgendes Fahrzeug löschen willst: ~m~" + veh.ToString() + " ~s~?");
|
player.SendChatMessage("Bist du sicher, dass du folgendes Fahrzeug löschen willst: ~m~" + veh.ToString() + " ~s~?");
|
||||||
player.SendChatMessage("Falls ~g~Ja~s~, nutze ~y~/remove vehicle yes");
|
player.SendChatMessage("Falls ~g~Ja~s~, nutze ~y~/remove vehicle yes");
|
||||||
@@ -1699,7 +1699,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case "goto":
|
case "goto":
|
||||||
if(option == "")
|
if (option == "")
|
||||||
{
|
{
|
||||||
player.SendChatMessage("~m~Benutzung: ~s~/remove [Goto] [Punkt]");
|
player.SendChatMessage("~m~Benutzung: ~s~/remove [Goto] [Punkt]");
|
||||||
return;
|
return;
|
||||||
@@ -1712,7 +1712,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
GotoPoint p = dbContext.GotoPoints.FirstOrDefault(x => x.Description == option);
|
GotoPoint p = dbContext.GotoPoints.FirstOrDefault(x => x.Description == option);
|
||||||
if(p == null)
|
if (p == null)
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Dieser Goto-Punkt existiert nicht.");
|
ChatService.Error(player, "Dieser Goto-Punkt existiert nicht.");
|
||||||
return;
|
return;
|
||||||
@@ -1953,7 +1953,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
//
|
//
|
||||||
[Command("managefactionranks", "~m~Benutzung: ~s~/managefactionranks [Fraktions-ID]")]
|
[Command("managefactionranks", "~m~Benutzung: ~s~/managefactionranks [Fraktions-ID]")]
|
||||||
public void CmdFactionManageFactionRanks(Client player, int factionID)
|
public void CmdFactionManageFactionRanks(Client player, int factionID)
|
||||||
@@ -2119,26 +2119,26 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(target.GetUser().BusinessId != null)
|
if (target.GetUser().BusinessId != null)
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Der Spieler besitzt momentan schon ein Business: ~o~" + BusinessManager.GetBusiness(target.GetUser().BusinessId).Name);
|
ChatService.Error(player, "Der Spieler besitzt momentan schon ein Business: ~o~" + BusinessManager.GetBusiness(target.GetUser().BusinessId).Name);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
BusinessBase business = BusinessManager.GetBusiness(businessid);
|
BusinessBase business = BusinessManager.GetBusiness(businessid);
|
||||||
if(business == null)
|
if (business == null)
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Dieses Business existiert nicht. ~m~/businesslist");
|
ChatService.Error(player, "Dieses Business existiert nicht. ~m~/businesslist");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(business.GetOwner() != null)
|
if (business.GetOwner() != null)
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Das Business hat momentan noch einen Besitzer: ~o~" + business.GetOwner().Name + "~s~. Entferne diesen Besitzer erst mit ~m~/clearbusiness");
|
ChatService.Error(player, "Das Business hat momentan noch einen Besitzer: ~o~" + business.GetOwner().Name + "~s~. Entferne diesen Besitzer erst mit ~m~/clearbusiness");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
using(var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
Entities.User targetUser = target.GetUser(dbContext);
|
Entities.User targetUser = target.GetUser(dbContext);
|
||||||
targetUser.BusinessId = businessid;
|
targetUser.BusinessId = businessid;
|
||||||
@@ -2164,10 +2164,10 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
using(var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
User owner = business.GetOwner(dbContext);
|
User owner = business.GetOwner(dbContext);
|
||||||
if(owner == null)
|
if (owner == null)
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Dieses Business hat momentan keinen Besitzer.");
|
ChatService.Error(player, "Dieses Business hat momentan keinen Besitzer.");
|
||||||
return;
|
return;
|
||||||
@@ -2226,16 +2226,16 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
option1 = option1.ToString();
|
option1 = option1.ToString();
|
||||||
|
|
||||||
if(option1 != "add" && option1 != "remove" && option1 != "setenterposition" && option1 != "setexitposition")
|
if (option1 != "add" && option1 != "remove" && option1 != "setenterposition" && option1 != "setexitposition")
|
||||||
{
|
{
|
||||||
player.SendChatMessage("~m~Benutzung: ~s~/interior [Add / Remove / SetEnterPosition / SetExitPosition] [Name]");
|
player.SendChatMessage("~m~Benutzung: ~s~/interior [Add / Remove / SetEnterPosition / SetExitPosition] [Name]");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(option1)
|
switch (option1)
|
||||||
{
|
{
|
||||||
case "add":
|
case "add":
|
||||||
using(var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
Interior interiorAdd = new Interior
|
Interior interiorAdd = new Interior
|
||||||
{
|
{
|
||||||
@@ -2249,13 +2249,13 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
case "remove":
|
case "remove":
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
if(!int.TryParse(option2, out int intId))
|
if (!int.TryParse(option2, out int intId))
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Es muss eine Nummer angegeben werden.");
|
ChatService.Error(player, "Es muss eine Nummer angegeben werden.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Interior interiorRemove = InteriorManager.GetInteriorById(intId, dbContext);
|
Interior interiorRemove = InteriorManager.GetInteriorById(intId, dbContext);
|
||||||
if(interiorRemove == null)
|
if (interiorRemove == null)
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Dieses Interior existiert nicht.");
|
ChatService.Error(player, "Dieses Interior existiert nicht.");
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -232,7 +232,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
ChatService.Error(player, "Du kannst dich nicht selbst wiederbeleben!");
|
ChatService.Error(player, "Du kannst dich nicht selbst wiederbeleben!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
player.PlayAnimation("amb@medic@standing@kneel@enter", "enter", 0);
|
player.PlayAnimation("amb@medic@standing@kneel@enter", "enter", 0);
|
||||||
|
|
||||||
deadPlayer.TriggerEvent("onPlayerRevived");
|
deadPlayer.TriggerEvent("onPlayerRevived");
|
||||||
deadPlayer.SendNotification("Du wurdest von ~r~" + player.Name + "~s~ wiederbelebt.");
|
deadPlayer.SendNotification("Du wurdest von ~r~" + player.Name + "~s~ wiederbelebt.");
|
||||||
@@ -267,7 +267,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
[Command("duty", "~m~Benutzung: ~s~/duty")]
|
[Command("duty", "~m~Benutzung: ~s~/duty")]
|
||||||
public void CmdFactionDuty(Client player)
|
public void CmdFactionDuty(Client player)
|
||||||
{
|
{
|
||||||
if(player.GetData("duty") == false)
|
if (player.GetData("duty") == false)
|
||||||
{
|
{
|
||||||
player.SetData("duty", true);
|
player.SetData("duty", true);
|
||||||
player.SendNotification("~g~Du bist jetzt im Dienst!", false);
|
player.SendNotification("~g~Du bist jetzt im Dienst!", false);
|
||||||
|
|||||||
@@ -17,11 +17,11 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
option = option.ToLower();
|
option = option.ToLower();
|
||||||
|
|
||||||
switch(option)
|
switch (option)
|
||||||
{
|
{
|
||||||
case "invite":
|
case "invite":
|
||||||
{
|
{
|
||||||
if(!player.HasData("accept_invite"))
|
if (!player.HasData("accept_invite"))
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Du hast keine Einladung in eine Fraktion erhalten.");
|
ChatService.Error(player, "Du hast keine Einladung in eine Fraktion erhalten.");
|
||||||
return;
|
return;
|
||||||
@@ -29,11 +29,11 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
player.ResetData("accept_data");
|
player.ResetData("accept_data");
|
||||||
|
|
||||||
using(var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
Client leader = NAPI.Player.GetPlayerFromHandle((NetHandle)player.GetData("accept_invite"));
|
Client leader = NAPI.Player.GetPlayerFromHandle((NetHandle)player.GetData("accept_invite"));
|
||||||
|
|
||||||
if(leader == null)
|
if (leader == null)
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Die Einladung ist abgelaufen.");
|
ChatService.Error(player, "Die Einladung ist abgelaufen.");
|
||||||
return;
|
return;
|
||||||
@@ -68,9 +68,9 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
Vehicle pVeh = player.Vehicle;
|
Vehicle pVeh = player.Vehicle;
|
||||||
|
|
||||||
if(pVeh.GetServerVehicle() is ServerVehicle veh)
|
if (pVeh.GetServerVehicle() is ServerVehicle veh)
|
||||||
{
|
{
|
||||||
if(player.GetUser().IsAdmin(AdminLevel.SUPPORTER))
|
if (player.GetUser().IsAdmin(AdminLevel.SUPPORTER))
|
||||||
{
|
{
|
||||||
player.SendChatMessage("~m~" + ((VehicleHash)pVeh.Model) + " | " + veh.ToString() + " | Farbe 1: " + pVeh.PrimaryColor + " | Farbe 2: " + pVeh.SecondaryColor + " | ID: " + pVeh.Handle.Value);
|
player.SendChatMessage("~m~" + ((VehicleHash)pVeh.Model) + " | " + veh.ToString() + " | Farbe 1: " + pVeh.PrimaryColor + " | Farbe 2: " + pVeh.SecondaryColor + " | ID: " + pVeh.Handle.Value);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ namespace ReallifeGamemode.Server.Entities
|
|||||||
|
|
||||||
public string Reason { get; set; }
|
public string Reason { get; set; }
|
||||||
public string BannedBy { get; set; }
|
public string BannedBy { get; set; }
|
||||||
|
|
||||||
public int Applied { get; set; }
|
public int Applied { get; set; }
|
||||||
public int UntilDateTime { get; set; }
|
public int UntilDateTime { get; set; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,8 @@ namespace ReallifeGamemode.Server.Entities
|
|||||||
[Key]
|
[Key]
|
||||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
public int Balance {
|
public int Balance
|
||||||
|
{
|
||||||
get => _balance;
|
get => _balance;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
using System;
|
using ReallifeGamemode.Server.Models;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace ReallifeGamemode.Server.Entities
|
namespace ReallifeGamemode.Server.Entities
|
||||||
@@ -8,6 +11,17 @@ namespace ReallifeGamemode.Server.Entities
|
|||||||
{
|
{
|
||||||
public Group Group { get; set; }
|
public Group Group { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey("Group")]
|
||||||
|
public int? GroupId { get; set; }
|
||||||
|
|
||||||
|
public Group GetGroup()
|
||||||
|
{
|
||||||
|
using (var dbContext = new DatabaseContext())
|
||||||
|
{
|
||||||
|
return dbContext.Groups.Where(g => g.Id == GroupId).FirstOrDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return "Gruppen Fahrzeug | Gruppe: " + Group.Name;
|
return "Gruppen Fahrzeug | Gruppe: " + Group.Name;
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ namespace ReallifeGamemode.Server.Entities.Logs
|
|||||||
[Key]
|
[Key]
|
||||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
[ForeignKey("Victim")]
|
[ForeignKey("Victim")]
|
||||||
public int VictimId { get; set; }
|
public int VictimId { get; set; }
|
||||||
public User Victim { get; set; }
|
public User Victim { get; set; }
|
||||||
@@ -36,7 +36,7 @@ namespace ReallifeGamemode.Server.Entities.Logs
|
|||||||
public float KillerPositionY { get; set; }
|
public float KillerPositionY { get; set; }
|
||||||
public float KillerPositionZ { get; set; }
|
public float KillerPositionZ { get; set; }
|
||||||
public float KillerHeading { get; set; }
|
public float KillerHeading { get; set; }
|
||||||
|
|
||||||
[StringLength(64)]
|
[StringLength(64)]
|
||||||
public string CauseOfDeath { get; set; }
|
public string CauseOfDeath { get; set; }
|
||||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||||
|
|||||||
@@ -34,5 +34,5 @@ namespace ReallifeGamemode.Server.Entities.Saves
|
|||||||
public float Rotation { get; set; }
|
public float Rotation { get; set; }
|
||||||
public byte Dimension { get; set; }
|
public byte Dimension { get; set; }
|
||||||
public bool Active { get; set; }
|
public bool Active { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ namespace ReallifeGamemode.Server.Entities
|
|||||||
|
|
||||||
string numberplate = $"{this.Id}";
|
string numberplate = $"{this.Id}";
|
||||||
|
|
||||||
if(this is FactionVehicle fV)
|
if (this is FactionVehicle fV)
|
||||||
{
|
{
|
||||||
numberplate = $"F{fV.FactionId} " + numberplate;
|
numberplate = $"F{fV.FactionId} " + numberplate;
|
||||||
}
|
}
|
||||||
@@ -58,7 +58,7 @@ namespace ReallifeGamemode.Server.Entities
|
|||||||
numberplate = $"U{uV.UserId} " + numberplate;
|
numberplate = $"U{uV.UserId} " + numberplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this is ShopVehicle sV)
|
if (this is ShopVehicle sV)
|
||||||
{
|
{
|
||||||
numberplate = "Shop";
|
numberplate = "Shop";
|
||||||
VehicleStreaming.SetLockStatus(veh, false);
|
VehicleStreaming.SetLockStatus(veh, false);
|
||||||
@@ -66,6 +66,11 @@ namespace ReallifeGamemode.Server.Entities
|
|||||||
veh.Position.Add(new Vector3(0, 0, 1.3)), 10.0f, 1f, 1, new Color(255, 255, 255));
|
veh.Position.Add(new Vector3(0, 0, 1.3)), 10.0f, 1f, 1, new Color(255, 255, 255));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this is GroupVehicle gV)
|
||||||
|
{
|
||||||
|
numberplate = $"{gV.GroupId}" + numberplate;
|
||||||
|
}
|
||||||
|
|
||||||
veh.NumberPlate = numberplate;
|
veh.NumberPlate = numberplate;
|
||||||
|
|
||||||
return veh;
|
return veh;
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ namespace ReallifeGamemode.Server.Entities
|
|||||||
[ForeignKey("Ban")]
|
[ForeignKey("Ban")]
|
||||||
public int? BanId { get; set; }
|
public int? BanId { get; set; }
|
||||||
public Ban Ban { get; set; }
|
public Ban Ban { get; set; }
|
||||||
|
|
||||||
public int? FactionId { get; set; }
|
public int? FactionId { get; set; }
|
||||||
public Faction Faction { get; set; }
|
public Faction Faction { get; set; }
|
||||||
|
|
||||||
@@ -60,6 +60,8 @@ namespace ReallifeGamemode.Server.Entities
|
|||||||
|
|
||||||
public Group Group { get; set; }
|
public Group Group { get; set; }
|
||||||
|
|
||||||
|
public GroupRank GroupRank { get; set; }
|
||||||
|
|
||||||
public FactionRank GetFactionRank()
|
public FactionRank GetFactionRank()
|
||||||
{
|
{
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
@@ -97,7 +99,7 @@ namespace ReallifeGamemode.Server.Entities
|
|||||||
banUser = new Ban { UserId = this.Id, Reason = reason, BannedBy = admin.Name, Applied = unixTimestamp, UntilDateTime = unixTimestamp };
|
banUser = new Ban { UserId = this.Id, Reason = reason, BannedBy = admin.Name, Applied = unixTimestamp, UntilDateTime = unixTimestamp };
|
||||||
|
|
||||||
this.Client?.Kick();
|
this.Client?.Kick();
|
||||||
|
|
||||||
mins--;
|
mins--;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -128,7 +130,7 @@ namespace ReallifeGamemode.Server.Entities
|
|||||||
|
|
||||||
public List<UserItem> GetItems()
|
public List<UserItem> GetItems()
|
||||||
{
|
{
|
||||||
using(var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
return dbContext.UserItems.ToList().FindAll(u => u.UserId == this.Id);
|
return dbContext.UserItems.ToList().FindAll(u => u.UserId == this.Id);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,12 +28,13 @@ namespace ReallifeGamemode.Server.Entities
|
|||||||
public string Bic { get; set; }
|
public string Bic { get; set; }
|
||||||
[StringLength(32)]
|
[StringLength(32)]
|
||||||
public string Iban { get; set; }
|
public string Iban { get; set; }
|
||||||
public int Balance {
|
public int Balance
|
||||||
|
{
|
||||||
get => _balance;
|
get => _balance;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_balance = value;
|
_balance = value;
|
||||||
using(var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
ClientService.GetClientByNameOrId(dbContext.Users.First(u => u.Id == UserId).Name).TriggerEvent("updateMoney", value);
|
ClientService.GetClientByNameOrId(dbContext.Users.First(u => u.Id == UserId).Name).TriggerEvent("updateMoney", value);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
|
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
if(!dbContext.WhitelistEntries.Any(w => w.SocialClubName.ToLower() == player.SocialClubName.ToLower()))
|
if (!dbContext.WhitelistEntries.Any(w => w.SocialClubName.ToLower() == player.SocialClubName.ToLower()))
|
||||||
{
|
{
|
||||||
string msg2 = "~m~*** " + player.Name + "[" + player.SocialClubName + "] (" + player.Address + ") hat versucht, sich einzuloggen, steht aber nicht auf der Whitelist.";
|
string msg2 = "~m~*** " + player.Name + "[" + player.SocialClubName + "] (" + player.Address + ") hat versucht, sich einzuloggen, steht aber nicht auf der Whitelist.";
|
||||||
ChatService.BroadcastAdmin(msg2, AdminLevel.ADMIN);
|
ChatService.BroadcastAdmin(msg2, AdminLevel.ADMIN);
|
||||||
@@ -44,7 +44,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
string msg = "~m~*** " + player.Name + " [" + player.SocialClubName + "] [ID:" + player.Handle.Value + "] (" + player.Address + ")";
|
string msg = "~m~*** " + player.Name + " [" + player.SocialClubName + "] [ID:" + player.Handle.Value + "] (" + player.Address + ")";
|
||||||
ChatService.BroadcastAdmin(msg, AdminLevel.ADMIN);
|
ChatService.BroadcastAdmin(msg, AdminLevel.ADMIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool IsPlayerBanned(Client player)
|
private bool IsPlayerBanned(Client player)
|
||||||
{
|
{
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
@@ -69,7 +69,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
var timeStamp = bannedUser.UntilDateTime;
|
var timeStamp = bannedUser.UntilDateTime;
|
||||||
int unixTimestamp = (int)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
|
int unixTimestamp = (int)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
|
||||||
|
|
||||||
if(timeStamp > unixTimestamp)
|
if (timeStamp > unixTimestamp)
|
||||||
{
|
{
|
||||||
player.SendChatMessage("Du bist noch bis zum !{#FF4040}" + dt.AddSeconds(timeStamp).ToLocalTime() + " Uhr ~s~gebannt. [" + bannedUser.Reason + "]");
|
player.SendChatMessage("Du bist noch bis zum !{#FF4040}" + dt.AddSeconds(timeStamp).ToLocalTime() + " Uhr ~s~gebannt. [" + bannedUser.Reason + "]");
|
||||||
player.Kick();
|
player.Kick();
|
||||||
@@ -80,7 +80,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
user.BanId = null;
|
user.BanId = null;
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
//player.TriggerEvent("medicInfo", dutyMedics);
|
//player.TriggerEvent("medicInfo", dutyMedics);
|
||||||
|
|
||||||
//TODO: Zum Full Release entfernen
|
//TODO: Zum Full Release entfernen
|
||||||
NAPI.Chat.SendChatMessageToPlayer(player, "Du bist durch " + killer.Name + " gestorben: " + reason.ToString());
|
NAPI.Chat.SendChatMessageToPlayer(player, "Du bist durch " + killer.Name + " gestorben: " + reason.ToString());
|
||||||
|
|
||||||
int? killerId;
|
int? killerId;
|
||||||
float killerPosX;
|
float killerPosX;
|
||||||
@@ -67,7 +67,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
killerPosY = killer.Position.Y;
|
killerPosY = killer.Position.Y;
|
||||||
killerPosZ = killer.Position.Z;
|
killerPosZ = killer.Position.Z;
|
||||||
killerHeading = killer.Heading;
|
killerHeading = killer.Heading;
|
||||||
if(player != killer)
|
if (player != killer)
|
||||||
{
|
{
|
||||||
string message = "~y~[HINWEIS]: " + killer.Name + " hat " + player.Name + " getötet (" + NAPI.Player.GetPlayerCurrentWeapon(killer) + ")";
|
string message = "~y~[HINWEIS]: " + killer.Name + " hat " + player.Name + " getötet (" + NAPI.Player.GetPlayerCurrentWeapon(killer) + ")";
|
||||||
ChatService.BroadcastAdmin(message, AdminLevel.ADMIN);
|
ChatService.BroadcastAdmin(message, AdminLevel.ADMIN);
|
||||||
@@ -91,16 +91,27 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
|
|
||||||
using (var userDeath = new DatabaseContext())
|
using (var userDeath = new DatabaseContext())
|
||||||
{
|
{
|
||||||
var dead = new Entities.Logs.Death { VictimId = player.GetUser().Id, KillerId = killerId, KillerPositionX = killerPosX, KillerPositionY = killerPosY,
|
var dead = new Entities.Logs.Death
|
||||||
KillerPositionZ = killerPosZ, KillerHeading = killerHeading, VictimPositionX = player.Position.X, VictimPositionY = player.Position.Y,
|
{
|
||||||
VictimPositionZ = player.Position.Z, VictimHeading = player.Heading, CauseOfDeath = reason.ToString()};
|
VictimId = player.GetUser().Id,
|
||||||
|
KillerId = killerId,
|
||||||
|
KillerPositionX = killerPosX,
|
||||||
|
KillerPositionY = killerPosY,
|
||||||
|
KillerPositionZ = killerPosZ,
|
||||||
|
KillerHeading = killerHeading,
|
||||||
|
VictimPositionX = player.Position.X,
|
||||||
|
VictimPositionY = player.Position.Y,
|
||||||
|
VictimPositionZ = player.Position.Z,
|
||||||
|
VictimHeading = player.Heading,
|
||||||
|
CauseOfDeath = reason.ToString()
|
||||||
|
};
|
||||||
userDeath.DeathLogs.Add(dead);
|
userDeath.DeathLogs.Add(dead);
|
||||||
userDeath.SaveChanges();
|
userDeath.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[RemoteEvent("RespawnPlayerAtHospital")]
|
[RemoteEvent("RespawnPlayerAtHospital")]
|
||||||
public void RespawnPlayerAtHospital(Client player)
|
public void RespawnPlayerAtHospital(Client player)
|
||||||
{
|
{
|
||||||
player.SetData("isDead", false);
|
player.SetData("isDead", false);
|
||||||
player.RemoveAllWeapons();
|
player.RemoveAllWeapons();
|
||||||
NAPI.Player.SpawnPlayer(player, new Vector3(-495.45, -336.33, 34.5));
|
NAPI.Player.SpawnPlayer(player, new Vector3(-495.45, -336.33, 34.5));
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
var user = player.GetUser(saveUser);
|
var user = player.GetUser(saveUser);
|
||||||
Vector3 pos = player.Position;
|
Vector3 pos = player.Position;
|
||||||
|
|
||||||
if(!float.IsNaN(pos.X) && !float.IsNaN(pos.Y) && !float.IsNaN(pos.Z))
|
if (!float.IsNaN(pos.X) && !float.IsNaN(pos.Y) && !float.IsNaN(pos.Z))
|
||||||
{
|
{
|
||||||
user.PositionX = pos.X;
|
user.PositionX = pos.X;
|
||||||
user.PositionY = pos.Y;
|
user.PositionY = pos.Y;
|
||||||
@@ -47,7 +47,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
saveUser.SaveChanges();
|
saveUser.SaveChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
user.Dead = player.HasData("isDead") ? player.GetData("isDead") : false;
|
user.Dead = player.HasData("isDead") ? player.GetData("isDead") : false;
|
||||||
}
|
}
|
||||||
player.SetData("isLoggedIn", false);
|
player.SetData("isLoggedIn", false);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,12 +23,12 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
|
|
||||||
if (vehicle.GetServerVehicle() is FactionVehicle veh)
|
if (vehicle.GetServerVehicle() is FactionVehicle veh)
|
||||||
{
|
{
|
||||||
if(veh.FactionId != player.GetUser().FactionId)
|
if (veh.FactionId != player.GetUser().FactionId)
|
||||||
{
|
{
|
||||||
player.StopAnimation();
|
player.StopAnimation();
|
||||||
player.SendNotification("~r~Du darfst dieses Fahrzeug nicht benutzen!", true);
|
player.SendNotification("~r~Du darfst dieses Fahrzeug nicht benutzen!", true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
public void OnFactionRanksEdit(Client player, string jsonData)
|
public void OnFactionRanksEdit(Client player, string jsonData)
|
||||||
{
|
{
|
||||||
FactionRankHelper helper = JsonConvert.DeserializeObject<FactionRankHelper>(jsonData);
|
FactionRankHelper helper = JsonConvert.DeserializeObject<FactionRankHelper>(jsonData);
|
||||||
using(var context = new DatabaseContext())
|
using (var context = new DatabaseContext())
|
||||||
{
|
{
|
||||||
Entities.Faction f = context.Factions.FirstOrDefault(x => x.Id == helper.FactionId);
|
Entities.Faction f = context.Factions.FirstOrDefault(x => x.Id == helper.FactionId);
|
||||||
if (f == null)
|
if (f == null)
|
||||||
@@ -31,10 +31,10 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
|
|
||||||
List<int> found = new List<int>();
|
List<int> found = new List<int>();
|
||||||
|
|
||||||
for(int i = 0; i < ranks.Count; i++)
|
for (int i = 0; i < ranks.Count; i++)
|
||||||
{
|
{
|
||||||
Rank newRank = ranks[i];
|
Rank newRank = ranks[i];
|
||||||
if(newRank.Id == 0)
|
if (newRank.Id == 0)
|
||||||
{
|
{
|
||||||
context.FactionRanks.Add(new FactionRank
|
context.FactionRanks.Add(new FactionRank
|
||||||
{
|
{
|
||||||
@@ -52,9 +52,9 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i < factionRanks.Count; i++)
|
for (int i = 0; i < factionRanks.Count; i++)
|
||||||
{
|
{
|
||||||
if(!found.Contains(factionRanks[i].Id))
|
if (!found.Contains(factionRanks[i].Id))
|
||||||
{
|
{
|
||||||
context.FactionRanks.Remove(factionRanks[i]);
|
context.FactionRanks.Remove(factionRanks[i]);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GroundItem.PickUpGroundItem(player);
|
GroundItem.PickUpGroundItem(player);
|
||||||
@@ -84,15 +84,15 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
if (!player.IsLoggedIn()) return;
|
if (!player.IsLoggedIn()) return;
|
||||||
User user = player.GetUser();
|
User user = player.GetUser();
|
||||||
switch (user.FactionId)
|
switch (user.FactionId)
|
||||||
{
|
{
|
||||||
//LSFD
|
//LSFD
|
||||||
case 2:
|
case 2:
|
||||||
player.TriggerEvent("showFactionInteraction", user.FactionId, player.GetData("duty"), user.Faction.Name, user.FactionLeader, Medic.ReviveTasks.Count.ToString(), Medic.HealTasks.Count.ToString(), Medic.FireTasks.Count.ToString());
|
player.TriggerEvent("showFactionInteraction", user.FactionId, player.GetData("duty"), user.Faction.Name, user.FactionLeader, Medic.ReviveTasks.Count.ToString(), Medic.HealTasks.Count.ToString(), Medic.FireTasks.Count.ToString());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[RemoteEvent("keyPress:E")]
|
[RemoteEvent("keyPress:E")]
|
||||||
public void KeyPressE(Client player)
|
public void KeyPressE(Client player)
|
||||||
{
|
{
|
||||||
if (!player.IsLoggedIn()) return;
|
if (!player.IsLoggedIn()) return;
|
||||||
@@ -102,7 +102,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
DutyPoint nearest = PositionManager.DutyPoints.Find(d => d.Position.DistanceTo(player.Position) <= 1.5);
|
DutyPoint nearest = PositionManager.DutyPoints.Find(d => d.Position.DistanceTo(player.Position) <= 1.5);
|
||||||
if (nearest == null) return;
|
if (nearest == null) return;
|
||||||
if (player.Position.DistanceTo(nearest.Position) <= 1.5 && nearest.FactionId == user.FactionId)
|
if (player.Position.DistanceTo(nearest.Position) <= 1.5 && nearest.FactionId == user.FactionId)
|
||||||
{
|
{
|
||||||
var nameTagColor = new Color(0, 0, 0);
|
var nameTagColor = new Color(0, 0, 0);
|
||||||
var factionId = user.FactionId;
|
var factionId = user.FactionId;
|
||||||
|
|
||||||
@@ -113,9 +113,9 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
if (player.GetUser().FactionId == 2) //Fire Department
|
if (player.GetUser().FactionId == 2) //Fire Department
|
||||||
{
|
{
|
||||||
int medicCount = 0;
|
int medicCount = 0;
|
||||||
foreach(Client c in NAPI.Pools.GetAllPlayers())
|
foreach (Client c in NAPI.Pools.GetAllPlayers())
|
||||||
{
|
{
|
||||||
if((c.GetUser()?.Faction.Id ?? 0) == 2)
|
if ((c.GetUser()?.Faction.Id ?? 0) == 2)
|
||||||
{
|
{
|
||||||
medicCount++;
|
medicCount++;
|
||||||
}
|
}
|
||||||
@@ -134,22 +134,22 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
{
|
{
|
||||||
List<CharacterCloth> clothes = context.CharacterClothes.Where(u => u.UserId == user.Id && u.Duty == true).ToList();
|
List<CharacterCloth> clothes = context.CharacterClothes.Where(u => u.UserId == user.Id && u.Duty == true).ToList();
|
||||||
|
|
||||||
foreach(var cloth in clothes)
|
foreach (var cloth in clothes)
|
||||||
{
|
{
|
||||||
if(cloth.SlotType == 0)
|
if (cloth.SlotType == 0)
|
||||||
{
|
{
|
||||||
player.SetClothes(cloth.SlotId, cloth.ClothId, 0);
|
player.SetClothes(cloth.SlotId, cloth.ClothId, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(cloth.ClothId != -1)
|
if (cloth.ClothId != -1)
|
||||||
{
|
{
|
||||||
player.SetAccessories(cloth.SlotId, cloth.ClothId, 0);
|
player.SetAccessories(cloth.SlotId, cloth.ClothId, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
player.ClearAccessory(cloth.SlotId);
|
player.ClearAccessory(cloth.SlotId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -178,7 +178,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
List<Client> players = NAPI.Pools.GetAllPlayers();
|
List<Client> players = NAPI.Pools.GetAllPlayers();
|
||||||
List<ListPlayer> ListPlayers = new List<ListPlayer>();
|
List<ListPlayer> ListPlayers = new List<ListPlayer>();
|
||||||
|
|
||||||
foreach(Client listPlayer in players)
|
foreach (Client listPlayer in players)
|
||||||
{
|
{
|
||||||
var lPlayer = new ListPlayer
|
var lPlayer = new ListPlayer
|
||||||
{
|
{
|
||||||
@@ -190,7 +190,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
ListPlayers.Add(lPlayer);
|
ListPlayers.Add(lPlayer);
|
||||||
}
|
}
|
||||||
player.TriggerEvent("fetchPlayerList", JsonConvert.SerializeObject(ListPlayers));
|
player.TriggerEvent("fetchPlayerList", JsonConvert.SerializeObject(ListPlayers));
|
||||||
}
|
}
|
||||||
[RemoteEvent("keyPress:K")]
|
[RemoteEvent("keyPress:K")]
|
||||||
public void KeyPressK(Client player)
|
public void KeyPressK(Client player)
|
||||||
{
|
{
|
||||||
@@ -210,9 +210,9 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
using (var context = new DatabaseContext())
|
using (var context = new DatabaseContext())
|
||||||
{
|
{
|
||||||
List<DutyCloth> clothes = context.DutyClothes.ToList().FindAll(c => c.FactionId == user.FactionId && c.Gender == user.GetCharacter().Gender);
|
List<DutyCloth> clothes = context.DutyClothes.ToList().FindAll(c => c.FactionId == user.FactionId && c.Gender == user.GetCharacter().Gender);
|
||||||
foreach(var cloth in clothes)
|
foreach (var cloth in clothes)
|
||||||
{
|
{
|
||||||
if(cloth.SlotType == 1)
|
if (cloth.SlotType == 1)
|
||||||
{
|
{
|
||||||
if (cloth.ClothId != -1)
|
if (cloth.ClothId != -1)
|
||||||
{
|
{
|
||||||
@@ -242,7 +242,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
player.TriggerEvent("showDutyClothMenu", hats.ToArray(), tops.ToArray(), legs.ToArray(), shoes.ToArray());
|
player.TriggerEvent("showDutyClothMenu", hats.ToArray(), tops.ToArray(), legs.ToArray(), shoes.ToArray());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
[RemoteEvent("keyPress:L")]
|
[RemoteEvent("keyPress:L")]
|
||||||
public void KeyPressL(Client player)
|
public void KeyPressL(Client player)
|
||||||
@@ -263,19 +263,19 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
if (player.IsInVehicle && player.VehicleSeat == -1)
|
if (player.IsInVehicle && player.VehicleSeat == -1)
|
||||||
{
|
{
|
||||||
ServerVehicle veh = player.Vehicle.GetServerVehicle();
|
ServerVehicle veh = player.Vehicle.GetServerVehicle();
|
||||||
if(veh != null)
|
if (veh != null)
|
||||||
{
|
{
|
||||||
if(veh is FactionVehicle fV && fV.FactionId != player.GetUser()?.FactionId && (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN3) ?? false))
|
if (veh is FactionVehicle fV && fV.FactionId != player.GetUser()?.FactionId && (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN3) ?? false))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if(veh is ShopVehicle)
|
else if (veh is ShopVehicle)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player.TriggerEvent("ToggleVehicleMenu");
|
player.TriggerEvent("ToggleVehicleMenu");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -96,6 +96,6 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
dbContext.UserBankAccounts.Add(userBankAccount);
|
dbContext.UserBankAccounts.Add(userBankAccount);
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
|
|
||||||
player.TriggerEvent("SERVER:Login_Success");
|
player.TriggerEvent("SERVER:Login_Success");
|
||||||
player.SetData("isLoggedIn", true);
|
player.SetData("isLoggedIn", true);
|
||||||
player.SetData("isDead", false);
|
player.SetData("isDead", false);
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
//player.TriggerEvent("toggleCreator");
|
//player.TriggerEvent("toggleCreator");
|
||||||
|
|
||||||
player.Position = new Vector3(user.PositionX, user.PositionY, user.PositionZ);
|
player.Position = new Vector3(user.PositionX, user.PositionY, user.PositionZ);
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (dbContext.Users.Where(u => u.SocialClubName == player.SocialClubName).Count() >= 3)
|
else if (dbContext.Users.Where(u => u.SocialClubName == player.SocialClubName).Count() >= 3)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
{
|
{
|
||||||
var users = NAPI.Pools.GetAllPlayers();
|
var users = NAPI.Pools.GetAllPlayers();
|
||||||
|
|
||||||
foreach(Client user in users)
|
foreach (Client user in users)
|
||||||
{
|
{
|
||||||
using (var saveUsers = new DatabaseContext())
|
using (var saveUsers = new DatabaseContext())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
[ServerEvent(Event.Update)]
|
[ServerEvent(Event.Update)]
|
||||||
public void UpdateEvent()
|
public void UpdateEvent()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
}
|
}
|
||||||
CharacterCloth torso = context.CharacterClothes.FirstOrDefault(u => u.UserId == user.Id && u.SlotType == 0 && u.SlotId == 3);
|
CharacterCloth torso = context.CharacterClothes.FirstOrDefault(u => u.UserId == user.Id && u.SlotType == 0 && u.SlotId == 3);
|
||||||
CharacterCloth undershirt = context.CharacterClothes.FirstOrDefault(u => u.UserId == user.Id && u.SlotType == 0 && u.SlotId == 8);
|
CharacterCloth undershirt = context.CharacterClothes.FirstOrDefault(u => u.UserId == user.Id && u.SlotType == 0 && u.SlotId == 8);
|
||||||
|
|
||||||
torso.ClothId = context.ClothCombinations.FirstOrDefault(c => c.Top == clothId[1] && c.Gender == character.Gender).Torso;
|
torso.ClothId = context.ClothCombinations.FirstOrDefault(c => c.Top == clothId[1] && c.Gender == character.Gender).Torso;
|
||||||
undershirt.ClothId = context.ClothCombinations.FirstOrDefault(c => c.Top == clothId[1] && c.Gender == character.Gender).Undershirt;
|
undershirt.ClothId = context.ClothCombinations.FirstOrDefault(c => c.Top == clothId[1] && c.Gender == character.Gender).Undershirt;
|
||||||
}
|
}
|
||||||
@@ -139,7 +139,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
|
|
||||||
foreach (var cloth in charClothes)
|
foreach (var cloth in charClothes)
|
||||||
{
|
{
|
||||||
if(cloth.SlotType == 1)
|
if (cloth.SlotType == 1)
|
||||||
{
|
{
|
||||||
player.SetAccessories(cloth.SlotId, cloth.ClothId, 0);
|
player.SetAccessories(cloth.SlotId, cloth.ClothId, 0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
player.SendNotification("~r~Der Motor kann nur im Stand betätigt werden.", true);
|
player.SendNotification("~r~Der Motor kann nur im Stand betätigt werden.", true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool state = VehicleStreaming.GetEngineState(v);
|
bool state = VehicleStreaming.GetEngineState(v);
|
||||||
ServerVehicle sV = v.GetServerVehicle();
|
ServerVehicle sV = v.GetServerVehicle();
|
||||||
if (sV != null)
|
if (sV != null)
|
||||||
@@ -74,9 +74,9 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(sV is UserVehicle uV)
|
else if (sV is UserVehicle uV)
|
||||||
{
|
{
|
||||||
if(uV.UserId != u.Id && !u.IsAdmin(AdminLevel.ADMIN3))
|
if (uV.UserId != u.Id && !u.IsAdmin(AdminLevel.ADMIN3))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ namespace ReallifeGamemode.Server.Extensions
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static string GetName(this AdminLevel level)
|
public static string GetName(this AdminLevel level)
|
||||||
{
|
{
|
||||||
switch(level)
|
switch (level)
|
||||||
{
|
{
|
||||||
case SUPPORTER:
|
case SUPPORTER:
|
||||||
return "Supporter";
|
return "Supporter";
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ namespace ReallifeGamemode.Server.Extensions
|
|||||||
public static User GetUser(this Client client, DatabaseContext context = null)
|
public static User GetUser(this Client client, DatabaseContext context = null)
|
||||||
{
|
{
|
||||||
if (!client.IsLoggedIn()) return null;
|
if (!client.IsLoggedIn()) return null;
|
||||||
if(context == null)
|
if (context == null)
|
||||||
{
|
{
|
||||||
using (context = new DatabaseContext())
|
using (context = new DatabaseContext())
|
||||||
{
|
{
|
||||||
@@ -33,7 +33,8 @@ namespace ReallifeGamemode.Server.Extensions
|
|||||||
.Users
|
.Users
|
||||||
.Include(u => u.Faction)
|
.Include(u => u.Faction)
|
||||||
.Include(u => u.FactionRank)
|
.Include(u => u.FactionRank)
|
||||||
.FirstOrDefault(u => u.Name == client.Name);
|
.Where(u => u.Name == client.Name)
|
||||||
|
.FirstOrDefault();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -42,7 +43,8 @@ namespace ReallifeGamemode.Server.Extensions
|
|||||||
.Users
|
.Users
|
||||||
.Include(u => u.Faction)
|
.Include(u => u.Faction)
|
||||||
.Include(u => u.FactionRank)
|
.Include(u => u.FactionRank)
|
||||||
.FirstOrDefault(u => u.Name == client.Name);
|
.Where(u => u.Name == client.Name)
|
||||||
|
.FirstOrDefault();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ namespace ReallifeGamemode.Server.Inventory
|
|||||||
|
|
||||||
public static void PickUpGroundItem(Client player)
|
public static void PickUpGroundItem(Client player)
|
||||||
{
|
{
|
||||||
GroundItem nearest = GroundItems.FirstOrDefault(d => d.Position.DistanceTo(player.Position) <= 1.2);
|
GroundItem nearest = GroundItems.FirstOrDefault(d => d.Position.DistanceTo(player.Position) <= 1.2);
|
||||||
if (nearest != null)
|
if (nearest != null)
|
||||||
{
|
{
|
||||||
var invWeight = InventoryManager.GetUserInventoryWeight(player);
|
var invWeight = InventoryManager.GetUserInventoryWeight(player);
|
||||||
@@ -40,9 +40,9 @@ namespace ReallifeGamemode.Server.Inventory
|
|||||||
var user = player.GetUser();
|
var user = player.GetUser();
|
||||||
if (nearestItem.Gewicht * nearest.Amount + invWeight > 40000)
|
if (nearestItem.Gewicht * nearest.Amount + invWeight > 40000)
|
||||||
{
|
{
|
||||||
for(var i = 1; i <= nearest.Amount; i++)
|
for (var i = 1; i <= nearest.Amount; i++)
|
||||||
{
|
{
|
||||||
if(invWeight + (i * nearestItem.Gewicht) > 40000)
|
if (invWeight + (i * nearestItem.Gewicht) > 40000)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -51,13 +51,13 @@ namespace ReallifeGamemode.Server.Inventory
|
|||||||
itemsToAdd = i;
|
itemsToAdd = i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(itemsToAdd < 1)
|
if (itemsToAdd < 1)
|
||||||
{
|
{
|
||||||
player.SendNotification("~r~Du hast keinen Platz im Inventar!", false);
|
player.SendNotification("~r~Du hast keinen Platz im Inventar!", false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(existingItem != null)
|
if (existingItem != null)
|
||||||
{
|
{
|
||||||
using (var context = new DatabaseContext())
|
using (var context = new DatabaseContext())
|
||||||
{
|
{
|
||||||
@@ -69,7 +69,7 @@ namespace ReallifeGamemode.Server.Inventory
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
UserItem newItem = new UserItem { ItemId = nearest.ItemId, UserId = user.Id, Amount = nearest.Amount };
|
UserItem newItem = new UserItem { ItemId = nearest.ItemId, UserId = user.Id, Amount = nearest.Amount };
|
||||||
InventoryManager.AddItemToInventory(player, newItem);
|
InventoryManager.AddItemToInventory(player, newItem);
|
||||||
}
|
}
|
||||||
nearest.Amount -= itemsToAdd;
|
nearest.Amount -= itemsToAdd;
|
||||||
nearestTextLabel.Text = nearestItem.Name + " ~s~(~y~" + nearest.Amount + "~s~)";
|
nearestTextLabel.Text = nearestItem.Name + " ~s~(~y~" + nearest.Amount + "~s~)";
|
||||||
@@ -84,17 +84,17 @@ namespace ReallifeGamemode.Server.Inventory
|
|||||||
{
|
{
|
||||||
UserItem existingUserItem = context.UserItems.FirstOrDefault(i => i.Id == existingItem.Id && i.UserId == user.Id);
|
UserItem existingUserItem = context.UserItems.FirstOrDefault(i => i.Id == existingItem.Id && i.UserId == user.Id);
|
||||||
existingUserItem.Amount += nearest.Amount;
|
existingUserItem.Amount += nearest.Amount;
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
UserItem item = new UserItem() { ItemId = nearest.ItemId, UserId = user.Id, Amount = nearest.Amount };
|
UserItem item = new UserItem() { ItemId = nearest.ItemId, UserId = user.Id, Amount = nearest.Amount };
|
||||||
InventoryManager.AddItemToInventory(player, item);
|
InventoryManager.AddItemToInventory(player, item);
|
||||||
}
|
}
|
||||||
RemoveGroundItem(nearest, nearestObject, nearestTextLabel);
|
RemoveGroundItem(nearest, nearestObject, nearestTextLabel);
|
||||||
player.SendNotification("Du hast ~g~" + nearest.Amount + " ~y~" + nearestItem.Name + " ~s~aufgehoben.");
|
player.SendNotification("Du hast ~g~" + nearest.Amount + " ~y~" + nearestItem.Name + " ~s~aufgehoben.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,8 +103,8 @@ namespace ReallifeGamemode.Server.Inventory
|
|||||||
GroundItems.Remove(grndItem);
|
GroundItems.Remove(grndItem);
|
||||||
NAPI.Entity.DeleteEntity(grndObject);
|
NAPI.Entity.DeleteEntity(grndObject);
|
||||||
NAPI.Entity.DeleteEntity(grndTextLabel);
|
NAPI.Entity.DeleteEntity(grndTextLabel);
|
||||||
GroundObjects.Remove(grndObject);
|
GroundObjects.Remove(grndObject);
|
||||||
GroundTextLabels.Remove(grndTextLabel);
|
GroundTextLabels.Remove(grndTextLabel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ using System.Text;
|
|||||||
namespace ReallifeGamemode.Server.Inventory.Items
|
namespace ReallifeGamemode.Server.Inventory.Items
|
||||||
{
|
{
|
||||||
public class Cheeseburger : FoodItem
|
public class Cheeseburger : FoodItem
|
||||||
{
|
{
|
||||||
public override int Id => 2;
|
public override int Id => 2;
|
||||||
public override string Name => "Cheeseburger";
|
public override string Name => "Cheeseburger";
|
||||||
public override string Description => "Wie der Hamburger, nur mit Käse.";
|
public override string Description => "Wie der Hamburger, nur mit Käse.";
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
|||||||
Client player = uItem.GetUser().Client;
|
Client player = uItem.GetUser().Client;
|
||||||
|
|
||||||
int amountToAdd = HpAmount;
|
int amountToAdd = HpAmount;
|
||||||
if(player.Health + amountToAdd > 100)
|
if (player.Health + amountToAdd > 100)
|
||||||
{
|
{
|
||||||
amountToAdd = 100 - player.Health;
|
amountToAdd = 100 - player.Health;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ using System.Text;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
namespace ReallifeGamemode.Server.Inventory.Items
|
namespace ReallifeGamemode.Server.Inventory.Items
|
||||||
{
|
{
|
||||||
public class Holz : IDroppableItem
|
public class Holz : IDroppableItem
|
||||||
{
|
{
|
||||||
public int Id => 4;
|
public int Id => 4;
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ namespace ReallifeGamemode.Server
|
|||||||
NAPI.Server.SetAutoSpawnOnConnect(false);
|
NAPI.Server.SetAutoSpawnOnConnect(false);
|
||||||
NAPI.Server.SetAutoRespawnAfterDeath(false);
|
NAPI.Server.SetAutoRespawnAfterDeath(false);
|
||||||
NAPI.Data.SetWorldData("playerCreatorDimension", 0);
|
NAPI.Data.SetWorldData("playerCreatorDimension", 0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
InventoryManager.LoadItems();
|
InventoryManager.LoadItems();
|
||||||
@@ -60,5 +60,5 @@ namespace ReallifeGamemode.Server
|
|||||||
|
|
||||||
NAPI.Data.SetWorldData("blipTemplate", tempBlip);
|
NAPI.Data.SetWorldData("blipTemplate", tempBlip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -28,7 +28,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
{
|
{
|
||||||
if (currentATM.Sprite == 500)
|
if (currentATM.Sprite == 500)
|
||||||
{
|
{
|
||||||
if(dbContext.ATMs.FirstOrDefault(a => a.Id == currentATM.Id) == null)
|
if (dbContext.ATMs.FirstOrDefault(a => a.Id == currentATM.Id) == null)
|
||||||
{
|
{
|
||||||
var dataSet = new ATM
|
var dataSet = new ATM
|
||||||
{
|
{
|
||||||
@@ -46,7 +46,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(addedATMs > 0)
|
if (addedATMs > 0)
|
||||||
{
|
{
|
||||||
NAPI.Util.ConsoleOutput(addedATMs + " Geldautomaten hinzugefügt");
|
NAPI.Util.ConsoleOutput(addedATMs + " Geldautomaten hinzugefügt");
|
||||||
}
|
}
|
||||||
@@ -54,7 +54,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
{
|
{
|
||||||
NAPI.Util.ConsoleOutput("Keine Geldautomaten hinzugefügt");
|
NAPI.Util.ConsoleOutput("Keine Geldautomaten hinzugefügt");
|
||||||
}
|
}
|
||||||
|
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
LoadATMs();
|
LoadATMs();
|
||||||
}
|
}
|
||||||
@@ -83,7 +83,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
}
|
}
|
||||||
public static void ShowAtmUi(Client player, int atmId)
|
public static void ShowAtmUi(Client player, int atmId)
|
||||||
{
|
{
|
||||||
player.TriggerEvent("SERVER:ShowAtmUi", atmId);
|
player.TriggerEvent("SERVER:ShowAtmUi", atmId);
|
||||||
}
|
}
|
||||||
[RemoteEvent("CLIENT:ATM_MAN:CHECK_BALANCE")]
|
[RemoteEvent("CLIENT:ATM_MAN:CHECK_BALANCE")]
|
||||||
public void CheckATMBalance(Client client, int inputField1)
|
public void CheckATMBalance(Client client, int inputField1)
|
||||||
@@ -94,7 +94,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
var checkATM = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
|
var checkATM = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
|
||||||
if(checkATM.Balance < inputField1)
|
if (checkATM.Balance < inputField1)
|
||||||
{
|
{
|
||||||
//TODO im CEFBrowser anzeigen client.SendChatMessage("Nicht genügend Geld im Automaten. Maximal Verfügbar: " + checkATM.Balance);
|
//TODO im CEFBrowser anzeigen client.SendChatMessage("Nicht genügend Geld im Automaten. Maximal Verfügbar: " + checkATM.Balance);
|
||||||
client.TriggerEvent("SERVER:WORLD_INTERACTION:ATM_ERROR", 0, checkATM.Balance);
|
client.TriggerEvent("SERVER:WORLD_INTERACTION:ATM_ERROR", 0, checkATM.Balance);
|
||||||
@@ -118,7 +118,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
{
|
{
|
||||||
//GELD EINZAHLEN in1
|
//GELD EINZAHLEN in1
|
||||||
case 0:
|
case 0:
|
||||||
|
|
||||||
var updateHandMoneyIn = dbContext.Users.FirstOrDefault(u => u.Id == user.Id);
|
var updateHandMoneyIn = dbContext.Users.FirstOrDefault(u => u.Id == user.Id);
|
||||||
var updateBankMoneyIn = dbContext.UserBankAccounts.FirstOrDefault(b => b.UserId == user.Id);
|
var updateBankMoneyIn = dbContext.UserBankAccounts.FirstOrDefault(b => b.UserId == user.Id);
|
||||||
var updateATMBalanceIn = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
|
var updateATMBalanceIn = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
|
||||||
@@ -144,6 +144,6 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
}
|
}
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using ReallifeGamemode.Server.Business;
|
using ReallifeGamemode.Server.Business;
|
||||||
using ReallifeGamemode.Server.Entities;
|
using ReallifeGamemode.Server.Entities;
|
||||||
using ReallifeGamemode.Server.Extensions;
|
using ReallifeGamemode.Server.Extensions;
|
||||||
@@ -51,7 +52,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
public void BusinessDepositMoney(Client player, int amount)
|
public void BusinessDepositMoney(Client player, int amount)
|
||||||
{
|
{
|
||||||
User user = player.GetUser();
|
User user = player.GetUser();
|
||||||
if(user == null)
|
if (user == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -70,7 +71,8 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
player.SendNotification("~r~Du hast nicht genug Geld");
|
player.SendNotification("~r~Du hast nicht genug Geld");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else */if(result == TransactionResult.SUCCESS)
|
else */
|
||||||
|
if (result == TransactionResult.SUCCESS)
|
||||||
{
|
{
|
||||||
player.TriggerEvent("business_updateMoney", playerBusiness.GetBankAccount().Balance.ToMoneyString());
|
player.TriggerEvent("business_updateMoney", playerBusiness.GetBankAccount().Balance.ToMoneyString());
|
||||||
player.SendNotification("~g~Du hast erfolgreich ~s~" + amount.ToMoneyString() + " ~g~ überwiesen");
|
player.SendNotification("~g~Du hast erfolgreich ~s~" + amount.ToMoneyString() + " ~g~ überwiesen");
|
||||||
@@ -114,14 +116,24 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
{
|
{
|
||||||
ServerVehicle sVeh = veh.GetServerVehicle();
|
ServerVehicle sVeh = veh.GetServerVehicle();
|
||||||
if (sVeh == null) return;
|
if (sVeh == null) return;
|
||||||
if(!(sVeh is ShopVehicle)) return;
|
if (!(sVeh is ShopVehicle)) return;
|
||||||
ShopVehicle shopVehicle = (ShopVehicle)sVeh;
|
ShopVehicle shopVehicle = (ShopVehicle)sVeh;
|
||||||
player.TriggerEvent("ShopVehicle_OpenMenu", GetBusiness(shopVehicle.BusinessId).Name, shopVehicle.Price);
|
|
||||||
|
List<string> availableTargets = new List<string>()
|
||||||
|
{
|
||||||
|
"Spieler (dich selbst)"
|
||||||
|
};
|
||||||
|
|
||||||
|
if (player.GetUser().FactionLeader && !player.GetUser().Faction.StateOwned) availableTargets.Add("Fraktion");
|
||||||
|
if (player.GetUser().GroupRank == GroupRank.OWNER) availableTargets.Add("Gruppe");
|
||||||
|
|
||||||
|
player.TriggerEvent("ShopVehicle_OpenMenu", GetBusiness(shopVehicle.BusinessId).Name, shopVehicle.Price, availableTargets.ToArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
[RemoteEvent("VehShop_BuyVehicle")]
|
[RemoteEvent("VehShop_BuyVehicle")]
|
||||||
public void CarDealerBusiness_BuyVehicle(Client player)
|
public void CarDealerBusiness_BuyVehicle(Client player, string target)
|
||||||
{
|
{
|
||||||
|
player.SendChatMessage(target);
|
||||||
ServerVehicle sVeh = player.Vehicle?.GetServerVehicle();
|
ServerVehicle sVeh = player.Vehicle?.GetServerVehicle();
|
||||||
if (sVeh == null) return;
|
if (sVeh == null) return;
|
||||||
if (!(sVeh is ShopVehicle)) return;
|
if (!(sVeh is ShopVehicle)) return;
|
||||||
@@ -129,7 +141,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
int price = shopVehicle.Price;
|
int price = shopVehicle.Price;
|
||||||
CarDealerBusinessBase business = GetBusiness(shopVehicle.BusinessId) as CarDealerBusinessBase;
|
CarDealerBusinessBase business = GetBusiness(shopVehicle.BusinessId) as CarDealerBusinessBase;
|
||||||
TransactionResult result = BankManager.TransferMoney(player.GetUser(), business, price, "Auto gekauft");
|
TransactionResult result = BankManager.TransferMoney(player.GetUser(), business, price, "Auto gekauft");
|
||||||
if(result == TransactionResult.SENDER_NOT_ENOUGH_MONEY)
|
if (result == TransactionResult.SENDER_NOT_ENOUGH_MONEY)
|
||||||
{
|
{
|
||||||
player.SendNotification("~r~Du hast nicht genug Geld: " + price.ToMoneyString());
|
player.SendNotification("~r~Du hast nicht genug Geld: " + price.ToMoneyString());
|
||||||
return;
|
return;
|
||||||
@@ -153,7 +165,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
Active = true,
|
Active = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
using(var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
dbContext.UserVehicles.Add(newVeh);
|
dbContext.UserVehicles.Add(newVeh);
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
|
|||||||
@@ -302,7 +302,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
player.SetHeadOverlay(11, blemishes);
|
player.SetHeadOverlay(11, blemishes);
|
||||||
player.SetHeadOverlay(12, blemishes);
|
player.SetHeadOverlay(12, blemishes);
|
||||||
|
|
||||||
|
|
||||||
//Gesicht (Vererbung durch Mutter / Vater)
|
//Gesicht (Vererbung durch Mutter / Vater)
|
||||||
HeadBlend headBlend = new HeadBlend()
|
HeadBlend headBlend = new HeadBlend()
|
||||||
{
|
{
|
||||||
@@ -324,7 +324,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
//Augenfarbe
|
//Augenfarbe
|
||||||
NAPI.Player.SetPlayerEyeColor(player, character.EyeColor);
|
NAPI.Player.SetPlayerEyeColor(player, character.EyeColor);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
{
|
{
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
foreach(Door door in dbContext.Doors)
|
foreach (Door door in dbContext.Doors)
|
||||||
{
|
{
|
||||||
_doorColShapes[door.Id] = NAPI.ColShape.CreateSphereColShape(door.Position, 30f);
|
_doorColShapes[door.Id] = NAPI.ColShape.CreateSphereColShape(door.Position, 30f);
|
||||||
}
|
}
|
||||||
@@ -30,7 +30,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
public static void ReloadDoors()
|
public static void ReloadDoors()
|
||||||
{
|
{
|
||||||
foreach(var doorPair in _doorColShapes)
|
foreach (var doorPair in _doorColShapes)
|
||||||
{
|
{
|
||||||
doorPair.Value.Entity<ColShape>().Delete();
|
doorPair.Value.Entity<ColShape>().Delete();
|
||||||
}
|
}
|
||||||
@@ -44,12 +44,12 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
IQueryable<Door> NearDoors = dbContext.Doors.Where(d => d.Position.DistanceTo(player.Position) <= d.Radius);
|
IQueryable<Door> NearDoors = dbContext.Doors.Where(d => d.Position.DistanceTo(player.Position) <= d.Radius);
|
||||||
foreach (Door d in NearDoors)
|
foreach (Door d in NearDoors)
|
||||||
{
|
{
|
||||||
if(!user.IsAdmin(AdminLevel.ADMIN) && (d.FactionId != user.FactionId || d.FactionId == null))
|
if (!user.IsAdmin(AdminLevel.ADMIN) && (d.FactionId != user.FactionId || d.FactionId == null))
|
||||||
{
|
{
|
||||||
string lockState = "~r~Du hast kein Recht diese T\u00fcr " + (d.Locked == true ? "auf" : "ab") + "zuschlie\u00dfen!";
|
string lockState = "~r~Du hast kein Recht diese T\u00fcr " + (d.Locked == true ? "auf" : "ab") + "zuschlie\u00dfen!";
|
||||||
player.SendNotification(lockState, true);
|
player.SendNotification(lockState, true);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -57,7 +57,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
d.Locked = !d.Locked;
|
d.Locked = !d.Locked;
|
||||||
|
|
||||||
string notStr = d.Name + " " + (d.Locked == false ? "~g~auf" : "~r~ab") + "geschlossen";
|
string notStr = d.Name + " " + (d.Locked == false ? "~g~auf" : "~r~ab") + "geschlossen";
|
||||||
|
|
||||||
player.SendNotification(notStr, true);
|
player.SendNotification(notStr, true);
|
||||||
|
|
||||||
NAPI.Pools.GetAllPlayers().ForEach(p => p.TriggerEvent("changeDoorState", d.Model, d.X, d.Y, d.Z, (d.Locked ? 1 : 0), 0.0f, 0.0f, 0.0f));
|
NAPI.Pools.GetAllPlayers().ForEach(p => p.TriggerEvent("changeDoorState", d.Model, d.X, d.Y, d.Z, (d.Locked ? 1 : 0), 0.0f, 0.0f, 0.0f));
|
||||||
@@ -69,11 +69,11 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
[ServerEvent(Event.PlayerEnterColshape)]
|
[ServerEvent(Event.PlayerEnterColshape)]
|
||||||
public void DoorManagerPlayerEnterColShapeEvent(ColShape colShape, Client player)
|
public void DoorManagerPlayerEnterColShapeEvent(ColShape colShape, Client player)
|
||||||
{
|
{
|
||||||
if(_doorColShapes.ContainsValue(colShape.Handle))
|
if (_doorColShapes.ContainsValue(colShape.Handle))
|
||||||
{
|
{
|
||||||
int doorId = _doorColShapes.Where(d => d.Value.Value == colShape.Handle.Value).FirstOrDefault().Key;
|
int doorId = _doorColShapes.Where(d => d.Value.Value == colShape.Handle.Value).FirstOrDefault().Key;
|
||||||
|
|
||||||
using(var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
Door door = dbContext.Doors.Where(d => d.Id == doorId).First();
|
Door door = dbContext.Doors.Where(d => d.Id == doorId).First();
|
||||||
player.TriggerEvent("changeDoorState", door.Model, door.X, door.Y, door.Z, (door.Locked ? 1 : 0), 0.0f, 0.0f, 0.0f);
|
player.TriggerEvent("changeDoorState", door.Model, door.X, door.Y, door.Z, (door.Locked ? 1 : 0), 0.0f, 0.0f, 0.0f);
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
public static Interior GetInteriorByName(string name, DatabaseContext dbContext = null)
|
public static Interior GetInteriorByName(string name, DatabaseContext dbContext = null)
|
||||||
{
|
{
|
||||||
if(dbContext == null)
|
if (dbContext == null)
|
||||||
{
|
{
|
||||||
using (dbContext = new DatabaseContext())
|
using (dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
@@ -114,12 +114,12 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
{
|
{
|
||||||
int enterId = GetInteriorIdFromEnterColShape(colShape);
|
int enterId = GetInteriorIdFromEnterColShape(colShape);
|
||||||
int exitId = GetInteriorIdFromExitColShape(colShape);
|
int exitId = GetInteriorIdFromExitColShape(colShape);
|
||||||
if(enterId != 0)
|
if (enterId != 0)
|
||||||
{
|
{
|
||||||
Interior interior = GetInteriorById(enterId);
|
Interior interior = GetInteriorById(enterId);
|
||||||
player.TriggerEvent("InteriorManager_ShowHelpText", interior.Name, interior.Id, 0);
|
player.TriggerEvent("InteriorManager_ShowHelpText", interior.Name, interior.Id, 0);
|
||||||
}
|
}
|
||||||
else if(exitId != 0)
|
else if (exitId != 0)
|
||||||
{
|
{
|
||||||
Interior interior = GetInteriorById(exitId);
|
Interior interior = GetInteriorById(exitId);
|
||||||
player.TriggerEvent("InteriorManager_ShowHelpText", interior.Name, interior.Id, 1);
|
player.TriggerEvent("InteriorManager_ShowHelpText", interior.Name, interior.Id, 1);
|
||||||
@@ -129,7 +129,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
[ServerEvent(Event.PlayerExitColshape)]
|
[ServerEvent(Event.PlayerExitColshape)]
|
||||||
public void InteriorManagerPlayerExitColshapeEvent(ColShape colShape, Client player)
|
public void InteriorManagerPlayerExitColshapeEvent(ColShape colShape, Client player)
|
||||||
{
|
{
|
||||||
if(GetInteriorIdFromEnterColShape(colShape) != 0 || GetInteriorIdFromExitColShape(colShape) != 0)
|
if (GetInteriorIdFromEnterColShape(colShape) != 0 || GetInteriorIdFromExitColShape(colShape) != 0)
|
||||||
{
|
{
|
||||||
player.TriggerEvent("InteriorManager_ClearHelpText");
|
player.TriggerEvent("InteriorManager_ClearHelpText");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -218,7 +218,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
int newSlot = slotArr.Min();
|
int newSlot = slotArr.Min();
|
||||||
|
|
||||||
item.Slot = newSlot;
|
item.Slot = newSlot;
|
||||||
context.UserItems.Add(item);
|
context.UserItems.Add(item);
|
||||||
|
|
||||||
IItem iItem = GetItemById(item.ItemId);
|
IItem iItem = GetItemById(item.ItemId);
|
||||||
|
|
||||||
@@ -303,14 +303,14 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
{
|
{
|
||||||
Vector3 dropPosition = ClientExtension.GetPositionFromPlayer(player, 0.6f, 0);
|
Vector3 dropPosition = ClientExtension.GetPositionFromPlayer(player, 0.6f, 0);
|
||||||
dropPosition.Z -= 0.8f;
|
dropPosition.Z -= 0.8f;
|
||||||
//new Vector3(player.Position.X, player.Position.Y, player.Position.Z - 0.8f);
|
//new Vector3(player.Position.X, player.Position.Y, player.Position.Z - 0.8f);
|
||||||
Random r = new Random();
|
Random r = new Random();
|
||||||
GTANetworkAPI.Object grndObject = NAPI.Object.CreateObject(3777723516, dropPosition, new Vector3(0, 0, r.Next(0, 360)), 0);
|
GTANetworkAPI.Object grndObject = NAPI.Object.CreateObject(3777723516, dropPosition, new Vector3(0, 0, r.Next(0, 360)), 0);
|
||||||
GroundItem grndItem = new GroundItem { ItemId = iItem.Id, Amount = amount, Position = dropPosition};
|
GroundItem grndItem = new GroundItem { ItemId = iItem.Id, Amount = amount, Position = dropPosition };
|
||||||
TextLabel grndTxtLbl = NAPI.TextLabel.CreateTextLabel(iItem.Name + " ~s~(~y~" + amount + "~s~)", dropPosition, 5, 0.5f, 4, new Color(255, 255, 255), false, 0);
|
TextLabel grndTxtLbl = NAPI.TextLabel.CreateTextLabel(iItem.Name + " ~s~(~y~" + amount + "~s~)", dropPosition, 5, 0.5f, 4, new Color(255, 255, 255), false, 0);
|
||||||
GroundItem.AddGroundItem(grndItem, grndObject, grndTxtLbl);
|
GroundItem.AddGroundItem(grndItem, grndObject, grndTxtLbl);
|
||||||
fItem.Amount -= amount;
|
fItem.Amount -= amount;
|
||||||
player.TriggerEvent("removeItem", itemId, amount);
|
player.TriggerEvent("removeItem", itemId, amount);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,14 +21,14 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
{
|
{
|
||||||
foreach (SavedBlip b in loadData.Blips)
|
foreach (SavedBlip b in loadData.Blips)
|
||||||
{
|
{
|
||||||
if(b.Active == true)
|
if (b.Active == true)
|
||||||
{
|
{
|
||||||
NAPI.Blip.CreateBlip((uint) b.Sprite, new Vector3(b.PositionX, b.PositionY, b.PositionZ), b.Scale,
|
NAPI.Blip.CreateBlip((uint)b.Sprite, new Vector3(b.PositionX, b.PositionY, b.PositionZ), b.Scale,
|
||||||
b.Color, b.Name, b.Alpha, b.DrawDistance, b.ShortRange, (short) b.Rotation, b.Dimension);
|
b.Color, b.Name, b.Alpha, b.DrawDistance, b.ShortRange, (short)b.Rotation, b.Dimension);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach(ServerVehicle veh in loadData.ServerVehicles)
|
foreach (ServerVehicle veh in loadData.ServerVehicles)
|
||||||
{
|
{
|
||||||
if (!veh.Active) continue;
|
if (!veh.Active) continue;
|
||||||
|
|
||||||
|
|||||||
@@ -24,11 +24,11 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
foreach (DutyPoint d in DutyPoints)
|
foreach (DutyPoint d in DutyPoints)
|
||||||
{
|
{
|
||||||
NAPI.Marker.CreateMarker(1, new Vector3(d.Position.X, d.Position.Y, d.Position.Z - 2), new Vector3(d.Position.X, d.Position.Y, d.Position.Z + 1),
|
NAPI.Marker.CreateMarker(1, new Vector3(d.Position.X, d.Position.Y, d.Position.Z - 2), new Vector3(d.Position.X, d.Position.Y, d.Position.Z + 1),
|
||||||
new Vector3(0,0,0), 3, new Color(255, 255, 255, 50), false, 0);
|
new Vector3(0, 0, 0), 3, new Color(255, 255, 255, 50), false, 0);
|
||||||
NAPI.TextLabel.CreateTextLabel("Stempeluhr - Dr\u00fccke ~y~E\n~s~Dienstkleidung - Dr\u00fccke ~y~K", d.Position, 7, 1, 0, new Color(255, 255, 255), false, 0);
|
NAPI.TextLabel.CreateTextLabel("Stempeluhr - Dr\u00fccke ~y~E\n~s~Dienstkleidung - Dr\u00fccke ~y~K", d.Position, 7, 1, 0, new Color(255, 255, 255), false, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class DutyPoint
|
public class DutyPoint
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
float rotation = float.Parse(blipRotation);
|
float rotation = float.Parse(blipRotation);
|
||||||
byte dimension = Convert.ToByte(blipDimension);
|
byte dimension = Convert.ToByte(blipDimension);
|
||||||
|
|
||||||
NAPI.Blip.CreateBlip(uint.Parse(blipSprite), new Vector3(x,y,z), scale, color, name, alpha, drawDistance, shortRange, short.Parse(blipRotation), dimension);
|
NAPI.Blip.CreateBlip(uint.Parse(blipSprite), new Vector3(x, y, z), scale, color, name, alpha, drawDistance, shortRange, short.Parse(blipRotation), dimension);
|
||||||
|
|
||||||
using (var saveData = new DatabaseContext())
|
using (var saveData = new DatabaseContext())
|
||||||
{
|
{
|
||||||
@@ -170,7 +170,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
}
|
}
|
||||||
|
|
||||||
saveAll.SaveChanges();
|
saveAll.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
public static void StartTimeManager()
|
public static void StartTimeManager()
|
||||||
{
|
{
|
||||||
if(realTimeTimer == null)
|
if (realTimeTimer == null)
|
||||||
{
|
{
|
||||||
realTimeTimer = new Timer(1000);
|
realTimeTimer = new Timer(1000);
|
||||||
realTimeTimer.Elapsed += SetTime;
|
realTimeTimer.Elapsed += SetTime;
|
||||||
|
|||||||
@@ -31,10 +31,10 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
colShape.OnEntityEnterColShape += (cs, c) =>
|
colShape.OnEntityEnterColShape += (cs, c) =>
|
||||||
{
|
{
|
||||||
if(c.IsInVehicle)
|
if (c.IsInVehicle)
|
||||||
{
|
{
|
||||||
Vehicle v = c.Vehicle;
|
Vehicle v = c.Vehicle;
|
||||||
if(v.GetServerVehicle() is FactionVehicle fV && fV.GetFaction().StateOwned)
|
if (v.GetServerVehicle() is FactionVehicle fV && fV.GetFaction().StateOwned)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -60,13 +60,13 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
foreach(VehicleMod vMod in dbContext.VehicleMods.ToList().FindAll(vM => vM.ServerVehicleId == sVeh.Id))
|
foreach (VehicleMod vMod in dbContext.VehicleMods.ToList().FindAll(vM => vM.ServerVehicleId == sVeh.Id))
|
||||||
{
|
{
|
||||||
if(vMod.Slot == 18)
|
if (vMod.Slot == 18)
|
||||||
{
|
{
|
||||||
veh.SetSharedData("mod" + vMod.Slot, true);
|
veh.SetSharedData("mod" + vMod.Slot, true);
|
||||||
}
|
}
|
||||||
else if(vMod.Slot == 22)
|
else if (vMod.Slot == 22)
|
||||||
{
|
{
|
||||||
int color = vMod.ModId - 2;
|
int color = vMod.ModId - 2;
|
||||||
if (vMod.ModId == 0) color = -1;
|
if (vMod.ModId == 0) color = -1;
|
||||||
@@ -99,9 +99,9 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
Vehicle pV = player.Vehicle;
|
Vehicle pV = player.Vehicle;
|
||||||
if (index == 0) index--;
|
if (index == 0) index--;
|
||||||
|
|
||||||
if(slot != 18)
|
if (slot != 18)
|
||||||
{
|
{
|
||||||
if(slot == 22)
|
if (slot == 22)
|
||||||
{
|
{
|
||||||
int color = index - 2;
|
int color = index - 2;
|
||||||
if (index == 0) color = -1;
|
if (index == 0) color = -1;
|
||||||
@@ -126,7 +126,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
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)
|
||||||
{
|
{
|
||||||
vMod = new VehicleMod
|
vMod = new VehicleMod
|
||||||
{
|
{
|
||||||
@@ -136,7 +136,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
};
|
};
|
||||||
dbContext.VehicleMods.Add(vMod);
|
dbContext.VehicleMods.Add(vMod);
|
||||||
}
|
}
|
||||||
else if(vMod != null && index == -1)
|
else if (vMod != null && index == -1)
|
||||||
{
|
{
|
||||||
dbContext.VehicleMods.Remove(vMod);
|
dbContext.VehicleMods.Remove(vMod);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
public static void AddVehicle(ServerVehicle serverVehicle, Vehicle vehicle)
|
public static void AddVehicle(ServerVehicle serverVehicle, Vehicle vehicle)
|
||||||
{
|
{
|
||||||
if(_serverVehicles.ContainsKey(serverVehicle.Id))
|
if (_serverVehicles.ContainsKey(serverVehicle.Id))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -152,7 +152,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
public static Vehicle GetVehicleFromServerVehicle(ServerVehicle serverVehicle)
|
public static Vehicle GetVehicleFromServerVehicle(ServerVehicle serverVehicle)
|
||||||
{
|
{
|
||||||
if(!_serverVehicles.ContainsKey(serverVehicle.Id))
|
if (!_serverVehicles.ContainsKey(serverVehicle.Id))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -162,7 +162,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
public static ServerVehicle GetServerVehicleFromVehicle(Vehicle veh, DatabaseContext dbContext = null)
|
public static ServerVehicle GetServerVehicleFromVehicle(Vehicle veh, DatabaseContext dbContext = null)
|
||||||
{
|
{
|
||||||
if(dbContext == null)
|
if (dbContext == null)
|
||||||
{
|
{
|
||||||
using (dbContext = new DatabaseContext())
|
using (dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
@@ -191,12 +191,12 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
public static bool IsValidHash(uint hash)
|
public static bool IsValidHash(uint hash)
|
||||||
{
|
{
|
||||||
foreach(VehicleHash vh in Enum.GetValues(typeof(VehicleHash)))
|
foreach (VehicleHash vh in Enum.GetValues(typeof(VehicleHash)))
|
||||||
{
|
{
|
||||||
if ((uint)vh == hash) return true;
|
if ((uint)vh == hash) return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach(string mod in _enabledMods)
|
foreach (string mod in _enabledMods)
|
||||||
{
|
{
|
||||||
if (NAPI.Util.GetHashKey(mod) == hash) return true;
|
if (NAPI.Util.GetHashKey(mod) == hash) return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using ReallifeGamemode.Server.Models;
|
|||||||
namespace ReallifeGamemode.Migrations
|
namespace ReallifeGamemode.Migrations
|
||||||
{
|
{
|
||||||
[DbContext(typeof(DatabaseContext))]
|
[DbContext(typeof(DatabaseContext))]
|
||||||
[Migration("20190505145708_Groups")]
|
[Migration("20190505154643_Groups")]
|
||||||
partial class Groups
|
partial class Groups
|
||||||
{
|
{
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||||
@@ -776,6 +776,8 @@ namespace ReallifeGamemode.Migrations
|
|||||||
|
|
||||||
b.Property<int?>("GroupId");
|
b.Property<int?>("GroupId");
|
||||||
|
|
||||||
|
b.Property<int>("GroupRank");
|
||||||
|
|
||||||
b.Property<int>("Handmoney");
|
b.Property<int>("Handmoney");
|
||||||
|
|
||||||
b.Property<int>("LogUserId");
|
b.Property<int>("LogUserId");
|
||||||
@@ -12,6 +12,12 @@ namespace ReallifeGamemode.Migrations
|
|||||||
table: "Users",
|
table: "Users",
|
||||||
nullable: true);
|
nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<int>(
|
||||||
|
name: "GroupRank",
|
||||||
|
table: "Users",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: 0);
|
||||||
|
|
||||||
migrationBuilder.AddColumn<int>(
|
migrationBuilder.AddColumn<int>(
|
||||||
name: "GroupId",
|
name: "GroupId",
|
||||||
table: "ServerVehicles",
|
table: "ServerVehicles",
|
||||||
@@ -110,6 +116,10 @@ namespace ReallifeGamemode.Migrations
|
|||||||
name: "GroupId",
|
name: "GroupId",
|
||||||
table: "Users");
|
table: "Users");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "GroupRank",
|
||||||
|
table: "Users");
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
migrationBuilder.DropColumn(
|
||||||
name: "GroupId",
|
name: "GroupId",
|
||||||
table: "ServerVehicles");
|
table: "ServerVehicles");
|
||||||
@@ -774,6 +774,8 @@ namespace ReallifeGamemode.Migrations
|
|||||||
|
|
||||||
b.Property<int?>("GroupId");
|
b.Property<int?>("GroupId");
|
||||||
|
|
||||||
|
b.Property<int>("GroupRank");
|
||||||
|
|
||||||
b.Property<int>("Handmoney");
|
b.Property<int>("Handmoney");
|
||||||
|
|
||||||
b.Property<int>("LogUserId");
|
b.Property<int>("LogUserId");
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ namespace ReallifeGamemode.Server.Services
|
|||||||
{
|
{
|
||||||
NAPI.Pools.GetAllPlayers().ForEach(p =>
|
NAPI.Pools.GetAllPlayers().ForEach(p =>
|
||||||
{
|
{
|
||||||
if(p.GetUser()?.IsAdmin(minLevel) ?? false)
|
if (p.GetUser()?.IsAdmin(minLevel) ?? false)
|
||||||
{
|
{
|
||||||
p.SendChatMessage(message);
|
p.SendChatMessage(message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,15 +25,15 @@ namespace ReallifeGamemode.Server.Services
|
|||||||
|
|
||||||
List<Client> playerList = NAPI.Pools.GetAllPlayers();
|
List<Client> playerList = NAPI.Pools.GetAllPlayers();
|
||||||
|
|
||||||
if(int.TryParse(nameOrId, out int id))
|
if (int.TryParse(nameOrId, out int id))
|
||||||
{
|
{
|
||||||
toReturn = playerList.Find(p => p.Handle.Value == id);
|
toReturn = playerList.Find(p => p.Handle.Value == id);
|
||||||
return toReturn;
|
return toReturn;
|
||||||
}
|
}
|
||||||
|
|
||||||
toReturn = playerList.Find(p => p.Name.ToLower() == nameOrId);
|
toReturn = playerList.Find(p => p.Name.ToLower() == nameOrId);
|
||||||
|
|
||||||
if(toReturn == null)
|
if (toReturn == null)
|
||||||
{
|
{
|
||||||
toReturn = playerList.Find(p => p.Name.ToLower().StartsWith(nameOrId));
|
toReturn = playerList.Find(p => p.Name.ToLower().StartsWith(nameOrId));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ namespace ReallifeGamemode.Server.Util
|
|||||||
public static void InitDatabaseFirstTime()
|
public static void InitDatabaseFirstTime()
|
||||||
{
|
{
|
||||||
NAPI.Util.ConsoleOutput("Initializing database...");
|
NAPI.Util.ConsoleOutput("Initializing database...");
|
||||||
using(var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
dbContext.Users.FirstOrDefault();
|
dbContext.Users.FirstOrDefault();
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
|
|||||||
@@ -9,11 +9,11 @@ namespace ReallifeGamemode.Server.Util
|
|||||||
public static void CheckFactionBankAccounts()
|
public static void CheckFactionBankAccounts()
|
||||||
{
|
{
|
||||||
NAPI.Util.ConsoleOutput("Checking faction bank accounts...");
|
NAPI.Util.ConsoleOutput("Checking faction bank accounts...");
|
||||||
using(var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
foreach(Faction faction in dbContext.Factions)
|
foreach (Faction faction in dbContext.Factions)
|
||||||
{
|
{
|
||||||
if(faction.GetBankAccount(dbContext) == null)
|
if (faction.GetBankAccount(dbContext) == null)
|
||||||
{
|
{
|
||||||
NAPI.Util.ConsoleOutput("Adding bank account for faction: " + faction.Name);
|
NAPI.Util.ConsoleOutput("Adding bank account for faction: " + faction.Name);
|
||||||
FactionBankAccount factionBankAccount = new FactionBankAccount()
|
FactionBankAccount factionBankAccount = new FactionBankAccount()
|
||||||
|
|||||||
14
ReallifeGamemode.Server/Util/GroupRanks.cs
Normal file
14
ReallifeGamemode.Server/Util/GroupRanks.cs
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace ReallifeGamemode.Server.Util
|
||||||
|
{
|
||||||
|
public enum GroupRank
|
||||||
|
{
|
||||||
|
NONE,
|
||||||
|
MEMBER,
|
||||||
|
MANAGER,
|
||||||
|
OWNER
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,7 +11,7 @@ using GTANetworkAPI;
|
|||||||
|
|
||||||
namespace ReallifeGamemode.Server.Util
|
namespace ReallifeGamemode.Server.Util
|
||||||
{
|
{
|
||||||
public class ListPlayer
|
public class ListPlayer
|
||||||
{
|
{
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ namespace ReallifeGamemode.Server.Util
|
|||||||
VehicleSyncData data = GetVehicleSyncData(veh);
|
VehicleSyncData data = GetVehicleSyncData(veh);
|
||||||
if (data == default(VehicleSyncData))
|
if (data == default(VehicleSyncData))
|
||||||
data = new VehicleSyncData();
|
data = new VehicleSyncData();
|
||||||
|
|
||||||
data.Engine = status;
|
data.Engine = status;
|
||||||
UpdateVehicleSyncData(veh, data);
|
UpdateVehicleSyncData(veh, data);
|
||||||
NAPI.ClientEvent.TriggerClientEventInDimension(veh.Dimension, "VehStream_SetEngineStatus", veh, status);
|
NAPI.ClientEvent.TriggerClientEventInDimension(veh.Dimension, "VehStream_SetEngineStatus", veh, status);
|
||||||
@@ -207,7 +207,7 @@ namespace ReallifeGamemode.Server.Util
|
|||||||
NAPI.ClientEvent.TriggerClientEventInDimension(veh.Dimension, "VehStream_SetLockStatus", veh, status);
|
NAPI.ClientEvent.TriggerClientEventInDimension(veh.Dimension, "VehStream_SetLockStatus", veh, status);
|
||||||
NAPI.Pools.GetAllPlayers().ForEach(p =>
|
NAPI.Pools.GetAllPlayers().ForEach(p =>
|
||||||
{
|
{
|
||||||
if(p.IsInVehicle && p.Vehicle.Handle == veh.Handle)
|
if (p.IsInVehicle && p.Vehicle.Handle == veh.Handle)
|
||||||
{
|
{
|
||||||
p.TriggerEvent("Vehicle_setLockStatus", status);
|
p.TriggerEvent("Vehicle_setLockStatus", status);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user