Quote:
Originally Posted by YamiKaitou
The only way you will become a better scripter is if you start to figure this out on your own. I gave you enough information to get started, now go figure it out and then come back with your modified script.
|
Check it:
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#define PLUGIN "Admin Listen"
#define VERSION "2.3x"
new Count[32][32], g_Voice_Status[2]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, "/dev/ urandom")
register_event("SayText", "CatchSay", "b")
register_srvcmd("amx_voice", "VoiceStatus")
cstrike = is_running("cstrike")
}
public CatchSay(id)
{
new Reciever = read_data(0)
new Sender = read_data(1)
new Message[151], Channel[151], SenderName[32]
if(cstrike)
{
read_data(2, Channel, 150)
read_data(4, Message, 150)
get_user_name(Sender, SenderName, 31)
}
else
{
read_data(2, Message, 150)
}
Count[Sender][Reciever] = 1
if(Sender == Reciever)
{
new Player
new PlayerCount = get_playersnum()
get_players(Player, PlayerCount, "c")
for(new i = 0; i < PlayerCount; i++)
{
Player = Players[i]
if(get_user_flags(Player) & ADMIN_IMMUNITY)
{
if(Count[Sender][Player] != 1)
{
message_begin(MSG_ONE, get_user_msgid("SayText"), { 0, 0, 0 }, Player)
write_byte(Sender)
if(cstrike)
{
write_string(Channel)
write_string(SenderName)
}
write_string(Message)
message_end()
}
}
Count[Sender][Player] = 0
}
}
}
public VoiceStatus()
{
read_argv(1, g_Voice_Status, 1)
new Player
new PlayerCount = get_playersnum()
get_players(Player, PlayerCount, "c")
for(new i = 0; i < PlayerCount; i++)
{
Player = Players[i]
if((get_user_flags(Player) & ADMIN_IMMUNITY))
{
if(equal(g_Voice_Status[0])
{
set_speak(Player, 0)
}
else
{
set_speak(Player, 4)
}
}
}
}
public client_infochanged(id)
{
if((get_user_flags(id) & ADMIN_IMMUNITY) && equal(g_Voice_Status, "1")) set_speak(id, 4)
}
public client_connect(id)
{
if((get_user_flags(id) & ADMIN_IMMUNITY) && equal(g_Voice_Status, "1")) set_speak(id, 4)
}