Added /invite, removed some unneccessary debug lines
This commit is contained in:
@@ -166,7 +166,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
|
||||
Client target = ClientService.GetClientByName(name);
|
||||
|
||||
if (target == null)
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
@@ -187,6 +187,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
|
||||
player.SendChatMessage("Position: X Y Z: " + player.Position);
|
||||
}
|
||||
|
||||
[Command("goto", "~m~Benutzung: ~s~/goto [Ort]")]
|
||||
public void CmdAdminGotoPoint(Client player, string location)
|
||||
{
|
||||
@@ -225,7 +226,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
|
||||
Client target = ClientService.GetClientByName(name);
|
||||
|
||||
if (target == null)
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
@@ -279,7 +280,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
}
|
||||
|
||||
Client target = ClientService.GetClientByName(name);
|
||||
if (target == null)
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
@@ -308,7 +309,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
}
|
||||
|
||||
Client target = ClientService.GetClientByName(name);
|
||||
if (target == null)
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
@@ -329,7 +330,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
}
|
||||
|
||||
Client target = ClientService.GetClientByName(name);
|
||||
if (target == null)
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
@@ -350,7 +351,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
}
|
||||
|
||||
Client target = ClientService.GetClientByName(name);
|
||||
if (target == null)
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
@@ -392,7 +393,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
}
|
||||
|
||||
Client target = ClientService.GetClientByName(name);
|
||||
if (target == null)
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
@@ -417,7 +418,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
return;
|
||||
}
|
||||
Client target = ClientService.GetClientByName(name);
|
||||
if (target == null)
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
@@ -439,6 +440,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
|
||||
foreach (var managedClient in peopleInRange)
|
||||
{
|
||||
if (!managedClient.IsLoggedIn()) return;
|
||||
managedClient.Health = hp;
|
||||
managedClient.SendChatMessage("~b~Admin " + player.Name + " hat im Radius von " + radius + " die HP auf " + hp + " gesetzt.");
|
||||
}
|
||||
@@ -457,6 +459,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
|
||||
foreach (var managedClient in peopleInRange)
|
||||
{
|
||||
if (!managedClient.IsLoggedIn()) return;
|
||||
managedClient.Armor = Armor;
|
||||
managedClient.SendChatMessage("~b~Admin " + player.Name + " hat im Radius von " + radius + " die Rüstung auf " + Armor + " gesetzt.");
|
||||
}
|
||||
@@ -508,6 +511,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
|
||||
foreach (var managedClient in peopleInRange)
|
||||
{
|
||||
if (!managedClient.IsLoggedIn()) return;
|
||||
managedClient.GiveWeapon(wHash, munition);
|
||||
managedClient.SendChatMessage("~b~Admin " + player.Name + " hat im Radius von " + radius + " eine/n " + weapon + " mit " + munition + " Munition vergeben.");
|
||||
}
|
||||
@@ -543,7 +547,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
}
|
||||
|
||||
Client target = ClientService.GetClientByName(name);
|
||||
if (target == null)
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
@@ -558,7 +562,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
User u = target.GetUser(dbContext);
|
||||
Entities.User u = target.GetUser(dbContext);
|
||||
|
||||
if (faction != 0)
|
||||
{
|
||||
@@ -594,7 +598,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
}
|
||||
|
||||
Client target = ClientService.GetClientByName(name);
|
||||
if (target == null)
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
@@ -609,7 +613,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
User u = target.GetUser(dbContext);
|
||||
Entities.User u = target.GetUser(dbContext);
|
||||
|
||||
u.FactionId = f.Id;
|
||||
u.FactionRankId = dbContext.FactionRanks.
|
||||
@@ -635,7 +639,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
|
||||
Client target = ClientService.GetClientByName(user);
|
||||
|
||||
if(target == null)
|
||||
if(target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(admin);
|
||||
return;
|
||||
@@ -728,7 +732,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
User user;
|
||||
Entities.User user;
|
||||
|
||||
using (var dbContext = new DatabaseContext())
|
||||
{
|
||||
@@ -809,12 +813,10 @@ namespace reallife_gamemode.Server.Commands
|
||||
};
|
||||
|
||||
string json = JsonConvert.SerializeObject(helper, Formatting.None);
|
||||
Console.WriteLine(json);
|
||||
player.TriggerEvent("manageFactionRanks", json);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//TEST COMMAND
|
||||
[Command("own")]
|
||||
public void CmdAdminOwn(Client player)
|
||||
@@ -863,16 +865,8 @@ namespace reallife_gamemode.Server.Commands
|
||||
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);
|
||||
ChatService.BroadcastAdmin("~r~Admin " + player.Name + "~w~: " + message, AdminLevel.ADMIN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[Command("team", "~m~Benutzung: ~s~/team")]
|
||||
public void CmdAdminTeam(Client player)
|
||||
@@ -945,7 +939,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
}
|
||||
|
||||
Client target = ClientService.GetClientByName(targetname);
|
||||
if (target == null)
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
@@ -964,7 +958,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
}
|
||||
|
||||
Client target = ClientService.GetClientByName(targetname);
|
||||
if (target == null)
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
@@ -983,7 +977,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
}
|
||||
|
||||
Client target = ClientService.GetClientByName(targetname);
|
||||
if (target == null)
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
@@ -1127,7 +1121,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
return;
|
||||
}
|
||||
Client target = ClientService.GetClientByName(name);
|
||||
if (target == null)
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
@@ -1163,7 +1157,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
}
|
||||
|
||||
Client target = ClientService.GetClientByName(targetname);
|
||||
if (target == null)
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
|
||||
@@ -64,5 +64,36 @@ namespace reallife_gamemode.Server.Commands
|
||||
ChatService.BroadcastFaction(broadcastMessage, context.Factions.ToList().FindAll(c => c.StateOwned));
|
||||
}
|
||||
}
|
||||
|
||||
[Command("invite", "~m~Benutzung: ~s~/invite [Name]")]
|
||||
public void CmdFactionInvite(Client player, string name)
|
||||
{
|
||||
if(player.GetUser()?.FactionId == null || player.GetUser().FactionLeader == false)
|
||||
{
|
||||
ChatService.NotAuthorized(player);
|
||||
return;
|
||||
}
|
||||
|
||||
Client target = ClientService.GetClientByName(name);
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
}
|
||||
|
||||
if(target.GetUser()?.FactionId != null)
|
||||
{
|
||||
player.SendChatMessage("~r~[FEHLER]~s~ Dieser Spieler ist schon in einer Fraktion.");
|
||||
return;
|
||||
}
|
||||
|
||||
target.SetData("accept_invite", player.Handle);
|
||||
|
||||
player.SendChatMessage("!{02FCFF}Du hast dem Spieler " + target.Name + " eine Einladung in deine Fraktion gesendet.");
|
||||
target.SendChatMessage("!{02FCFF}Du hast von " + player.Name + " eine Einladung in die Fraktion \"" + player.GetUser().GetFaction().Name + "\" erhalten.");
|
||||
target.SendChatMessage("!{02FCFF}Benutze '/accept invite', um die Einladung anzunehmen");
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
52
Server/Commands/User.cs
Normal file
52
Server/Commands/User.cs
Normal file
@@ -0,0 +1,52 @@
|
||||
using GTANetworkAPI;
|
||||
using reallife_gamemode.Model;
|
||||
using reallife_gamemode.Server.Extensions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace reallife_gamemode.Server.Commands
|
||||
{
|
||||
class User : Script
|
||||
{
|
||||
[Command("accept", "~m~Benutzung: ~s~/accept [invite]")]
|
||||
public void CmdUserAccept(Client player, string option)
|
||||
{
|
||||
if (!player.IsLoggedIn()) return;
|
||||
|
||||
option = option.ToLower();
|
||||
|
||||
switch(option)
|
||||
{
|
||||
case "invite":
|
||||
{
|
||||
if(!player.HasData("accept_invite"))
|
||||
{
|
||||
player.SendChatMessage("~r~[FEHLER]~s~ Du hast keine Einladung in eine Fraktion erhalten.");
|
||||
return;
|
||||
}
|
||||
|
||||
using(var dbContext = new DatabaseContext())
|
||||
{
|
||||
Client leader = NAPI.Player.GetPlayerFromHandle((NetHandle)player.GetData("accept_invite"));
|
||||
Entities.User u = leader.GetUser(dbContext);
|
||||
Entities.User own = player.GetUser(dbContext);
|
||||
|
||||
own.FactionId = u.FactionId;
|
||||
own.FactionLeader = false;
|
||||
own.FactionRankId = dbContext.FactionRanks.
|
||||
OrderBy(x => x.Order)
|
||||
.FirstOrDefault(r => r.FactionId == own.FactionId)?.Id ?? null;
|
||||
|
||||
leader.SendChatMessage("!{02FCFF}" + player.Name + " hat die Einladung angenommen.");
|
||||
player.SendChatMessage("!{02FCFF}Du hast die Einladung angenommen.");
|
||||
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,7 +15,6 @@ namespace reallife_gamemode.Server.Events
|
||||
[RemoteEvent("OnFactionRanksEdit")]
|
||||
public void OnFactionRanksEdit(Client player, string jsonData)
|
||||
{
|
||||
Console.WriteLine(jsonData);
|
||||
FactionRankHelper helper = JsonConvert.DeserializeObject<FactionRankHelper>(jsonData);
|
||||
using(var context = new DatabaseContext())
|
||||
{
|
||||
@@ -38,7 +37,6 @@ namespace reallife_gamemode.Server.Events
|
||||
Rank newRank = ranks[i];
|
||||
if(newRank.Id == 0)
|
||||
{
|
||||
Console.WriteLine("Neuer Rang: " + newRank.Name);
|
||||
context.FactionRanks.Add(new FactionRank
|
||||
{
|
||||
RankName = newRank.Name,
|
||||
@@ -49,7 +47,6 @@ namespace reallife_gamemode.Server.Events
|
||||
else
|
||||
{
|
||||
FactionRank factionRank = factionRanks.Find(r => r.Id == newRank.Id);
|
||||
Console.WriteLine($"Edited Rang: {factionRank.RankName} -> {newRank.Name}");
|
||||
factionRank.RankName = newRank.Name;
|
||||
factionRank.Order = length - i;
|
||||
found.Add(factionRank.Id);
|
||||
@@ -60,7 +57,6 @@ namespace reallife_gamemode.Server.Events
|
||||
{
|
||||
if(!found.Contains(factionRanks[i].Id))
|
||||
{
|
||||
Console.WriteLine("removed: " + factionRanks[i].RankName);
|
||||
context.FactionRanks.Remove(factionRanks[i]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user