Resolve merge conflict

This commit is contained in:
VegaZ
2018-09-27 20:33:13 +02:00
6 changed files with 356 additions and 21 deletions

15
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,15 @@
#stages:
# - build
#before_script:
# - "dotnet restore"
#build:
# stage: build
# only:
# - develop
# script:
# - "dotnet build"
# - "cp bin/Debug/netcoreapp2.0/* /ragemp_srv/bridge/resources/reallife-gamemode"
# - "rm -rf /ragemp_srv/client_packages/*"
# - "cp -r Client/* /ragemp_srv/client_packages"

View File

@@ -13,7 +13,7 @@ using reallife_gamemode.Model;
/**
* @overview Life of German Reallife - Admin Commands (Admin.cs)
* @author VegaZ, hydrant, xSprite
* @author VegaZ, hydrant, xSprite, balbo
* @copyright (c) 2008 - 2018 Life of German
*/
@@ -466,7 +466,7 @@ namespace reallife_gamemode.Server.Commands
foreach (var managedClient in peopleInRange)
{
managedClient.Health = Armor;
managedClient.Armor = Armor;
managedClient.SendChatMessage("~b~Admin " + player.Name + " hat im Radius von " + radius + " die Rüstung auf " + Armor + " gesetzt.");
}
player.SendChatMessage("~b~Die Rüstung von " + peopleInRange.Count + " Spielern wurde auf " + Armor + " gesetzt.");
@@ -486,8 +486,11 @@ namespace reallife_gamemode.Server.Commands
return;
}
string broadcastMsg = $"Serverzeit wurde auf {hour:D2}:{min:D2}:{sec:D2} gesetzt!";
NAPI.Chat.SendChatMessageToAll(broadcastMsg);
NAPI.World.SetTime(hour, min, sec);
NAPI.Chat.SendChatMessageToAll("Serverzeit auf " + hour + ":" + min + ":" + sec + " gestellt");
return;
}
[Command("val")]
@@ -553,7 +556,6 @@ namespace reallife_gamemode.Server.Commands
}
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
break;
}
}
@@ -632,7 +634,303 @@ namespace reallife_gamemode.Server.Commands
}
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
}
[Command("a", "~m~Benutzung: ~s~/a [Nachricht]")]
public void CmdAdminA(Client player, string message)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
List<Client> playerlist = NAPI.Pools.GetAllPlayers();
foreach (Client currentPlayer in playerlist)
{
if (currentPlayer.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? false)
{
NAPI.Chat.SendChatMessageToPlayer(currentPlayer, "~r~Admin " + NAPI.Player.GetPlayerName(player) + "~w~: " + message);
}
}
}
[Command("team", "~m~Benutzung: ~s~/team")]
public void CmdAdminTeam(Client player)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.SUPPORTER) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
NAPI.Chat.SendChatMessageToPlayer(player, "Online Teammitglieder:");
List<Client> playerlist = NAPI.Pools.GetAllPlayers();
foreach (Client currentPlayer in playerlist)
{
if (currentPlayer.GetUser()?.IsAdmin(AdminLevel.SUPPORTER) ?? false)
{
NAPI.Chat.SendChatMessageToPlayer(player, "~w~" + NAPI.Player.GetPlayerName(currentPlayer));
}
}
}
[Command("setweather", "~m~Benutzung: ~s~/setweather [WEATHER]")]
public void CmdAdminSetweather(Client player, string weather)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
Weather weatherBefore = NAPI.World.GetWeather();
NAPI.World.SetWeather(weather);
Weather weatherAfter = NAPI.World.GetWeather();
if (!weatherBefore.Equals(weatherAfter))
{
NAPI.Chat.SendChatMessageToPlayer(player, "~w~Wetter geändert: " + NAPI.World.GetWeather());
}
else
{
NAPI.Chat.SendChatMessageToPlayer(player, "~w~Wetter konnte nicht geändert werden");
}
}
[Command("freeze", "~m~Benutzung: ~s~/freeze [Player]")]
public void CmdAdminFreeze(Client player, string targetname)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
Client target = ClientService.GetClientByName(targetname);
if (target == null)
{
ChatService.PlayerNotFound(player);
return;
}
target.Freeze(true);
}
[Command("unfreeze", "~m~Benutzung: ~s~/freeze [Player]")]
public void CmdAdminUnfreeze(Client player, string targetname)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
Client target = ClientService.GetClientByName(targetname);
if (target == null)
{
ChatService.PlayerNotFound(player);
return;
}
target.Freeze(false);
}
[Command("kick", "~m~Benutzung: ~s~/kick [Player] [Grund]")]
public void CmdAdminKick(Client player, string targetname, string reason)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
Client target = ClientService.GetClientByName(targetname);
if (target == null)
{
ChatService.PlayerNotFound(player);
return;
}
string targetPlayername = NAPI.Player.GetPlayerName(target);
string adminPlayername = NAPI.Player.GetPlayerName(player);
NAPI.Chat.SendChatMessageToPlayer(target, "~r~KICKINFO: ~w~Du wurdest von " + adminPlayername + " vom Server gekickt: " + reason);
target.Kick();
NAPI.Chat.SendChatMessageToAll("~y~INFO: ~w~" + targetPlayername + " wurde von " + adminPlayername + " gekickt: " + reason);
}
[Command("clearchat", "~m~Benutzung: ~s~/clearchat")]
public void CmdAdminClearchat(Client player)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
for (int i = 0; i < 20; i++)
{
NAPI.Chat.SendChatMessageToAll("");
}
}
[Command("up", "~m~Benutzung: ~s~/up [Wert]")]
public void CmdAdminUp(Client player, int value = 5)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
if (player.IsInVehicle)
{
player.Vehicle.Position = new Vector3(player.Vehicle.Position.X, player.Vehicle.Position.Y, player.Vehicle.Position.Z + value);
}
else
{
player.Position = new Vector3(player.Position.X, player.Position.Y, player.Position.Z + value);
}
}
[Command("dn", "~m~Benutzung: ~s~/dn [Wert]")]
public void CmdAdminDn(Client player, int value = 5)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
if (player.IsInVehicle)
{
player.Vehicle.Position = new Vector3(player.Vehicle.Position.X, player.Vehicle.Position.Y, player.Vehicle.Position.Z - value);
} else
{
player.Position = new Vector3(player.Position.X, player.Position.Y, player.Position.Z - value);
}
}
[Command("rt", "~m~Benutzung: ~s~/rt [Wert]")]
public void CmdAdminRt(Client player, int value = 5)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
float playerHeading = player.Heading;
if (playerHeading < 45 || playerHeading >= 315)
{
Vector3 playerPosition = new Vector3(player.Position.X + value, player.Position.Y, player.Position.Z);
player.Position = playerPosition;
}
else if (playerHeading < 315 && playerHeading >= 225)
{
Vector3 playerPosition = new Vector3(player.Position.X, player.Position.Y - value, player.Position.Z);
player.Position = playerPosition;
}
else if (playerHeading >= 135 && playerHeading < 225)
{
Vector3 playerPosition = new Vector3(player.Position.X - value, player.Position.Y, player.Position.Z);
player.Position = playerPosition;
}
else if (playerHeading >= 45 && playerHeading < 135)
{
Vector3 playerPosition = new Vector3(player.Position.X, player.Position.Y + value, player.Position.Z);
player.Position = playerPosition;
}
}
[Command("lt", "~m~Benutzung: ~s~/lt [Wert]")]
public void CmdAdminLt(Client player, int value = 5)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
float playerHeading = player.Heading;
if (playerHeading < 45 || playerHeading >= 315)
{
Vector3 playerPosition = new Vector3(player.Position.X - value, player.Position.Y, player.Position.Z);
player.Position = playerPosition;
}
else if (playerHeading < 315 && playerHeading >= 225)
{
Vector3 playerPosition = new Vector3(player.Position.X, player.Position.Y + value, player.Position.Z);
player.Position = playerPosition;
}
else if (playerHeading >= 135 && playerHeading < 225)
{
Vector3 playerPosition = new Vector3(player.Position.X + value, player.Position.Y, player.Position.Z);
player.Position = playerPosition;
}
else if (playerHeading >= 45 && playerHeading < 135)
{
Vector3 playerPosition = new Vector3(player.Position.X, player.Position.Y - value, player.Position.Z);
player.Position = playerPosition;
}
}
[Command("spec", "~m~Benutzung: ~s~/spec [Player]")]
public void CmdAdminSpectate(Client player, string name)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
Client target = ClientService.GetClientByName(name);
if (target == null)
{
ChatService.PlayerNotFound(player);
return;
}
if (target == player)
{
ChatService.ErrorMsg(player);
return;
}
bool spec = player.GetData("spec");
if (spec == false)
{
NAPI.Player.SetPlayerToSpectatePlayer(player, target);
player.SetData("spec", true);
}
else
{
NAPI.Player.UnspectatePlayer(player);
player.SetData("spec", false);
}
}
[Command("ip", "~m~Benutzung: ~s~/ip [Spieler]")]
public void CmdAdminIp(Client player, string targetname)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
Client target = ClientService.GetClientByName(targetname);
if (target == null)
{
ChatService.PlayerNotFound(player);
return;
}
player.SendChatMessage("IP von " + NAPI.Player.GetPlayerName(target) + ": " + target.Address);
}
//TEST COMMAND
[Command("myvehicles")]

View File

@@ -6,10 +6,13 @@ using GTANetworkAPI;
using Microsoft.EntityFrameworkCore;
using reallife_gamemode.Model;
using reallife_gamemode.Server.Entities;
using reallife_gamemode.Server.Extensions;
using reallife_gamemode.Server.Services;
using reallife_gamemode.Server.Util;
/**
* @overview Life of German Reallife - Event Login (Login.cs)
* @author VegaZ
* @author VegaZ, xSprite
* @copyright (c) 2008 - 2018 Life of German
*/
@@ -23,7 +26,21 @@ namespace reallife_gamemode.Server.Events
player.SetData("isLoggedIn", false);
player.Position = new Vector3(-1883.736, -781.4911, -10);
player.FreezePosition = true;
string name = player.Name;
List<Client> playerlist = NAPI.Pools.GetAllPlayers();
foreach (Client currentPlayer in playerlist)
{
if (currentPlayer.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? false)
{
if (player.GetData("isLoggedIn"))
{
player.SendChatMessage("~m~*** "+player.Name+"["+player.SocialClubName+"] [ID:"+player.Handle.Value+"] ("+player.Address+")");
}
}
}
}
<<<<<<< HEAD
[RemoteEvent("IsPlayerBanned")]
public void IsPlayerBanned(Client player)
{
@@ -55,5 +72,7 @@ namespace reallife_gamemode.Server.Events
}
}
=======
>>>>>>> 93818ed28ddf5427bc20581af533e442290ed7e0
}
}

View File

@@ -7,10 +7,11 @@ using GTANetworkMethods;
using reallife_gamemode.Model;
using reallife_gamemode.Server.Extensions;
/*
* Author: balbo
*
* */
/**
* @overview Life of German Reallife - Events Death (Death.cs)
* @author VegaZ
* @copyright (c) 2008 - 2018 Life of German
*/
namespace reallife_gamemode.Server.Events
{

View File

@@ -45,6 +45,7 @@ namespace reallife_gamemode.Server.Events
NAPI.Player.SpawnPlayer(player, Main.DEFAULT_SPAWN_POSITION, Main.DEFAULT_SPAWN_HEADING);
player.SetData("isLoggedIn", true);
player.SetData("spec", true);
player.TriggerEvent("draw");
player.Position = new Vector3(user.PositionX, user.PositionY, user.PositionZ);
}

View File

@@ -21,13 +21,14 @@ namespace reallife_gamemode.Server.Services
* Gibt "null" zurück, falls kein Client gefunden wurde
*/
Client toReturn = null;
name = name.ToLower();
List<Client> playerList = NAPI.Pools.GetAllPlayers();
toReturn = playerList.Find(p => p.Name == name);
toReturn = playerList.Find(p => p.Name.ToLower() == name);
if(toReturn == null)
{
toReturn = playerList.Find(p => p.Name.StartsWith(name));
toReturn = playerList.Find(p => p.Name.ToLower().StartsWith(name));
}
return toReturn;