|
Junior Member
|

02-09-2009
, 16:12
Re: Can somebody make that plugin?!
|
#6
|
Code:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta_util>
#define BLIND (1<<0)
new PlayerFlags[33]
new gmsgFade
new bool:g_Blinded[33];
public plugin_init()
{
register_plugin("AMX Blind + Auto Ban","1.0","razna")
gmsgFade = get_user_msgid("ScreenFade")
register_event("ScreenFade", "screen_fade", "b")
register_concmd("amx_blindz","amx_blind", ADMIN_KICK, "<authid, nick or #userid> By razna")
register_concmd("amx_unblindz","amx_unblind", ADMIN_KICK, "<authid, nick or #userid> By razna")
register_cvar("amx_show_activity","1")
register_event("DeathMsg","hook_death","a");
return PLUGIN_CONTINUE
}
public amx_blind(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
new arg[32]
read_argv(1, arg, 31)
new user = cmd_target(id, arg, 5)
if(!user)
return PLUGIN_HANDLED
new authid[16], name2[32], authid2[16], name[32]
get_user_authid(id, authid, 15)
get_user_name(id, name, 31)
get_user_authid(user, authid2, 15)
get_user_name(user, name2, 31)
g_Blinded[user] = true;
if(PlayerFlags[user] & BLIND)
{
console_print(id, "Client ^"%s^" is already blind", name2)
return PLUGIN_HANDLED
}
else
{
new bIndex[2]
bIndex[0] = user
PlayerFlags[user] += BLIND
set_task(1.0, "delay_blind", 0, bIndex, 2)
message_begin(MSG_ONE, gmsgFade, {0,0,0}, user) // use the magic #1 for "one client"
write_short(1<<12) // fade lasts this long duration
write_short(1<<8) // fade lasts this long hold time
write_short(1<<0) // fade type IN
write_byte(255) // fade red
write_byte(255) // fade green
write_byte(255) // fade blue
write_byte(255) // fade alpha
message_end()
}
console_print(id, "Client ^"%s^" blinded", name2)
return PLUGIN_HANDLED
}
public amx_unblind(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
new arg[32]
read_argv(1, arg, 31)
new user = cmd_target(id, arg, 5)
if(!user)
return PLUGIN_HANDLED
new authid[16], name2[32], authid2[16], name[32]
get_user_authid(id, authid, 15)
get_user_name(id, name, 31)
get_user_authid(user, authid2, 15)
get_user_name(user, name2, 31)
if(PlayerFlags[user] & BLIND)
{
new bIndex[2]
bIndex[0] = user
PlayerFlags[user] -= BLIND
message_begin(MSG_ONE, gmsgFade, {0,0,0}, user) // use the magic #1 for "one client"
write_short(1<<12) // fade lasts this long duration
write_short(1<<8) // fade lasts this long hold time
write_short(1<<1) // fade type OUT
write_byte(255) // fade red
write_byte(255) // fade green
write_byte(255) // fade blue
write_byte(255) // fade alpha
message_end()
}
else
{
console_print(id, "Client ^"%s^" is already unblind", name2)
return PLUGIN_HANDLED
}
console_print(id, "Client ^"%s^" unblinded", name2)
return PLUGIN_HANDLED
}
public hook_death()
{
new killer = read_data(1);
if(g_Blinded[killer] & BLIND)
{
server_cmd("amx_chat %s make frag after blind", (killer))
//commands for kill after blind
}
}
public screen_fade(id)
{
new bIndex[2]
bIndex[0] = id
set_task(0.5, "delay_blind", 0, bIndex, 2)
return PLUGIN_CONTINUE
}
public delay_blind(bIndex[])
{
new id = bIndex[0]
if(PlayerFlags[id])
{
// Blind Bit
message_begin(MSG_ONE, gmsgFade, {0,0,0}, id) // use the magic #1 for "one client"
write_short(1<<0) // fade lasts this long duration
write_short(1<<0) // fade lasts this long hold time
write_short(1<<2) // fade type HOLD
write_byte(255) // fade red
write_byte(255) // fade green
write_byte(255) // fade blue
write_byte(255) // fade alpha
message_end()
}
return PLUGIN_CONTINUE
}
Ok, know i know a littel bit of scripting
I made that plugin, when player is blinded and he make 1 frag, server says with amx_chat "make frag after blind" but, when i unblind him, and he make 1 more frag, server say again "make frag after blind". how can i do when i unblind him, public hook_death() deactivate?
sorry for my bad english again
|
|