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

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

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

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

9 страниц V  « 6 7 8 »

AdminGag (Молчанка)

, Заткнуть игрока
asus5343
сообщение 17.8.2014, 10:47
Сообщение #121
Стаж: 12 лет

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

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

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

код испорченный

client_print_color( 0, print_team_blue, "^3[GAG]^1 ^4%s^1 снял молчанку с ^4%s^1.", name, g_name )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
XyLiGaN
сообщение 17.8.2014, 10:50
Сообщение #122
Стаж: 13 лет
Город: Югорск

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

Меценат Меценат

asus5343,
Код не испорченный, кодировка кривая просто...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя antohab
сообщение 26.8.2014, 23:38
Сообщение #123
Стаж: 11 лет

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

Отличный гаг. Спасибо
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BornToBeFree
сообщение 31.8.2014, 10:09
Сообщение #124


Стаж: 12 лет

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

Меценат Меценат

Бывает такое, что после того как заткнул игрока - его всё равно слышно


Скидка 5% при заказе сервера
Чтобы получить 5% скидку при заказе сервера на хостинге Serva4ok.ru
Необходимо ввести это кодовое слово gKUt-FENO-ZonE-aIaa
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xalk963589
сообщение 31.8.2014, 10:48
Сообщение #125


Стаж: 12 лет

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

ExTPuMaJI,
Тоже было такое пару раз)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя tenb63rus
сообщение 31.8.2014, 17:51
Сообщение #126


Стаж: 12 лет

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

Гаг слетает после простого реконнекта или смены карты.
Есть умельцы которые смогут это пофиксить? Была бы достойная замена платному гагу Скальпеля...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 31.8.2014, 18:08
Сообщение #127


Стаж: 12 лет

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

tenb63rus, нужно просто куда то записывать заткнутых по SteamID
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
XyLiGaN
сообщение 31.8.2014, 18:23
Сообщение #128
Стаж: 13 лет
Город: Югорск

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

Меценат Меценат

Bloo,
Можно взять код из admin esp и использовать nvault для хранения steam id :)
Как-то давно ковырялся, там не так уж и много делать, думаю кто-то и сделает) Либо заносить/удалять данные в БД MySQL
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bambuc
сообщение 31.8.2014, 19:04
Сообщение #129


Стаж: 13 лет

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

Меценат Меценат

Я не понимаю, что у вас за сервера. У меня все нормально работает без всяких багов.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 31.8.2014, 19:37
Сообщение #130


Стаж: 12 лет

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

Bambuc, это не баг, при реконнекте гаг не будет действовать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
XyLiGaN
сообщение 31.8.2014, 19:42
Сообщение #131
Стаж: 13 лет
Город: Югорск

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

Меценат Меценат

Цитата(Bloo @ 31.8.2014, 23:37) *
Bambuc, это не баг, при реконнекте гаг не будет действовать

Ну вот, взял парня обезнадёжил :-)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bambuc
сообщение 31.8.2014, 19:47
Сообщение #132


Стаж: 13 лет

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

Меценат Меценат

Цитата(Bloo @ 31.8.2014, 19:37) *
Bambuc, это не баг, при реконнекте гаг не будет действовать

Как не будет, если я специально у Imagine заказывал это
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
ops244
сообщение 31.8.2014, 19:50
Сообщение #133
Стаж: 15 лет

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

там вроде работает после реконнекта, ток если мапу сменить слетит
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя wer1K
сообщение 2.9.2014, 17:21
Сообщение #134
Стаж: 18 лет

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

Меценат Меценат

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

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



Проблема с кодировкой. Может у кого-то есть уже русифицированная версия?
скрин
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fintok
сообщение 2.9.2014, 17:23
Сообщение #135


Стаж: 16 лет

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

xxf3mzue, измени кодировку в редакторе на UTF-8 без boom
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя wer1K
сообщение 2.9.2014, 17:52
Сообщение #136
Стаж: 18 лет

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

Меценат Меценат

Fintok, менял и преобразовывал в UTF-8 без BOM, но крякозябры от этого не менялись. Или у вас отображается нормально в исходнике?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя selest
сообщение 2.9.2014, 19:15
Сообщение #137


Стаж: 12 лет

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

Когда снимаешь гаг ,то в чат пишет целых 3 сообщения ,что гаг снят!)
Как исправить?))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 2.9.2014, 19:30
Сообщение #138


Стаж: 12 лет

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

xxf3mzue, так ты его не правильно скачиваешь. Правой кнопкой, сохранить как.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fintok
сообщение 2.9.2014, 19:48
Сообщение #139


Стаж: 16 лет

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

Цитата(xxf3mzue @ 2.9.2014, 19:52) *
Fintok, менял и преобразовывал в UTF-8 без BOM, но крякозябры от этого не менялись. Или у вас отображается нормально в исходнике?

Плохо значит старались. У всех нормально отображается, а только у вас нет.

Скрытый текст
Код:

//
// модификаиця от serfreeman1337
// * быстрая смена времени гага
// * использование нативных функций AMXX 1.8.3
// + запоминание последней страницы меню
// http://gf.hldm.org/
// 21.07.2014
//

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#if AMXX_VERSION_NUM < 183
#include <colorchat>

#define print_team_default DontChange
#define print_team_grey Grey
#define print_team_red Red
#define print_team_blue Blue
#endif

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

#define GAG_IMMUNITY ADMIN_IMMUNITY
#define GAG_ACCESS ADMIN_KICK
#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" )
}

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

public client_disconnect( id )
{
save_gag(id)
_remove_user_gag( id )
}

_remove_user_gag( id ){
g_user_time[ id ] = 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, print_team_blue, "^3[GAG]^1 ^4%s^1 извиняется и просит снять с него молчанку.", name )
}
}

g_SorryWait[id] = get_systime()
client_print_color( id, print_team_blue, "^3[GAG]^1 Вы попросили прощение у администраторов." )
return PLUGIN_HANDLED
}else{
client_print_color( id, print_team_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, "h" )

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 )
}
}
}

// dont over index arrays? net, ne sliwal
len += formatex( menu[ len ], 511 - len, "^n\w8. Время: \y%d минут^n",
g_times[
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_times[
g_user_time[ id ]
]

g_user_gagged[ g_id ] = 1
client_print_color( 0, print_team_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, print_team_blue, "^3[GAG]^1 ^4%s^1 снял молчанку с ^4%s^1.", name, g_name )
}
}

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

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

show_gag_main_menu( id, g_user_menu_page[ id ] )
}

case 7: {
g_user_time[id] ++

if(g_user_time[id] >= sizeof g_times)
g_user_time[id] = 0

show_gag_main_menu(id,g_user_menu_page[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, print_team_blue, "^3[GAG] ^1C игрока ^4%s^1 снята молчанка.", name )
}

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;
}
}
}


Bloo, там файл в кодировке ANSI, его надо было просто перекодировать.

selest, после 255 строки добавь
Код:
return PLUGIN_HANDLED
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 2.9.2014, 19:49
Сообщение #140


Стаж: 12 лет

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

Fintok, он его изначально получает в иероглифах, а значит он его открывает в браузере и из него копирует текстом, а браузер уже косячит с кодировкой.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
9 страниц V  « 6 7 8 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: