Код:
#include <amxmodx>
#include <cstrike>
#define ADMIN_LEVEL ADMIN_ALL
public plugin_init() {
register_plugin("Steam Check [MOTD]", "1.0", "Seroff");
register_clcmd("say /steam", "steamcheck");
register_clcmd("say_team /steam", "steamcheck");
}
public steamcheck(id)
{
static motd[2000], len;
len = 0;
len += formatex(motd[len], charsmax(motd) - len,"<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'>");
len += formatex(motd[len], charsmax(motd) - len,"<STYLE>body{background:#4c5844;color:#d8ded3;font-family:sans-serif}table{width:100%%;line-height:160%%;font-size:12px}th{border:1px solid;border-color:#889180 #282e22 #282e22 #889180;background:#4c5844;color:#c4b550;padding-left:5px;font:normal;text-align:left}.q{border:1px solid;border-color:#282e22 #889180 #889180 #282e22}tr{background:#3e4637} div{text-align: center; }</STYLE>");
len += formatex(motd[len], charsmax(motd) - len,"<body><p></p><center><table cellspacing=0 class=q>");
if(!steam_num()){
len += formatex(motd[len], charsmax(motd) - len,"<br><br><br><br><br><br><br><br> <caption><div style=^"margin: 15px;^"> <font size=^"5^" color=^"#c4b550^" > <b >Сейчас нет steam игроков</b></font></div><br></caption>");
}
else
{
len += formatex(motd[len], charsmax(motd) - len," <caption><div style=^"margin: 15px;^"> <font size=^"5^" color=^"#c4b550^" > <b >Количество steam игроков на сервере RB|18+|: %d</b></font></div><br></caption>",steam_num());
len += formatex(motd[len], charsmax(motd) - len,"<tr><th style=^"width: 50%^"><div>#</div></th><th style=^"width: 50%^"><div>Имя</div></th> <th style=^"width:10%^"><div>SteamID</div></th> <th style=^"width:10%^"><div>Команда</div></th> </tr>");
for(new i = 1, Name[32], colorteam[8],steamid[35], teamname[32]; i < get_maxplayers()+1; i++) {
if(is_user_connected(i) && !(get_user_flags(i) & ADMIN_LEVEL) && is_user_steam(i)){
get_user_name(i, Name, charsmax(Name));
get_user_authid(i, steamid,charsmax(steamid));
switch(cs_get_user_team(i))
{
case 0:{
formatex(colorteam,charsmax(colorteam),"#FFFFFF");
formatex(teamname,charsmax(teamname),"Ещё не определен");
}
case 1: {
formatex(colorteam,charsmax(colorteam),"#E54234");
formatex(teamname,charsmax(teamname),"Террорист");
}
case 2:{
formatex(colorteam,charsmax(colorteam),"#90D6F4");
formatex(teamname,charsmax(teamname),"Контр-Террорист");
}
case 3:{
formatex(colorteam,charsmax(colorteam),"#FFFFFF");
formatex(teamname,charsmax(teamname),"Наблюдатель");
}
}
len += formatex(motd[len], charsmax(motd) - len," <tr><br><td><div style=^"margin: 10px;^"><b>%d</b></div></td> <td><div style=^"margin: 10px;^"><b>%s</b></div></td> <td><div style=^"margin: 10px;^"><b>%s</b></div></td> <td><div style=^"margin: 10px;^"><font color=^"%s^"><b>%s</b></font> </div></td></tr>",i,Name,steamid,colorteam,teamname);
}
}
}
len += formatex(motd[len], charsmax(motd) - len,"</table>");
len += formatex(motd[len], charsmax(motd) - len,"</center>");
len += formatex(motd[len], charsmax(motd) - len," </body></html>");
show_motd(id, motd, "Steam Online");
}
stock steam_num(){
static Num;
Num=0;
for(new i = 1; i < get_maxplayers(); i++) {
if(is_user_connected(i) && !(get_user_flags(i) & ADMIN_LEVEL) && is_user_steam(i)){
Num++;
}
}
return Num
}
stock bool:is_user_steam(id)
{
// Author Sh0oter
static dp_pointer
if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", id)
server_exec()
return (get_pcvar_num(dp_pointer) == 2) ? true : false
}
return false
}