- Код: Выделить всё
L 12/27/2011 - 16:06:58: [ENGINE] Invalid player 1
L 12/27/2011 - 16:06:58: [AMXX] Displaying debug trace (plugin "admin_chat.amxx")
L 12/27/2011 - 16:06:58: [AMXX] Run time error 10: native error (native "set_speak")
L 12/27/2011 - 16:06:58: [AMXX] [0] admin_chat.sma::client_authorized (line 18)
Плагин:
- Код: Выделить всё
#include <amxmodx>
#include <engine>
#define ACCESS_LEVEL ADMIN_LEVEL_H
public client_connect(id)
{
if (get_user_flags(id) & ACCESS_LEVEL)
{
set_speak(id, 4)
}
}
public client_authorized(id)
{
if (get_user_flags(id) & ACCESS_LEVEL)
{
set_speak(id, 4)
}
}
public client_infochanged(id)
{
if (get_user_flags(id) & ACCESS_LEVEL)
{
set_speak(id, 4)
}
}
get_mode() {
new mode[4];
get_cvar_string("pd_listen_mode", mode, 3)
return read_flags(mode)
}
public handle_say(id) {
new mode = get_mode()
if (! mode) {
return PLUGIN_CONTINUE
}
new is_alive = is_user_alive(id)
new team = get_user_team(id)
new command[17]
read_argv(0, command, 16)
new is_team_msg = ! equal(command, "say")
new player_count = get_playersnum()
new players[32]
get_players(players, player_count, "c")
new message[129]
read_args(message, 128)
replace(message,128,"^"","")
replace(message,128,"^"","")
new name[33]
get_user_name(id, name, 32);
for (new i = 0; i < player_count; i++)
{
if(get_user_flags(players[i])&ACCESS_LEVEL && mode&1)
{
if ( (is_user_alive(players[i])!=is_alive) ||
( (get_user_team(players[i])!=team)&&(is_team_msg)) )
{
client_print(players[i], print_chat, "%s%s%s : %s",
is_team_msg ? "(TEAM) " : "",
is_alive ? "" : "(DEAD) ", name, message)
}
} else if( mode&2 && is_alive && !is_user_alive(players[i]) )
{
client_print(players[i], print_chat, "%s%s : %s",
is_team_msg ? "(TEAM) " : "",
name, message)
}
}
return PLUGIN_CONTINUE;
}
public plugin_init() {
register_plugin("admin_chat", "1", "B-ceps")
register_clcmd("say", "handle_say")
register_clcmd("say_team", "handle_say")
register_cvar("pd_listen_mode", "a")
return PLUGIN_CONTINUE
}