Hello,
can u optimize me this code?
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_modules()
{
require_module("engine")
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, "/dev/ urandom")
register_event("SayText", "CatchSay", "b")
register_srvcmd("amx_voice", "VoiceStatus")
}
public CatchSay(id)
{
new Reciever = read_data(0)
new Sender = read_data(1)
new Message[151], Channel[151], SenderName[32]
if(is_running("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 Players[32]
new PlayerCount = get_playersnum()
get_players(Players, PlayerCount, "c")
for(new i = 0; i < PlayerCount; i++)
{
if(get_user_flags(Players[i]) & ADMIN_IMMUNITY)
{
if(Count[Sender][Players[i]] != 1)
{
message_begin(MSG_ONE, get_user_msgid("SayText"), { 0, 0, 0 }, Players[i])
write_byte(Sender)
if(is_running("cstrike"))
{
write_string(Channel)
write_string(SenderName)
}
write_string(Message)
message_end()
}
}
Count[Sender][Players[i]] = 0
}
}
}
public VoiceStatus()
{
read_argv(1, g_Voice_Status, 1)
new Players[32]
new PlayerCount = get_playersnum()
get_players(Players, PlayerCount, "c")
for(new i = 0; i < PlayerCount; i++)
{
if((get_user_flags(Players[i]) & ADMIN_IMMUNITY))
{
if(equal(g_Voice_Status, "0"))
{
set_speak(Players[i], 0)
}
if(equal(g_Voice_Status, "1"))
{
set_speak(Players[i], 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)
}
Thank you.