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

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

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

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

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

Привязка ника к STEAM ID

Статус пользователя sweet
сообщение 21.8.2013, 15:27
Сообщение #1
Стаж: 15 лет

Сообщений: 1920
Благодарностей: 597
Полезность: 431

Привет всем.
Есть ли такой плагин или возможно можно сделать с помощью amxmodx, что бы можно было использовать определенный ник только определенным STEAM ID? Если это условие не выполняется, то кикает с сервера с какой либо причиной.
Подскажите пожалуйста.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя winzh1
сообщение 21.8.2013, 15:34
Сообщение #2


Стаж: 14 лет

Сообщений: 1414
Благодарностей: 600
Полезность: 838

Есть похожий плагин, только немного переписать
Скрытый текст
https://forums.alliedmods.net/showthread.php?p=240578

Если совпадает стим ид, меняется ник, на тот, который указан с этим стим идом и запрещает дальнейшая его смена.


Установлю и настрою FreshBans, DopBan.
Писать в ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 21.8.2013, 15:36
Сообщение #3


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

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

new line, txtlen

public plugin_init()
{
register_plugin("DefaultNameKicker", "1.0", "KsV")
}

public client_connect(id)
{
new BadName[64], name[32]
get_user_name(id ,name, 31 )
while( ( line = read_file( "addons/amxmodx/configs/BadNames.ini", line, BadName, 63, txtlen ) ) != 0 )

if( equal( BadName, name ) )
{
server_cmd("kick #%d ^"Имя ^"%s^" запрешено использовать! Измените имя!^"", get_user_userid(id), name)
}
}

вот для ника создай вторую проверку используя &&


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sweet
сообщение 21.8.2013, 15:46
Сообщение #4
Стаж: 15 лет

Сообщений: 1920
Благодарностей: 597
Полезность: 431

Сейчас попробую использовать данный плагин: http://www.amx-x.ru/viewtopic.php?f=12&t=2534
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ex3m777
сообщение 21.8.2013, 16:10
Сообщение #5


Стаж: 13 лет
Город: Москва

Сообщений: 2037
Благодарностей: 1135
Полезность: 968

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

Автор: SKAJIbnEJIb
Цитата
Версия: 1.0

Описание:
Запрещает игрокам ставить ники, которые используют админы. Допустим у Вас админка стоит на STEAM или на IP, в данном случае можно не париться с паролем, но бывает такое, что под Вашим ником заходят другие игроки. Чтобы этого избежать, я и написал этот плагин.

Настройка:
Добавить привязку(можно командой, а можно вписать в файл AdminNickGuard.ini, который будет создан при запуске сервера)
ang_add <SteamID or IP or "S"(ваш STEAM) or "IP"(ваш IP)> <Nick>

На какой ник изменять по умолчанию
ang_nick "Player"


Код:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <ColorChat>

new DIRINI[64], trash
new Array:g_array

new pcvar_Nick

public plugin_init() {
register_plugin("Admin Nick Guard", "1.0", "SKAJIbnEJIb")

register_forward(FM_ClientUserInfoChanged, "fwClientUserInfoChanged")

register_concmd("ang_add", "AddNick", ADMIN_RCON, "- <SteamID or IP or ^"S^"(your STEAM) or ^"IP^"(your IP)> <Nick>")

pcvar_Nick = register_cvar("ang_nick", "Player")

new configsDir[64]
get_configsdir(configsDir, 63)
format(DIRINI, 63, "%s/AdminNickGuard.ini", configsDir)
g_array = ArrayCreate(64, 1)

update_nicks()
}

public client_connect(id)
{
new Name[32]
get_user_name(id, Name, 31)
if(CheckNick(id, Name))
{
new Nick_def[32]
get_pcvar_string(pcvar_Nick, Nick_def, 31)
client_cmd(id, "setinfo name ^"^";name %s", Nick_def)
}
}

public fwClientUserInfoChanged(id, buffer) {
if (!is_user_connected(id))
return FMRES_IGNORED

static Name[32], val[32]
get_user_name(id, Name, sizeof Name - 1)
engfunc(EngFunc_InfoKeyValue, buffer, "name", val, sizeof val - 1)
if (equal(val, Name))
return FMRES_IGNORED

if(CheckNick(id, val))
{
new Nick_def[32]
get_pcvar_string(pcvar_Nick, Nick_def, 31)
engfunc(EngFunc_SetClientKeyValue, id, buffer, "name", Nick_def)
client_print(id, print_console, "Запрещено использовать этот ник!")
client_cmd(id, "setinfo name ^"^";name %s", Nick_def)
return FMRES_SUPERCEDE
}
return FMRES_IGNORED
}

public CheckNick(id, Name[])
{
new STEAM[32], IP[32]
get_user_authid(id, STEAM, 31)
get_user_ip(id, IP, 31, 1)

for(new i=0; i < ArraySize(g_array); i++)
{
new str_ini[64], auth_ini[32], nick_ini[32]
ArrayGetString(g_array, i, str_ini, 63)
strbreak(str_ini, auth_ini, 31, nick_ini, 31)
if ( equali(Name, nick_ini) && !(equali(auth_ini, STEAM) || equali(auth_ini, IP)) )
{
log_to_file("AdminNickGuard.log","Nick <%s> | IP <%s> | ID <%s>", Name, IP, STEAM)
return 1
}
}
return 0
}

public AddNick(id, level, cid) {
if(!cmd_access(id, level, cid, 3))
return PLUGIN_HANDLED

new arg_auth[32], arg_nick[32], Auth[32]
read_argv(1, arg_auth, 31)
read_argv(2, arg_nick, 31)
trim(arg_auth)
trim(arg_nick)

if(equal(arg_auth ,"STEAM_", 6))
format(Auth, 31, "%s", arg_auth)
else if(equali(arg_auth, "S"))
get_user_authid(id, Auth, 31)
else if(equali(arg_auth, "IP"))
get_user_ip(id, Auth, 31, 1)
else
format(Auth, 31, "%s", arg_auth)

new in_ini[64]
format(in_ini, 63, "%s %s", Auth, arg_nick)

for(new i=0; i <= file_size(DIRINI, 1); i++)
{
new find_ini[64]
read_file(DIRINI, i, find_ini, 63, trash)
if (equali(find_ini, in_ini))
{
ColorChat(id, RED, "^01[^04AdminNickGuard^01]^03 Такая привязка уже есть!")
client_print(id, print_console, "[AdminNickGuard] Такая привязка уже есть!")
return PLUGIN_HANDLED
}
}

write_file(DIRINI, in_ini, -1)
ColorChat(id, BLUE, "^01[^04AdminNickGuard^01]^01 В список добавлена привязка:^03 %s", in_ini)
client_print(id, print_console, "[AdminNickGuard] В список добавлена привязка: %s", in_ini)

update_nicks()

return PLUGIN_HANDLED
}

public update_nicks()
{
if(!file_exists(DIRINI))
write_file(DIRINI, ";STEAM_0:0:12345678 Nick", 0)

ArrayClear(g_array)
for(new i=0; i <= file_size(DIRINI, 1)-2; i++)
{
new Nick_ini[64]
read_file(DIRINI, i, Nick_ini, 63, trash)
if(Nick_ini[0] != ';')
ArrayPushString(g_array, Nick_ini)
}
}


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Safety1st
сообщение 21.8.2013, 16:16
Сообщение #6
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Есть простой способ и без всяких плагинов. Суть: права даются по SteamID, а ник защищается паролем. Дополнительные права по нику лучше не ставить, эта запись обязательно после записи по ID. Пароль легальному игроку вводить не нужно: он авторизуется по SteamID и до второй строчки просто не дойдёт. Пример:
Код
"STEAM_0:1:14152926"      ""                  "abcdefghijklmnopqrstu"      "ce"; Safety1st
"Safety1st"               "password"          "z"                          "a"; защита ника


Отредактировал: Safety1st, - 21.8.2013, 16:18
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя sweet
сообщение 21.8.2013, 16:33
Сообщение #7
Стаж: 15 лет

Сообщений: 1920
Благодарностей: 597
Полезность: 431

Цитата(Safety1st @ 21.8.2013, 18:16) *
Есть простой способ и без всяких плагинов. Суть: права даются по SteamID, а ник защищается паролем. Дополнительные права по нику лучше не ставить, эта запись обязательно после записи по ID. Пароль легальному игроку вводить не нужно: он авторизуется по SteamID и до второй строчки просто не дойдёт. Пример:
Код
"STEAM_0:1:14152926"      ""                  "abcdefghijklmnopqrstu"      "ce"; Safety1st
"Safety1st"               "password"          "z"                          "a"; защита ника


У меня есть доп. привилегии по нику, когда игрок, у которого есть какие либо права, заходит на сервер, то если он сменит на ник с доп. привилегиями, у него они будут работать без всяких паролей.
Плагин выше аналогично пропускает такой косяк. Плагин от шутера (ссылка вверху) это фиксит, но там любой игрок может сделать себе привязку (STEAM ID/NICK), а мне это не очень нужно.

Отредактировал: sweet, - 21.8.2013, 16:35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 21.8.2013, 16:37
Сообщение #8
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

А моё решение? Флаги и записи местами поменяйте под ваш случай)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sweet
сообщение 21.8.2013, 16:39
Сообщение #9
Стаж: 15 лет

Сообщений: 1920
Благодарностей: 597
Полезность: 431

Цитата(Safety1st @ 21.8.2013, 18:37) *
А моё решение? Флаги и записи местами поменяйте под ваш случай)


У меня так же сделано уже давно.
Мой ник стоит с паролем и STEAM ID с паролем, но допусти есть игрок "Player", у него есть VIP (ts), он заходит под своим ником, ставит мой ник и вуаля, доп. привилегии работают. Я НЕ ГОВОРЮ что работает AmxModMenu, если оно прописано во флагах, я говорю о доп. привилегиях в моём другом плагине. Как бы косяк в плагине моём, но в тоже время хочется сделать защиту без его исправления.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 21.8.2013, 16:49
Сообщение #10
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Так это ваш плагин фиксить нужно, чтобы 'доп. привилегии' не работали. Единственное нормальное решение.
А вообще защита вашего ника не даст ему ник на ваш поменять. Чем не костыль? ;)

Отредактировал: Safety1st, - 21.8.2013, 16:59
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 3 гостей читают эту тему: