merge
This commit is contained in:
@@ -133,81 +133,73 @@ namespace ReallifeGamemode.Server.Gangwar
|
|||||||
|
|
||||||
private void update()
|
private void update()
|
||||||
{
|
{
|
||||||
#region Ticket system
|
NAPI.Task.Run(() =>
|
||||||
|
|
||||||
/*
|
|
||||||
try
|
|
||||||
{
|
{
|
||||||
Player[] owners = NAPI.Pools.GetAllPlayers().Where(c => c.GetUser().Faction.Name == this.Owner).ToArray();
|
foreach (Player gangwarPlayer in this.playerInGangwar)
|
||||||
Player[] attackers = NAPI.Pools.GetAllPlayers().Where(c => c.GetUser().Faction.Name == this.Attacker).ToArray();
|
|
||||||
}catch(NullReferenceException ex)
|
|
||||||
{
|
|
||||||
int i = 0;
|
|
||||||
foreach(var c in playerInGangwar)
|
|
||||||
{
|
{
|
||||||
if (!NAPI.Entity.DoesEntityExist(c.Handle))
|
if (!gangwarPlayer.IsLoggedIn())
|
||||||
{
|
{
|
||||||
this.playerInside = this.playerInside.Where(gp => gp != c).ToArray();
|
continue;
|
||||||
}
|
}
|
||||||
i++;
|
|
||||||
|
gangwarPlayer.TriggerEvent("GangwarScore", this.Attacker, this.Owner, this.Att_Score, this.Def_Score, 900 - timerCount);
|
||||||
}
|
}
|
||||||
}
|
/*if (this.Att_Score >= 200)
|
||||||
if (owners.Length > attackers.Length)
|
|
||||||
this.Att_Score -= owners.Length - attackers.Length;
|
|
||||||
if(owners.Length < attackers.Length)
|
|
||||||
this.Def_Score -= attackers.Length - owners.Length;
|
|
||||||
*/
|
|
||||||
|
|
||||||
#endregion Ticket system
|
|
||||||
|
|
||||||
foreach (Player gangwarPlayer in this.playerInGangwar)
|
|
||||||
{
|
|
||||||
gangwarPlayer.TriggerEvent("GangwarScore", this.Attacker, this.Owner, this.Att_Score, this.Def_Score, 900 - timerCount);
|
|
||||||
}
|
|
||||||
/*if (this.Att_Score >= 200)
|
|
||||||
{
|
|
||||||
this.takeOver(this.Attacker);
|
|
||||||
}
|
|
||||||
else if (this.Def_Score >= 200)
|
|
||||||
{
|
|
||||||
this.takeOver(this.Owner);
|
|
||||||
}*/
|
|
||||||
timerCount += 1;
|
|
||||||
if (timerCount >= 10) //change to 900 (seconds) before release for testing reasons change to whatever you like
|
|
||||||
{
|
|
||||||
if (this.Att_Score > this.Def_Score)
|
|
||||||
{
|
{
|
||||||
foreach (Player gangwarPlayer in this.playerInGangwar)
|
|
||||||
{
|
|
||||||
gangwarPlayer.TriggerEvent("GangwarScore", this.Attacker, this.Owner, 0, 0, 0);
|
|
||||||
}
|
|
||||||
this.takeOver(this.Attacker);
|
this.takeOver(this.Attacker);
|
||||||
this.Def_Score = 0;
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
else if (this.Att_Score < this.Def_Score)
|
else if (this.Def_Score >= 200)
|
||||||
{
|
{
|
||||||
foreach (Player gangwarPlayer in this.playerInGangwar)
|
|
||||||
{
|
|
||||||
gangwarPlayer.TriggerEvent("GangwarScore", this.Attacker, this.Owner, 0, 0, 0);
|
|
||||||
}
|
|
||||||
this.takeOver(this.Owner);
|
this.takeOver(this.Owner);
|
||||||
this.Att_Score = 0;
|
}*/
|
||||||
return;
|
timerCount += 1;
|
||||||
}
|
if (timerCount >= 900) //change to 900 (seconds) before release for testing reasons change to whatever you like
|
||||||
else if (this.Def_Score == this.Att_Score)
|
|
||||||
{
|
{
|
||||||
foreach (Player gangwarPlayer in this.playerInGangwar)
|
if (this.Att_Score > this.Def_Score)
|
||||||
{
|
{
|
||||||
gangwarPlayer.TriggerEvent("GangwarScore", this.Attacker, this.Owner, 0, 0, 0);
|
foreach (Player gangwarPlayer in this.playerInGangwar)
|
||||||
|
{
|
||||||
|
if (!gangwarPlayer.IsLoggedIn())
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
gangwarPlayer.TriggerEvent("GangwarScore", this.Attacker, this.Owner, 0, 0, 0);
|
||||||
|
}
|
||||||
|
this.takeOver(this.Attacker);
|
||||||
|
this.Def_Score = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if (this.Att_Score < this.Def_Score)
|
||||||
|
{
|
||||||
|
foreach (Player gangwarPlayer in this.playerInGangwar)
|
||||||
|
{
|
||||||
|
gangwarPlayer.TriggerEvent("GangwarScore", this.Attacker, this.Owner, 0, 0, 0);
|
||||||
|
}
|
||||||
|
this.takeOver(this.Owner);
|
||||||
|
this.Att_Score = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if (this.Def_Score == this.Att_Score)
|
||||||
|
{
|
||||||
|
foreach (Player gangwarPlayer in this.playerInGangwar)
|
||||||
|
{
|
||||||
|
if (!gangwarPlayer.IsLoggedIn())
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
gangwarPlayer.TriggerEvent("GangwarScore", this.Attacker, this.Owner, 0, 0, 0);
|
||||||
|
}
|
||||||
|
this.takeOver(this.Owner);
|
||||||
|
this.Def_Score = 0;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
this.takeOver(this.Owner);
|
|
||||||
this.Def_Score = 0;
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void enter(Player client)
|
public void enter(Player client)
|
||||||
{
|
{
|
||||||
User user = client.GetUser();
|
User user = client.GetUser();
|
||||||
@@ -215,7 +207,7 @@ namespace ReallifeGamemode.Server.Gangwar
|
|||||||
{
|
{
|
||||||
if (user.Faction.Name != getOwner() && user.Faction.Name != getAttacker())
|
if (user.Faction.Name != getOwner() && user.Faction.Name != getAttacker())
|
||||||
return;
|
return;
|
||||||
Player gPlayer = playerInGangwar.Where(c => c != null && !c.Handle.IsNull && c.IsLoggedIn() && c.GetUser().Id == user.Id).FirstOrDefault();
|
Player gPlayer = playerInGangwar.Where(c => c != null && !c.Handle.IsNull && c.IsLoggedIn() && c.GetUser()?.Id == user.Id).FirstOrDefault();
|
||||||
if (gPlayer == null)
|
if (gPlayer == null)
|
||||||
{
|
{
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
@@ -257,13 +249,11 @@ namespace ReallifeGamemode.Server.Gangwar
|
|||||||
Player[] attackers = NAPI.Pools.GetAllPlayers().Where(c => c.IsLoggedIn() && c.GetUser().Faction.Name == this.Attacker).ToArray();
|
Player[] attackers = NAPI.Pools.GetAllPlayers().Where(c => c.IsLoggedIn() && c.GetUser().Faction.Name == this.Attacker).ToArray();
|
||||||
foreach (var o in owners)
|
foreach (var o in owners)
|
||||||
{
|
{
|
||||||
if (o != null)
|
o.TriggerEvent("CLIENT:win");
|
||||||
o.TriggerEvent("CLIENT:win");
|
|
||||||
}
|
}
|
||||||
foreach (var a in attackers)
|
foreach (var a in attackers)
|
||||||
{
|
{
|
||||||
if (a != null)
|
a.TriggerEvent("CLIENT:loose");
|
||||||
a.TriggerEvent("CLIENT:loose");
|
|
||||||
}
|
}
|
||||||
ChatService.BroadcastFaction("~y~[GANGWAR] ~w~Deine Fraktion hat erfolgreich das Gebiet ~g~" + getName() + "~w~ verteidigt.", dbContext.Factions.Where(f => f.Name == getOwner()).FirstOrDefault());
|
ChatService.BroadcastFaction("~y~[GANGWAR] ~w~Deine Fraktion hat erfolgreich das Gebiet ~g~" + getName() + "~w~ verteidigt.", dbContext.Factions.Where(f => f.Name == getOwner()).FirstOrDefault());
|
||||||
ChatService.BroadcastFaction("~y~[GANGWAR] ~w~Deine Fraktion hat den Angrif auf das Gebiet ~r~" + getName() + "~w~ verloren.", dbContext.Factions.Where(f => f.Name == getAttacker()).FirstOrDefault());
|
ChatService.BroadcastFaction("~y~[GANGWAR] ~w~Deine Fraktion hat den Angrif auf das Gebiet ~r~" + getName() + "~w~ verloren.", dbContext.Factions.Where(f => f.Name == getAttacker()).FirstOrDefault());
|
||||||
@@ -272,15 +262,8 @@ namespace ReallifeGamemode.Server.Gangwar
|
|||||||
else if (getOwner() != FactionName)
|
else if (getOwner() != FactionName)
|
||||||
{
|
{
|
||||||
ChatService.BroadcastFaction("~y~[GANGWAR] ~w~Deine Fraktion konnte das Gebiet ~r~" + getName() + "~w~ nicht verteidigen.", dbContext.Factions.Where(f => f.Name == getOwner()).FirstOrDefault());
|
ChatService.BroadcastFaction("~y~[GANGWAR] ~w~Deine Fraktion konnte das Gebiet ~r~" + getName() + "~w~ nicht verteidigen.", dbContext.Factions.Where(f => f.Name == getOwner()).FirstOrDefault());
|
||||||
Console.WriteLine("[DEBUG:GANGWAR] getting owners...");
|
|
||||||
Player[] owners = NAPI.Pools.GetAllPlayers().Where(c => c.IsLoggedIn() && c.GetUser().Faction.Name == this.Owner).ToArray();
|
Player[] owners = NAPI.Pools.GetAllPlayers().Where(c => c.IsLoggedIn() && c.GetUser().Faction.Name == this.Owner).ToArray();
|
||||||
Console.WriteLine($"[DEBUG:GANGWAR] got owners {owners}.");
|
|
||||||
Console.WriteLine($"[DEBUG:GANGWAR] got owners {owners.ToString()}.");
|
|
||||||
|
|
||||||
Console.WriteLine("[DEBUG:GANGWAR] getting attackers...");
|
|
||||||
Player[] attackers = NAPI.Pools.GetAllPlayers().Where(c => c.IsLoggedIn() && c.GetUser().Faction.Name == this.Attacker).ToArray();
|
Player[] attackers = NAPI.Pools.GetAllPlayers().Where(c => c.IsLoggedIn() && c.GetUser().Faction.Name == this.Attacker).ToArray();
|
||||||
Console.WriteLine($"[DEBUG:GANGWAR] got attackers {attackers}.");
|
|
||||||
Console.WriteLine($"[DEBUG:GANGWAR] got attackers {attackers.ToString()}.");
|
|
||||||
foreach (var o in owners)
|
foreach (var o in owners)
|
||||||
{
|
{
|
||||||
if (o != null)
|
if (o != null)
|
||||||
@@ -303,6 +286,11 @@ namespace ReallifeGamemode.Server.Gangwar
|
|||||||
this.Attacker = null;
|
this.Attacker = null;
|
||||||
foreach (var c in playerInGangwar)
|
foreach (var c in playerInGangwar)
|
||||||
{
|
{
|
||||||
|
if (!c.IsLoggedIn())
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
c.TriggerEvent("CLIENT:setAttackBlip", false, TurfID);
|
c.TriggerEvent("CLIENT:setAttackBlip", false, TurfID);
|
||||||
c.ResetData("inGangWar");
|
c.ResetData("inGangWar");
|
||||||
c.ResetData("GotInsideOfTurf");
|
c.ResetData("GotInsideOfTurf");
|
||||||
|
|||||||
Reference in New Issue
Block a user