#include <sourcemod>
#include <adminmenu>
public Plugin:myinfo =
{
name = "SteamID",
author = "Facksy",
description = "SteamID",
version = "1.0",
url = "http://steamcommunity.com/id/iamfacksy/"
};
public OnPluginStart()
{
RegConsoleCmd("sm_id", Cmd_id, "id");
RegConsoleCmd("sm_steamid", Cmd_id, "id");
RegConsoleCmd("sm_info", Cmd_id, "id");
}
public Action:Cmd_id(client, args)
{
if(args == 0)
{
ShowTheMenu(client);
return Plugin_Handled;
}
else if(args >= 1)
{
decl String:Target[64];
GetCmdArg(1, Target, 64);
new itarget = FindTarget(client, Target);
if(itarget == -1)
{
PrintToChat(client, "[SM] Не является возможным найти указанную цель");
return Plugin_Handled;
}
decl String:targetname[64];
decl String:targetid[64];
decl String:targetid64[64];
decl String:ctargetname[64];
decl String:ctargetid[64];
decl String:ctargetprofile[64];
decl String:ctargetadmin[64];
GetClientName(itarget, targetname, 64);
GetClientAuthId(itarget, AuthId_Engine, targetid, 64);
GetClientAuthId(itarget, AuthId_SteamID64, targetid64, 64);
if(GetUserFlagBits(itarget) & (ADMFLAG_SLAY) == (ADMFLAG_SLAY))
{
Format(ctargetadmin, 64, "ПРАВА: Администратор");
}
else if(GetUserFlagBits(itarget) & (ADMFLAG_ROOT) == (ADMFLAG_ROOT))
{
Format(ctargetadmin, 64, "ПРАВА: Владелец");
}
else
{
Format(ctargetadmin, 64, "ПРАВА: Игрок");
}
Format(ctargetname, 64, "НИК: %s", targetname);
Format(ctargetid, 64, "SteamID: %s", targetid);
Format(ctargetprofile, 64, "http://steamcommunity.com/profiles/%s", targetid64);
new Handle:menu = CreateMenu(SteamID);
SetMenuTitle(menu, "Цель: %s", targetname);
AddMenuItem(menu, "1", ctargetname, ITEMDRAW_DISABLED);
AddMenuItem(menu, "2", ctargetid, ITEMDRAW_DISABLED);
AddMenuItem(menu, "3", "--------", ITEMDRAW_DISABLED);
AddMenuItem(menu, "4", ctargetadmin, ITEMDRAW_DISABLED);
AddMenuItem(menu, ctargetprofile, "Просмотреть STEAM-профиль");
if(StrEqual(targetid, "БОТ"))
{
RemoveMenuItem(menu, 4);
AddMenuItem(menu, "5", "Это бот, Вы не можете просмотреть его STEAM-профиль.", ITEMDRAW_DISABLED);
}
SetMenuExitButton(menu, true);
DisplayMenu(menu, client, MENU_TIME_FOREVER);
}
}
public Action:ShowTheMenu(client)
{
new Handle:menu2 = CreateMenu(MenuName);
SetMenuTitle(menu2, "Выберите игрока:");
new String:temp[MAX_NAME_LENGTH], String:id[16];
for(new i=1;i<=MaxClients;i++)
{
if(IsClientInGame(i)) //&& client != i)
{
GetClientName(i, temp, sizeof(temp));
Format(id, sizeof(id), "%d", i);
AddMenuItem(menu2, temp, temp);
}
}
SetMenuExitButton(menu2, true);
DisplayMenu(menu2, client, MENU_TIME_FOREVER);
}
public MenuName(Handle:menu, MenuAction:action, client, param2)
{
if(action == MenuAction_End)
{
CloseHandle(menu);
}
if(action == MenuAction_Select)
{
decl String:inform[64];
GetMenuItem(menu, param2, inform, sizeof(inform));
new targ = FindTarget(client, inform)
decl String:username2[64];
GetClientName(targ, username2, 64);
FakeClientCommand(client, "sm_id %s", username2);
}
}
public MenuNameOLD(Handle:menu, MenuAction:action, client, param2)
{
if(action == MenuAction_End)
{
CloseHandle(menu);
}
if(action == MenuAction_Select)
{
decl String:inform[64];
GetMenuItem(menu, param2, inform, sizeof(inform));
new targ = StringToInt(inform);
decl String:username2[64];
GetClientName(targ, username2, 64);
FakeClientCommand(client, "sm_id %s", username2);
FakeClientCommand(client, "sm_id %c", username2);
}
}
public SteamID(Handle:menu, MenuAction:action, client, param2)
{
if(action == MenuAction_End)
{
CloseHandle(menu);
}
if(action == MenuAction_Select)
{
decl String:xinfo[100];
GetMenuItem(menu, param2, xinfo, sizeof(xinfo));
if(!StrEqual(xinfo, "6"))
{
KeyValues kv = CreateKeyValues("data");
kv.SetString("title", "AGC Steam Group");
kv.SetString("msg", xinfo);
kv.SetNum("customsvr", 1);
kv.SetNum("type", MOTDPANEL_TYPE_URL);
ShowVGUIPanel(client, "info", kv, true);
kv.Close();
return Plugin_Handled;
}
}
return Plugin_Handled;
}