Gag System [API] v1.1

Одобрените от нас плъгини. Моля, докладвайте ако забележите бъг с някой от плъгините в този раздел.
Потребителски аватар

Автор на темата
TheRedShoko ReShoko
Модератор
Модератор
Мнения: 990
Регистриран: 06 окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 4 пъти
Получена благодарност: 53 пъти

Gag System [API] v1.1

Мнение от TheRedShoko ReShoko » 12 дек 2017, 11:11

Име на плъгина: Gag System
Автор: TheRedShoko
Версия: 1.1

Описание: Плъгинът представлява Gag система, която забранява на даден играч да пише в чата. Има доста такива онлайн, но скоро отворих кода на така известната система на Kostov, която се оказа с леко омазан код. Реших да пусна една моя такава, която да бъде подобна на неговата, но с оправени няколко бъга и променен дизайн.
Модули нужни за правилното функциониране на плъгина:
  • fakemeta
  • regex
  • nvault

Cvars:
gagsystem_showhud - включва/изключва hud съобщенията (по подразбиране: "1")
gagsystem_printexpired - включва/изключва съобщенията за изтекъл гаг (по подразбиране: "1")
Под AMXX 1.8.2 изисква смяна на мапа, за да бъдат активирани!!!

Commands:
  • amx_gag <nick | #id | ip> <minutes> <reason> - гагва играч по даден nick/userid/ip за дадени минути (ако бъде подадено 0 ще е завинаги) с дадена причина.
  • amx_ungag <nick | #id | ip> - премахва гага на играч с даден nick/userid/ip.
  • amx_gagmenu - отваря меню с играчи, от където може да слагате/премахвате гаг
  • amx_cleangags - изтрива всички направени до момента гагове

Change log:
v0.1 ALPHA - first release
v0.2 ALPHA - added gag menu, fixed double gag bug.

v1.0:
- official release
- added block name change while gagged
- added amx_cleangags command
- fixed 1.8.2 compile time errors
- added hud messages that can be disabled by cvar gagsystem_showhud
- added messages on gag expire that can be disabled by cvar gagsystem_printexpired (on 1.8.2 when enabled by cvar it requires map change)
- added sound on gag
- added define to disable logging
- blocked microphone usage while gagged
v1.1
- added API for the plugin

Инсталация на плъгина:
1. Компилирате локално плъгина и инсталирате както всеки друг.
[/ht]
Използване на API
Прикачил съм API библиотека с natives и forwards, които биха могли да помогнат при разработка на други плъгини. В архива при inc файла съм добавил unit tests, които са използвани за изпробване на правилното функциониране на natives. От тях можете да видите примери как се използват natives на плъгина.
Настройки на плъгина:
- Ако искате да изключите log-ването на gags/ungags трябва да добавите // пред #define LOG_GAGS
- Ако искате да добавите/премахнете това се случва от new const g_GagTimes[][GagTimeData] =. В бъдеще ще бъде добавено през ini файл или нещо подобно.
- Ако искате да промените префикса на чат съобщенията, това се прави от new const g_szChatPrefix[] = "[GagSystem]";.
- Името на log файла можете да промените от new const g_szLogFile[] = "addons/amxmodx/logs/gag_system.log";

!-- ВАЖНО --!
#define IP_PATTERN "([0-9]+.*[1-9][0-9]+.*[0-9]+.*[0-9])" НЕ ТРЯБВА ДА СЕ ПИПА В ПРОТИВЕН СЛУЧАЙ GAG И UNGAG КОМАНДИТЕ НЯМА ДА РАБОТЯТ.

Снимки:

Гаг меню:
Screenshot_2.png
Screenshot_2.png (59.67 KиБ) Видяна 267 пъти
Screenshot_2.png
Screenshot_2.png (59.67 KиБ) Видяна 267 пъти
Въвеждане на причина за гаг:
Screenshot_3.png
Screenshot_3.png (19.12 KиБ) Видяна 267 пъти
Screenshot_3.png
Screenshot_3.png (19.12 KиБ) Видяна 267 пъти
Hud съобщение при GAG:
Screenshot_4.png
Screenshot_4.png (68.13 KиБ) Видяна 267 пъти
Screenshot_4.png
Screenshot_4.png (68.13 KиБ) Видяна 267 пъти
Чат съобщение, пак при GAG:
Screenshot_5.png
Screenshot_5.png (49.51 KиБ) Видяна 267 пъти
Screenshot_5.png
Screenshot_5.png (49.51 KиБ) Видяна 267 пъти
Hud съобщение при ungag:
Screenshot_6.png
Screenshot_6.png (46.62 KиБ) Видяна 267 пъти
Screenshot_6.png
Screenshot_6.png (46.62 KиБ) Видяна 267 пъти
Чат съобщение при ungag:
Screenshot_7.png
Screenshot_7.png (39.45 KиБ) Видяна 267 пъти
Screenshot_7.png
Screenshot_7.png (39.45 KиБ) Видяна 267 пъти
За да компилирате ще ви трябва библиотеката WPMGPrintChatColor, която може да намерите тук

Тук може да видите всички сървъри, които използват плъгина.
Тук можете да видите всички функции и forwards, които включва API-то и тяхното описание.

Последна версия:
gag_system.sma
v1.1
(19.6 KиБ) Свален 466 пъти
gag_system.sma
v1.1
(19.6 KиБ) Свален 466 пъти
Gag system API.zip
(1.63 KиБ) Свален 334 пъти
Gag system API.zip
(1.63 KиБ) Свален 334 пъти

По-стари версии:

gag_system.sma
v1.0
(16.58 KиБ) Свален 123 пъти
gag_system.sma
v1.0
(16.58 KиБ) Свален 123 пъти
gag_system.sma
v0.2 ALPHA
(12.21 KиБ) Свален 64 пъти
gag_system.sma
v0.2 ALPHA
(12.21 KиБ) Свален 64 пъти
gag_system.sma
v0.1 APLHA
(8.93 KиБ) Свален 50 пъти
gag_system.sma
v0.1 APLHA
(8.93 KиБ) Свален 50 пъти

Потребителски аватар

Smiley
Foreigner
Foreigner
Мнения: 26
Регистриран: 12 дек 2017, 22:40

Gag System v0.1 ALPHA Testing

Мнение от Smiley » 12 дек 2017, 22:54

Can you make gags to be saved on steamid, name and ip?
Now I see in code he saves now on name and ip or just ip?

Another idea is to admins to give gag and ungag from the chat with comands: /gag and /ungag.

PS.Why you don't use "colorchat.inc"?Is more convenient to not search another inc for this plugin.
It's have almost everyone that colorchat ;)

Потребителски аватар

Автор на темата
TheRedShoko ReShoko
Модератор
Модератор
Мнения: 990
Регистриран: 06 окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 4 пъти
Получена благодарност: 53 пъти

Gag System v0.1 ALPHA Testing

Мнение от TheRedShoko ReShoko » 12 дек 2017, 23:56

It's saved just by IP. It saves the nickname, but is used as additional information, not as identity. I may add a cvar about switching between IP and SteamID.

I'll think about that.

Since there are many versions of colorchat.inc and many people have complained about chat message problems I've decided to change it to any library that's not so popular. Anyway I've pasted direct download link for the library so I don't think that's such a big problem to get it.

Потребителски аватар

OciXCrom TM
Администратор
Администратор
Мнения: 5038
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 56 пъти
Получена благодарност: 470 пъти
Години: 21
Контакти:

Gag System v0.1 ALPHA Testing

Мнение от OciXCrom TM » 13 дек 2017, 00:22

colorchat.inc has got several problems and many people fail to notice that. I highly recommend not to use it. A better alternative is the one uploaded here or my own version which can be found in my signature down below.

Потребителски аватар

Автор на темата
TheRedShoko ReShoko
Модератор
Модератор
Мнения: 990
Регистриран: 06 окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 4 пъти
Получена благодарност: 53 пъти

Gag System v0.2 ALPHA Testing

Мнение от TheRedShoko ReShoko » 13 дек 2017, 01:06

v0.2 Alpha
- Added gag menu
- Fixed double gag bug
- Added more bugs to fix later
Извън темата
LF > Photos of the plugin pl0x Q.Q

Потребителски аватар

monk fitness
Потребител
Потребител
Мнения: 135
Регистриран: 22 окт 2016, 18:08
Местоположение: /gym
Години: 22

Gag System v0.2 ALPHA Testing

Мнение от monk fitness » 13 дек 2017, 10:05

Поздравления за труда! :)
Можеш да добавиш, ако не си го, при гаг да се мутва микрофона и човека да не може да си сменя ника, понеже мн хора, когато са гагнати започват да обиждат админите чрез смяна на ника.
П.С Под 1.8.2 не се компилира, дори с инклуда

Код: Избери всички

//AMXXPC compile.exe
// by the AMX Mod X Dev Team


//// gag_system.sma
// C:\Documents and Settings\asensio\Desktop\182\scripting\gag_system.sma(55) :
error 017: undefined symbol "regex_compile_ex"
// C:\Documents and Settings\asensio\Desktop\182\scripting\gag_system.sma(55) :
warning 213: tag mismatch
// C:\Documents and Settings\asensio\Desktop\182\scripting\gag_system.sma(107) :
 error 088: number of arguments does not match definition
// C:\Documents and Settings\asensio\Desktop\182\scripting\gag_system.sma(146) :
 error 088: number of arguments does not match definition
//
// 3 Errors.
// Could not locate output file C:\Documents and Settings\asensio\Desktop\182\sc
ripting\compiled\gag_system.amx (compile failed).
//
// Compilation Time: 0,36 sec
// ----------------------------------------

Press enter to exit ...
Последна промяна от monk fitness на 13 дек 2017, 10:08, променено общо 1 път.
My body is like breakfast, lunch, and dinner. I don't think about it, I just have it.
- Arnold Schwarzenegger

Потребителски аватар

Maverick
Рекламатор
Рекламатор
Мнения: 227
Регистриран: 22 окт 2016, 17:05
Местоположение: 93.123.18.81:27017
Се отблагодари: 15 пъти
Получена благодарност: 7 пъти
Контакти:

Gag System v0.2 ALPHA Testing

Мнение от Maverick » 13 дек 2017, 10:07

Не може да се компилира, показва тези грешки и двете версии, не може и с този сайт.
Изображение

Потребителски аватар

Smiley
Foreigner
Foreigner
Мнения: 26
Регистриран: 12 дек 2017, 22:40

Gag System v0.2 ALPHA Testing

Мнение от Smiley » 13 дек 2017, 10:37

Hmm, reason to gags must to dissapear because it's logical for what is given gag and is uncomfortable.
Gags is given for vulgar language or advertising, but much more is vor vulgar language.For advertising can use another plugin to stop ads.

Is better to save all together in "database"(ip + name + steamid) without cvar to switching SteamID/IP.I see this method on some plugin of gag but isn't complete that source.

After is very good to execute this plugin one file in folder configs with words .ini/.txt with vulgar language/ads, words to can be added everytime and to give automatically gag 3/5 minutes (setted by cvar) how long time to give gag if some player write in chat some words from that file "words.ini".If cvar for this is set to 0, plugin to not give gag for that words.

@OciXCrom, your "cromchat.inc" does the same thing like "colorchat.inc" and this what be used in this plugin of gag?
Последна промяна от Smiley на 13 дек 2017, 14:09, променено общо 3 пъти.

Потребителски аватар

Автор на темата
TheRedShoko ReShoko
Модератор
Модератор
Мнения: 990
Регистриран: 06 окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 4 пъти
Получена благодарност: 53 пъти

Gag System v0.2 ALPHA Testing

Мнение от TheRedShoko ReShoko » 13 дек 2017, 13:22

Микрофона съм го спрял, не се сетих за смяната на ник, ще го направя при следващата версия. Проблема с компилацията под 1.8.2 възниква, защото съм го писал и тествал под 1.8.3. Пробвайте да замените regex_compile_ex с regex_compile. Ако пак не стане довечера ще го преработя да компилира и под 1.8.2.

In my oppinion the reason is not useless... Although I can make a version with reasons and without. When everything is OK I'm gonna release and SQL version of the plugin.

Потребителски аватар

Maverick
Рекламатор
Рекламатор
Мнения: 227
Регистриран: 22 окт 2016, 17:05
Местоположение: 93.123.18.81:27017
Се отблагодари: 15 пъти
Получена благодарност: 7 пъти
Контакти:

Gag System v0.2 ALPHA Testing

Мнение от Maverick » 13 дек 2017, 13:32

Не стана
Изображение
Ама може би не е само това причината защото тука си е 1.8.3 https://amx.freakz.ro/

Потребителски аватар

Автор на темата
TheRedShoko ReShoko
Модератор
Модератор
Мнения: 990
Регистриран: 06 окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 4 пъти
Получена благодарност: 53 пъти

Gag System v0.2 ALPHA Testing

Мнение от TheRedShoko ReShoko » 13 дек 2017, 14:05

Онлайн компилатора най-вероятно няма библиотеката. Изчакайте до довечера да пусна 1.8.2 версия или някой, който разбира от pawn нека го направи. Няма го лаптопа ми, за да го направя.

Потребителски аватар

Smiley
Foreigner
Foreigner
Мнения: 26
Регистриран: 12 дек 2017, 22:40

Gag System v0.2 ALPHA Testing

Мнение от Smiley » 13 дек 2017, 14:29

You must to use some ' colorchat.inc ' what doesn't have buggs.
That isn't so popular, I think maybe is another better than.
Maybe that of OciXCrom is better, 'cromchat.inc'.Use something to not create chat bugs or another problems like that.
OciXCrom maybe knows when appear that buggs(if he still said it) or what colorchat includes isn't better to use.If is better that you used now, let it go but I don't know how to test it if isn't some problems from colorchat.inc

!! Then do not forget about what I wrote above, more exactly gags how to be saved without switched by cvar and that file words.ini to you add.
Another idea to can be use and for amxmodx 1.8.2 is to ported it to 1.8.2 and to can be used on both versions.I understand can be ported, I don't know if is the good way to load plugin with useless codes like porting.

I will test plugin when you make this updates.

Потребителски аватар

Автор на темата
TheRedShoko ReShoko
Модератор
Модератор
Мнения: 990
Регистриран: 06 окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 4 пъти
Получена благодарност: 53 пъти

Gag System v0.2 ALPHA Testing

Мнение от TheRedShoko ReShoko » 13 дек 2017, 14:45

This include does not have problems. It doesn't matter what colorchat do I use if the person who compiles it has some buggy library. That's why I've decided to use this library. It's unique with one and only version. I'll think about the saving information. I'll leave it just by IP for now. I know about the problem with 1.8.2 and will be fixed later today. About the chat words filter, right now my goal is to make working gag plugin without bugs. I'm not going to add such feature for now. Maybe in future there may be some feature like that.

Отговори

Върни се в “Одобрени плъгини”

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 2 госта