Merge branch 'develop' of https://development.life-of-german.org/log-gtav/reallife-gamemode into develop
This commit is contained in:
@@ -194,6 +194,9 @@ PilotRouteList(globalData);
|
||||
import gangwarHandle from './util/Gangwar';
|
||||
gangwarHandle(globalData);
|
||||
|
||||
import weapondamageUtil from './util/weapondamage';
|
||||
weapondamageUtil();
|
||||
|
||||
import clotheShopList from './Interaction/clothes/ClotheShop';
|
||||
clotheShopList(globalData);
|
||||
|
||||
|
||||
91
ReallifeGamemode.Client/util/weapondamage.ts
Normal file
91
ReallifeGamemode.Client/util/weapondamage.ts
Normal file
@@ -0,0 +1,91 @@
|
||||
export default function weapondamageUtil() {
|
||||
mp.events.add('SERVER:WeaponModifier', (player) => {
|
||||
//mp.gui.chat.push("Modifier steht jetzt auf" + modifier);
|
||||
//mp.players.local.setWeaponDamageModifier(modifier);
|
||||
let modifier = 1;
|
||||
let meelemodifier = 1;
|
||||
|
||||
switch (player.weapon) {
|
||||
case 0x1B06D571: //Pistol
|
||||
modifier = 0.4;
|
||||
meelemodifier = 1;
|
||||
mp.gui.chat.push("PistolModifier: " + modifier);
|
||||
break;
|
||||
case 0xBFE256D4: //Pistol_MK2
|
||||
modifier = 0.4;
|
||||
meelemodifier = 1;
|
||||
break;
|
||||
case 0x5EF9FEC4: //Combatpistol
|
||||
modifier = 0.5;
|
||||
meelemodifier = 1;
|
||||
break;
|
||||
case 0x99AEEB3B: //Pistol50
|
||||
modifier = 0.35;
|
||||
meelemodifier = 1;
|
||||
break;
|
||||
case 0x2BE6766B: //SMG
|
||||
modifier = 0.25;
|
||||
meelemodifier = 1;
|
||||
break;
|
||||
case 0x1D073A89: //Pumpshotgun
|
||||
modifier = 0.2;
|
||||
meelemodifier = 1;
|
||||
break;
|
||||
case 0x83BF0278: //Cabinerifle
|
||||
modifier = 0.25;
|
||||
meelemodifier = 1;
|
||||
break;
|
||||
case 0x624FE830: //Compactrifle
|
||||
modifier = 0.2;
|
||||
meelemodifier = 1;
|
||||
break;
|
||||
case 0x05FC3C11: //Sniperrifle
|
||||
modifier = 0.5;
|
||||
meelemodifier = 1;
|
||||
break;
|
||||
case 0xA2719263: //Meele Umarmed Fist
|
||||
meelemodifier = 0.1;
|
||||
modifier = 1;
|
||||
mp.gui.chat.push("FistModifier: " + meelemodifier);
|
||||
break;
|
||||
case 0x958A4A8F: //Meele Baseball Bat
|
||||
meelemodifier = 0.15;
|
||||
modifier = 1;
|
||||
break;
|
||||
case 0x8BB05FD7: //Meele Flashlight
|
||||
meelemodifier = 0.1;
|
||||
modifier = 1;
|
||||
break;
|
||||
case 0xD8DF3C3C: //Meele Knuckle
|
||||
meelemodifier = 0.1;
|
||||
modifier = 1;
|
||||
mp.gui.chat.push("KnuckleModifier: " + meelemodifier);
|
||||
break;
|
||||
case 0x678B81B1: //Meele Nightstick
|
||||
meelemodifier = 0.1;
|
||||
modifier = 1;
|
||||
break;
|
||||
default:
|
||||
modifier = 1;
|
||||
meelemodifier = 1;
|
||||
break;
|
||||
}
|
||||
mp.game.invoke("0xCE07B9F7817AADA3", player, modifier);
|
||||
mp.game.invoke("0x4A3DC7ECCC321032", player, meelemodifier);
|
||||
mp.gui.chat.push("Modifier: " + modifier + "MeeleModifier: " +meelemodifier);
|
||||
});
|
||||
mp.events.add('SERVER:WeaponModifier2', (player, modifier, meelemodifier) => {
|
||||
//mp.gui.chat.push("Modifier steht jetzt auf" + modifier);
|
||||
//mp.players.local.setWeaponDamageModifier(modifier);
|
||||
mp.game.invoke("0xCE07B9F7817AADA3", player, modifier);
|
||||
mp.game.invoke("0x4A3DC7ECCC321032", player, meelemodifier);
|
||||
mp.gui.chat.push("Modifier: " + modifier + "MeeleModifier: " + meelemodifier);
|
||||
});
|
||||
/*mp.events.add('playerWeaponShot', (targetPosition, targetEntity) => {
|
||||
for (var x in this.weaponAmmo) {
|
||||
if (this.weaponAmmo[x].id != this.currentWeapon) {
|
||||
continue;
|
||||
}
|
||||
this.weaponAmmo[x].ammo = this.weaponAmmo[x].ammo - 1;
|
||||
}*/
|
||||
}
|
||||
7
ReallifeGamemode.Database/Entities/NoobVehicle.cs
Normal file
7
ReallifeGamemode.Database/Entities/NoobVehicle.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace ReallifeGamemode.Database.Entities
|
||||
{
|
||||
public partial class NoobVehicle : ServerVehicle
|
||||
{
|
||||
//public int SchoolId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,12 @@ namespace ReallifeGamemode.Database.Entities
|
||||
[NotMapped]
|
||||
private int _wanteds;
|
||||
|
||||
[NotMapped]
|
||||
private int _handMoney;
|
||||
|
||||
public delegate void UserHandMoneyChangedEvent(User account);
|
||||
public static event UserHandMoneyChangedEvent HandMoneyChanged;
|
||||
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
public int Id { get; set; }
|
||||
@@ -40,7 +46,16 @@ namespace ReallifeGamemode.Database.Entities
|
||||
public AdminLevel AdminLevel { get; set; }
|
||||
|
||||
public bool Dead { get; set; }
|
||||
public int Handmoney { get; set; }
|
||||
public int Handmoney
|
||||
{
|
||||
get => _handMoney;
|
||||
|
||||
set
|
||||
{
|
||||
_handMoney = value;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public float PositionX { get; set; }
|
||||
public float PositionY { get; set; }
|
||||
@@ -80,7 +95,7 @@ namespace ReallifeGamemode.Database.Entities
|
||||
set
|
||||
{
|
||||
this._wanteds = value;
|
||||
Player.TriggerEvent("SERVER:SetWanteds", value);
|
||||
HandMoneyChanged?.Invoke(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,6 +105,8 @@ namespace ReallifeGamemode.Database.Entities
|
||||
|
||||
public int PaydayTimer { get; set; } = 60;
|
||||
|
||||
public int PlayedMinutes { get; set; } = 1;
|
||||
|
||||
public bool DriverLicenseVehicle { get; set; } = false;
|
||||
|
||||
public bool FlyingLicensePlane { get; set; } = false;
|
||||
|
||||
@@ -136,6 +136,9 @@ namespace ReallifeGamemode.Database.Models
|
||||
//Driving/Bike/Flight School
|
||||
public DbSet<Entities.SchoolVehicle> SchoolVehicles { get; set; }
|
||||
|
||||
//Noob Vehicles
|
||||
public DbSet<Entities.NoobVehicle> NoobVehicles { get; set; }
|
||||
|
||||
//Gangwar
|
||||
public DbSet<Entities.Turfs> Turfs { get; set; }
|
||||
|
||||
|
||||
@@ -147,21 +147,36 @@ namespace ReallifeGamemode.Server.Commands
|
||||
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position");
|
||||
break;
|
||||
case AdminLevel.SUPPORTER:
|
||||
ChatService.SendMessage(player, "~b~ " + "/tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
|
||||
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
|
||||
break;
|
||||
case AdminLevel.ADMIN:
|
||||
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
|
||||
ChatService.SendMessage(player, "~b~ " + "/a, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist");
|
||||
break;
|
||||
case AdminLevel.ADMIN2:
|
||||
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
|
||||
ChatService.SendMessage(player, "~b~ " + "/a, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist");
|
||||
ChatService.SendMessage(player, "~b~ " + "/sethp, /setarmor, /arevive, /aunjail, /aclear, /clothes, /props");
|
||||
break;
|
||||
case AdminLevel.ADMIN3:
|
||||
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
|
||||
ChatService.SendMessage(player, "~b~ " + "/a, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist");
|
||||
ChatService.SendMessage(player, "~b~ " + "/sethp, /setarmor, /arevive, /aunjail, /aclear, /clothes, /props");
|
||||
ChatService.SendMessage(player, "~b~ " + "/adice, /settime, /setweather, /rsetarmor, /rgiveweapon, /giveweapon, /veh, /fv, /vfix, /vdestroy, /vlivery, /vcolor, /vehsmoke, /aneon, /mod, /showtuningmenu, /rvdestroy, /vsethp");
|
||||
break;
|
||||
case AdminLevel.HEADADMIN:
|
||||
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
|
||||
ChatService.SendMessage(player, "~b~ " + "/a, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist");
|
||||
ChatService.SendMessage(player, "~b~ " + "/sethp, /setarmor, /arevive, /aunjail, /aclear, /clothes, /props");
|
||||
ChatService.SendMessage(player, "~b~ " + "/adice, /settime, /setweather, /rsetarmor, /rgiveweapon, /giveweapon, /veh, /fv, /vfix, /vdestroy, /vlivery, /vcolor, /vehsmoke, /aneon, /mod, /showtuningmenu, /rvdestroy, /vsethp");
|
||||
ChatService.SendMessage(player, "~b~ " + "/aspeed, /set, /setmoney, /givemoney, /sethandmoney, /givehandmoney, /paydaydrop, /setwage, /freekh, /ainvite, /makeleader, /managefactionranks, /setweaponrack, /rmweaponrack, /setweaponrank, /giveitem, /inventory, /save, /remove, /house, /setbusinessbankbalance, /reloaddors, /interior, /editmode, /setbliptemplate, /ipl, /load, /quicksavemode, /createturf, /setturf, /cancleturf, /reloadturfs, /deleteturfs, /setturfpoint");
|
||||
break;
|
||||
case AdminLevel.PROJEKTLEITUNG:
|
||||
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
|
||||
ChatService.SendMessage(player, "~b~ " + "/a, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist");
|
||||
ChatService.SendMessage(player, "~b~ " + "/sethp, /setarmor, /arevive, /aunjail, /aclear, /clothes, /props");
|
||||
ChatService.SendMessage(player, "~b~ " + "/adice, /settime, /setweather, /rsetarmor, /rgiveweapon, /giveweapon, /veh, /fv, /vfix, /vdestroy, /vlivery, /vcolor, /vehsmoke, /aneon, /mod, /showtuningmenu, /rvdestroy, /vsethp");
|
||||
ChatService.SendMessage(player, "~b~ " + "/aspeed, /set, /setmoney, /givemoney, /sethandmoney, /givehandmoney, /paydaydrop, /setwage, /freekh, /ainvite, /makeleader, /managefactionranks, /setweaponrack, /rmweaponrack, /setweaponrank, /giveitem, /inventory, /save, /remove, /house, /setbusinessbankbalance, /reloaddors, /interior, /editmode, /setbliptemplate, /ipl, /load, /quicksavemode, /createturf, /setturf, /cancleturf, /reloadturfs, /deleteturfs, /setturfpoint");
|
||||
ChatService.SendMessage(player, "~b~ " + "/makeadmin, /whitelist, /blind");
|
||||
break;
|
||||
}
|
||||
@@ -230,15 +245,23 @@ namespace ReallifeGamemode.Server.Commands
|
||||
ChatService.NotAuthorized(player);
|
||||
return;
|
||||
}
|
||||
if(!player.IsAdminDuty())
|
||||
{
|
||||
ChatService.SendMessage(player, "~r~ Du bist nicht im Admin-Duty-Modus!");
|
||||
ChatService.SendMessage(player, "1"+player.GetData<bool>("Adminduty"));
|
||||
|
||||
return;
|
||||
}
|
||||
if (!GlobalHelper.tsupAdmins.Contains(player))
|
||||
{
|
||||
ChatService.SendMessage(player, "2"+player.GetData<bool>("Adminduty"));
|
||||
GlobalHelper.tsupAdmins.Add(player);
|
||||
player.SetSharedData("blipColor", 30);
|
||||
ChatService.SendMessage(player, "~g~ ** " + "Du befindest dich im T-Support");
|
||||
}
|
||||
else
|
||||
{
|
||||
ChatService.SendMessage(player, "3"+player.GetData<bool>("Adminduty"));
|
||||
GlobalHelper.tsupAdmins.Remove(player);
|
||||
ChatService.SendMessage(player, "!{#ee4d2e}** " + "Du befindest dich nicht mehr im T-Support");
|
||||
|
||||
@@ -265,7 +288,6 @@ namespace ReallifeGamemode.Server.Commands
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Command("aduty", "~m~Benutzung: ~s~/aduty")]
|
||||
public void CmdAduty(Player player)
|
||||
{
|
||||
@@ -275,18 +297,17 @@ namespace ReallifeGamemode.Server.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
if (!GlobalHelper.DutyAdmins.Contains(player))
|
||||
if (player.GetData<bool>("Adminduty") == false)
|
||||
{
|
||||
GlobalHelper.DutyAdmins.Add(player);
|
||||
player.SetData("Adminduty", true);
|
||||
ChatService.Broadcast("~g~[SUPPORT] " + player.Name + " hat sich zum Support angemeldet");
|
||||
|
||||
player.TriggerEvent("toggleADutyMode", true);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
GlobalHelper.DutyAdmins.Remove(player);
|
||||
player.SetData("Adminduty", false);
|
||||
ChatService.Broadcast("!{#ee4d2e}[SUPPORT] " + player.Name + " hat sich vom Support abgemeldet");
|
||||
|
||||
player.TriggerEvent("toggleADutyMode", false);
|
||||
@@ -1602,6 +1623,18 @@ namespace ReallifeGamemode.Server.Commands
|
||||
|
||||
#endregion
|
||||
#region ALevel1337
|
||||
[Command("wepmod", "~m~Benutzung: ~s~/wepmod [Variable]")]
|
||||
public void CmdWeaponModifier(Player player, float modifier)
|
||||
{
|
||||
player.SendChatMessage("Modifier steht auf" + modifier);
|
||||
player.TriggerEvent("SERVER:WeaponModifier2", player, modifier, 1);
|
||||
}
|
||||
[Command("wepmmod", "~m~Benutzung: ~s~/wepmmod [Variable]")]
|
||||
public void CmdWeaponMeeleModifier(Player player, float modifier)
|
||||
{
|
||||
player.SendChatMessage("MeeleModifier steht auf" + modifier);
|
||||
player.TriggerEvent("SERVER:WeaponModifier2", player, 1, modifier);
|
||||
}
|
||||
[Command("gotocp", "~m~Benutzung: ~s~/gotocp")]
|
||||
public void CmdAdminGotocp(Player admin)
|
||||
{
|
||||
@@ -1973,7 +2006,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
}
|
||||
}
|
||||
|
||||
[Command("save", "~m~Benutzung: ~s~/save [Typ = ~g~Blip~s~, ~g~Goto (X)~s~, ~r~Marker~s~, ~r~Ped~s~, ~r~Pickup~s~, ~r~TextLabel~s~, ~g~Vehicle~s~, ~g~FVehicle~s~, ~g~SVehicle (X)~s~, ~g~JVehicle (X)~s~, ~g~Location~s~] (Weitere Angaben) = (X)", GreedyArg = true)]
|
||||
[Command("save", "~m~Benutzung: ~s~/save [Typ = ~g~Blip~s~, ~g~Goto (X)~s~, ~r~Marker~s~, ~r~Ped~s~, ~r~Pickup~s~, ~r~TextLabel~s~, ~g~Vehicle~s~, ~g~FVehicle~s~, ~g~SVehicle (X)~s~, ~g~JVehicle (X)~s~, ~g~SchoolVehicle (X)~s~, ~g~NoobVehicle~s~, ~g~Location~s~] (Weitere Angaben) = (X)", GreedyArg = true)]
|
||||
public void CmdAdminSave(Player player, string typ, string option1 = null, string option2 = null)
|
||||
{
|
||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||
@@ -2152,6 +2185,16 @@ namespace ReallifeGamemode.Server.Commands
|
||||
player.SetIntoVehicle(vehicle, 0);
|
||||
}
|
||||
break;
|
||||
case "noobvehicle":
|
||||
if (player.IsInVehicle)
|
||||
{
|
||||
Vehicle vehicle = player.Vehicle;
|
||||
vehicle = SaveManager.SaveNoobVehicleData(vehicle, (VehicleHash)vehicle.Model, vehicle.Position, vehicle.Heading, vehicle.NumberPlate,
|
||||
vehicle.PrimaryColor, vehicle.SecondaryColor, vehicle.Locked, vehicle.EngineStatus);
|
||||
player.SendNotification("Noobfahrzeug ~g~" + vehicle.DisplayName + "~s~ gespeichert.", true);
|
||||
player.SetIntoVehicle(vehicle, 0);
|
||||
}
|
||||
break;
|
||||
|
||||
case "location":
|
||||
if (option1 == null || option1.Length < 0)
|
||||
|
||||
@@ -39,6 +39,7 @@ namespace ReallifeGamemode.Server.Events
|
||||
player.SendNotification("~r~Du darfst dieses Fahrzeug nicht benutzen!", true);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
if (vehicle.GetServerVehicle() is SchoolVehicle sVeh)
|
||||
{
|
||||
@@ -55,6 +56,22 @@ namespace ReallifeGamemode.Server.Events
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (vehicle.GetServerVehicle() is NoobVehicle nVeh)
|
||||
{
|
||||
if (!player.IsAdminDuty())
|
||||
{
|
||||
if (player.GetUser().PlayedMinutes > 1800)
|
||||
{
|
||||
player.StopAnimation();
|
||||
player.SendNotification("~r~Du hast schon über 30 Spielstunden!", true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (player.IsAdminDuty())
|
||||
{
|
||||
player.SendNotification("~g~Freie Fahrt!", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,6 +70,10 @@ namespace ReallifeGamemode.Server.Extensions
|
||||
var user = player.GetUser();
|
||||
return user.GetData("duty", false);
|
||||
}
|
||||
public static bool IsAdminDuty(this Player player)
|
||||
{
|
||||
return player.HasData("Adminduty") ? player.GetData<bool>("Adminduty") : false;
|
||||
}
|
||||
public static Vector3 GetPositionFromPlayer(Player player, float distance, int offset = 0)
|
||||
{
|
||||
var pos = player.Position;
|
||||
|
||||
@@ -66,6 +66,14 @@ namespace ReallifeGamemode.Server.Extensions
|
||||
{
|
||||
numberplate = $"J{jV.JobId} " + numberplate;
|
||||
}
|
||||
if (veh is SchoolVehicle)
|
||||
{
|
||||
numberplate = "FS" + numberplate;
|
||||
}
|
||||
if (veh is NoobVehicle)
|
||||
{
|
||||
numberplate = "NV" + numberplate;
|
||||
}
|
||||
NAPI.Vehicle.SetVehicleNumberPlate(newVeh, numberplate);
|
||||
veh.NumberPlate = numberplate;
|
||||
|
||||
|
||||
@@ -166,6 +166,7 @@ namespace ReallifeGamemode.Server.Finance
|
||||
User user = player.GetUser(dbContext);
|
||||
if (player.IsLoggedIn())
|
||||
{
|
||||
user.PlayedMinutes += 1;
|
||||
if (user.PaydayTimer <= 0)
|
||||
{
|
||||
Economy.SetPaycheck(player);
|
||||
|
||||
@@ -130,6 +130,11 @@ namespace ReallifeGamemode.Server
|
||||
PlayerService.GetPlayerByNameOrId(user).TriggerEvent("updateMoney", account.Balance);
|
||||
}
|
||||
};
|
||||
|
||||
User.HandMoneyChanged += (user) =>
|
||||
{
|
||||
user.Player.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
|
||||
};
|
||||
}
|
||||
|
||||
[RemoteEvent("CLIENT:Event")]
|
||||
|
||||
@@ -131,6 +131,31 @@ namespace ReallifeGamemode.Server.Managers
|
||||
}
|
||||
}
|
||||
|
||||
public static Vehicle SaveNoobVehicleData(Vehicle veh, VehicleHash vehicleModel, Vector3 vehiclePosition, float vehicleHeading,
|
||||
string vehicleNumberPlate, int vehiclePrimaryColor, int vehicleSecondaryColor, bool vehicleLocked, bool vehicleEngine)
|
||||
{
|
||||
using (var saveData = new DatabaseContext())
|
||||
{
|
||||
var dataSet = new NoobVehicle
|
||||
{
|
||||
Model = vehicleModel,
|
||||
PositionX = vehiclePosition.X,
|
||||
PositionY = vehiclePosition.Y,
|
||||
PositionZ = vehiclePosition.Z,
|
||||
Heading = vehicleHeading,
|
||||
NumberPlate = vehicleNumberPlate,
|
||||
PrimaryColor = vehiclePrimaryColor,
|
||||
SecondaryColor = vehicleSecondaryColor,
|
||||
Locked = vehicleLocked,
|
||||
Active = true
|
||||
};
|
||||
saveData.NoobVehicles.Add(dataSet);
|
||||
saveData.SaveChanges();
|
||||
|
||||
return dataSet.Spawn(veh);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static Vehicle SaveFactionVehicleData(Vehicle veh, VehicleHash vehicleModel, Vector3 vehiclePosition, float vehicleHeading,
|
||||
@@ -210,8 +235,13 @@ namespace ReallifeGamemode.Server.Managers
|
||||
//Alle Spieler
|
||||
foreach (Player player in NAPI.Pools.GetAllPlayers())
|
||||
{
|
||||
Vector3 pos = player.Position;
|
||||
User user = player.GetUser(saveAll);
|
||||
if (user == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
Vector3 pos = player.Position;
|
||||
user.PositionX = pos.X;
|
||||
user.PositionY = pos.Y;
|
||||
user.PositionZ = pos.Z;
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace ReallifeGamemode.Server.Util
|
||||
CharacterCreator.ApplyCharacter(player);
|
||||
Events.UpdateCharacterCloth.LoadCharacterDefaults(player);
|
||||
|
||||
player.TriggerEvent("toggleDutyMode", true);
|
||||
player.TriggerEvent("toggleDutyMode", false);
|
||||
int medicCount = 0;
|
||||
foreach (Player c in NAPI.Pools.GetAllPlayers())
|
||||
{
|
||||
|
||||
13
ReallifeGamemode.Server/Util/WeaponDamage.cs
Normal file
13
ReallifeGamemode.Server/Util/WeaponDamage.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using GTANetworkAPI;
|
||||
|
||||
namespace ReallifeGamemode.Server.Util
|
||||
{
|
||||
class WeaponDamage : Script
|
||||
{
|
||||
[ServerEvent(Event.PlayerWeaponSwitch)]
|
||||
public void OnPlayerWeaponSwitch(Player player, WeaponHash oldWeapon, WeaponHash newWeapon)
|
||||
{
|
||||
NAPI.ClientEvent.TriggerClientEvent(player, "SERVER:WeaponModifier", player);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user