#include <amxmodx>
#include <fakemeta>
//#pragma semicolon 1
#define RED 64
#define GREEN 64
#define BLUE 64
#define UPDATEINTERVAL 1.0
#define ECHOCMD
#define FLAG ADMIN_KICK
new gMaxPlayers;
new gCvarOn;
new gCvarImmunity;
new bool:gOnOff[33] = { true, ... };
public plugin_init() {
register_plugin("Join/Leave Message","1.2","PHP")
register_cvar("amx_join_message", "%name% eppen csatlakozik.")
register_cvar("amx_joined_message", "%name% felnezett a szerverre.")
register_cvar("amx_leave_message", "Szia %name%, ajanlom, hogy visszagyere!")
register_cvar("amx_join_leave","1")
gCvarOn = register_cvar("amx_speclist", "1", 0, 0.0);
gCvarImmunity = register_cvar("amx_speclist_immunity", "1", 0, 0.0);
register_clcmd("say /speclist", "cmdSpecList", -1, "");
gMaxPlayers = get_maxplayers();
set_task(UPDATEINTERVAL, "tskShowSpec", 123094, "", 0, "b", 0);
}
public cmdSpecList(id)
{
if( gOnOff[id] )
{
client_print(id, print_chat, "[AMXX] Mostmar nem fogod latni ki nez teged.");
gOnOff[id] = false;
}
else
{
client_print(id, print_chat, "[AMXX] Mostmar latni fogod ki nez teged.");
gOnOff[id] = true;
}
#if defined ECHOCMD
return PLUGIN_CONTINUE;
#else
return PLUGIN_HANDLED;
#endif
}
public tskShowSpec()
{
if( !get_pcvar_num(gCvarOn) )
{
return PLUGIN_CONTINUE;
}
static szHud[1102];//32*33+45
static szName[34];
static bool:send;
// FRUITLOOOOOOOOOOOOPS!
for( new alive = 1; alive <= gMaxPlayers; alive++ )
{
new bool:sendTo[33];
send = false;
if( !is_user_alive(alive) )
{
continue;
}
sendTo[alive] = true;
get_user_name(alive, szName, 32);
format(szHud, 45, "%s nezoi:^n", szName);
for( new dead = 1; dead <= gMaxPlayers; dead++ )
{
if( is_user_connected(dead) )
{
if( is_user_alive(dead)
|| is_user_bot(dead) )
{
continue;
}
if( pev(dead, pev_iuser2) == alive )
{
if( !(get_pcvar_num(gCvarImmunity)&&get_user_flags(dead, 0)&FLAG) )
{
get_user_name(dead, szName, 32);
add(szName, 33, "^n", 0);
add(szHud, 1101, szName, 0);
send = true;
}
sendTo[dead] = true;
}
}
}
if( send == true )
{
for( new i = 1; i <= gMaxPlayers; i++ )
{
if( sendTo[i] == true
&& gOnOff[i] == true )
{
set_hudmessage(RED, GREEN, BLUE,
0.75, 0.12, 0, 0.0, 1.1, 0.0, 0.0, 1);
show_hudmessage(i, szHud);
}
}
}
}
return PLUGIN_CONTINUE;
}
public client_connect(id)
{
new user[32], len
user[0] = id
len = get_user_name(id,user[1],31)
set_task(2.0, "join_msg", 0, user,len + 2)
gOnOff[id] = true;
return PLUGIN_CONTINUE
}
public client_putinserver(id)
{
new user[32], len
user[0] = id
len = get_user_name(id,user[1],31)
set_task(2.0, "joined_msg", 0, user,len + 2)
return PLUGIN_CONTINUE
}
public client_disconnect(id)
{
new user[32], len
user[0] = id
len = get_user_name(id, user[1], 31)
set_task(2.0, "leave_msg", 0, user, len + 2)
gOnOff[id] = true;
return PLUGIN_CONTINUE
}
public join_msg(user[])
{
if (get_cvar_num("amx_join_leave")==0)
{
return PLUGIN_HANDLED
}
if (get_cvar_num("amx_join_leave")==1)
{
new message[192]
get_cvar_string("amx_join_message", message, 191)
replace(message, 191, "%name%", user[1])
set_hudmessage(0, 225, 0, 0.05, 0.45, 2, 6.0, 6.0, 0.5, 0.15, 3)
show_hudmessage(0, message)
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
public joined_msg(user[])
{
if (get_cvar_num("amx_join_leave")==0)
{
return PLUGIN_HANDLED
}
if (get_cvar_num("amx_join_leave")==1)
{
new message[192]
get_cvar_string("amx_joined_message", message, 191)
replace(message, 191, "%name%", user[1])
set_hudmessage(0, 225, 0, 0.05, 0.45, 1, 6.0, 6.0, 0.5, 0.15, 3)
show_hudmessage(0, message)
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
public leave_msg(user[]) {
if (get_cvar_num("amx_join_leave")==0){
return PLUGIN_HANDLED
}
if (get_cvar_num("amx_join_leave")==1){
new message[192]
get_cvar_string("amx_leave_message", message, 191)
replace(message, 191, "%name%", user[1])
set_hudmessage(0, 225, 0, 0.05, 0.45, 1, 6.0, 6.0, 0.5, 0.15, 3)
show_hudmessage(0, message)
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}