Русское сообщество по скриптингу

Restriction Change Name - Ограничение на смену ника

Новые плагины для AMX Mod X, которые были добавлены в базу плагинов нашего форума. Плагины еще не утвеждены администратором/модератором.

Модератор: Leonidddd

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

Данный раздел форума служит для добавления новых плагинов в базу нашего форума. После того, как администратор/модератор утвердит плагин, он будет перемещен в раздел "Утвежденные плагины".

Правила при добавлении новых плагинов:

1. При вставке кода плагина необходимо использовать тег [pawn], в противном случае, если тег [pawn] не отображает ваш код, можно использовать тег [code].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. Обязательно выкладывайте исходник sma плагина. Запрещено выкладывать amxx файл.
4. Обязательно указывайте настоящих авторов плагина, если вы использовали чьи-то наработки или функции, указывайте их авторов в сообщении.
5. Необходимо заполнять детальную информацию о плагине (версию, настройки, используемые модули, список изменений и другую).

Restriction Change Name - Ограничение на смену ника

Сообщение sa1me » 28 июн 2014, 09:21

Авторы: Eriurias
Стабильная версия: 1.2

Описание:
Плагин устанавливает ограничение на смену ника. Ник можно сменить раз в 60 секунд.
Особенности:
- используется fakemeta (спасибо Radius)
- не дублирует уведомляющее сообщение (как в случае с client_infochanged)
- в setinfo игрока действительно остается его старый ник
- плагин не использует таск, работа с временем происходит с помощью gametime (спасибо Radius)

Собственно для чего это нужно: Стало мейнстримом использование анти-кика (каждую секунду меняется ник, берет ники игроков с сервера или же использует свою библиотеку имен)

Используемые модули:
Fakemeta

Список изменений:
- return FMRES_SUPERCEDE; был заменен на return FMRES_IGNORED;
- убрана в принципе не нужная проверка на коннект
- это не значительно, но префиксы к переменным теперь соответствуют типу содержимого (float)
- теперь плагин без слоухакинга, setinfo не меняется с помощью client_cmd и меняться не будет вообще. Сохранение старого ника в setinfo - теперь проблемы игрока. Не нужно было собственно менять.


Скачать:
RChangeName.sma
Последний раз редактировалось sa1me 28 июн 2014, 17:00, всего редактировалось 2 раз(а).
Аватара пользователя
sa1me
 
Сообщения: 361
Зарегистрирован: 07 апр 2014, 20:51
Откуда: pfnAddToFullPack
Благодарил (а): 174 раз.
Поблагодарили: 177 раз.
Опыт программирования: Меньше недели

Re: Restriction Change Name - Ограничение на смену ника

Сообщение trollface » 28 июн 2014, 11:15

Eriurias, идея не нова...
я давно уже выложил такое на др форуме:)

ps [pawn]
  1. client_cmd(Player, "name %s;setinfo name %s", szUserName, szUserName);
[/pawn]
зачем name ? :crazy:
все равно не успеет поменяться если FM его заблочит
Аватара пользователя
trollface
 
Сообщения: 13
Зарегистрирован: 04 апр 2014, 15:53
Откуда: Moscow
Благодарил (а): 6 раз.
Поблагодарили: 1 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Restriction Change Name - Ограничение на смену ника

Сообщение sa1me » 28 июн 2014, 11:22

trollface, мне все равно, новая она или нет. Мне это было нужно, я сделал так, как удобно и считаю правильным + с советом понимающего человека. Решил поделиться. Не нуждаетесь в использовании - проходите мимо, что за мода высирать бессмысленные посты?

[pawn]
  1. client_cmd(Player, "name %s;setinfo name %s", szUserName, szUserName);
[/pawn]
зачем name ? :crazy:
все равно не успеет поменяться если FM его заблочит

Для профилактики. Мне не нужно, чтобы ник менялся, мне главное в setinfo занести старый, а name, повторюсь, для профилактики.
Аватара пользователя
sa1me
 
Сообщения: 361
Зарегистрирован: 07 апр 2014, 20:51
Откуда: pfnAddToFullPack
Благодарил (а): 174 раз.
Поблагодарили: 177 раз.
Опыт программирования: Меньше недели

Re: Restriction Change Name - Ограничение на смену ника

Сообщение PRoSToTeM@ » 28 июн 2014, 12:11

Зачем слоухакингом заниматься?
[pawn]
  1. client_cmd(Player, "name %s;setinfo name %s", szUserName, szUserName);
[/pawn]
Аватара пользователя
PRoSToTeM@
Скриптер
 
Сообщения: 2498
Зарегистрирован: 26 мар 2010, 00:12
Благодарил (а): 438 раз.
Поблагодарили: 1125 раз.

Re: Restriction Change Name - Ограничение на смену ника

Сообщение trollface » 28 июн 2014, 12:19

PRoSToTeM@, во во. я про то же:)
плюс name не меняется все равно xD
Аватара пользователя
trollface
 
Сообщения: 13
Зарегистрирован: 04 апр 2014, 15:53
Откуда: Moscow
Благодарил (а): 6 раз.
Поблагодарили: 1 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Restriction Change Name - Ограничение на смену ника

Сообщение PRoSToTeM@ » 28 июн 2014, 12:21

Недавно пилил полный блокер смены имени, получился такой код:
[pawn]
  1. #include <amxmodx>

  2. #include <fakemeta>

  3.  

  4. #pragma ctrlchar                '\'

  5.  

  6. #define MAX_NAMESIZE    32     

  7.  

  8. public plugin_init() {

  9.         register_forward(FM_ClientUserInfoChanged, "ClientUserInfoChanged_Pre", false);

  10. }

  11.  

  12. public ClientUserInfoChanged_Pre(const iClient, const pszInfo) {

  13.         new szNetName[MAX_NAMESIZE];

  14.         pev(iClient, pev_netname, szNetName, charsmax(szNetName));

  15.        

  16.         if (szNetName[0] == '\0') {

  17.                 return;

  18.         }

  19.        

  20.         new szName[MAX_NAMESIZE];

  21.         engfunc(EngFunc_InfoKeyValue, pszInfo, "name", szName, charsmax(szName));

  22.        

  23.         if (equal(szNetName, szName)) {

  24.                 return;

  25.         }

  26.        

  27.         engfunc(EngFunc_SetClientKeyValue, iClient, pszInfo, "name", szNetName);

  28. }
[/pawn]
Аватара пользователя
PRoSToTeM@
Скриптер
 
Сообщения: 2498
Зарегистрирован: 26 мар 2010, 00:12
Благодарил (а): 438 раз.
Поблагодарили: 1125 раз.

Re: Restriction Change Name - Ограничение на смену ника

Сообщение Radius » 28 июн 2014, 12:49

PRoSToTeM@,

[pawn]
  1. if (equal(szNetName, szName)) {

  2.     return;

  3. }

  4.        

  5. engfunc(EngFunc_SetClientKeyValue, iClient, pszInfo, "name", szNetName);
[/pawn]

Не вызывает ли рекурсивный вызов во время putinserver и до спавна (AMX Mod X 1.8.2)? У меня такое происходило, если не сложно давайте проверим. Потому что мне пришлось return FMRES_SUPERCEDE;, чтобы разорвать этот круг.
Последний раз редактировалось Radius 28 июн 2014, 13:20, всего редактировалось 1 раз.
Аватара пользователя
Radius
 
Сообщения: 530
Зарегистрирован: 12 июн 2013, 12:15
Откуда: Казань
Забанен
Благодарил (а): 71 раз.
Поблагодарили: 369 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Restriction Change Name - Ограничение на смену ника

Сообщение sa1me » 28 июн 2014, 13:14

PRoSToTeM@, на счет слоухакинга - согласен.
А вот полная блокировка - это все же полная блокировка!
Аватара пользователя
sa1me
 
Сообщения: 361
Зарегистрирован: 07 апр 2014, 20:51
Откуда: pfnAddToFullPack
Благодарил (а): 174 раз.
Поблагодарили: 177 раз.
Опыт программирования: Меньше недели

Re: Restriction Change Name - Ограничение на смену ника

Сообщение PRoSToTeM@ » 28 июн 2014, 13:48

Radius, SUPERCEDE нельзя делать, потому что могут потеряться изменения других значений в setinfo для gamedll.

Добавлено спустя 2 минуты 58 секунд:
Radius, причём тут версия amxmodx ? Она вообще не должна никак влиять.

Добавлено спустя 6 минут 4 секунды:
В gamedll SetClientKeyValue тоже вызывается из ClientUserInfoChanged.
Аватара пользователя
PRoSToTeM@
Скриптер
 
Сообщения: 2498
Зарегистрирован: 26 мар 2010, 00:12
Благодарил (а): 438 раз.
Поблагодарили: 1125 раз.

Re: Restriction Change Name - Ограничение на смену ника

Сообщение Radius » 28 июн 2014, 14:13

PRoSToTeM@, сейчас мне важно знать у Вас тоже такое происходит, мне нужно подтверждение.
Аватара пользователя
Radius
 
Сообщения: 530
Зарегистрирован: 12 июн 2013, 12:15
Откуда: Казань
Забанен
Благодарил (а): 71 раз.
Поблагодарили: 369 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

След.

Вернуться в Добавленные новые плагины

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2