Несколько вопросов |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
Несколько вопросов |
Mr.Dmitry
|
29.3.2011, 19:27
Сообщение
|
![]() |
Лазил по форуму и нашел вот эту тему
До этого ни когда не занимался плагинами. Нашел этот и решил поковыряется. Сразу же возникло несколько вопросов. Сколько можно добавить слов в массив? У меня больше 198 не лезит (( А это мало. И как можно закрыть матерное слово? Именно слово а не все сообщение! Все сообщение закрывается без проблем ) |
|
|
|
Mr.Dmitry
|
29.3.2011, 20:02
Сообщение
|
![]() |
Лазил по форуму и нашел вот эту тему До этого ни когда не занимался плагинами. Нашел этот и решил поковыряется. Сразу же возникло несколько вопросов. Сколько можно добавить слов в массив? У меня больше 198 не лезит (( А это мало. И как можно закрыть матерное слово? Именно слово а не все сообщение! Все сообщение закрывается без проблем ) Вот что сейчас я сделал antimat.sma Код #include <amxmodx> #include <amxmisc> #include <cstrike> // Change this number to the number of mat words (currently 2) #define MATWORDS 559 #define MAX_WORDS 200 //Default required admin level - don't want too many admins to have it, for the sake of speed #define ACCESS_LEVEL ADMIN_IMMUNITY new g_Warned[33] new g_MatWords[MATWORDS][] = // DON'T DO ANYTHING HERE! { "e6", "e6", "eb", "blya", "yob", "huy", "xyu", "xye", "huj", "hui", "xui", "huli", "/7uga", "/7uda", "nuga", "nugp", "nugep", "nuda", "nudop", "nudr", "pudp", "pi3da", "/7u3g", "nu3g", "pizda", "pi3d", "zopa", "zadrot", "suk", "cyk", "syk", "such", "suki", "su4", "cy4", "cuka", "cuki", "cuku", "paskud", "loshar", "lox", "loh", "sosi", "COCU", "coco", "zaebal", "zaibal", "ueban", "idiot", "suka", "syka", "cyka", "cuka", "syki", "bl9", "blya", "loh", "lox", "l0x", "idiot", "pridyrok", "prudyrok", "pidar", "loshara", "sosi", "coci", "xyi", "mlya", "ml9", "fuck", "baran", "yrod", "zaebal", "poxyi", "gnida", "piska", "nax", "nah", "scykoo", "mlia", "***", "kozlu", "kozel", "ebatb", "kpbIca", "LO)(", "loLLIapa", "LLOOXX", "ycbIpa4", "su4ku", "su4ki", "su4ka", "pedarasika", "blia", "pediki", "romuku", "xy*", "nuCbka", "6apaH", "xy*lo", "XYLI", "blad", "epanytsya", "ebalo", "zaebi", "nu3Da", "nugpu/\o", "zaipal", "4mo", "4mmo", "scyko", "bI4", "nugop", "negapIOra", "L_O_X_!", "L_O_X", "pizdovatuj", "raBHo", "dubilu", "oleni", "pizdak", "sasat", "svolo4", "B.L.9l.", "gamno", "pizdec", "pizda", "lo.h", "pis`ka", "ssukynu", "NIGER", "3ae6aJI", "lowapik", "/7ePDyH", "shlyxa", "xy9ce", "CboJIo4", "iopnyta9", "cy_KI", "kpblc|0ku", "DAyH", "Topmo3", "drochyn", "lawara", "cyko", "IiagoHar", "e6aTb", "debilu", "CY_KA", "puzdec", "gayH", "unaTb", "e6alo", "1OX", "NA)(", "debil", "inaTb", "suka", "blya", "loh", "IIuIIeu", "nnu", "c y k a 6Jl9", "6/la", "/\ox", "/7cux", "/7oxyi", "/7u3DA", "/7u3DEL|", "/7u3Do6oJI", "/7u3dyH", "/7u3DyH", "/7u3dyK", "/7u3ga", "/7u3gaKpbl/|", "/7uDOPAS", "/7udoras", "/7y3DeL|", "/Iox", "}I{O/7A", "}I{O/7y", "3aDrot", "3adrot", "3ae6a/\", "3ae6ucb", "3aebal", "3aebali", "3aeblo", "3AeBlo", "3aeblo", "3AeBlo", "3aJIy/7a", "3au/7aJI", "3au6aJIu", "3oofuJI", "4len", "4moLLlnik", "6/\9", "6JI9", "6JI9Idyga", "6JI9Itb", "ahuet", "ahyet", "ass-hole", "asshole", "axuenno", "Axueno", "axuet", "axuetb", "axyenno", "axyet", "Axyetb", "b1ay", "balvan", "bitch", "bl9", "bl9|", "bl9i", "bl9idinbI", "bl9It", "bl9l", "bla", "bla", "blai", "blat", "blay", "blia", "bliat'", "blja", "blya", "blyat", "blyt", "chit", "chitak", "chiter", "chitu", "COCu", "cuka", "cy4apa", "Cy4aRa", "Cy4bE", "Cy4eHOk", "cy4ka", "Cy4KA", "CY4KA", "Cy4uJIO", "Cyka", "CYKA", "cyka", "Cyku", "CYKu", "d9ITeJI", "d9ITeJL", "daun", "DAyH", "debil", "dibil", "dolboeb", "DP9IHb", "dra4ilo", "dra4it'", "Dro4itb", "durak", "dyatel", "e6/la", "e6aHA9I", "e6aHbIu", "e6aJI", "e6anble", "e6annble", "e6annnble", "e6aTb", "e6JIAH", "e6JIaHu", "EBAHIY", "ebal", "ebalbnik", "EbaLLL", "ebaLLl", "eBaLLlitb", "ebanat", "ebanbiu", "ebani", "ebanoe", "ebanu", "ebanuts9i", "ebany", "ebarb", "ebat", "eBatb", "ebi", "ebla", "eblan", "ebta", "ebu", "ebu4ie", "ebuchi", "ebuchie", "ebuhie", "ebut", "eby", "eBy4iu", "fuck", "GANDOHuLL|E", "GaNdon", "gandon", "govno", "ha4", "hachik", "HAxy9I", "hernia", "HExy9I", "hu19", "hui", "hujnya", "hul9", "huli", "hulja", "hulu", "hulya", "hunya", "huy", "huya", "hyli", "hyu", "idiot", "JIOXALLIAPA", "ka3el", "kazel", "KO3EJI", "ko3eJI", "ko3el", "KO3JI", "KO3JIbI", "ko3li", "kozel", "krbIca", "kriso4ka", "lamin", "loh", "loshara", "loshok", "lox", "lox", "mudak", "Mudik", "mudila", "mudila", "mudilo", "mudlan", "mudlo", "myda3von", "mydak", "mydila", "myDJIaH", "MyDuJIO", "MyuJIO", "naher", "naxuy", "naxyu", "naxyu'", "Naxyu", "Naxyu", "ne3D", "ne3Da", "ne3Dy", "nexuya", "nigga", "nigger", "nixera", "nixuya", "nizga", "noxyu", "nu3DA", "nu3dec", "nu3DEL|", "nu3ga", "ohyel", "Ohyet", "osel", "Otbebisb", "oTbeBisbka", "oTbeBisbka", "OTCOCUTE", "OXyEJI", "oxyetb", "OXyETb", "oxyetb", "padl", "PaDla", "padla", "padlu", "paskuda", "petux", "Pi3da", "Pi3dabol", "Pi3daNutS9|", "pi3danyts9i", "pi3dato", "Pi3daTo", "pi3dec", "pi3deLL", "pi3delL", "Pi3deLLl", "Pi3Diok", "pi3dobol", "pi3docik", "Pi3Dosik", "pi3dy", "pidar", "pidaras", "pidor", "pidr", "pizd", "pizda", "pizdec", "PIZDEL|", "pizdi", "pizdobol", "PIZDOS", "pizdqa", "pizduk", "pizdun", "pohuy", "ProXu9|Ritb", "proxy9iritb", "psix", "pu3deLLl", "pu3di", "pu3du", "Pu3Dy", "puDAR", "pussies", "pussy", "PuzDu", "raHDoH", "sosi", "su4ara", "su4ilo", "su4ka", "suchenok", "suka", "suki", "svolo4uga", "Sy4ara", "syca", "syka", "syki", "tupoi", "tvarb", "Tyna9l", "TynaP", "ueban", "urod", "vafel", "Xu9|Ritb", "xuesos", "Xuevo", "xui", "xuilo", "xuinya", "xuli", "xuy ***", "xuya", "xuynia", "xy9", "Xy9CE6E", "xy9I", "xy9irutb", "Xy9Ise", "xy9l", "XYeBO", "xyeBo", "xyecoc", "XyeTa", "xyeta", "xyeta", "XyeTa", "xyevo", "xyi", "xyi", "xyilo", "XyJI9I", "XyJIu", "xyl9", "xyli", "xyli", "xylu", "XYu", "xyu", "xyu", "xyuH9I", "XyuJIO", "Xyulo", "xyumAN", "ye6ok", "Yeban", "yeBaN", "Yeban", "yeBaN", "yeBaneL|", "yebaneLL", "yebok", "yPod", "ypogbI", "zadrot", "zaeb", "zaebal", "zaibal", "zaibali", "zalupa", "zhopy", "zoofil", "zopa", "zsuka", "/\o/\", "lol", "LoL", "Lol", "l0l", "L0L", "e6atb", "eb", "pizd", "bla", "hui", "huy", "hu", "xy", "lox", "loh", "6/la", "/\ox", "/7u3D", "3ae6", "6/\9", "6JI9", "bl9", "bla", "COCu", "cuka", "cy4", "Cyk", "loh", "losh", "lox", "mudak", "nu3DA", "nu3dec", "pidor", "pidr", "piz", "nax", "suka", "syca", "syka", "rand", "cyk", "fuck" } public client_putinserver(id) { set_task(20.0, "dispLogo", id) } public dispLogo(id) { new name[32], userip[16] get_user_name(id, name, 31) get_user_ip(id, userip, 15, 1) set_hudmessage(0, 100, 200, 0.05, 0.40, 2, 0.1, 4.0, 0.02, 0.02, 2) show_hudmessage(id, "nPuBeT %s", name, userip) set_hudmessage(140, 0, 0, 0.05, 0.42, 2, 0.1, 4.0, 0.02, 0.02, 3) show_hudmessage(id, "Ha cepBepe yctaHoBJ|eHa AHTuMAT 3awuTa!") } new g_Antimat public plugin_init() { register_plugin("Antimat", "1.5", "Mr.Dmitry") g_Antimat = register_cvar("antimat_enabled", "1") register_cvar("antimat_money1","6000") register_cvar("antimat_money2","16000") register_clcmd("say", "Say") register_clcmd("say_team", "Say") } public client_connect(id){ new name[32], userip[16] get_user_name(id,name,31) get_user_ip(id,userip,15,1) g_Warned[id] = 0 for (new i = 0; i < MATWORDS; i++){ new pos = containi(name,g_MatWords[i]) if (pos != -1) { client_print(0,print_chat,"** %s (%s) 6bIJI oTKJII04eH! MaTepLLIuHHoe uM9! **", name, userip) client_cmd(id,"echo ** 3anpeLLjeHbI MaTbI B HuKax! **; disconnect") return PLUGIN_HANDLED } } return PLUGIN_CONTINUE } public client_infochanged(id) { if (is_user_connected(id)){ new newname[32], oldname[32] get_user_info(id, "name", newname,31) get_user_name(id,oldname,31) if (!equal(oldname,newname)) { for (new i = 0; i < MATWORDS; i++){ new pos = containi(newname,g_MatWords[i]) if (pos != -1) { client_cmd(id,"echo ** 3anpeLLjeHbI MaTbI B HuKax! **") set_user_info(id,"name",oldname) } } } } return PLUGIN_HANDLED } public Say(id) { if (!get_pcvar_num(g_Antimat)) return PLUGIN_HANDLED new Text[128] // Should be enough read_args(Text, 127) new money1 = get_cvar_num("antimat_money1") new money2 = get_cvar_num("antimat_money2") new my_money new len new cmd[10] read_argv(0,cmd,9) for (new i = 0; i < MATWORDS; i++) { new pos = containi(Text,g_MatWords[i]) if (pos != -1) { len=strlen(Text) replace(Text, len, g_MatWords[i], "*" ) engclient_cmd(id, cmd, Text) g_Warned[id] += 1 if (g_Warned[id] == 1){ client_print(id, print_chat, "[Antimat] Ha cpBepe 3anPeLLjeH maT") } else if (g_Warned[id] == 2){ my_money = cs_get_user_money(id) if (my_money>=money1) cs_set_user_money(id, (my_money-money1), 1) else cs_set_user_money(id, 0, 1) client_print(id, print_chat, "[Antimat] BToPoe nPeDYnPe}|{DeHuE") } else if (g_Warned[id] == 3){ my_money = cs_get_user_money(id) if (my_money>=money2) cs_set_user_money(id, (my_money-money2), 1) else cs_set_user_money(id, 0, 1) client_print(id, print_chat, "[Antimat] ETO nocJIedHee nPeDynPe}|{DeHuEE") } else if (g_Warned[id] == 4) { new name[32], ip[32], authid[32] get_user_name(id, name, 31) get_user_ip(id, ip, 31, 1) get_user_authid(id, authid, 31) server_cmd("amx_gag #%d ", get_user_userid(id)) set_hudmessage(0, 100, 200, 0.05, 0.70, 0, 6.0, 4.0) show_hudmessage( 0, "[Antimat] %s 4aT 6bIJI 3a6JIokuPoBaH !", name) } } } return PLUGIN_CONTINUE } } Плагин выдает одно предупреждение и отнимает 5к на второе нарушение дает предупреждение и отнимает все деньги на третье полностью блокирует чат на 10 минут. При смени ника на матерный отнимает 5к и дает предупреждение и меняет ник на предыдущий. при коннекти на сервер с матерным ником не пускает на сервер. Понимаю что все это уже давно реализовано, но я делаю чисто для себя )) Так что вопросы с 1 сообщения актуальны
Отредактировал: Mr.Dmitry, - 30.3.2011, 15:03
|
|
|
|
Mr.Dmitry
|
29.3.2011, 20:32
Сообщение
|
![]() |
|
|
|
|
Mr.Dmitry
|
29.3.2011, 22:24
Сообщение
|
![]() |
С кол-во матов в словаре разобрался
Появился другой вопрос, есть ли какая то альтернатива gagip? Чтоб был гаг на время |
|
|
|
scurra
|
30.3.2011, 12:37
Сообщение
|
![]() |
|
Поблагодарили 1 раз
|
|
scurra
|
30.3.2011, 14:38
Сообщение
|
![]() |
а где в твоём коде вывод в чат?
пробуй так в конце функции Код new cmd[10]
read_argv(0,cmd,9) engclient_cmd(id,cmd,Text) return PLUGIN_HANDLED |
Поблагодарили 1 раз
|
|
scurra
|
30.3.2011, 15:00
Сообщение
|
![]() |
обнови пост с полным кодом
|
|
|
|
Mr.Dmitry
|
30.3.2011, 15:03
Сообщение
|
![]() |
|
|
|
|
![]() ![]() |