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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Изменить Swear_replacement

, нужна помощь скриптера
Статус пользователя Jordan2390
сообщение 24.5.2009, 22:41
Сообщение #1


Стаж: 17 лет

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

Может ли кто изменить этот плагинчег на то чтобы вместо кика за мат, давался gag на минут 10-20.

CODE
#include <amxmodx>
#include <amxmisc>

// max number of words in swear list and max number of lines in replace list
#define MAX_WORDS 150
#define MAX_REPLACE 50

// global variables for storing the swear list and replace list and their respective number of lines
new g_swearWords[MAX_WORDS][20]
new g_replaceLines[MAX_REPLACE][192]
new g_swearNum
new g_replaceNum

public plugin_init()
{
register_plugin ( "Swear Replacement", "1.5", "kaboomkazoom")
register_clcmd ( "say", "swearcheck" )
register_clcmd ( "say_team", "swearcheck" )
register_concmd ( "amx_addswear", "add_swear", ADMIN_LEVEL_A , "< swear word to add >" )
register_concmd ( "amx_addreplacement", "add_replacement", ADMIN_LEVEL_A , "< replacement line to add >" )
readList()
}

readList()
{
new Configsdir[64]
new swear_file[64], replace_file[64]
get_configsdir( Configsdir, 63 )
format(swear_file, 63, "%s/swearwords.ini", Configsdir )
format(replace_file, 63, "%s/replacements.ini", Configsdir )

if ( !file_exists(swear_file) )
{
server_print ( "==========================================================" )
server_print ( "[Swear Replacement] %s file not found", swear_file )
server_print ( "==========================================================" )
return
}

if ( !file_exists(replace_file) )
{
server_print ( "==========================================================" )
server_print ( "[Swear Replacement] %s file not found", replace_file )
server_print ( "==========================================================" )
return
}

new len, i=0
while( i < MAX_WORDS && read_file( swear_file, i , g_swearWords[g_swearNum], 19, len ) )
{
i++
if( g_swearWords[g_swearNum][0] == ';' || len == 0 )
continue
g_swearNum++
}

i=0
while( i < MAX_REPLACE && read_file( replace_file, i , g_replaceLines[g_replaceNum], 191, len ) )
{
i++
if( g_replaceLines[g_replaceNum][0] == ';' || len == 0 )
continue
g_replaceNum++
}

server_print ( "======================================================" )
server_print ( "[Swear Replacement] loaded %d Swear words", g_swearNum )
server_print ( "[Swear Replacement] loaded %d Replacement Lines", g_replaceNum )
server_print ( "======================================================" )

}

public client_connect(id)
{
new new_name[32]
get_user_name ( id, new_name, 31 )


string_cleaner ( new_name )

new i = 0
while ( i < g_swearNum )
{
if ( containi ( new_name, g_swearWords[i++] ) != -1 )
{
client_cmd ( id, "name ^"HET MATY^"" )
return PLUGIN_CONTINUE
}
}
return PLUGIN_CONTINUE
}


public swearcheck(id)
{
if ( (get_user_flags(id)&ADMIN_LEVEL_A) || !id )
return PLUGIN_CONTINUE

new said[192]
read_args ( said, 191 )

string_cleaner ( said )

new i = 0


while ( i < g_swearNum )
{
if ( containi ( said, g_swearWords[i++] ) != -1 )
{
new j, playercount, players[32], user_name[32]
get_user_name ( id, user_name, 31 )

server_cmd("amx_gag ^"%s^" ^"%s^"", user_name,"HET MATY!")

for ( j = 0; j < playercount; j++)
{
if ( get_user_flags(players[j])&ADMIN_LEVEL_A )
client_print( players[j], print_chat, "[Swear Replacement] Player %s kicknut 3a %s",user_name, said )
}



return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}

public add_swear(id)
{
if ( ( !(get_user_flags(id)&ADMIN_LEVEL_A) && id ) )
{
client_print ( id, print_console, "[Swear Replacement] Access Denied" )
return PLUGIN_HANDLED
}

if ( read_argc() == 1 )
{
client_print ( id, print_console, "[Swear Replacement] Arguments not provided" )
return PLUGIN_HANDLED
}

new Configsdir[64]
new swear_file[64]
get_configsdir( Configsdir, 63 )
format ( swear_file, 63, "%s/swearwords.ini", Configsdir )

read_args ( g_swearWords[g_swearNum], 19 )
write_file( swear_file, "" )
write_file( swear_file, g_swearWords[g_swearNum] )
g_swearNum++

id ? client_print ( id, print_console, "[Swear Replacement] Swear word added to List" ) : server_print ( "[Swear Replacement] Swear word added to file" )

return PLUGIN_HANDLED
}

public add_replacement(id)
{
if ( ( !(get_user_flags(id)&ADMIN_LEVEL_A) && id ) )
{
client_print ( id, print_console, "[Swear Replacement] Access Denied" )
return PLUGIN_HANDLED
}

if ( read_argc() == 1 )
{
client_print ( id, print_console, "[Swear Replacement] Arguments not provided" )
return PLUGIN_HANDLED
}

new Configsdir[64]
new replace_file[64]
get_configsdir( Configsdir, 63 )
format ( replace_file, 63, "%s/replacements.ini", Configsdir )

read_args ( g_replaceLines[g_replaceNum], 191 )
write_file( replace_file, "" )
write_file( replace_file, g_replaceLines[g_replaceNum] )
g_replaceNum++

id ? client_print ( id, print_console, "[Swear Replacement] Replacement Line added to List" ) : server_print ( "[Swear Replacement] Replacement Line added to file" )

return PLUGIN_HANDLED
}

public string_cleaner( str[] )
{
new i, len = strlen ( str )
while ( contain ( str, " " ) != -1 )
replace ( str, len, " ", "" )

len = strlen ( str )
while ( contain ( str, "|<" ) != -1 )
replace ( str, len, "|<", "k" )

len = strlen ( str )
while ( contain ( str, "|>" ) != -1 )
replace ( str, len, "|>", "p" )

len = strlen ( str )
while ( contain ( str, "()" ) != -1 )
replace ( str, len, "()", "o" )

len = strlen ( str )
while ( contain ( str, "[]" ) != -1 )
replace ( str, len, "[]", "o" )

len = strlen ( str )
while ( contain ( str, "{}" ) != -1 )
replace ( str, len, "{}", "o" )

len = strlen ( str )
for ( i = 0; i < len; i++ )
{
if ( str[i] == '@' )
str[i] = 'a'

if ( str[i] == '$' )
str[i] = 's'

if ( str[i] == '0' )
str[i] = 'o'

if ( str[i] == '7' )
str[i] = 't'

if ( str[i] == '3' )
str[i] = 'e'

if ( str[i] == '5' )
str[i] = 's'

if ( str[i] == '<' )
str[i] = 'c'

if ( str[i] == '3' )
str[i] = 'e'

}
}


Отредактировал: Jordan2390, - 24.5.2009, 22:42
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя *Silence*
сообщение 25.5.2009, 6:46
Сообщение #2


Стаж: 18 лет

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

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

Чтоб давался gag за мат это плагин rs_swear_filter его ставь... вот ссылка: https://c-s.net.ua/forum/topic9668.html
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Jordan2390
сообщение 25.5.2009, 9:00
Сообщение #3


Стаж: 17 лет

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

Цитата(*Silence* @ 25.5.2009, 6:46) *
Чтоб давался gag за мат это плагин rs_swear_filter его ставь... вот ссылка: https://c-s.net.ua/forum/topic9668.html

мм. Интересный плаг. Не видел такого, спасибо
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: