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

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

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

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

Авто-Смена ника при спавне игрока

, все внутри
Статус пользователя energydance
сообщение 13.2.2017, 0:52
Сообщение #1


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

Всем привет , столкнулся с проблемой в плагине при обнаружении рекламного он меняет на дефолтный Player
так вот через putinserver к сожалению выходит трабла когда игрок с рекламным ником пример vk.com зашел на сервер и его переименовало сразу на Player затем другой заходит игрок тоже с рекламным ником и при выборе команды у него начинает спамить в чат и у всех игроков начинаются лаги
Спам

Your name will be changed after your next respawn. Your name will be changed after your next respawn. Your name will be changed after your next respawn. Your name will be changed after your next respawn. Your name will be changed after your next respawn.

а есть код который меняет ник игроку после респавна а не во время когда он подсоединился на сервер
RegisterHam(Ham_Spawn,"player","player_respawn")
где его можно взять? может кто из скриптеров отзовется pardon.gif
Код
public client_putinserver(id)
{
    static Name[32];
    get_user_info(id, "name", Name, charsmax(Name))
    
    if(!IsValidString(Name))
    {
        set_user_info(id, "name", "Player 2017")
    }


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя AVOG
сообщение 13.2.2017, 1:37
Сообщение #2


Стаж: 9 лет 7 месяцев
Город: Актобе

Сообщений: 25
Благодарностей: 3
Полезность: 14

Код:
#include <amxmodx>
#include <hamsandwich>

new bool:change_name[33];

public plugin_init() {
RegisterHam(Ham_Spawn, "player", "player_spawn_post", 1);
}

public player_spawn_post(id) {
if(!change_name[id]) {
new user_name[33];
get_user_info(id, "name", user_name, charsmax(user_name)); //или get_user_name

if(!IsValidString(user_name)) {
set_user_info(id, "name", "New nickname");
}

change_name[id] = true;
}
}


OverCS.Ru - Магазин цифровых товаров.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Morty
сообщение 14.2.2017, 17:37
Сообщение #3


Стаж: 10 лет

Сообщений: 57
Благодарностей: 26
Полезность: 303

Есть же форвард Client Info Changed для этих целей, зачем изобретать костыли?
Зайдет к вам бот с бэд ником и будет тупо висеть в спектрах
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AVOG
сообщение 14.2.2017, 17:47
Сообщение #4


Стаж: 9 лет 7 месяцев
Город: Актобе

Сообщений: 25
Благодарностей: 3
Полезность: 14

Цитата(Morty @ 14.2.2017, 19:37) *
Есть же форвард Client Info Changed для этих целей, зачем изобретать костыли?
Зайдет к вам бот с бэд ником и будет тупо висеть в спектрах

согласен, не подумал


OverCS.Ru - Магазин цифровых товаров.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 14.2.2017, 18:14
Сообщение #5


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Мне отлично помогает вот такая заглушка

Код:
public client_putinserver(user)
{
if(is_user_hltv(user) || !is_user_connected(user))
return

//Исправляем рекламные ники
new name[34]
get_user_name(user, name, 33)
if(contain(name, ":27") != -1 || contain(name, "http") != -1 || contain(name, "connect") != -1 || contain(name, "194.67.215.198") != -1)
set_user_info(user, "name", "Sosy_bolshue_chlenu")
}



Отредактировал: ssx, - 14.2.2017, 18:15


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Morty
сообщение 14.2.2017, 18:22
Сообщение #6


Стаж: 10 лет

Сообщений: 57
Благодарностей: 26
Полезность: 303

ssx, это не заглушка, а ватный костыль
Я вот зайду на сервер и там уже поменяю ник
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя energydance
сообщение 14.2.2017, 19:40
Сообщение #7


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

Morty, вот именно
ssx, код переименует ник когда игрок зайдет на сервер
но потом сможет в консоли написать name youtube.com и сервер его переименует именно на ютюб )
так что не вариант


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 14.2.2017, 22:41
Сообщение #8


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

У меня таких нет чтобы в самой игре меняли ник, поэтому проверять в public client_infochanged(id) мне нет надобности.

В public client_infochanged(id) делайте проверку.

Список для проверки
Код
free
connect
:27
: 2 7
:7777
http:
www.
.com
.net
.ru
.ua
.fr
.kz
.ucoz
.clan
.su
.org
.my1
.at
.lv
.biz
.info
.pl
.ro
.tk
.de
.lt
.it
.il
.bg
.ws
.ee


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AVOG
сообщение 15.2.2017, 0:41
Сообщение #9


Стаж: 9 лет 7 месяцев
Город: Актобе

Сообщений: 25
Благодарностей: 3
Полезность: 14

создай файл block_names.ini в configs и вписывай туда то, что нужно блокировать независимо от регистра (не обязательно .WwW, и .www хватит).

Цитата
".ru"
".com"
":27"
"www"

Прикрепленные файлы:
Прикрепленный файл  block_names.sma ( 1,29 килобайт ) Кол-во скачиваний: 13


OverCS.Ru - Магазин цифровых товаров.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя energydance
сообщение 15.2.2017, 2:29
Сообщение #10


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

AVOG, по маске то можно? Вдруг зайдет игрок с ником cs.net и его не переименует так как указано в запрете только .net
Могу скинуть в лс исходник над которым я работаю , сможешь помочь реализовать? (За донат естевственно)


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Morty
сообщение 15.2.2017, 10:21
Сообщение #11


Стаж: 10 лет

Сообщений: 57
Благодарностей: 26
Полезность: 303

Хватит уже изобретать очередной велосипед, этих плагинов блокировки спама в нике уже мульен.
Достаточно в поиске вбить слово спам и результат вас поразит. К примеру, BadNames Detector

AVOG, на будущие, client_infochanged вызывается не только при смене ника игроком и гонять цикл в пустую не есть гуд.

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 15.2.2017, 12:38
Сообщение #12


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Morty, В BadNames Detector
1. не вижу исправления ника.
2. так же в client_infochanged циклом

П.С. Многие игроки намерено делают ники рекламные, кто-то просто в клане который имеет домен, кто-то свой ютуб кАнал рекламирует, и т д .
И их как бы бесит что на сервере им меняет ник.
Я б менял только тем у кого :27 в нике .



[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Morty
сообщение 15.2.2017, 13:48
Сообщение #13


Стаж: 10 лет

Сообщений: 57
Благодарностей: 26
Полезность: 303

ssx, special for you
1. Да, в нем немножко другой функционал, но суть вся та же. Изменить тип наказания на свой дело 1 мин макс.
2. Надеюсь вы разбираетесь в коде.
Cкрытый текст
Код:
public client_infochanged(pPlayerId)
{
if(!is_user_connected(pPlayerId) || is_user_bot(pPlayerId) || is_user_hltv(pPlayerId))
{
return PLUGIN_CONTINUE;
}

CheckNickname(pPlayerId);

return PLUGIN_CONTINUE;
}

public CheckNickname(pPlayerId)
{
new szNewName[MAX_NAME_LENGTH], szOldName[MAX_NAME_LENGTH];
get_user_name(pPlayerId, szOldName, charsmax(szOldName));
get_user_info(pPlayerId, "name", szNewName, charsmax(szNewName));

if(equal(szNewName, szOldName))
{
return PLUGIN_CONTINUE;
}

Плагин BadNames Detector был приведен лишь в качестве примера многочисленности таких блокиров.

Для этого и существуют черные и белые списки.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AVOG
сообщение 15.2.2017, 13:56
Сообщение #14


Стаж: 9 лет 7 месяцев
Город: Актобе

Сообщений: 25
Благодарностей: 3
Полезность: 14

смысл делать то, что я уже выше выложил?

ssx, держи, почитай http://amxxmodx.ru/core/amxmodxinc/33-clie...et-setinfo.html
Цитата
Плагин не имеет ни каких команд, данная функция вызывается каждый раз когда игрок меняет свое setinfo.


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