Raised This Month: $51 Target: $400
 12% 

Plugin compile help


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
Sincronic
Senior Member
Join Date: Dec 2018
Old 01-11-2019 , 22:47   Plugin compile help
Reply With Quote #1

Guys, i have this source and is a working plugin, i decompiled i changed something but now i can't compile it. I put the code.

Thanks

Code:
public PlVers:__version =
{
	version = 5,
	filevers = "1.7.2",
	date = "05/07/2017",
	time = "22:48:57"
};
new Float:NULL_VECTOR[3];
new String:NULL_STRING[4];
public Extension:__ext_core =
{
	name = "Core",
	file = "core",
	autoload = 0,
	required = 0,
};
new MaxClients;
public Extension:__ext_sdktools =
{
	name = "SDKTools",
	file = "sdktools.ext",
	autoload = 1,
	required = 1,
};
public Extension:__ext_sdkhooks =
{
	name = "SDKHooks",
	file = "sdkhooks.ext",
	autoload = 1,
	required = 1,
};
public Extension:__ext_cstrike =
{
	name = "cstrike",
	file = "games/game.cstrike.ext",
	autoload = 0,
	required = 1,
};
public Extension:__ext_topmenus =
{
	name = "TopMenus",
	file = "topmenus.ext",
	autoload = 1,
	required = 1,
};
public SharedPlugin:__pl_adminmenu =
{
	name = "adminmenu",
	file = "adminmenu.smx",
	required = 1,
};
public Extension:__ext_cprefs =
{
	name = "Client Preferences",
	file = "clientprefs.ext",
	autoload = 1,
	required = 1,
};
public Plugin:myinfo =
{
	name = "vip_ex",
	description = "Provides in-game VIP accounts and features",
	author = "eleague",
	version = "1.0",
	url = "www.eleague.ro"
};
new Handle:g_pTagsCookie;
new Handle:g_pSteams;
new Handle:g_pFlags;
new g_TagOption[129];
new bool:g_bVIP[129];
new bool:g_bAsk[129];
new bool:g_bEquipped[129];
new String:g_Flags[129][32];
new g_Time;
new bool:g_bOneAndOnly;
new bool:g_inGame[129];
public __ext_core_SetNTVOptional()
{
	MarkNativeAsOptional("GetFeatureStatus");
	MarkNativeAsOptional("RequireFeature");
	MarkNativeAsOptional("AddCommandListener");
	MarkNativeAsOptional("RemoveCommandListener");
	MarkNativeAsOptional("BfWriteBool");
	MarkNativeAsOptional("BfWriteByte");
	MarkNativeAsOptional("BfWriteChar");
	MarkNativeAsOptional("BfWriteShort");
	MarkNativeAsOptional("BfWriteWord");
	MarkNativeAsOptional("BfWriteNum");
	MarkNativeAsOptional("BfWriteFloat");
	MarkNativeAsOptional("BfWriteString");
	MarkNativeAsOptional("BfWriteEntity");
	MarkNativeAsOptional("BfWriteAngle");
	MarkNativeAsOptional("BfWriteCoord");
	MarkNativeAsOptional("BfWriteVecCoord");
	MarkNativeAsOptional("BfWriteVecNormal");
	MarkNativeAsOptional("BfWriteAngles");
	MarkNativeAsOptional("BfReadBool");
	MarkNativeAsOptional("BfReadByte");
	MarkNativeAsOptional("BfReadChar");
	MarkNativeAsOptional("BfReadShort");
	MarkNativeAsOptional("BfReadWord");
	MarkNativeAsOptional("BfReadNum");
	MarkNativeAsOptional("BfReadFloat");
	MarkNativeAsOptional("BfReadString");
	MarkNativeAsOptional("BfReadEntity");
	MarkNativeAsOptional("BfReadAngle");
	MarkNativeAsOptional("BfReadCoord");
	MarkNativeAsOptional("BfReadVecCoord");
	MarkNativeAsOptional("BfReadVecNormal");
	MarkNativeAsOptional("BfReadAngles");
	MarkNativeAsOptional("BfGetNumBytesLeft");
	MarkNativeAsOptional("BfWrite.WriteBool");
	MarkNativeAsOptional("BfWrite.WriteByte");
	MarkNativeAsOptional("BfWrite.WriteChar");
	MarkNativeAsOptional("BfWrite.WriteShort");
	MarkNativeAsOptional("BfWrite.WriteWord");
	MarkNativeAsOptional("BfWrite.WriteNum");
	MarkNativeAsOptional("BfWrite.WriteFloat");
	MarkNativeAsOptional("BfWrite.WriteString");
	MarkNativeAsOptional("BfWrite.WriteEntity");
	MarkNativeAsOptional("BfWrite.WriteAngle");
	MarkNativeAsOptional("BfWrite.WriteCoord");
	MarkNativeAsOptional("BfWrite.WriteVecCoord");
	MarkNativeAsOptional("BfWrite.WriteVecNormal");
	MarkNativeAsOptional("BfWrite.WriteAngles");
	MarkNativeAsOptional("BfRead.ReadBool");
	MarkNativeAsOptional("BfRead.ReadByte");
	MarkNativeAsOptional("BfRead.ReadChar");
	MarkNativeAsOptional("BfRead.ReadShort");
	MarkNativeAsOptional("BfRead.ReadWord");
	MarkNativeAsOptional("BfRead.ReadNum");
	MarkNativeAsOptional("BfRead.ReadFloat");
	MarkNativeAsOptional("BfRead.ReadString");
	MarkNativeAsOptional("BfRead.ReadEntity");
	MarkNativeAsOptional("BfRead.ReadAngle");
	MarkNativeAsOptional("BfRead.ReadCoord");
	MarkNativeAsOptional("BfRead.ReadVecCoord");
	MarkNativeAsOptional("BfRead.ReadVecNormal");
	MarkNativeAsOptional("BfRead.ReadAngles");
	MarkNativeAsOptional("BfRead.GetNumBytesLeft");
	MarkNativeAsOptional("PbReadInt");
	MarkNativeAsOptional("PbReadFloat");
	MarkNativeAsOptional("PbReadBool");
	MarkNativeAsOptional("PbReadString");
	MarkNativeAsOptional("PbReadColor");
	MarkNativeAsOptional("PbReadAngle");
	MarkNativeAsOptional("PbReadVector");
	MarkNativeAsOptional("PbReadVector2D");
	MarkNativeAsOptional("PbGetRepeatedFieldCount");
	MarkNativeAsOptional("PbSetInt");
	MarkNativeAsOptional("PbSetFloat");
	MarkNativeAsOptional("PbSetBool");
	MarkNativeAsOptional("PbSetString");
	MarkNativeAsOptional("PbSetColor");
	MarkNativeAsOptional("PbSetAngle");
	MarkNativeAsOptional("PbSetVector");
	MarkNativeAsOptional("PbSetVector2D");
	MarkNativeAsOptional("PbAddInt");
	MarkNativeAsOptional("PbAddFloat");
	MarkNativeAsOptional("PbAddBool");
	MarkNativeAsOptional("PbAddString");
	MarkNativeAsOptional("PbAddColor");
	MarkNativeAsOptional("PbAddAngle");
	MarkNativeAsOptional("PbAddVector");
	MarkNativeAsOptional("PbAddVector2D");
	MarkNativeAsOptional("PbRemoveRepeatedFieldValue");
	MarkNativeAsOptional("PbReadMessage");
	MarkNativeAsOptional("PbReadRepeatedMessage");
	MarkNativeAsOptional("PbAddMessage");
	MarkNativeAsOptional("Protobuf.ReadInt");
	MarkNativeAsOptional("Protobuf.ReadFloat");
	MarkNativeAsOptional("Protobuf.ReadBool");
	MarkNativeAsOptional("Protobuf.ReadString");
	MarkNativeAsOptional("Protobuf.ReadColor");
	MarkNativeAsOptional("Protobuf.ReadAngle");
	MarkNativeAsOptional("Protobuf.ReadVector");
	MarkNativeAsOptional("Protobuf.ReadVector2D");
	MarkNativeAsOptional("Protobuf.GetRepeatedFieldCount");
	MarkNativeAsOptional("Protobuf.SetInt");
	MarkNativeAsOptional("Protobuf.SetFloat");
	MarkNativeAsOptional("Protobuf.SetBool");
	MarkNativeAsOptional("Protobuf.SetString");
	MarkNativeAsOptional("Protobuf.SetColor");
	MarkNativeAsOptional("Protobuf.SetAngle");
	MarkNativeAsOptional("Protobuf.SetVector");
	MarkNativeAsOptional("Protobuf.SetVector2D");
	MarkNativeAsOptional("Protobuf.AddInt");
	MarkNativeAsOptional("Protobuf.AddFloat");
	MarkNativeAsOptional("Protobuf.AddBool");
	MarkNativeAsOptional("Protobuf.AddString");
	MarkNativeAsOptional("Protobuf.AddColor");
	MarkNativeAsOptional("Protobuf.AddAngle");
	MarkNativeAsOptional("Protobuf.AddVector");
	MarkNativeAsOptional("Protobuf.AddVector2D");
	MarkNativeAsOptional("Protobuf.RemoveRepeatedFieldValue");
	MarkNativeAsOptional("Protobuf.ReadMessage");
	MarkNativeAsOptional("Protobuf.ReadRepeatedMessage");
	MarkNativeAsOptional("Protobuf.AddMessage");
	VerifyCoreVersion();
	return 0;
}

ExplodeString(String:text[], String:split[], String:buffers[][], maxStrings, maxStringLength, bool:copyRemainder)
{
	new reloc_idx;
	new idx;
	new total;
	new var1;
	if (maxStrings < 1 || !split[0])
	{
		return 0;
	}
	while ((idx = SplitString(text[reloc_idx], split, buffers[total], maxStringLength)) != -1)
	{
		reloc_idx = idx + reloc_idx;
		total++;
		if (maxStrings == total)
		{
			if (copyRemainder)
			{
				strcopy(buffers[total + -1], maxStringLength, text[reloc_idx - idx]);
			}
			return total;
		}
	}
	total++;
	strcopy(buffers[total], maxStringLength, text[reloc_idx]);
	return total;
}

PrintToChatAll(String:format[])
{
	decl String:buffer[192];
	new i = 1;
	while (i <= MaxClients)
	{
		if (IsClientInGame(i))
		{
			SetGlobalTransTarget(i);
			VFormat(buffer, 192, format, 2);
			PrintToChat(i, "%s", buffer);
		}
		i++;
	}
	return 0;
}

PrintHintTextToAll(String:format[])
{
	decl String:buffer[192];
	new i = 1;
	while (i <= MaxClients)
	{
		if (IsClientInGame(i))
		{
			SetGlobalTransTarget(i);
			VFormat(buffer, 192, format, 2);
			PrintHintText(i, "%s", buffer);
		}
		i++;
	}
	return 0;
}

hCSGO_MakeHtmlSafe(String:Buffer[], Size)
{
	ReplaceString(Buffer, Size, "<", "(", true);
	ReplaceString(Buffer, Size, ">", ")", true);
	return strlen(Buffer);
}

hCSGO_FixFileLine(String:FileLine[], Size, Times)
{
	static m_Iterator;
	m_Iterator = 0;
	while (m_Iterator < Times)
	{
		ReplaceString(FileLine, Size, "\x09", " ", true);
		m_Iterator += 1;
	}
	m_Iterator = 0;
	while (m_Iterator < Times)
	{
		ReplaceString(FileLine, Size, "  ", " ", true);
		m_Iterator += 1;
	}
	return strlen(FileLine);
}

hCSGO_PureChatCommand(String:Input[], String:Output[], Size)
{
	static m_Length;
	static m_Iterator;
	m_Iterator = 0;
	m_Length = 0;
	Output[0] = MissingTAG:0;
	while (strlen(Input) > m_Iterator)
	{
		new var1;
		if (Input[m_Iterator] == '!' || Input[m_Iterator] == '/' || IsCharAlpha(Input[m_Iterator]) || IsCharNumeric(Input[m_Iterator]))
		{
			m_Length = Format(Output, Size, "%s%c", Output, Input[m_Iterator]);
		}
		m_Iterator += 1;
	}
	return m_Length;
}

hCSGO_ClampInt(Val, Min, Max)
{
	if (Val < Min)
	{
		return Min;
	}
	if (Val > Max)
	{
		return Max;
	}
	return Val;
}

hCSGO_CountTeam(Team, bool:bOnlyAlive)
{
	static m_Count;
	static m_Player;
	m_Player = 1;
	m_Count = 0;
	while (m_Player <= MaxClients)
	{
		new var1;
		if (!IsClientInGame(m_Player) || Team == GetClientTeam(m_Player))
		{
		}
		else
		{
			new var2;
			if (!(bOnlyAlive && !IsPlayerAlive(m_Player)))
			{
				m_Count += 1;
			}
		}
		m_Player += 1;
	}
	return m_Count;
}

hCSGO_GetOnePlayerTeam(Team, bool:bOnlyAlive)
{
	static playersSize;
	static playersTable[65];
	static m_Player;
	m_Player = 1;
	playersSize = 0;
	while (m_Player <= MaxClients)
	{
		new var1;
		if (!IsClientInGame(m_Player) || Team == GetClientTeam(m_Player))
		{
		}
		else
		{
			new var2;
			if (!(bOnlyAlive && !IsPlayerAlive(m_Player)))
			{
				playersSize += 1;
				playersTable[playersSize] = m_Player;
			}
		}
		m_Player += 1;
	}
	playersTable[playersSize] = 0;
	if (playersSize)
	{
		return playersTable[GetRandomInt(0, playersSize + -1)];
	}
	return -1;
}

bool:hCSGO_IsClientAdmin(Id)
{
	static m_Flags;
	m_Flags = GetUserFlagBits(Id);
	new var1;
	if (m_Flags & 1 || m_Flags & 512 || m_Flags & 4 || m_Flags & 16384)
	{
		return true;
	}
	return false;
}

hCSGO_ExtractSteamID(String:Input[], String:Output[], Size)
{
	static String:m_Patterns[4][48] =
	{
		"STEAM_0:0:",
		"STEAM_0:1:",
		"STEAM_1:0:",
		"STEAM_1:1:"
	};
	static m_Length;
	static m_Iterator;
	m_Iterator = 0;
	m_Length = FormatEx(Output, Size, Input);
	while (m_Iterator < 4)
	{
		m_Length = ReplaceString(Output, Size, m_Patterns[m_Iterator], "", false);
		m_Iterator += 1;
	}
	return m_Length;
}

hCSGO_ClearLine(String:Line[], Times)
{
	static m_Length;
	static m_Iterator;
	m_Iterator = 0;
	m_Length = strlen(Line);
	while (m_Iterator < Times)
	{
		StripQuotes(Line);
		m_Length = TrimString(Line);
		m_Iterator += 1;
	}
	return m_Length;
}

bool:hCSGO_IsWarmup()
{
	new var1;
	if (GameRules_GetProp("m_bWarmupPeriod", 4, 0))
	{
		var1 = true;
	}
	else
	{
		var1 = false;
	}
	return var1;
}

public APLRes:AskPluginLoad2(Handle:pMyself, bool:bLate, String:Error[], maxLen)
{
	CreateNative("ReloadVIPs", __ReloadVIPs);
	CreateNative("IsClientVIP", __IsClientVIP);
	RegPluginLibrary("vip_ex");
	return APLRes:0;
}

public __IsClientVIP(Handle:pPlugin, Params)
{
	new var1;
	if (g_bVIP[GetNativeCell(1)])
	{
		var1 = 1;
	}
	else
	{
		var1 = 0;
	}
	return var1;
}

public __ReloadVIPs(Handle:pPlugin, Params)
{
	static Iterator;
	static Size;
	static Player;
	static String:Steam[32];
	static String:Buffer[1024];
	static String:Buffers[4][256];
	static Handle:pFile;
	ClearArray(g_pSteams);
	ClearArray(g_pFlags);
	Player = 1;
	while (Player <= MaxClients)
	{
		if (g_bVIP[Player])
		{
			g_Flags[Player][0] = MissingTAG:0;
			g_bVIP[Player] = 0;
		}
		Player += 1;
	}
	BuildPath(PathType:0, Buffer, 1024, "configs/vips.txt");
	if (!FileExists(Buffer, false, "GAME"))
	{
		return 0;
	}
	pFile = OpenFile(Buffer, "r", false, "GAME");
	if (!pFile)
	{
		return 0;
	}
	while (!IsEndOfFile(pFile) && ReadFileLine(pFile, Buffer, 1024))
	{
		TrimString(Buffer);
		hCSGO_FixFileLine(Buffer, 1024, 32);
		new var3;
		if (!(strlen(Buffer) < 1 || Buffer[0] == ';' || Buffer[0] == '#' || (Buffer[0] == '/' && Buffer[0] == '/')))
		{
			Size = ExplodeString(Buffer, " ", Buffers, 4, 256, false);
			if (Size >= 2)
			{
				new var4 = Buffers;
				hCSGO_ClearLine(var4[0][var4], 4);
				new var5 = Buffers;
				new var6 = Buffers;
				hCSGO_ExtractSteamID(var6[0][var6], var5[0][var5], 256);
				new var7 = Buffers;
				PushArrayString(g_pSteams, var7[0][var7]);
				hCSGO_ClearLine(Buffers[1], 4);
				PushArrayString(g_pFlags, Buffers[1]);
			}
		}
	}
	CloseHandle(pFile);
	Size = GetArraySize(g_pSteams);
	if (0 < Size)
	{
		Iterator = 0;
		while (Iterator < Size)
		{
			GetArrayString(g_pSteams, Iterator, Buffer, 1024);
			Player = 1;
			while (Player <= MaxClients)
			{
				if (g_inGame[Player])
				{
					GetClientAuthId(Player, AuthIdType:0, Steam, 32, true);
					if (StrContains(Steam, Buffer, false) != -1)
					{
						g_bVIP[Player] = 1;
						GetArrayString(g_pFlags, Iterator, g_Flags[Player], 32);
						PrintToChat(Player, "*\x04 VIPs\x01 were reloaded by the\x03 owner\x01.");
						PrintToChat(Player, "* You are\x04 VIP\x01 and you can type\x03 !vip\x01.");
					}
				}
				Player += 1;
			}
			Iterator += 1;
		}
	}
	return 1;
}

public void:OnClientCookiesCached(Client)
{
	static String:Data[8];
	GetClientCookie(Client, g_pTagsCookie, Data, 8);
	if (strlen(Data) < 1)
	{
		g_TagOption[Client] = 0;
		g_bAsk[Client] = 1;
	}
	else
	{
		g_TagOption[Client] = hCSGO_ClampInt(StringToInt(Data, 10), 0, 4);
		g_bAsk[Client] = 0;
	}
	return void:0;
}

public void:OnRoundStart(Handle:pHndl, String:Name[], bool:bNoBCast)
{
	static Iter;
	Iter = 1;
	while (Iter <= MaxClients)
	{
		g_bEquipped[Iter] = 0;
		Iter += 1;
	}
	g_bOneAndOnly = false;
	return void:0;
}

public void:OnPluginStart()
{
	HookEvent("round_start", OnRoundStart, EventHookMode:1);
	HookEvent("player_spawn", OnSpawn, EventHookMode:1);
	HookEvent("player_death", OnDeath, EventHookMode:1);
	RegConsoleCmd("say", CommandSay, "", 0);
	RegConsoleCmd("say_team", CommandSay, "", 0);
	g_pSteams = CreateArray(32, 0);
	g_pFlags = CreateArray(32, 0);
	g_pTagsCookie = RegClientCookie("VipTags", "Stores the VIP tag setting.", CookieAccess:2);
	CreateTimer(GetRandomFloat(5.0, 10.0) * 60.0, TimerAd, any:0, 1);
	CreateTimer(2.25, TimerReload, any:0, 1);
	return void:0;
}

public Action:OnWpnReload(Weapon)
{
	static Owner;
	Owner = GetEntPropEnt(Weapon, PropType:0, "m_hOwner", 0);
	new var1;
	if (Owner != -1 && g_bVIP[Owner] && StrContains(g_Flags[Owner], "U", false) != -1)
	{
		return Action:4;
	}
	return Action:0;
}

public void:OnEntityCreated(Entity, String:Class[])
{
	new var1;
	if (Entity != -1 && StrContains(Class, "Weapon_", false) != -1 && StrContains(Class, "Knife", false) == -1 && StrContains(Class, "Bayonet", false) == -1 && StrContains(Class, "Taser", false) == -1 && StrContains(Class, "Zeus", false) == -1 && StrContains(Class, "Nade", false) == -1 && StrContains(Class, "Flash", false) == -1 && StrContains(Class, "C4", false) == -1 && StrContains(Class, "Bomb", false) == -1 && StrContains(Class, "World", false) == -1)
	{
		SDKHook(Entity, SDKHookType:36, OnWpnReload);
	}
	return void:0;
}

public Action:TimerAd(Handle:pTimer)
{
	static Plr;
	switch (GetRandomInt(0, 1))
	{
		case 0:
		{
			Plr = 1;
			while (Plr <= MaxClients)
			{
				new var2;
				if (g_inGame[Plr] && !IsPlayerAlive(Plr))
				{
					PrintHintText(Plr, "<b><font color='#FF0000'>eLeague</font></b>eLeague<b><font color='#00FF00'>5€</font></b>.");
				}
				Plr += 1;
			}
		}
		case 1:
		{
			Plr = 1;
			while (Plr <= MaxClients)
			{
				new var1;
				if (g_inGame[Plr] && !IsPlayerAlive(Plr))
				{
					PrintHintText(Plr, "<b><font color='#FF0000'>Tag Settings?</font></b>  Type <b><font color='#00FF00'>!vip</font></b>.");
				}
				Plr += 1;
			}
		}
		default:
		{
		}
	}
	return Action:0;
}

public void:OnMapStart()
{
	static Size;
	static String:Buffer[1024];
	static Handle:pFile;
	static String:Buffers[4][256];
	g_Time = 0;
	ClearArray(g_pSteams);
	ClearArray(g_pFlags);
	BuildPath(PathType:0, Buffer, 1024, "configs/vips.txt");
	if (!FileExists(Buffer, false, "GAME"))
	{
		return void:0;
	}
	pFile = OpenFile(Buffer, "r", false, "GAME");
	if (!pFile)
	{
		return void:0;
	}
	while (!IsEndOfFile(pFile) && ReadFileLine(pFile, Buffer, 1024))
	{
		TrimString(Buffer);
		hCSGO_FixFileLine(Buffer, 1024, 32);
		new var3;
		if (!(strlen(Buffer) < 1 || Buffer[0] == ';' || Buffer[0] == '#' || (Buffer[0] == '/' && Buffer[0] == '/')))
		{
			Size = ExplodeString(Buffer, " ", Buffers, 4, 256, false);
			if (Size >= 2)
			{
				new var4 = Buffers;
				hCSGO_ClearLine(var4[0][var4], 4);
				new var5 = Buffers;
				new var6 = Buffers;
				hCSGO_ExtractSteamID(var6[0][var6], var5[0][var5], 256);
				new var7 = Buffers;
				PushArrayString(g_pSteams, var7[0][var7]);
				hCSGO_ClearLine(Buffers[1], 4);
				PushArrayString(g_pFlags, Buffers[1]);
			}
		}
	}
	CloseHandle(pFile);
	return void:0;
}

public void:OnClientDisconnect(Id)
{
	if (0 < Id)
	{
		g_inGame[Id] = 0;
		g_bVIP[Id] = 0;
		g_bAsk[Id] = 0;
		g_TagOption[Id] = 0;
	}
	return void:0;
}

public void:OnClientPutInServer(Id)
{
	static Iter;
	static Size;
	static String:Object[32];
	static String:Steam[32];
	if (0 < Id)
	{
		g_inGame[Id] = 0;
		g_bVIP[Id] = 0;
		g_inGame[Id] = 1;
		Size = GetArraySize(g_pSteams);
		if (0 < Size)
		{
			GetClientAuthId(Id, AuthIdType:0, Steam, 32, true);
			Iter = 0;
			while (Iter < Size)
			{
				GetArrayString(g_pSteams, Iter, Object, 32);
				if (StrContains(Steam, Object, false) != -1)
				{
					GetArrayString(g_pFlags, Iter, g_Flags[Id], 32);
					CreateTimer(GetRandomFloat(2.75, 4.5), TimerVIPJoined, Id, 2);
					g_bVIP[Id] = 1;
				}
				Iter += 1;
			}
		}
		if (g_bAsk[Id])
		{
			CreateTimer(GetRandomFloat(18.5, 27.5), Ask, Id, 2);
		}
	}
	return void:0;
}

public Action:CommandSay(Client, Args)
{
	static String:Command[32];
	static String:RawCommand[32];
	new var1;
	if (Client > 0 && g_inGame[Client])
	{
		GetCmdArgString(RawCommand, 32);
		hCSGO_PureChatCommand(RawCommand, Command, 32);
		if (0 < strlen(Command))
		{
			new var2;
			if (strcmp(Command, "VIP", false) && strcmp(15152 + 1, "VIP", false) && strcmp(Command, "TAG", false) && strcmp(15152 + 1, "TAG", false))
			{
				g_bAsk[Client] = 1;
				CreateTimer(GetRandomFloat(0.1, 0.3), Ask, Client, 2);
			}
		}
	}
	return Action:0;
}

public Action:Ask(Handle:pTimer, any:Id)
{
	static Handle:pPanel;
	static bool:bAdmin;
	new var1;
	if (Id > any:0 && g_inGame[Id] && g_bAsk[Id])
	{
		pPanel = CreatePanel(Handle:0);
		if (pPanel)
		{
			bAdmin = hCSGO_IsClientAdmin(Id);
			SetPanelKeys(pPanel, 1023);
			SetPanelTitle(pPanel, "The Type of Tag in The Scores Table?", false);
			DrawPanelText(pPanel, " \n");
			new var2;
			if (g_bVIP[Id] && bAdmin)
			{
				DrawPanelText(pPanel, "1. Only VIP★ Tag");
				DrawPanelText(pPanel, "2. VIP★ & Admin Tag");
				DrawPanelText(pPanel, "3. Only Admin Tag");
				DrawPanelText(pPanel, "4. No Tag At All (Do Not Change)");
			}
			else
			{
				new var3;
				if (g_bVIP[Id] && !bAdmin)
				{
					DrawPanelText(pPanel, "1. Only VIP★ Tag");
					DrawPanelText(pPanel, "2. No Tag At All (Do Not Change)");
				}
				new var4;
				if (!g_bVIP[Id] && bAdmin)
				{
					DrawPanelText(pPanel, "1. Only Admin Tag");
					DrawPanelText(pPanel, "2. No Tag At All (Do Not Change)");
				}
				DrawPanelText(pPanel, "1. No Tag At All (Do Not Change)");
			}
			SendPanelToClient(pPanel, Id, AskPanel, 0);
			CloseHandle(pPanel);
		}
	}
	return Action:0;
}

public AskPanel(Handle:pPanel, MenuAction:pAction, Client, Selection)
{
	static String:Option[8];
	static bool:bAdmin;
	new var1;
	if (pAction == MenuAction:4 && g_inGame[Client] && g_bAsk[Client])
	{
		bAdmin = hCSGO_IsClientAdmin(Client);
		new var2;
		if (g_bVIP[Client] && bAdmin)
		{
			switch (Selection)
			{
				case 1:
				{
					g_TagOption[Client] = 1;
					g_bAsk[Client] = 0;
					IntToString(g_TagOption[Client], Option, 8);
					SetClientCookie(Client, g_pTagsCookie, Option);
					PrintToChat(Client, ">> Option selected!\x04 Only VIP★ Tag\x01.");
				}
				case 2:
				{
					g_TagOption[Client] = 3;
					g_bAsk[Client] = 0;
					IntToString(g_TagOption[Client], Option, 8);
					SetClientCookie(Client, g_pTagsCookie, Option);
					PrintToChat(Client, ">> Option selected!\x04 VIP★ & Admin Tag\x01.");
				}
				case 3:
				{
					g_TagOption[Client] = 2;
					g_bAsk[Client] = 0;
					IntToString(g_TagOption[Client], Option, 8);
					SetClientCookie(Client, g_pTagsCookie, Option);
					PrintToChat(Client, ">> Option selected!\x04 Only Admin Tag\x01.");
				}
				case 4:
				{
					g_TagOption[Client] = 4;
					g_bAsk[Client] = 0;
					IntToString(g_TagOption[Client], Option, 8);
					SetClientCookie(Client, g_pTagsCookie, Option);
					PrintToChat(Client, ">> Option selected!\x04 No Tag At All (Do Not Change)\x01.");
					PrintToChat(Client, ">> You might need to\x04 Re-Try Connection\x01 to get rid of it.");
				}
				default:
				{
				}
			}
		}
		new var3;
		if (g_bVIP[Client] && !bAdmin)
		{
			switch (Selection)
			{
				case 1:
				{
					g_TagOption[Client] = 1;
					g_bAsk[Client] = 0;
					IntToString(g_TagOption[Client], Option, 8);
					SetClientCookie(Client, g_pTagsCookie, Option);
					PrintToChat(Client, ">> Option selected!\x04 Only VIP★ Tag\x01.");
				}
				case 2:
				{
					g_TagOption[Client] = 4;
					g_bAsk[Client] = 0;
					IntToString(g_TagOption[Client], Option, 8);
					SetClientCookie(Client, g_pTagsCookie, Option);
					PrintToChat(Client, ">> Option selected!\x04 No Tag At All (Do Not Change)\x01.");
					PrintToChat(Client, ">> You might need to\x04 Re-Try Connection\x01 to get rid of it.");
				}
				default:
				{
				}
			}
		}
		new var4;
		if (!g_bVIP[Client] && bAdmin)
		{
			switch (Selection)
			{
				case 1:
				{
					g_TagOption[Client] = 2;
					g_bAsk[Client] = 0;
					IntToString(g_TagOption[Client], Option, 8);
					SetClientCookie(Client, g_pTagsCookie, Option);
					PrintToChat(Client, ">> Option selected!\x04 Only Admin Tag\x01.");
				}
				case 2:
				{
					g_TagOption[Client] = 4;
					g_bAsk[Client] = 0;
					IntToString(g_TagOption[Client], Option, 8);
					SetClientCookie(Client, g_pTagsCookie, Option);
					PrintToChat(Client, ">> Option selected!\x04 No Tag At All (Do Not Change)\x01.");
					PrintToChat(Client, ">> You might need to\x04 Re-Try Connection\x01 to get rid of it.");
				}
				default:
				{
				}
			}
		}
		switch (Selection)
		{
			case 1:
			{
				g_TagOption[Client] = 4;
				g_bAsk[Client] = 0;
				IntToString(g_TagOption[Client], Option, 8);
				SetClientCookie(Client, g_pTagsCookie, Option);
				PrintToChat(Client, ">> Option selected!\x04 No Tag At All (Do Not Change)\x01.");
			}
			default:
			{
			}
		}
	}
	return 0;
}

public Action:TimerReload(Handle:pTimer)
{
	static Flags;
	static Client;
	static Weapon;
	static String:Class[32];
	static bool:bAdmin;
	Client = 1;
	while (Client <= MaxClients)
	{
		new var2;
		if (!g_inGame[Client] || (!hCSGO_IsClientAdmin(Client) && !g_bVIP[Client]))
		{
		}
		else
		{
			new var3;
			if (g_TagOption[Client] && g_TagOption[Client] != 4 && !g_bAsk[Client])
			{
				bAdmin = hCSGO_IsClientAdmin(Client);
				new var4;
				if (g_bVIP[Client] && g_TagOption[Client] == 1)
				{
					CS_SetClientClanTag(Client, "VIP★");
				}
				new var5;
				if (bAdmin && g_TagOption[Client] == 2)
				{
					Flags = GetUserFlagBits(Client);
					if (Flags & 16384)
					{
						CS_SetClientClanTag(Client, "Owner");
					}
					if (Flags & 32768)
					{
						CS_SetClientClanTag(Client, "Co-Owner");
					}
					if (Flags & 65536)
					{
						CS_SetClientClanTag(Client, "Moderator");
					}
					if (Flags & 131072)
					{
						CS_SetClientClanTag(Client, "Administrator");
					}
					if (Flags & 262144)
					{
						CS_SetClientClanTag(Client, "Helper");
					}
					if (Flags & 524288)
					{
						CS_SetClientClanTag(Client, "YouTube");
					}
					if (Flags & 1048576)
					{
						CS_SetClientClanTag(Client, "Legend");
					}
				}
				new var6;
				if (bAdmin && g_bVIP[Client] && g_TagOption[Client] == 3)
				{
					Flags = GetUserFlagBits(Client);
					if (Flags & 16384)
					{
						CS_SetClientClanTag(Client, "VIP★ Owner");
					}
					if (Flags & 32768)
					{
						CS_SetClientClanTag(Client, "VIP★ Co-Owner");
					}
					if (Flags & 65536)
					{
						CS_SetClientClanTag(Client, "VIP★ Mod");
					}
					if (Flags & 131072)
					{
						CS_SetClientClanTag(Client, "VIP★ Admin");
					}
					if (Flags & 262144)
					{
						CS_SetClientClanTag(Client, "VIP★ Helper");
					}
					if (Flags & 524288)
					{
						CS_SetClientClanTag(Client, "VIP★ YouTube");
					}
					if (Flags & 1048576)
					{
						CS_SetClientClanTag(Client, "VIP★ Legend");
					}
				}
			}
			new var7;
			if (g_bVIP[Client] && StrContains(g_Flags[Client], "U", false) != -1 && IsPlayerAlive(Client))
			{
				Weapon = GetEntPropEnt(Client, PropType:0, "m_hActiveWeapon", 0);
				new var8;
				if (Weapon != -1 && GetEdictClassname(Weapon, Class, 32))
				{
					new var9;
					if (StrContains(Class, "Knife", false) == -1 && StrContains(Class, "Taser", false) == -1 && StrContains(Class, "Nade", false) == -1 && StrContains(Class, "Flash", false) == -1 && StrContains(Class, "Bayonet", false) == -1 && StrContains(Class, "Smoke", false) == -1 && StrContains(Class, "Incendiary", false) == -1 && StrContains(Class, "Molotov", false) == -1 && StrContains(Class, "Kit", false) == -1 && StrContains(Class, "Defuse", false) == -1 && StrContains(Class, "Projectile", false) == -1 && StrContains(Class, "Bang", false) == -1 && StrContains(Class, "Bomb", false) == -1 && StrContains(Class, "C4", false) == -1 && StrContains(Class, "Zeus", false) == -1 && StrContains(Class, "Decoy", false) == -1)
					{
						SetEntProp(Weapon, PropType:0, "m_iClip1", any:32, 4, 0);
						SetEntProp(Weapon, PropType:0, "m_iClip2", any:32, 4, 0);
					}
				}
			}
		}
		Client += 1;
	}
	return Action:0;
}

public Action:TimerVIPJoined(Handle:pTimer, any:Client)
{
	static String:Name[32];
	new var1;
	if (g_bVIP[Client] && g_inGame[Client])
	{
		GetClientName(Client, Name, 32);
		hCSGO_MakeHtmlSafe(Name, 32);
		PrintHintTextToAll("<b><font color='#FF0000'>VIP</font></b> <font color='#00FF00'>%s</font> <font color='#FFFFFF'>joined!</font>", Name);
	}
	return Action:0;
}

public void:OnDeath(Handle:pEvent, String:myName[], bool:bNoBroadcast)
{
	static Gained;
	static newHealth;
	static Health;
	static Killer;
	static Client;
	static bool:bWarmup;
	Client = GetClientOfUserId(GetEventInt(pEvent, "userid", 0));
	Killer = GetClientOfUserId(GetEventInt(pEvent, "attacker", 0));
	bWarmup = hCSGO_IsWarmup();
	new var1;
	if (Killer != Client && Client > 0 && Killer > 0 && g_bVIP[Killer] && IsPlayerAlive(Killer) && StrContains(g_Flags[Killer], "H", false) != -1 && !bWarmup)
	{
		Health = GetClientHealth(Killer);
		if (0 < Health)
		{
			newHealth = hCSGO_ClampInt(Health + 5, 6, 100);
			Gained = newHealth - Health;
			if (Gained)
			{
				SetEntProp(Killer, PropType:0, "m_iHealth", newHealth, 4, 0);
				PrintHintText(Killer, "<b><font color='#FF0000'>+%d</font></b> <font color='#00FF00'>HP</font> <font color='#FFFFFF'>GAINED!</font>", Gained);
			}
		}
	}
	if (!bWarmup)
	{
		CreateTimer(GetRandomFloat(0.05, 0.105), TimerShowInfo, any:0, 2);
	}
	return void:0;
}

public Action:TimerShowInfo(Handle:pTimer)
{
	static Time;
	static CTPlayer;
	static TPlayer;
	static CT;
	static T;
	static String:enemyName[32];
	static String:Name[32];
	Time = GetTime({0,0});
	T = hCSGO_CountTeam(2, true);
	CT = hCSGO_CountTeam(3, true);
	new var1;
	if (T == 1 && CT > 0)
	{
		TPlayer = hCSGO_GetOnePlayerTeam(2, true);
		if (TPlayer != -1)
		{
			GetClientName(TPlayer, Name, 32);
			if (CT > 1)
			{
				if (g_Time < Time)
				{
					if (!g_bOneAndOnly)
					{
						g_bOneAndOnly = true;
					}
					PrintToChatAll("*\x07 %s\x01 (\x04%d HP\x01) against\x0B %d CT", Name, GetClientHealth(TPlayer), CT);
					g_Time = Time + 1;
				}
			}
			CTPlayer = hCSGO_GetOnePlayerTeam(3, true);
			if (CTPlayer != -1)
			{
				GetClientName(CTPlayer, enemyName, 32);
				PrintToChatAll("*\x07 %s\x01 (\x04%d HP\x01) against\x0B %s\x01 (\x04%d HP\x01)", Name, GetClientHealth(TPlayer), enemyName, GetClientHealth(CTPlayer));
			}
		}
	}
	else
	{
		new var2;
		if (CT == 1 && T > 0)
		{
			CTPlayer = hCSGO_GetOnePlayerTeam(3, true);
			if (CTPlayer != -1)
			{
				GetClientName(CTPlayer, Name, 32);
				if (T > 1)
				{
					if (g_Time < Time)
					{
						if (!g_bOneAndOnly)
						{
							g_bOneAndOnly = true;
						}
						PrintToChatAll("*\x0B %s\x01 (\x04%d HP\x01) against\x07 %d T", Name, GetClientHealth(CTPlayer), T);
						g_Time = Time + 1;
					}
				}
				TPlayer = hCSGO_GetOnePlayerTeam(2, true);
				if (TPlayer != -1)
				{
					GetClientName(TPlayer, enemyName, 32);
					PrintToChatAll("*\x0B %s\x01 (\x04%d HP\x01) against\x07 %s\x01 (\x04%d HP\x01)", Name, GetClientHealth(CTPlayer), enemyName, GetClientHealth(TPlayer));
				}
			}
		}
	}
	return Action:0;
}

public void:OnSpawn(Handle:pEvent, String:myName[], bool:bNoBroadcast)
{
	static Client;
	Client = GetClientOfUserId(GetEventInt(pEvent, "userid", 0));
	new var1;
	if (Client > 0 && g_bVIP[Client] && g_inGame[Client] && IsPlayerAlive(Client))
	{
		CreateTimer(0.275, EquipClient, Client, 2);
	}
	return void:0;
}

public Action:EquipClient(Handle:pTimer, any:Client)
{
	static Team;
	new var1;
	if (!g_bEquipped[Client] && g_bVIP[Client] && g_inGame[Client] && IsPlayerAlive(Client))
	{
		Team = GetClientTeam(Client);
		switch (GetRandomInt(0, 1))
		{
			case 0:
			{
				if (StrContains(g_Flags[Client], "G", false) != -1)
				{
					GivePlayerItem(Client, "weapon_hegrenade", 0);
				}
				if (StrContains(g_Flags[Client], "I", false) != -1)
				{
					new var3;
					if (Team == 2)
					{
						var3[0] = 17124;
					}
					else
					{
						var3[0] = 17140;
					}
					GivePlayerItem(Client, var3, 0);
				}
				if (StrContains(g_Flags[Client], "S", false) != -1)
				{
					GivePlayerItem(Client, "weapon_smokegrenade", 0);
				}
				if (StrContains(g_Flags[Client], "F", false) != -1)
				{
					GivePlayerItem(Client, "weapon_flashbang", 0);
				}
			}
			case 1:
			{
				if (StrContains(g_Flags[Client], "I", false) != -1)
				{
					new var2;
					if (Team == 2)
					{
						var2[0] = 17212;
					}
					else
					{
						var2[0] = 17228;
					}
					GivePlayerItem(Client, var2, 0);
				}
				if (StrContains(g_Flags[Client], "G", false) != -1)
				{
					GivePlayerItem(Client, "weapon_hegrenade", 0);
				}
				if (StrContains(g_Flags[Client], "S", false) != -1)
				{
					GivePlayerItem(Client, "weapon_smokegrenade", 0);
				}
				if (StrContains(g_Flags[Client], "F", false) != -1)
				{
					GivePlayerItem(Client, "weapon_flashbang", 0);
				}
			}
			default:
			{
			}
		}
		new var4;
		if (Team == 3 && StrContains(g_Flags[Client], "D", false) != -1)
		{
			GivePlayerItem(Client, "item_defuser", 0);
		}
		if (StrContains(g_Flags[Client], "A", false) != -1)
		{
			SetEntProp(Client, PropType:0, "m_ArmorValue", any:100, 4, 0);
			SetEntProp(Client, PropType:0, "m_bHasHelmet", any:1, 4, 0);
		}
		g_bEquipped[Client] = 1;
	}
	return Action:0;
}
Sincronic is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 19:26.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode