- Ошибка
-
Spechide убирает список игроков только у меня, а должен при /spechide убирать у игрока. Что за ним не следит админ. Думаю вы поняли
- ОС
- Linux
- Amx Mod X
-
1.9.0
- Билд
-
ReHlds-3.4.0.672-dev_mpatch
- ReGamedll
-
5.9.0
- Версия Metamod
-
1.3.0
- Список метамодулей
-
-
- Список плагинов
-
-
- Автор плагина
- gladius
- Версия плагина
- 1.0
- Исходный код
-
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <player_settings_saver>
#define SETTING_SPECLIST "Speclist"
#define ADMIN_FLAG ADMIN_KICK
new const cultura_tag[15] = "^1[^4System^1]"
new bool:SpecList[33];
new SpecHide[33];
new SyncHud;
new gMaxPlayers;
public plugin_init()
{
register_plugin("Speclist", "1.0", "gladius")
register_clcmd("say /speclist", "cmdSpeclist")
register_clcmd( "say /spechide", "cmdSpecHide", ADMIN_FLAG)
set_task(0.1, "tskShowSpec", 123094, "", 0, "b", 0);
gMaxPlayers = get_maxplayers();
SyncHud = CreateHudSyncObj();
}
public client_putinserver(id)
{
SpecHide[id] = false
SpecList[id] = get_setting_bool ( id, SETTING_SPECLIST, true )
}
public client_disconnected(id)
{
SpecHide[id] = false
}
public cmdSpecHide(id)
{
if(!(get_user_flags(id) & ADMIN_FLAG))
{
client_print_color(id, print_team_default, "%s You have to be Admin to use this command", cultura_tag);
return PLUGIN_HANDLED
}
if(SpecHide[id])
{
SpecHide[id] = false
client_print_color(id, print_team_default, "%s You're ^4now visible^1 in Speclist", cultura_tag)
}
else
{
SpecHide[id] = true
client_print_color(id, print_team_red, "%s You're ^3not visible^1 anymore in Speclist", cultura_tag)
}
return PLUGIN_HANDLED
}
public cmdSpeclist(id)
{
if(SpecList[id])
{
SpecList[id] = false;
client_print_color(id, print_team_red, "%s Speclist has been ^3disabled", cultura_tag);
}
else
{
SpecList[id] = true;
client_print_color(id, print_team_default, "%s Speclist has been ^4enabled", cultura_tag);
}
return PLUGIN_HANDLED;
}
public change_setting_value ( id, const setting[], const value[] )
{
if ( !strcmp ( setting, SETTING_SPECLIST ) )
SpecList[id] = bool:str_to_num ( value )
}
public tskShowSpec()
{
for(new id = 1; id <= gMaxPlayers; id++)
{
if(is_user_connected(id))
{
if(SpecList[id])
{
static Player;
Player = is_user_alive(id) ? id : pev(id, pev_iuser2);
static SpecMsg[2048], name[32], id2;
SpecMsg[0] = '^0';
new CountSpec;
static iPlayers[32], iNum;
get_players(iPlayers, iNum, "bch");
for(new i = 0; i < iNum; i++)
{
id2 = iPlayers[i];
if(SpecHide[id] && get_user_flags(id2) & ADMIN_FLAG)
{
continue;
}
if((pev(id2, pev_iuser1) == 4 || pev(id2, pev_iuser1) == 2) && pev(id2, pev_iuser2) == Player && Player != id2)
{
get_user_name(id2, name, sizeof(name) - 1);
format(SpecMsg, sizeof SpecMsg - 1, "%s^n%s %s", SpecMsg, name, pev(id2, pev_iuser1) == 2 ? "(3rd Person)" : "")
CountSpec++;
}
}
if(CountSpec)
{
format(SpecMsg, sizeof SpecMsg - 1, "(%d) PLAYERS SPECTATING:%s", CountSpec, SpecMsg);
set_hudmessage(255, 255, 255, 0.75, 0.15, 0, 0.1, 0.1, 0.1, 0.2, 1);
ShowSyncHudMsg(id, SyncHud, SpecMsg);
}
}
}
}
return PLUGIN_HANDLED
}
Spechide убирает список игроков только у меня, а должен при /spechide убирать у игрока. Что за ним не следит админ. Думаю вы поняли
Не знаю как пофиксить
Не знаю как пофиксить
В этой теме было размещено решение! Перейти к решению.