08-02-2014, 21:39
hello everyone i add flags all work good but when i start server join game after 2 min geting error g_spawn no free entities plis help me
Code:
using System;
using System.Collections.Generic;
using Addon;
using System.IO;
using System.Collections;
namespace zflags
{
public class flags : CPlugin
{
Dictionary<int, int> Client_HudElem_Flag = new Dictionary<int, int>();
public override void OnMapChange()
{
string map = GetDvar("mapname");
if (map == "mp_bravo")
{
Entity w = SpawnModel("script_model", "prop_flag_neutral", new Vector(1938.302f, -349.1249f, 1200.525f));
Entity w1 = SpawnModel("script_model", "prop_flag_neutral", new Vector(-984.309f, 331.6788f, 1057.125f));
Entity w2 = SpawnModel("script_model", "prop_flag_neutral", new Vector(1817.183f, -792.3326f, 1169.125f));
Entity w3 = SpawnModel("script_model", "prop_flag_neutral", new Vector(-1970.91f, -268.9228f, 937.125f));
}
}
public override void OnAddonFrame()
{
List<ServerClient> clients;
try
{
clients = GetClients();
if (clients != null && clients.Count > 0)
{
foreach (ServerClient c in GetClients())
{
if (c.Other.isAlive == true)
{
HudElem hl = GetHudElement(Client_HudElem_Flag[c.ClientNum]);
string map = GetDvar("mapname");
/////////
if (map == "mp_bravo")
{
Entity w = SpawnModel("script_model", "prop_flag_neutral", new Vector(1938.302f, -349.1249f, 1200.525f));
Entity w1 = SpawnModel("script_model", "prop_flag_neutral", new Vector(-984.309f, 331.6788f, 1057.125f));
Entity w2 = SpawnModel("script_model", "prop_flag_neutral", new Vector(1817.183f, -792.3326f, 1169.125f));
Entity w3 = SpawnModel("script_model", "prop_flag_neutral", new Vector(-1970.91f, -268.9228f, 937.125f));
if ((Difference(c.OriginX, 1938.302f) <= 100) && (Difference(c.OriginY, -349.1249f) <= 100) && (Difference(c.OriginZ, 1200.525f) <= 100))
{
hl.SetString("Press ^3F^7 to ^1Teleport!");
if (c.Other.ButtonPressed(Buttons.Activate))
{
iPrintLnBold("^2After ^1Moab ^2Chang Spot!", c);
c.OriginX = -984.309f;
c.OriginY = 331.6788f;
c.OriginZ = 1057.125f;
}
}
else if ((Difference(c.OriginX, -984.309f) <= 100) && (Difference(c.OriginY, 331.6788f) <= 100) && (Difference(c.OriginZ, 1057.125f) <= 100))
{
hl.SetString("Press ^3F^7 to ^1Teleport! ");
if (c.Other.ButtonPressed(Buttons.Activate))
{
iPrintLnBold("^2In Map!", c);
c.OriginX = 1937.302f;
c.OriginY = -349.1249f;
c.OriginZ = 1200.525f;
}
}
else if ((Difference(c.OriginX, 1817.183f) <= 100) && (Difference(c.OriginY, -792.3326f) <= 100) && (Difference(c.OriginZ, 1169.125f) <= 100))
{
hl.SetString("Press ^3F^7 to ^1Teleport ^7 to the ^4Out Side!");
if (c.Other.ButtonPressed(Buttons.Activate))
{
iPrintLnBold("^2After ^1Moab ^2Chang Spot!", c);
c.OriginX = -1970.91f;
c.OriginY = -268.9228f;
c.OriginZ = 937.125f;
}
}
else if ((Difference(c.OriginX, -1970.91f) <= 100) && (Difference(c.OriginY, -268.9228f) <= 100) && (Difference(c.OriginZ, 937.125f) <= 100))
{
hl.SetString("Press ^3F^7 to ^1Teleport ^7Back in the ^4MAP!");
if (c.Other.ButtonPressed(Buttons.Activate))
{
iPrintLnBold("^2Back!", c);
c.OriginX = 1817.173f;
c.OriginY = -792.3326f;
c.OriginZ = 1169.125f;
}
}
else
{
hl.SetString("");
}
}
///////////////////////////////////////////////////////////////////////////
////////////////// DONT CHANGE ANYTHING BELOW THIS! /////////////////////
///////////////////////////////////////////////////////////////////////////
}
}
}
}
catch (Exception z)
{
ServerPrint("Error flag: " + z.Message);
}
}
public static float Difference(float loc, float loc2)
{
return Math.Abs(loc - loc2);
}
public override void OnPlayerDisconnect(ServerClient client)
{
if (Client_HudElem_Flag.ContainsKey(client.ClientNum))
{
HudElem info2 = GetHudElement(Client_HudElem_Flag[client.ClientNum]);
info2.Type = HudElementTypes.None;
Client_HudElem_Flag.Remove(client.ClientNum);
}
}
public override void OnPlayerConnect(ServerClient client)
{
int HudElemNum1 = CreateHud_Flag(client.ClientNum);
if (Client_HudElem_Flag.ContainsKey(client.ClientNum))
Client_HudElem_Flag[client.ClientNum] = HudElemNum1;
else
Client_HudElem_Flag.Add(client.ClientNum, HudElemNum1);
}
private int CreateHud_Flag(int ClientNum)
{
HudElem hud = CreateNewHudElem();
hud.Type = HudElementTypes.Text;
hud.ShowToEnt = ClientNum;
hud.HideInMenu = true;
//THIS SETS THE FONT OF YOUR TEXT
hud.Font = HudElementFonts.Default;
//THIS SETS HOW BIG YOU WANT THE TEXT
hud.FontScale = 1.5f;
hud.PointType = 120;
//THIS SETS WHERE YOU WANT THE TEXT TO APPEAR
//THE Y IS HORIZANTAL ON HUD
hud.OriginY = 180f;
//X IS VERTICAL ON HUD
hud.OriginX = -100f;
hud.SetString("");
return hud.HudElementNum;
}
}
}