PHP Code:
public PlVers:__version =
{
version = 5,
filevers = "1.6.0-dev+3885",
date = "01/29/2015",
time = "16:21:47"
};
new Float:NULL_VECTOR[3];
new String:NULL_STRING[4];
public Extension:__ext_core =
{
name = "Core",
file = "core",
autoload = 0,
required = 0,
};
new MaxClients;
new bool:g_bHaveUCP[66];
public Plugin:myinfo =
{
name = "UCP Players List",
description = "",
author = "R1KO & Karlson site : http://www.sourcemod-plugins.ru/",
version = "1.3",
url = ""
};
public NodeBlock()
{
decl i;
i++;
while (true)
{
i++;
}
}
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("PbReadInt");
MarkNativeAsOptional("PbReadFloat");
MarkNativeAsOptional("PbReadBool");
MarkNativeAsOptional("PbReadString");
MarkNativeAsOptional("PbReadColor");
MarkNativeAsOptional("PbReadAngle");
MarkNativeAsOptional("PbReadVector");
MarkNativeAsOptional("PbReadVector2D");
MarkNativeAsOptional("PbGetRepeatedFieldCount");
MarkNativeAsOptional("PbReadRepeatedInt");
MarkNativeAsOptional("PbReadRepeatedFloat");
MarkNativeAsOptional("PbReadRepeatedBool");
MarkNativeAsOptional("PbReadRepeatedString");
MarkNativeAsOptional("PbReadRepeatedColor");
MarkNativeAsOptional("PbReadRepeatedAngle");
MarkNativeAsOptional("PbReadRepeatedVector");
MarkNativeAsOptional("PbReadRepeatedVector2D");
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("PbReadMessage");
MarkNativeAsOptional("PbReadRepeatedMessage");
MarkNativeAsOptional("PbAddMessage");
VerifyCoreVersion();
return 0;
}
public OnPluginStart()
{
RegConsoleCmd("sm_ucp", UCP_PL_CMD, "", 0);
return 0;
}
public OnClientPostAdminCheck(iClient)
{
new var1;
if (iClient && !IsFakeClient(iClient))
{
decl String:sUCPID[16];
GetClientInfo(iClient, "ucp_id", sUCPID, 13);
decl String:fUCPID[12];
SubStr(sUCPID, 0, 8, fUCPID, 11);
if (strlen(sUCPID) == 11)
{
if (GetClientInfo(iClient, fUCPID, _NULLVAR_, 500000))
{
g_bHaveUCP[iClient] = 1;
}
g_bHaveUCP[iClient] = 0;
return 0;
}
else
{
g_bHaveUCP[iClient] = 0;
}
}
else
{
g_bHaveUCP[iClient] = 0;
}
return 0;
}
public Action:UCP_PL_CMD(iClient, args)
{
if (iClient)
{
DisplayMenu(UCP_PL_Menu(), iClient, 0);
}
return Action:3;
}
Handle:UCP_PL_Menu()
{
new Handle:hMenu = CreateMenu(UCP_PL_Menu_andler, MenuAction:28);
SetMenuTitle(hMenu, "Игроки играющие с UCP:\n \n");
SetMenuExitButton(hMenu, true);
decl String:sUserID[16];
decl String:sName[32];
new i = 1;
while (i <= MaxClients)
{
new var1;
if (IsClientInGame(i) && !IsFakeClient(i) && g_bHaveUCP[i])
{
GetClientName(i, sName, 32);
IntToString(GetClientUserId(i), sUserID, 15);
AddMenuItem(hMenu, sUserID, sName, 0);
}
i++;
}
if (!(GetMenuItemCount(hMenu)))
{
AddMenuItem(hMenu, "", "Нет игроков играющих с UCP", 1);
}
return hMenu;
}
public UCP_PL_Menu_andler(Handle:hMenu, MenuAction:action, iClient, param)
{
if (action == MenuAction:16)
{
CloseHandle(hMenu);
}
return 0;
}
SubStr(String:sIn[], start_indx, char_count, String:sOut[], sizeofOut)
{
strcopy(sOut, sizeofOut, sIn[start_indx]);
sOut[char_count] = MissingTAG:0;
return 0;
}