Help - HUD element Crash Server (((
#1
Sad 
it works but after 5 - 10 minutes an error Confused

Code:
using System; using System.Collections.Generic; using System.Text; using Addon; namespace info { public class Class1 : CPlugin { public Dictionary<int, int> Client_HudElem_Info = new Dictionary<int, int>(); public Dictionary<int, int> Client_HudElem_ServerName = new Dictionary<int, int>(); public Dictionary<int, int> Client_HudElem_Deaths = new Dictionary<int, int>(); public Dictionary<int, int> Client_HudElem_Kills = new Dictionary<int, int>(); public override void OnServerLoad() { ServerPrint("\n:::Info Plugin loaded v1.0:::\n:::Author: :D:::\n"); } public void CreateHUD(ServerClient Client) { //Add client and it's hudelement to the list int HudElemKills = CreateHud_Kills(Client.ClientNum); if (Client_HudElem_Kills.ContainsKey(Client.ClientNum)) { Client_HudElem_Kills[Client.ClientNum] = HudElemKills; } else { Client_HudElem_Kills.Add(Client.ClientNum, HudElemKills); } int HudElemDeaths = CreateHud_Deaths(Client.ClientNum); if (Client_HudElem_Deaths.ContainsKey(Client.ClientNum)) { Client_HudElem_Deaths[Client.ClientNum] = HudElemDeaths; } else { Client_HudElem_Deaths.Add(Client.ClientNum, HudElemDeaths); } int HudElemServerName = CreateHud_ServerName(Client.ClientNum); if (Client_HudElem_ServerName.ContainsKey(Client.ClientNum)) { Client_HudElem_ServerName[Client.ClientNum] = HudElemServerName; } else { Client_HudElem_ServerName.Add(Client.ClientNum, HudElemServerName); } int HudElemInfo = CreateHud_Info(Client.ClientNum); if (Client_HudElem_Info.ContainsKey(Client.ClientNum)) { Client_HudElem_Info[Client.ClientNum] = HudElemInfo; } else { Client_HudElem_Info.Add(Client.ClientNum, HudElemInfo); } } public void DeleteHUD(ServerClient Client) { if (Client_HudElem_Kills.ContainsKey(Client.ClientNum)) { HudElem kl = GetHudElement(Client_HudElem_Kills[Client.ClientNum]); kl.Type = HudElementTypes.None; Client_HudElem_Kills.Remove(Client.ClientNum); } if (Client_HudElem_Deaths.ContainsKey(Client.ClientNum)) { HudElem dt = GetHudElement(Client_HudElem_Deaths[Client.ClientNum]); dt.Type = HudElementTypes.None; Client_HudElem_Deaths.Remove(Client.ClientNum); } if (Client_HudElem_ServerName.ContainsKey(Client.ClientNum)) { HudElem sn = GetHudElement(Client_HudElem_ServerName[Client.ClientNum]); sn.Type = HudElementTypes.None; Client_HudElem_ServerName.Remove(Client.ClientNum); } if (Client_HudElem_Info.ContainsKey(Client.ClientNum)) { HudElem info = GetHudElement(Client_HudElem_Info[Client.ClientNum]); info.Type = HudElementTypes.None; Client_HudElem_Info.Remove(Client.ClientNum); } } public void DeleteAllHUD() { foreach (KeyValuePair<int, int> it in Client_HudElem_Kills) { HudElem elem = GetHudElement(it.Value); elem.Type = HudElementTypes.None; } Client_HudElem_Kills.Clear(); foreach (KeyValuePair<int, int> it in Client_HudElem_Deaths) { HudElem elem = GetHudElement(it.Value); elem.Type = HudElementTypes.None; } Client_HudElem_Deaths.Clear(); foreach (KeyValuePair<int, int> it in Client_HudElem_ServerName) { HudElem elem = GetHudElement(it.Value); elem.Type = HudElementTypes.None; } Client_HudElem_ServerName.Clear(); foreach (KeyValuePair<int, int> it in Client_HudElem_Info) { HudElem elem = GetHudElement(it.Value); elem.Type = HudElementTypes.None; } Client_HudElem_Info.Clear(); } public override void OnPlayerConnect(ServerClient Client) { CreateHUD(Client); } public override void OnPlayerDisconnect(ServerClient Client) { DeleteHUD(Client); } public override void OnMapChange() { DeleteAllHUD(); } public override void OnAddonFrame() { List<ServerClient> clients; clients = GetClients(); foreach (ServerClient c in clients) { HudElem Kills = GetHudElement(Client_HudElem_Kills[c.ClientNum]); HudElem Deaths = GetHudElement(Client_HudElem_Deaths[c.ClientNum]); HudElem Info = GetHudElement(Client_HudElem_Info[c.ClientNum]); HudElem ServerName = GetHudElement(Client_HudElem_ServerName[c.ClientNum]); Kills.SetString("Kills: ^2" + c.Stats.Kills); Deaths.SetString("Deaths: ^1" + c.Stats.Deaths); ServerName.SetString("^1Server Name"); if (c.Team == Teams.Axis) { Info.SetString("^2Text!\n" + "^7Text!\n" + "^3Text!\n"); } if (c.Team == Teams.Allies) { Info.SetString("^2Text!\n" + "^7Text!\n" + "^3Text!\n"); } } } private int CreateHud_Kills(int ClientNum) { HudElem hud = CreateNewHudElem(); hud.Type = HudElementTypes.Text; hud.ShowToEnt = ClientNum; hud.HideInMenu = true; hud.Font = HudElementFonts.Default; hud.FontScale = 1.3f; hud.PointType = 81; hud.OriginY = 200f; hud.OriginX = 10f; hud.SetString(""); return hud.HudElementNum; } private int CreateHud_Deaths(int ClientNum) { HudElem hud = CreateNewHudElem(); hud.Type = HudElementTypes.Text; hud.ShowToEnt = ClientNum; hud.HideInMenu = true; hud.Font = HudElementFonts.Default; hud.FontScale = 1.3f; hud.PointType = 81; hud.OriginY = 212f; hud.OriginX = 10f; hud.SetString(""); return hud.HudElementNum; } private int CreateHud_Info(int ClientNum) { HudElem hud = CreateNewHudElem(); hud.Type = HudElementTypes.Text; hud.ShowToEnt = ClientNum; hud.HideInMenu = true; hud.Font = HudElementFonts.Default; hud.FontScale = 1.3f; hud.PointType = 81; hud.OriginY = 235f; hud.OriginX = 10f; hud.SetString(""); return hud.HudElementNum; } private int CreateHud_ServerName(int ClientNum) { HudElem hud = CreateNewHudElem(); hud.Type = HudElementTypes.Text; hud.ShowToEnt = ClientNum; hud.HideInMenu = true; hud.Font = HudElementFonts.Default; hud.FontScale = 1.3f; hud.PointType = 82; hud.OriginY = 160f; hud.OriginX = 5f; hud.SetString(""); return hud.HudElementNum; } } }
[Image: 77c85afda648.gif]

#2
Moved )))))))))

#3
On your server in the addon/logs directory will be a console.log file, if any errors are reported from a code level they will exist in there.

If you can find those it will help to debug the plugin.
I now host all my MW3 projects on my private GIT repo

#4
(01-20-2013, 01:57)SgtLegend Wrote: On your server in the addon/logs directory will be a console.log file, if any errors are reported from a code level they will exist in there.

If you can find those it will help to debug the plugin.

Code:
[03:22:39] System.Collections.Generic.KeyNotFoundException: . System.ThrowHelper.ThrowKeyNotFoundException() System.Collections.Generic.Dictionary`2.get_Item(TKey key) info.Class1.OnAddonFrame() Addon.PluginCode.TriggerAddonFrame()
[Image: 77c85afda648.gif]

#5
It should stop working after map change as you delete the HUDs but never recreate them



Possibly Related Threads…
Thread Author Replies Views Last Post
  Our Level Fastfile is Different from the Server. CheeseToast 6 15,574 11-03-2013, 17:52
Last Post: CheeseToast
  Dedicated Server External (public) IP Nerus 3 9,597 11-02-2013, 14:16
Last Post: Casper
  MW3 Server Version superg1973 7 17,538 10-28-2013, 01:15
Last Post: kotyra972
  Help how to turn off map in dedicated server pero123 8 9,637 10-15-2013, 19:00
Last Post: Nekochan
  Issue with server addon and NAT dimitrifrom31 3 8,195 10-08-2013, 18:11
Last Post: iRoNinja
  GETTING SERVER ONLINE raym 6 9,214 09-28-2013, 22:42
Last Post: Nekochan
  advanced Server Config Poorya56 9 9,991 09-11-2013, 03:45
Last Post: trasto
  console or server browser MW2 kerm007 1 5,035 08-30-2013, 21:52
Last Post: Nekochan
  [Tutorial] How to setup a MW3 Dedicated Server Linux alexrasen 6 18,451 08-13-2013, 20:12
Last Post: alexrasen
Question Help Some Server Admin Questions! mn_acer1 2 4,519 08-03-2013, 04:11
Last Post: mn_acer1

Forum Jump:


Users browsing this thread:
1 Guest(s)

Forum Powered By MyBB, Theme by © 2002-2026 Melroy van den Berg.