Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

9 страниц V  « 8 9

AdminGag (Молчанка)

, Заткнуть игрока
Статус пользователя Fred Perry
сообщение 7.3.2015, 16:17
Сообщение #161


Иконка группы

Стаж: 14 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

ThePhoenix, так у меня стоит версия https://c-s.net.ua/forum/topic58692.html?vi...st&p=631472
Оно микро не блокирует


Гнилой фашистской нечисти
Загоним пулю в лоб,
Отродью человечества
Сколотим крепкий гроб!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя anatol
сообщение 7.3.2015, 16:40
Сообщение #162


Стаж: 10 лет

Сообщений: 145
Благодарностей: 18
Полезность: < 0

от скапателя тока блочит, а остальные не фига!!!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ThePhoenix
сообщение 10.3.2015, 1:20
Сообщение #163


Стаж: 9 лет 3 месяца

Сообщений: 2723
Благодарностей: 533
Полезность: 40

Не знаю как у вас,все замечательно блокирует.только смс игрока видно всем кроме его самого))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Oneshot
сообщение 10.3.2015, 1:27
Сообщение #164
Стаж: 11 лет

Сообщений: 243
Благодарностей: 14
Полезность: < 0

Цитата(anatol @ 7.3.2015, 18:40) *
от скапателя тока блочит, а остальные не фига!!!

у него все норм работает
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Flash96
сообщение 10.3.2015, 1:32
Сообщение #165
Стаж: 9 лет

Сообщений: 41
Благодарностей: 2
Полезность: 0

А если обычный с нета скачать то работать не будет ???
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrey777best
сообщение 25.7.2015, 13:25
Сообщение #166


Стаж: 11 лет
Город: Харьков

Сообщений: 1191
Благодарностей: 144
Полезность: 1

Цитата(serfreeman1337 @ 21.7.2014, 19:13) *
Небольшая модификация по просьбе ExTPuMaJI:
  • быстрая смена времени кляпа
  • использование нативных функций AMXX 1.8.3
  • запоминание последней страницы меню
v1.0sf1[attachment=26864:gagmenu.sma]

Для компиляции под 1.8.2 и ниже потребуется инклюд colorchat.inc c фиксом от Lev.

Есть умельцы что бы сделать сохранение в файл или базу?

Отредактировал: Andrey777best, - 25.7.2015, 13:26
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя D9D9
сообщение 25.7.2015, 13:37
Сообщение #167
Стаж: 9 лет 2 месяца

Сообщений: 323
Благодарностей: 38
Полезность: < 0

Работает с VoiceTranscoder?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrey777best
сообщение 25.7.2015, 13:38
Сообщение #168


Стаж: 11 лет
Город: Харьков

Сообщений: 1191
Благодарностей: 144
Полезность: 1

Цитата(D9D9 @ 25.7.2015, 14:33) *
Работает с VoiceTranscoder?

Да работает...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя D9D9
сообщение 25.7.2015, 14:12
Сообщение #169
Стаж: 9 лет 2 месяца

Сообщений: 323
Благодарностей: 38
Полезность: < 0

Если можно добавьте, пожалуйста функцию для обычного игрока например: say /rotoff
Что бы выводился список кого заткнуть наподобие /voteban админов бывает нет так вот обычный игрок сможет проголосовать за rotoff...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sonyaibo
сообщение 22.1.2016, 19:42
Сообщение #170


Стаж: 10 лет

Сообщений: 289
Благодарности: выкл.

я так понимаю, заткнутого игрока админы слышат, а игроки нет. как сделать, чтобы админы тоже не слышали. подскажите плз. Плагин с 1 поста.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Virtes73
сообщение 8.2.2016, 9:48
Сообщение #171


Стаж: 9 лет 7 месяцев

Сообщений: 113
Благодарностей: 5
Полезность: 31

В чем может быть проблема, иногда гаг ставится сам на админов(вип)(при заходе на сервер, но не всегда), и снять не как, после смены карты снимается
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
podbot
сообщение 8.2.2016, 14:48
Сообщение #172
Стаж: 9 лет

Сообщений: 1242
Благодарностей: 366
Полезность: < 0

Цитата(Virtes73 @ 8.2.2016, 10:48) *
В чем может быть проблема, иногда гаг ставится сам на админов(вип)(при заходе на сервер, но не всегда), и снять не как, после смены карты снимается

в корявом коде только В
а vtc какой стоит?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Virtes73
сообщение 8.2.2016, 15:31
Сообщение #173


Стаж: 9 лет 7 месяцев

Сообщений: 113
Благодарностей: 5
Полезность: 31

meta list
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1]dproto_EF RUN - dproto_i386.so v0.9.391 ini Start Never
[ 2] AMX Mod X RUN - amxmodx_mm_i386. v1.8.2 ini Start ANY
[ 3] Cust. Flood Fix RUN - cf_fix_mm_i386.s v1.1 ini Start Never
[ 4] ProcessCmds RUN - processcmds_mm_i v1.0.8 ini Start Never
[ 5] LocalizeBug Fix RUN - localizebugfix_m v2.4 ini Start Never
[ 6] Semiclip RUN - semiclip_mm_i386 v2.2 ini ANY ANY
[ 7] WHBlocker RUN - whblocker_mm_i38 v1.5.620 ini Chlvl ANY
[ 8] VoiceTranscoder RUN - VoiceTranscoder. v2.0Beta ini ANY ANY
[ 9] Fun RUN - fun_amxx_i386.so v1.8.1.3 pl2 ANY ANY
[10] CStrike RUN - cstrike_amxx_i38 v1.8.2-d pl2 ANY ANY
[11] CSX RUN - csx_amxx_i386.so v1.8.1.3 pl2 ANY ANY
[12] Orpheu RUN - orpheu_amxx_i386 v2.3 pl2 ANY ANY
[13] FakeMeta RUN - fakemeta_amxx_i3 v1.8.1.3 pl2 ANY ANY
[14] Ham Sandwich RUN - hamsandwich_amxx v1.8.1.3 pl2 ANY ANY
[15] MySQL RUN - mysql_amxx_i386. v1.8.1.3 pl2 ANY ANY
[16] Engine RUN - engine_amxx_i386 v1.8.1.3 pl2 ANY ANY
16 plugins, 16 running


kod
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <colorchat>

#define PLUGIN "Admin Gag"
#define VERSION "1.0"
#define AUTHOR "AndrewZ"

#define GAG_IMMUNITY ADMIN_IMMUNITY
#define GAG_ACCESS ADMIN_CVAR
#define MAX_PLAYERS 32

#define TID 88897

const MAX_SAVED = 64

new g_user_menu_page[ MAX_PLAYERS + 1 ],
g_user_menu_players[ MAX_PLAYERS + 1 ][ MAX_PLAYERS ],
g_user_time[ MAX_PLAYERS + 1 ]

new g_user_gagged[ MAX_PLAYERS + 1 ]

new g_times[] = { 5, 10, 20, 30 }

new db_steamid[MAX_SAVED][32]
new db_gag[MAX_SAVED]
new db_slot_i

new g_SorryWait[33]

public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR )

register_forward( FM_Voice_SetClientListening, "fwd_voice_setclientlistening" )

register_clcmd( "amx_gagmenu", "show_gag_main_menu" )

register_clcmd( "say", "hook_say" )
register_clcmd( "say_team", "hook_say" )

register_menu( "gag_players_menu", 1023, "handler_gag_players_menu" )
register_menu( "gag_time_menu", -1, "handler_gag_time_menu" )
}

public client_putinserver( id )
{
g_SorryWait[id] = 0
load_gag(id)
}

public client_disconnect( id )
save_gag(id)

_remove_user_gag( id )
{
g_user_time[ id ] = g_times[ 0 ]
g_user_gagged[ id ] = 0

if( task_exists( TID + id ) )
remove_task( TID + id )
}

public fwd_voice_setclientlistening( receiver, sender, listen )
{
if( receiver != sender )
{
if( g_user_gagged[ sender ] )
{
engfunc( EngFunc_SetClientListening, receiver, sender, 0 )
return FMRES_SUPERCEDE
}
}

return FMRES_IGNORED
}

public hook_say( id )
{
if( g_user_gagged[ id ] )
{
new said[ 8 ]
read_args( said, 7 )

if( contain( said, "/sorry" ) != -1 && (!g_SorryWait[id] || get_systime() - g_SorryWait[id] > 30))
{
for( new i = 1; i <= MAX_PLAYERS; i ++ )
{
if( is_user_connected( i ) && get_user_flags( i ) & GAG_ACCESS )
{
new name[ 32 ]; get_user_name( id, name, 31 )
client_print_color( i, BLUE, "^3[GAG]^1 ^4%s^1 извиняется и просит снять с него молчанку.", name )
}
}

g_SorryWait[id] = get_systime()
client_print_color( id, BLUE, "^3[GAG]^1 Вы попросили прощение у администраторов." )
return PLUGIN_HANDLED
}


{
client_print_color( id, RED, "^3[GAG]^1 Вам запрещено писать в чат, можете попросить прощение командой /sorry." )
return PLUGIN_HANDLED
}
}

return PLUGIN_CONTINUE
}

public show_gag_main_menu( id, page )
{
if( !( get_user_flags( id ) & GAG_ACCESS ) )
return PLUGIN_HANDLED

if( page < 0 )
return PLUGIN_HANDLED

new players[ 32 ], num
get_players( players, num, "ch" )

new i = min( page * 7, num )
new start = i - ( i % 7 )
new end = min( start + 7, num )
page = start / 7

g_user_menu_page[ id ] = page
g_user_menu_players[ id ] = players

new menu[ 512 ]
new len = formatex( menu, 511, "\yЗаткнуть игрока\R%d/%d^n^n", page + 1, ( ( num - 1 ) / 7 ) + 1 )
new keys = MENU_KEY_0 + MENU_KEY_8

new item

for( i = start; i < end; i ++ )
{
new name[ 32 ]
new g_id = players[ i ]

get_user_name( g_id, name, 31 )

if( id == g_id )
len += formatex( menu[ len ], 511 - len, "\d%d. \y%s^n", ++ item, name )

else
{
if( get_user_flags( g_id ) & GAG_IMMUNITY )
len += formatex( menu[ len ], 511 - len, "\d%d. %s \r*^n", ++ item, name )

else
{
keys |= ( 1 << item )

if( g_user_gagged[ g_id ] )
len += formatex( menu[ len ], 511 - len, "\w%d. \w%s \r[ЗАТКНУТ]^n", ++ item, name )
else
len += formatex( menu[ len ], 511 - len, "\w%d. \w%s^n", ++ item, name )
}
}
}

len += formatex( menu[ len ], 511 - len, "^n\w8. Время: \y%d минут^n", g_user_time[ id ] )

if( end < num )
{
keys |= MENU_KEY_9
formatex( menu[ len ], 511 - len, "^n\w9. Далее^n0. %s", page ? "Назад" : "Выход" )
}

else formatex( menu[ len ], 511 - len, "^n\w0. %s", page ? "Назад" : "Выход" )

show_menu( id, keys, menu, -1, "gag_players_menu" )

return PLUGIN_HANDLED
}

public handler_gag_players_menu( id, key )
{
switch( key )
{
case 0..6:
{
new g_id = g_user_menu_players[ id ][ g_user_menu_page[ id ] * 7 + key ]

if( is_user_connected( g_id ) )
{
if( !( get_user_flags( g_id ) & GAG_IMMUNITY ) )
{
new name[ 32 ]; get_user_name( id, name, 31 )
new g_name[ 32 ]; get_user_name( g_id, g_name, 31 )

if( !g_user_gagged[ g_id ] )
{
new time = g_user_time[ id ]
g_user_gagged[ g_id ] = 1
client_print_color( 0, RED, "^3[GAG]^1 ^4%s^1 заткнул ^4%s^1 на ^3%d^1 минут. Попросить прощение: /sorry.", name, g_name, time )
set_task( float( time ) * 60.0, "task_ungag", g_id + TID )
}
else
{
_remove_user_gag( g_id )
client_print_color( 0, BLUE, "^3[GAG]^1 ^4%s^1 снял молчанку с ^4%s^1.", name, g_name )
}
}

else client_print_color( id, BLUE, "^3[GAG] ^1Этот игрок имеет иммунитет." )
}

else client_print_color( id, BLUE, "^3[GAG] ^1Этот игрок отключился от сервера." )

show_gag_main_menu( id, 0 )
}

case 7: show_gag_time_menu( id )
case 8: show_gag_main_menu( id, ++ g_user_menu_page[ id ] )
case 9: show_gag_main_menu( id, -- g_user_menu_page[ id ] )
}
}

public task_ungag( task_id )
{
new id = task_id - TID

_remove_user_gag( id )

new name[ 32 ]; get_user_name( id, name, 31 )
client_print_color( 0, BLUE, "^3[GAG] ^1C игрока ^4%s^1 снята молчанка.", name )
}

public show_gag_time_menu( id )
{
new menu[ 256 ], len, keys = MENU_KEY_0

len = formatex( menu, charsmax( menu ), "\yВыбор времени молчанки^n\w" )

new item

for( new i; i < sizeof g_times; i ++ )
{
keys |= ( 1 << item )
len += formatex( menu[ len ], charsmax( menu ) - len, "^n%d. %d минут", ++ item, g_times[ i ] )
}

len += formatex( menu[ len ], charsmax( menu ) - len, "^n^n0. Выход" )

show_menu( id, keys, menu, _, "gag_time_menu" )
}

public handler_gag_time_menu( id, key )
{
switch( key )
{
case 0..4:
{
g_user_time[ id ] = g_times[ key ]
show_gag_main_menu( id, 0 )
}
}
}

save_gag(id)
{
new g_steamid[32]
get_user_authid(id, g_steamid, charsmax(g_steamid))
if (db_steamid[id][0] && !equal(g_steamid, db_steamid[id]))
{
if (db_slot_i >= sizeof db_steamid)
db_slot_i = get_maxplayers()+1

copy(db_steamid[db_slot_i], charsmax(db_steamid[]), db_steamid[id])
db_gag[db_slot_i] = db_gag[id]
db_slot_i++
}

copy(db_steamid[id], charsmax(db_steamid[]), g_steamid)
db_gag[id] = g_user_gagged[id]
}

load_gag(id)
{
new g_steamid[32]
get_user_authid(id, g_steamid, charsmax(g_steamid))

static i
for (i = 0; i < sizeof db_steamid; i++)
{
if (equal(g_steamid, db_steamid[i]))
{
g_user_gagged[id] = db_gag[i]
return;
}
}
}


Отредактировал: Virtes73, - 8.2.2016, 15:32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
podbot
сообщение 8.2.2016, 15:55
Сообщение #174
Стаж: 9 лет

Сообщений: 1242
Благодарностей: 366
Полезность: < 0

vtc старый поставь)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя islam20
сообщение 3.4.2017, 4:20
Сообщение #175
Стаж: 13 лет
Город: Austria

Сообщений: 1
Благодарностей: 1
Полезность: 0

Спасибо за плагин работает супер
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
9 страниц V  « 8 9
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: