Merge branch 'feature/user-backend' into develop

This commit is contained in:
VegaZ
2018-09-27 20:29:34 +02:00
18 changed files with 530 additions and 21 deletions

View File

@@ -1,11 +1,15 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using GTANetworkAPI;
using reallife_gamemode.Server.Events;
using reallife_gamemode.Server.Extensions;
using reallife_gamemode.Server.Services;
using reallife_gamemode.Server.Util;
using reallife_gamemode.Model;
/**
* @overview Life of German Reallife - Admin Commands (Admin.cs)
@@ -58,7 +62,6 @@ namespace reallife_gamemode.Server.Commands
Vehicle v = NAPI.Vehicle.CreateVehicle(hash, player.Position, player.Rotation.Z, color1, color2);
player.SetIntoVehicle(v.Handle, -1);
player.SendChatMessage("Maxspeed: + " +player.Vehicle.MaxSpeed + "");
}
[Command("fv")]
@@ -551,8 +554,137 @@ namespace reallife_gamemode.Server.Commands
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
break;
}
}
}
[Command("ban", "~m~Benutzung: ~s~/ban [User] [Zeit in Minuten(0 für Permanent)] [Grund] ", GreedyArg = true)]
public void CmdAdminBan(Client admin, string user, int mins, string reason)
{
if (ClientExtension.IsLoggedIn(admin) == false)
{
ChatService.PlayerNotLoggedIn(admin);
return;
}
if (!admin.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(admin);
return;
}
Client target = ClientService.GetClientByName(user);
ClientExtension.BanPlayer(admin, target, reason, mins);
}
[Command("unban", "~m~Benutzung: ~s~/unban [User] ", GreedyArg = true)]
public void CmdAdminUnban(Client admin, string user)
{
if (ClientExtension.IsLoggedIn(admin) == false)
{
ChatService.PlayerNotLoggedIn(admin);
return;
}
if (!admin.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(admin);
return;
}
Client target = ClientService.GetClientByName(user);
ClientExtension.UnbanPlayer(admin, target);
}
//TEST COMMAND
[Command("own")]
public void CmdAdminOwn(Client player)
{
if (ClientExtension.IsLoggedIn(player) == false)
{
ChatService.PlayerNotLoggedIn(player);
return;
}
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
if (player.IsInVehicle)
{
Vehicle playerVehicle = player.Vehicle;
using (var saveVehicle = new Model.DatabaseContext())
{
var dataSet = new Entities.UserVehicle
{
UserId = player.GetUser().Id,
Model = (VehicleHash) playerVehicle.Model,
PositionX = playerVehicle.Position.X,
PositionY = playerVehicle.Position.Y,
PositionZ = playerVehicle.Position.Z,
Heading = playerVehicle.Heading,
NumberPlate = playerVehicle.NumberPlate,
PrimaryColor = Convert.ToByte(playerVehicle.PrimaryColor),
SecondaryColor = Convert.ToByte(playerVehicle.SecondaryColor),
Locked = playerVehicle.Locked,
Engine = playerVehicle.EngineStatus,
Dimension = Convert.ToByte(playerVehicle.Dimension),
};
saveVehicle.UserVehicles.Add(dataSet);
saveVehicle.SaveChanges();
}
}
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
}
//TEST COMMAND
[Command("myvehicles")]
public void CmdAdminMyVehicles(Client player)
{
if (ClientExtension.IsLoggedIn(player) == false)
{
ChatService.PlayerNotLoggedIn(player);
return;
}
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
player.SendChatMessage("Deine Fahrzeuge: ");
using (var loadData = new DatabaseContext())
{
foreach (Entities.UserVehicle v in loadData.UserVehicles)
{
if (v.UserId == ClientExtension.GetUser(player).Id)
{
player.SendChatMessage("~b~" + NAPI.Vehicle.GetVehicleDisplayName(v.Model));
}
}
}
}
/*
[Command("restart")]
public void CmdAdminRestart(Client player)
{
if (ClientExtension.IsLoggedIn(player) == false)
{
ChatService.PlayerNotLoggedIn(player);
return;
}
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
var users = NAPI.Pools.GetAllPlayers();
foreach(Client user in users)
{
user.SendChatMessage("~r~Server startet neu.~s~ Bitte verbinde dich über ~y~F1~s~ neu.");
user.Kick();
}
NAPI.Resource.StopResource("reallife-gamemode");
}*/
}
}