|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
Admin Flash
|
|
ШИЗИК | Дата: Четверг, 22.10.2009, 16:48:36 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 19
Статус: Не в сети
| Иногда, кто нибудь на сервере начинает кричать, что такой то игрок не слепнет. С помощью, этого плагина админ производит проверку игрока. Команда: amx_flash Nick официальная страничка: http://forums.alliedmods.net/showthr....p?t=829 sma Code #include <amxmodx> #include <amxmisc>
new gMsgScreenFade
public admin_flash(id,level,cid) { if (!cmd_access(id,level,cid,2)) { return PLUGIN_HANDLED }
new victim[32] read_argv(1,victim,31) // new arg2[32] // read_argv(2,arg2,31) // new number=strtonum(arg2) // if (number==0) number=1
if (victim[0]=='@') { new team[32], inum get_players(team,inum,"e",victim[1]) if (inum==0) { console_print(id,"[AMX] No clients found on such team.") return PLUGIN_HANDLED } for (new i=0;i<inum;++i) { Flash(team[i]) client_print(id,print_chat,"[AMX] You Flashed all %s's.",victim[1]) //client_print(id,print_chat,"[AMX] You Flashed all %s's for %i secs.",victim[1],number) } } else if (victim[0]=='*') { new all[32], inum get_players(all,inum) for (new i=0;i<inum;++i) { Flash(all[i]) client_print(id,print_chat,"[AMX] You Flashed everyone.") //client_print(id,print_chat,"[AMX] You Flashed everyone for %i secs.",number) } } else { new player = cmd_target(id,victim,0) new playername[32] get_user_name(player,playername,31)
if (!player) { return PLUGIN_HANDLED } Flash(player) client_print(id,print_chat,"[AMX] You Flashed %s.",playername) //client_print(id,print_chat,"[AMX] You Flashed %s for %i secs.",playername,number) }
return PLUGIN_HANDLED }
public Flash(id) { message_begin(MSG_ONE,gMsgScreenFade,{0,0,0},id) write_short( 1<<15 ) write_short( 1<<10 ) write_short( 1<<12 ) write_byte( 255 ) write_byte( 255 ) write_byte( 255 ) write_byte( 255 ) message_end() emit_sound(id,CHAN_BODY, "weapons/flashbang-2.wav", 1.0, ATTN_NORM, 0, PITCH_HIGH) }
public plugin_init() { register_plugin("Admin Flash","1.0","AssKicR") register_concmd("amx_flash","admin_flash",ADMIN_LEVEL_A,"< Nick, UniqueID, #userid, @TEAM, or * > flashes selected client(s)") gMsgScreenFade = get_user_msgid("ScreenFade") return PLUGIN_CONTINUE }
public plugin_precache() { // FLASHBANG SOUND precache_sound( "weapons/flashbang-2.wav" ) } удобно использовать через amxmodmenu и затем Client Commands. Для этого надо в файл clcmds.ini прописать строку: "npoBepKa Ha antiflash " "amx_flash #%userid%" "bd" "u" Автор сделал так, что ослеплённый игрок слышит звук взрыва флешки. Для устранения этого, не нужного нам фактора, я заменил звук пустышкой (как по-другому не знаю). И подправил его название в sma. Теперь читер не подозревает о том, что админ его флешит и играет, как ни в чём не бывало. Прошу знатоков устранить один недостаток: нет записи в логи о том, что этот плагин применялся. Поэтому админ может злоупотреблять этим. Моего ума хватило лишь на то, чтобы добавить в sma это: log_amx("[AMX] Admin ocJLenuJL %s.",playername) Но, получается такая запись в amx_log: L 10/22/2009 - 16:19:22: [admin_flash.amxx] [AMX] Admin ocJLenuJL такого-то. Прошу: Нужно сделать, чтобы в логах было понятно какой админ применял этот плагин. Изменённый мной sma + пустышка wav:
Сообщение отредактировал ШИЗИК - Четверг, 22.10.2009, 16:55:16 |
|
| |
PomanoB | Дата: Четверг, 22.10.2009, 17:18:57 | Сообщение # 2 |
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Статус: Не в сети
| Quote (ШИЗИК) как по-другому не знаю emit_sound(id,CHAN_BODY, "weapons/flashbang-2.wav", 1.0, ATTN_NORM, 0, PITCH_HIGH) - убери эту строчку После Code if (!cmd_access(id,level,cid,2)) { return PLUGIN_HANDLED } Поставь Code new admin_name[32] get_user_name(id, admin_name, 31) И после этого везде вставь имя админа Code log_amx("[AMX] Admin %s ocJLenuJL Bcex.", admin_name)
http://romanov4400.mybrute.com
|
|
| |
ШИЗИК | Дата: Воскресенье, 25.10.2009, 16:27:21 | Сообщение # 3 |
Рядовой
Группа: Пользователи
Сообщений: 19
Статус: Не в сети
| Спасибо Тебе большое. Всё работает. Code
#include <amxmodx> #include <amxmisc>
new gMsgScreenFade
public admin_flash(id,level,cid) { if (!cmd_access(id,level,cid,2)) { return PLUGIN_HANDLED }
new admin_name[32] get_user_name(id, admin_name, 31) new victim[32] read_argv(1,victim,31) // new arg2[32] // read_argv(2,arg2,31) // new number=strtonum(arg2) // if (number==0) number=1
if (victim[0]=='@') { new team[32], inum get_players(team,inum,"e",victim[1]) if (inum==0) { console_print(id,"[AMX] No clients found on such team.") return PLUGIN_HANDLED } for (new i=0;i<inum;++i) { Flash(team[i]) client_print(id,print_chat,"[AMX] TbI ocJLenuJL Bcex %s's.",victim[1]) //client_print(id,print_chat,"[AMX] You Flashed all %s's for %i secs.",victim[1],number) log_amx("[AMX] Admin %s ocJLenuJL KoMaHDy.", admin_name) } } else if (victim[0]=='*') { new all[32], inum get_players(all,inum) for (new i=0;i<inum;++i) { Flash(all[i]) client_print(id,print_chat,"[AMX] TbI ocJLenuJL Bcex.") //client_print(id,print_chat,"[AMX] You Flashed everyone for %i secs.",number) log_amx("[AMX] Admin %s ocJLenuJL Bcex.", admin_name) } } else { new player = cmd_target(id,victim,0) new playername[32] get_user_name(player,playername,31)
if (!player) { return PLUGIN_HANDLED } Flash(player) client_print(id,print_chat,"[AMX] TbI ocJLenuJL %s.",playername) //client_print(id,print_chat,"[AMX] You Flashed %s for %i secs.",playername,number) log_amx("[AMX] Admin %s npuMeHuJL amx_flash Nick.", admin_name) log_amx("[AMX] Admin ocJLenuJL %s.",playername) }
return PLUGIN_HANDLED }
public Flash(id) { message_begin(MSG_ONE,gMsgScreenFade,{0,0,0},id) write_short( 1<<15 ) write_short( 1<<10 ) write_short( 1<<12 ) write_byte( 255 ) write_byte( 255 ) write_byte( 255 ) write_byte( 255 ) message_end() //emit_sound(id,CHAN_BODY, "weapons/flashbang-2.wav", 1.0, ATTN_NORM, 0, PITCH_HIGH) }
public plugin_init() { register_plugin("Admin Flash","1.0","AssKicR") register_concmd("amx_flash","admin_flash",ADMIN_LEVEL_A,"< Nick, UniqueID, #userid, @TEAM, or * > flashes selected client(s)") gMsgScreenFade = get_user_msgid("ScreenFade") return PLUGIN_CONTINUE }
public plugin_precache() { // FLASHBANG SOUND precache_sound( "weapons/flashbang-2.wav" ) } Хотел сделать, используя твои советы, чтобы писало "Admin такой-то ocJLenuJL такого-то. Прописал это: log_amx("[AMX] Admin %s ocJLenuJL %i.", admin_name, playername) Но переменная %i почему-то является секундами... поэтому решил прописать так: log_amx("[AMX] Admin %s npuMeHuJL amx_flash Nick.", admin_name) log_amx("[AMX] Admin ocJLenuJL %s.",playername) Что в общем, тоже соответствует идее. Теперь можно позволить пользоваться этим плагином всем админам на сервере. У меня есть последний вопрос по этой теме. Какую строку прописать в sma, чтобы сообщения о применении плагина, помимо log_amx выводились в админский чат во время игры. Но и без того, ещё раз огромное спасибо!
|
|
| |
PomanoB | Дата: Воскресенье, 25.10.2009, 19:33:16 | Сообщение # 4 |
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Статус: Не в сети
| log_amx("[AMX] Admin %s ocJLenuJL %s.", admin_name, playername) - так надо Quote (ШИЗИК) Какую строку прописать в sma, чтобы сообщения о применении плагина, помимо log_amx выводились в админский чат во время игры. server_cmd("amx_chat [AMX] Admin %s ocJLenuJL %s.", admin_name, playername)
http://romanov4400.mybrute.com
|
|
| |
| AMX Mod X Russian Community © 2006-2024 | |
|
| |