Skip to forum content

You are not logged in. Please login or register.


forums.pvpgn.pro → [RU] The Source Code → Защита под ник.

Pages 1

You must login or register to post a reply

RSS topic feed

Posts: 11

1

Topic: Защита под ник.

Доброго времени суток ХарпиВару и с возвращением офк!
Как сделать чтоб ник (в данный момент ник XoM91K) нельзя было забанить, выдать муте.
Пример: /lock XoM91K и pvpgn выдает ошибку "Вы не можете забанить этого пользователя"
Кстати, харпивар, 1.8.5 нельзя создавать клан, у тебя есть файл клана? Который хранится в папке var\clans..

2

Re: Защита под ник.

XOM91K, если никому не выдавать права на лок, никто и не сможет тебя забанить wikiservia.org/index.php?title=P … and_groups


Если интересует чтобы вообще никто не смог забанить, то в исходниках для команды lockacct можно добавить простое условие, типа:
if (username == 'XoM91K') return;

Здесь про то, как изменять код существующих команд и добавлять свои.

Do not ask for support in PM.

3 (edited by XOM91K 30.04.2013 12:59)

Re: Защита под ник.

Ещё раз привет.
Добавил константу char * username, и проверку офк =>
if (username == 'XoM91K')
return;
И вижу ошибку=>
1>..\src\bnetd\command.c(4248) : error C2015: слишком много знаков в константе
1>..\src\bnetd\command.c(4248) : warning C4033: '_handle_lockacct_command' должен возвращать значение


Исправляю. . . =>
if (username == 'XoM91K')
на
if (username == "XoM91K")
Все удачно компилируется, но почему то эта проверка срабатывает для всех пользователей.

И я вот думаю. . .
Что если указать путь до папки с файлами юзеров (var\users). Пример: "BNET\\acct\\username"="XoM91K" На подобе такого. Харпивар что думаешь по этому поводу?

4

Re: Защита под ник.

XOM91K wrote:

if (username == "XoM91K")
Все удачно компилируется, но почему то эта проверка срабатывает для всех пользователей.

Конечно же с двойными кавычками, одинарные только для единичных символов.
Что значит срабатывает не для всех пользователей?

Я ничего не думаю по поводу что будет если указать путь до папки с файлами юзеров, поскольку не понимаю.

Do not ask for support in PM.

5

Re: Защита под ник.

if (username == "XoM91K") return;
Если делаю так, то проверка не срабатывает, все равно банит пользователя XoM91K.

6

Re: Защита под ник.

Я же псевдокод привел, как пример.
В функции _handle_lockacct_command имя аккаунта передается через переменную text. Сравнение строк осуществляется через strcmp. Лучше сравнивать в нижнем регистре, т.к. имя аккаунта может быть введено пользователем в любом регистре.

text = skip_command(text);
if ( strcmp(tolower(text)), "xom91k" ) == 0 ) 
    return;
Do not ask for support in PM.

7

Re: Защита под ник.

HarpyWar wrote:
text = skip_command(text);
if ( strcmp(tolower(text)), "xom91k" ) == 0 ) 
    return;

Сделал. Только там у тебя лишняя скобка была.
Теперь получается так: Если блокирую аккаунт пишет неверный ник. Попробовал заменить =>
if ( strcmp(tolower(text)), "xom91k" ) == 0 )
на
if ( strcmp(tolower(text)), "xom91k" ) != 0 )

Я сделал так:
if ( strcmp(tolower(text), "xom91k" ) != 0 )
{
      message_send_text(c,message_type_info,c,"Да ладна?!");
    return 0;
}

При этой проверке у меня при локе на любой аккаунт выходит сообщение "Да ладна?!" yikes

8

Re: Защита под ник.

Странно получается. Ты запретил банить всех, кроме себя? smile

Do not ask for support in PM.

9

Re: Защита под ник.

И меня тоже забанить нельзя big_smile

10

Re: Защита под ник.

XOM91K wrote:

И меня тоже забанить нельзя big_smile

В этом случае if вообще не нужен.

Do not ask for support in PM.

11

Re: Защита под ник.

Все сделал, тупо добавил =>
( strcmp(tolower(text)), "xom91k" ) == 0 )
Там где проверка для lock и все получилось

Posts: 11

Pages 1

You must login or register to post a reply

Who now at forum

Currently view post: 1 guest, 0 registered users

forums.pvpgn.pro → [RU] The Source Code → Защита под ник.