NoobSpawn, NoobSpawnRollerSystem
This commit is contained in:
7
ReallifeGamemode.Database/Entities/NoobSpawnVehicle.cs
Normal file
7
ReallifeGamemode.Database/Entities/NoobSpawnVehicle.cs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
namespace ReallifeGamemode.Database.Entities
|
||||||
|
{
|
||||||
|
public partial class NoobSpawnVehicle : ServerVehicle
|
||||||
|
{
|
||||||
|
//public int SchoolId { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -139,6 +139,9 @@ namespace ReallifeGamemode.Database.Models
|
|||||||
//Noob Vehicles
|
//Noob Vehicles
|
||||||
public DbSet<Entities.NoobVehicle> NoobVehicles { get; set; }
|
public DbSet<Entities.NoobVehicle> NoobVehicles { get; set; }
|
||||||
|
|
||||||
|
//Noob Spawn Vehicles
|
||||||
|
public DbSet<Entities.NoobSpawnVehicle> NoobSpawnVehicles { get; set; }
|
||||||
|
|
||||||
//Gangwar
|
//Gangwar
|
||||||
public DbSet<Entities.Turfs> Turfs { get; set; }
|
public DbSet<Entities.Turfs> Turfs { get; set; }
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +1,21 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using System.Timers;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Server.Extensions;
|
using ReallifeGamemode.Server.Extensions;
|
||||||
using ReallifeGamemode.Server.Types;
|
using ReallifeGamemode.Server.Types;
|
||||||
using ReallifeGamemode.Server.Util;
|
using ReallifeGamemode.Server.Util;
|
||||||
using ReallifeGamemode.Server.WeaponDeal;
|
using ReallifeGamemode.Server.WeaponDeal;
|
||||||
|
using ReallifeGamemode.Server.Managers;
|
||||||
|
|
||||||
namespace ReallifeGamemode.Server.Events
|
namespace ReallifeGamemode.Server.Events
|
||||||
{
|
{
|
||||||
|
|
||||||
public class EnterVehicleAttempt : Script
|
public class EnterVehicleAttempt : Script
|
||||||
{
|
{
|
||||||
|
public static GTANetworkAPI.Vehicle Roller;
|
||||||
[ServerEvent(Event.PlayerEnterVehicleAttempt)]
|
[ServerEvent(Event.PlayerEnterVehicleAttempt)]
|
||||||
public void OnPlayerEnterVehicleAttempt(Player player, GTANetworkAPI.Vehicle vehicle, sbyte seat)
|
public void OnPlayerEnterVehicleAttempt(Player player, GTANetworkAPI.Vehicle vehicle, sbyte seat)
|
||||||
{
|
{
|
||||||
@@ -69,7 +72,125 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
}
|
}
|
||||||
else if (player.IsAdminDuty())
|
else if (player.IsAdminDuty())
|
||||||
{
|
{
|
||||||
player.SendNotification("~g~Freie Fahrt!", true);
|
}
|
||||||
|
}
|
||||||
|
if (vehicle.GetServerVehicle() is NoobSpawnVehicle nsVeh)
|
||||||
|
{
|
||||||
|
if (!player.IsAdminDuty())
|
||||||
|
{
|
||||||
|
if (player.GetUser().PlayedMinutes > 1800)
|
||||||
|
{
|
||||||
|
player.StopAnimation();
|
||||||
|
player.SendNotification("~r~Du hast schon über 30 Spielstunden!", true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(player.GetData<bool>("HatNoobSpawnVehicle") == true)
|
||||||
|
{
|
||||||
|
player.StopAnimation();
|
||||||
|
player.SendNotification("~r~Du hast bereits einen Roller!", true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Random rnd = new Random();
|
||||||
|
int spawn = rnd.Next(1, 3);
|
||||||
|
ServerVehicle nsSVeh = VehicleManager.GetServerVehicleFromVehicle(vehicle);
|
||||||
|
player.WarpOutOfVehicle();
|
||||||
|
ServerVehicleExtensions.Spawn(nsSVeh, vehicle);
|
||||||
|
var model = vehicle.Model;
|
||||||
|
//player.SendChatMessage($"{model}");
|
||||||
|
switch (spawn)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
{
|
||||||
|
if (model == 2452219115) //Faggio
|
||||||
|
{
|
||||||
|
Roller = NAPI.Vehicle.CreateVehicle(2452219115, new Vector3(-1024.4227294921875, -2697.9541015625, 13.218425750732422), 106.366f, 130, 130, engine: true);
|
||||||
|
Roller.SetData("NoobSpawnVehicle", true);
|
||||||
|
player.SetData("HatNoobSpawnVehicle", true);
|
||||||
|
player.SetIntoVehicle(Roller.Handle, 0);
|
||||||
|
Roller.EngineStatus = true;
|
||||||
|
VehicleStreaming.SetEngineState(Roller, true);
|
||||||
|
VehicleStreaming.SetLockStatus(Roller, false);
|
||||||
|
}
|
||||||
|
if (model == 55628203) //Faggio2
|
||||||
|
{
|
||||||
|
Roller = NAPI.Vehicle.CreateVehicle(55628203, new Vector3(-1024.4227294921875, -2697.9541015625, 13.218425750732422), 106.366f, 130, 130, engine: true);
|
||||||
|
Roller.SetData("NoobSpawnVehicle", true);
|
||||||
|
player.SetData("HatNoobSpawnVehicle", true);
|
||||||
|
player.SetIntoVehicle(Roller.Handle, 0);
|
||||||
|
Roller.EngineStatus = true;
|
||||||
|
VehicleStreaming.SetEngineState(Roller, true);
|
||||||
|
VehicleStreaming.SetLockStatus(Roller, false);
|
||||||
|
}
|
||||||
|
if (model == 3005788552) //Faggio3
|
||||||
|
{
|
||||||
|
Roller = NAPI.Vehicle.CreateVehicle(3005788552, new Vector3(-1024.4227294921875, -2697.9541015625, 13.218425750732422), 106.366f, 130, 130, engine: true);
|
||||||
|
Roller.SetData("NoobSpawnVehicle", true);
|
||||||
|
player.SetData("HatNoobSpawnVehicle", true);
|
||||||
|
player.SetIntoVehicle(Roller.Handle, 0);
|
||||||
|
Roller.EngineStatus = true;
|
||||||
|
VehicleStreaming.SetEngineState(Roller, true);
|
||||||
|
VehicleStreaming.SetLockStatus(Roller, false);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 2:
|
||||||
|
{
|
||||||
|
if (model == 2452219115) //Faggio
|
||||||
|
{
|
||||||
|
Roller = NAPI.Vehicle.CreateVehicle(2452219115, new Vector3(-1013.8352661132812, -2704.135498046875, 13.218762397766113), -164.867f, 130, 130, engine: true);
|
||||||
|
Roller.SetData("NoobSpawnVehicle", true);
|
||||||
|
player.SetData("HatNoobSpawnVehicle", true);
|
||||||
|
player.SetIntoVehicle(Roller.Handle, 0);
|
||||||
|
Roller.EngineStatus = true;
|
||||||
|
VehicleStreaming.SetEngineState(Roller, true);
|
||||||
|
VehicleStreaming.SetLockStatus(Roller, false);
|
||||||
|
}
|
||||||
|
if (model == 55628203) //Faggio2
|
||||||
|
{
|
||||||
|
Roller = NAPI.Vehicle.CreateVehicle(55628203, new Vector3(-1013.8352661132812, -2704.135498046875, 13.218762397766113), -164.867f, 130, 130, engine: true);
|
||||||
|
Roller.SetData("NoobSpawnVehicle", true);
|
||||||
|
player.SetData("HatNoobSpawnVehicle", true);
|
||||||
|
player.SetIntoVehicle(Roller.Handle, 0);
|
||||||
|
Roller.EngineStatus = true;
|
||||||
|
VehicleStreaming.SetEngineState(Roller, true);
|
||||||
|
VehicleStreaming.SetLockStatus(Roller, false);
|
||||||
|
}
|
||||||
|
if (model == 3005788552) //Faggio3
|
||||||
|
{
|
||||||
|
Roller = NAPI.Vehicle.CreateVehicle(3005788552, new Vector3(-1013.8352661132812, -2704.135498046875, 13.218762397766113), -164.867f, 130, 130, engine: true);
|
||||||
|
Roller.SetData("NoobSpawnVehicle", true);
|
||||||
|
player.SetData("HatNoobSpawnVehicle", true);
|
||||||
|
player.SetIntoVehicle(Roller.Handle, 0);
|
||||||
|
Roller.EngineStatus = true;
|
||||||
|
VehicleStreaming.SetEngineState(Roller, true);
|
||||||
|
VehicleStreaming.SetLockStatus(Roller, false);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.IsAdminDuty())
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (vehicle.HasData("NoobSpawnVehicle"))
|
||||||
|
{
|
||||||
|
if (!player.IsAdminDuty())
|
||||||
|
{
|
||||||
|
if (player.GetUser().PlayedMinutes > 1800)
|
||||||
|
{
|
||||||
|
player.StopAnimation();
|
||||||
|
player.SendNotification("~r~Du hast schon über 30 Spielstunden!", true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ExitVehicle.timerNoobRollerRespawn.Stop();
|
||||||
|
vehicle.SetData("NoobSpawnVehicleTimer", false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using System.Timers;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Server.Extensions;
|
using ReallifeGamemode.Server.Extensions;
|
||||||
using ReallifeGamemode.Server.Managers;
|
using ReallifeGamemode.Server.Managers;
|
||||||
|
using ReallifeGamemode.Server.Services;
|
||||||
using ReallifeGamemode.Server.Util;
|
using ReallifeGamemode.Server.Util;
|
||||||
using ReallifeGamemode.Server.WeaponDeal;
|
using ReallifeGamemode.Server.WeaponDeal;
|
||||||
|
|
||||||
@@ -12,10 +14,11 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
{
|
{
|
||||||
public class ExitVehicle : Script
|
public class ExitVehicle : Script
|
||||||
{
|
{
|
||||||
|
public static Timer timerNoobRollerRespawn = new Timer(10000); //10 Minuten Timer NoobRollerRespawn
|
||||||
[ServerEvent(Event.PlayerExitVehicleAttempt)]
|
[ServerEvent(Event.PlayerExitVehicleAttempt)]
|
||||||
public void OnPlayerExitVehicle(Player client, GTANetworkAPI.Vehicle vehicle)
|
public void OnPlayerExitVehicle(Player client, GTANetworkAPI.Vehicle vehicle)
|
||||||
{
|
{
|
||||||
if (client.VehicleSeat != -1)
|
if (client.VehicleSeat != 0)
|
||||||
return;
|
return;
|
||||||
if (vehicle.GetServerVehicle() is FactionVehicle veh)
|
if (vehicle.GetServerVehicle() is FactionVehicle veh)
|
||||||
{
|
{
|
||||||
@@ -39,6 +42,41 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
CheckPointHandle.DeleteCheckpoints(client);
|
CheckPointHandle.DeleteCheckpoints(client);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (vehicle.GetData<bool>("NoobSpawnVehicle") == true)
|
||||||
|
{
|
||||||
|
timerNoobRollerRespawn.Start();
|
||||||
|
vehicle.SetData("NoobSpawnVehicleTimer", true);
|
||||||
|
timerNoobRollerRespawn.AutoReset = false;
|
||||||
|
timerNoobRollerRespawn.Elapsed += Timer600000_Elapsed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private static void Timer600000_Elapsed(object sender, ElapsedEventArgs e)
|
||||||
|
{
|
||||||
|
NAPI.Task.Run(() =>
|
||||||
|
{
|
||||||
|
NAPI.Pools.GetAllVehicles().ForEach(v =>
|
||||||
|
{
|
||||||
|
if (v.GetData<bool>("NoobSpawnVehicle") == true)
|
||||||
|
{
|
||||||
|
if (v.GetData<bool>("NoobSpawnVehicleTimer") == true)
|
||||||
|
{
|
||||||
|
v.ResetData("NoobSpawnVehicleTimer");
|
||||||
|
v.ResetData("NoobSpawnVehicle");
|
||||||
|
VehicleManager.DeleteVehicle(v);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
NAPI.Pools.GetAllPlayers().ForEach(p =>
|
||||||
|
{
|
||||||
|
//if (!p.IsInVehicle)
|
||||||
|
//{
|
||||||
|
if (p.GetData<bool>("HatNoobSpawnVehicle") == true)
|
||||||
|
{
|
||||||
|
p.ResetData("HatNoobSpawnVehicle");
|
||||||
|
}
|
||||||
|
//}
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
player.SetSharedData("isLoggedIn", JsonConvert.SerializeObject(true));
|
player.SetSharedData("isLoggedIn", JsonConvert.SerializeObject(true));
|
||||||
player.SetData("spec", true);
|
player.SetData("spec", true);
|
||||||
player.SetData("duty", false);
|
player.SetData("duty", false);
|
||||||
|
player.SetData("Adminduty", false);
|
||||||
player.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney, 0);
|
player.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney, 0);
|
||||||
Gangwar.Gangwar.loadPlayer(player);
|
Gangwar.Gangwar.loadPlayer(player);
|
||||||
if (user.FactionLeader)
|
if (user.FactionLeader)
|
||||||
|
|||||||
20
ReallifeGamemode.Server/Events/PlayerSpawn.cs
Normal file
20
ReallifeGamemode.Server/Events/PlayerSpawn.cs
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using GTANetworkAPI;
|
||||||
|
using ReallifeGamemode.Database.Entities;
|
||||||
|
using ReallifeGamemode.Server.Extensions;
|
||||||
|
using ReallifeGamemode.Server.Util;
|
||||||
|
using ReallifeGamemode.Server.WeaponDeal;
|
||||||
|
|
||||||
|
namespace ReallifeGamemode.Server.Events
|
||||||
|
{
|
||||||
|
public class PlayerSpawn : Script
|
||||||
|
{
|
||||||
|
[ServerEvent(Event.PlayerSpawn)]
|
||||||
|
public void OnPlayerSpawn(Player player)
|
||||||
|
{
|
||||||
|
NAPI.ClientEvent.TriggerClientEvent(player, "SERVER:WeaponModifier", player);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -34,8 +34,8 @@ namespace ReallifeGamemode.Server
|
|||||||
{
|
{
|
||||||
public class Main : Script
|
public class Main : Script
|
||||||
{
|
{
|
||||||
public static readonly Vector3 DEFAULT_SPAWN_POSITION = new Vector3(-427.5189, 1116.453, 326.7829);
|
public static readonly Vector3 DEFAULT_SPAWN_POSITION = new Vector3(-1033.93603515625, -2731.572998046875, 13.756634712219238);
|
||||||
public static readonly float DEFAULT_SPAWN_HEADING = 340.8f;
|
public static readonly float DEFAULT_SPAWN_HEADING = -32.23991012573242f;
|
||||||
|
|
||||||
public static readonly CultureInfo SERVER_CULTURE = new CultureInfo("de-DE");
|
public static readonly CultureInfo SERVER_CULTURE = new CultureInfo("de-DE");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user