/* Plugin generated by AMXX-Studio
Date contact:
https://www.facebook.com/profile.php?id=100008586006822
*/
#include <amxmodx>
#include <engine>
#include <cstrike>
#include <hamsandwich>
#include <fakemeta>
#include <fakemeta_util>
#include <fun>
#define PLUGIN "Show Admins Online"
#define VERSION "1.1"
#define AUTHOR "vato loco [GE-S] & Alka"
#define Tag "[Bonus]"
#define SWITCH_TASK 112233
new const VipCtModel[ ] = "vipT";
new bool:g_bAdminNick
new bool:is_admin_connected[33]
new g_msg[512]
new g_admin_enable
new g_online_color
new g_offline_color
new g_msg_xypos
new g_SyncAdmin
new g_iAdminCount
new g_iMaxPlayers
new bool: HaveChoosenWeap[33];
new g_ClassName[] = "admin_msg"
new cKill, cHeadshot;
new cStatus, cMaxHealth;
public plugin_precache( )
{
new ModelOrSoundPath[ 128 ];
formatex( ModelOrSoundPath, sizeof ( ModelOrSoundPath ) -1, "models/player/%s/%s.mdl", VipCtModel, VipCtModel );
precache_model( ModelOrSoundPath );
}
public plugin_init()
{
register_plugin( PLUGIN, VERSION, "GbR" )
register_think(g_ClassName,"ForwardThink")
g_admin_enable = register_cvar("sa_plugin_on","1")
g_online_color = register_cvar("sa_online_color","0 130 0")
g_offline_color = register_cvar("sa_offline_color","255 0 0")
g_msg_xypos = register_cvar("sa_msg_xypos","0.02 0.2")
cStatus = register_cvar("bonus_status", "1");
cKill = register_cvar("bonus_kill", "10");
cHeadshot = register_cvar("bonus_headshot", "20");
g_SyncAdmin = CreateHudSyncObj()
g_iMaxPlayers = get_maxplayers()
new iEnt = create_entity("info_target")
entity_set_string(iEnt, EV_SZ_classname, g_ClassName)
entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 2.0)
RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawnPost", true );
RegisterHam(Ham_Spawn, "player", "HAM_Spawn_Post");
register_event( "DeathMsg", "EventDeathMsg", "a", "1>0" );
register_clcmd("say /goldmenu", "CmdMenu");
register_clcmd("say_team /goldmenu", "CmdMenu");
register_clcmd("say /Beneficii", "Beneficii");
register_clcmd("say_team /Beneficii", "Beneficii");
}
public HAM_Spawn_Post(id) {
if(is_user_connected(id)) {
HaveChoosenWeap[id] = false;
}
}
public preturi(id)
show_motd(id, "addons/amxmodx/configs/Beneficii.html", ":: Beneficii ::");
public CmdMenu(id) {
if(!is_user_alive(id)) {
client_print(0, print_console, "Nu poti folosi meniul cat timp esti mort !")
return;
}else if(is_user_alive(id) && CS_TEAM_CT)
{
Meniu(id)
}
}
public Meniu(id) {
new Title[128]
formatex(Title, sizeof(Title)-1, "Nume Meniu")
new Menu = menu_create(Title, "casemenu")
menu_additem(Menu, "M4a1 [[Deagle]] - - -+> [Pack He]", "1", 0)
menu_additem(Menu, "Ak47 [[Deagle]] - - -+> [Pack He]", "2", 0)
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
public casemenu(id, menu, item) {
if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 1) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key) {
case 1:
{
HaveChoosenWeap[id] = true;
fm_give_item(id, "weapon_m4a1");
cs_set_user_bpammo(id, CSW_M4A1,300);
fm_give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE,250);
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "weapon_smokegrenade");
fm_give_item(id, "weapon_hegrenade");
client_print(0, print_console,"[Anti-Furien]Ai ales M4A1 + Deagle + Pack He");
}
case 2:
{
HaveChoosenWeap[id] = true;
fm_give_item(id, "weapon_ak47");
cs_set_user_bpammo(id, CSW_AK47,300);
fm_give_item(id, "weapon_deagle");
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "weapon_smokegrenade");
fm_give_item(id, "weapon_hegrenade");
cs_set_user_bpammo(id, CSW_DEAGLE,250);
client_print(0, print_console,"[Anti-Furien]Ai ales Ak47 + Deagle + Pack He");
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public client_putinserver(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_A)
{
is_admin_connected[id] = true
g_iAdminCount++
set_admin_msg()
}
if(g_iAdminCount == 0)
set_admin_msg()
}
public client_disconnect(id)
{
if(is_admin_connected[id])
{
is_admin_connected[id] = false
g_iAdminCount--
set_admin_msg()
}
}
public client_infochanged(id)
{
if(is_admin_connected[id])
{
static NewName[32], OldName[32]
get_user_info(id, "name", NewName, 31)
get_user_name(id, OldName, 31)
if(!equal(OldName, NewName))
{
g_bAdminNick = true
}
}
}
public set_admin_msg()
{
static g_iAdminName[32], pos, i
pos = 0
pos += formatex(g_msg[pos], 511-pos, "Gold Members: %d", g_iAdminCount)
for(i = 1 ; i <= g_iMaxPlayers ; i++)
{
if(is_admin_connected[i])
{
get_user_name(i, g_iAdminName, 31)
pos += formatex(g_msg[pos], 511-pos, "^n%s", g_iAdminName)
}
}
}
public admins_online()
{
if(get_pcvar_num(g_admin_enable))
{
static r, g, b, Float:x,Float:y
HudMsgPos(x,y)
if (g_iAdminCount > 0)
{
HudMsgColor(g_online_color, r, g, b)
set_hudmessage(r, g, b, x, y, _, _, 4.0, _, _, 4)
ShowSyncHudMsg(0, g_SyncAdmin, "%s", g_msg)
}
else
{
HudMsgColor(g_offline_color, r, g, b)
set_hudmessage(r, g, b, x, y, _, _, 4.0, _, _, 4)
ShowSyncHudMsg(0, g_SyncAdmin, "%s", g_msg)
}
}
return PLUGIN_HANDLED
}
public ForwardThink(iEnt)
{
admins_online()
if(g_bAdminNick)
{
set_admin_msg()
g_bAdminNick = false
}
entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 2.0)
}
public HudMsgColor(cvar, &r, &g, &b)
{
static color[16], piece[5]
get_pcvar_string(cvar, color, 15)
strbreak( color, piece, 4, color, 15)
r = str_to_num(piece)
strbreak( color, piece, 4, color, 15)
g = str_to_num(piece)
b = str_to_num(color)
}
public HudMsgPos(&Float:x, &Float:y)
{
static coords[16], piece[10]
get_pcvar_string(g_msg_xypos, coords, 15)
strbreak(coords, piece, 9, coords, 15)
x = str_to_float(piece)
y = str_to_float(coords)
}
public EventDeathMsg() {
new killer = read_data(1);
new victim = read_data(2);
new headshot = read_data(3);
//new weapon = get_user_weapon(killer);
new num;
if(killer == victim || !get_pcvar_num(cStatus) || !is_user_connected(victim) || !is_user_alive(killer))
return PLUGIN_HANDLED;
if(headshot) {
num = get_pcvar_num(cHeadshot)
GiveHealth(killer, num)
HudMessage(killer, "Healed +%ihp", num)
} else {
num = get_pcvar_num(cKill)
GiveHealth(killer, num)
HudMessage(killer, "Healed +%ihp", num)
}
return PLUGIN_CONTINUE;
}
GiveHealth(id, count){
set_user_health(id, min( (get_user_health(id) + count), get_pcvar_num(cMaxHealth) ))
}
stock HudMessage(const id, const input[], any:...) {
static msg[191];
vformat(msg, 190, input, 3);
set_hudmessage(127, 170, 255, 0.27, 0.14, 0, 5.0, 5.0, 0.0, 0.0, -1);
show_hudmessage(id, "%s^n%s", Tag, msg)
}
public Ham_PlayerSpawnPost( id )
{
BeginDelayedModelChange( id );
}
public BeginDelayedModelChange( id )
{
switch( id )
{
case 1..6: set_task( 0.1, "ChangeUserModelWithDelay", id + SWITCH_TASK );
case 7..13: set_task( 0.2, "ChangeUserModelWithDelay", id + SWITCH_TASK );
case 14..20: set_task( 0.3, "ChangeUserModelWithDelay", id + SWITCH_TASK );
case 21..26: set_task( 0.4, "ChangeUserModelWithDelay", id + SWITCH_TASK );
case 27..32: set_task( 0.5, "ChangeUserModelWithDelay", id + SWITCH_TASK );
}
}
public fm_reset_variable(id)
{
HaveChoosenWeap[id] = false;
}
public ChangeUserModelWithDelay( id )
{
id -= SWITCH_TASK;
if( !is_user_connected( id ) ) return 1;
switch( cs_get_user_team( id ) )
{
case CS_TEAM_CT: cs_set_user_model( id, VipCtModel );
}
return 0;
}