Форум Pawn.Wiki - Воплоти мечту в реальность!: Nex-AC - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Nex-AC Античит система Оценка: ***** 6 Голосов

Опрос: Nex-AC (68 пользователей проголосовало)Visualizar Votos

В каком направлении стоит развивать Nex-AC?

  1. * Защита от атак и крашеров (26 голосов [17.33%])

    Процент голосов: 17.33%

  2. * Защита от игровых читов (47 голосов [31.33%])

    Процент голосов: 31.33%

  3. * Защита от багов, дающих преимущество в игре (+c, slide-bug) (21 голосов [14.00%])

    Процент голосов: 14.00%

  4. * Защита от спама, рекламы, бранных слов и т.п. (14 голосов [9.33%])

    Процент голосов: 9.33%

  5. * Второстепенные возможности (дополнительные команды для админов и т.п.) (13 голосов [8.67%])

    Процент голосов: 8.67%

  6. * Оптимизация и исправление багов, усовершенствование сделанного (29 голосов [19.33%])

    Процент голосов: 19.33%

Голосовать Гости не могут голосовать

#471
Пользователь офлайн   jonhson123 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Как называется защита от невалидных строк GXT
0

#472
Пользователь офлайн   Nexius 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияjonhson123 (24 ноября 2022 - 22:24) писал:

Используется версия v1.9.60

Тогда всё уже и так фильтруется

Просмотр сообщенияjonhson123 (24 ноября 2022 - 22:58) писал:

Как называется защита от невалидных строк GXT

Анти-dialog crasher
0

#473
Пользователь офлайн   baffaro 

  • Новичок
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияNexius (24 ноября 2022 - 15:01) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


Подключая обработчик диалогов после подключения античита, происходит ошибка (Run time error 19: "File or function is not found").
Если перед античитом, то запускается, сервер работает, диалоги работают.

Если подключить обработчик перед античитом, работа античита по отношению к диалогам будет работать исправно? Можно так оставлять?

PS: Обработчик - tdw_dialog

UPD: Попробовал с mdialog, проблема точно такая же.

Сообщение отредактировал baffaro: 25 ноября 2022 - 12:59

0

#474
Пользователь офлайн   Nexius 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияbaffaro (25 ноября 2022 - 12:56) писал:

Подключая обработчик диалогов после подключения античита, происходит ошибка (Run time error 19: "File or function is not found").

Подключи crashdetect и посмотри, на что там конкретно вылетает эта ошибка (название функции).


Просмотр сообщенияbaffaro (25 ноября 2022 - 12:56) писал:

Если подключить обработчик перед античитом, работа античита по отношению к диалогам будет работать исправно? Можно так оставлять?

Если подключать перед античитом, то он не сможет отслеживать вызовы функций показа и скрытия диалога, которые использует любая из этих библиотек для своего функционала. В таком случае будут ложные кики при любом использовании диалогов игроком.
0

#475
Пользователь офлайн   baffaro 

  • Новичок
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияNexius (25 ноября 2022 - 15:31) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


[debug] Run time error 19: "File or function is not found"
[debug]  acc_ShowPlayerDialog
[debug] Run time error 19: "File or function is not found"
[debug]  acc_ShowPlayerDialog
Script[gamemodes/mode.amx]: Run time error 19: "File or function is not found"


UPD: Используемый обработчик: mdialog

Сообщение отредактировал baffaro: 25 ноября 2022 - 18:14

0

#476
Пользователь офлайн   Nexius 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
А, понятно, проблема в этих обеих библиотеках (и в tdw dialog, и в mdialog) находится здесь и здесь. Вместо обычного перехвата уже имеющегося ShowPlayerDialog они изобретают велосипед, который ломается на существующей цепочке ALS хуков (когда функция хукается где-то ещё помимо них). Тут либо предложить авторам их обновить, либо (учитывая, что оба инклуда вряд ли уже кто-то обновит) переделать самому / найти какой-то другой диалоговый процессор.

Сообщение отредактировал Nexius: 25 ноября 2022 - 18:18

1

#477
Пользователь офлайн   baffaro 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Понял... А можешь подсказать какой-нибудь? - потому что я искал, и либо их дико критикуют за плохой код, с уклоном на память, либо не коннектятся с античитом.
А сам я не напишу.
Хочется работать с обработчиком, потому что очень удобно с точки зрения чтения кода.

UPD: u_dialogs сработал, походу (Ссылка).

Сообщение отредактировал baffaro: 28 ноября 2022 - 05:31

0

#478
Пользователь офлайн   baffaro 

  • Новичок
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияbaffaro (25 ноября 2022 - 19:53) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


Тоже плохой вариант :(
Может ты знаешь обработчик, который нормально сочетается с античитом?..

Сообщение отредактировал baffaro: 29 ноября 2022 - 16:31

0

#479
Пользователь офлайн   Nexius 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияbaffaro (29 ноября 2022 - 16:31) писал:

Тоже плохой вариант :(
Может ты знаешь обработчик, который нормально сочетается с античитом?..

Я ими сам, честно говоря, не пользуюсь, потому что кроме синтаксиса работы с диалогами они ровным счетом ничего не меняют.
А в чём вариант плохой, если не секрет?
0

#480
Пользователь офлайн   baffaro 

  • Новичок
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияNexius (29 ноября 2022 - 19:55) писал:

Я ими сам, честно говоря, не пользуюсь, потому что кроме синтаксиса работы с диалогами они ровным счетом ничего не меняют.
А в чём вариант плохой, если не секрет?



Вероятно Может я что-то делаю не так, но:

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

DialogResponse:test(playerid, response, ...) 


Я полазил в этом инклуде, и там синтаксис следующий:

DialogResponse:test(playerid, response, listitem, inputtext[])


Допустим, я делаю диалог ввода пароля, мне нужен inuttext[].
По логике, я должен сделать так:
DialogResponse:test(playerid, response, inputtext[])

Неважно, ставил я эти троеточия, не ставил, вылетает ошибка. Если написать параметры вместе с listitem - варнинг за его отсутствие.



UPD: Можно сделать так:
DialogResponse:test(playerid, response, listitem, inputtext[])
{
    if (!response) { 
        ...
    } else { 
        ...
    }
    #pragma unused listitem 
    return 1;
}

Но мне кажется это костыль какой-то. Вредно для производительности так делать? Ибо я так понимаю это единственный способ использования обработчиков.

Сообщение отредактировал baffaro: 30 ноября 2022 - 11:39

0

Поделиться темой:


  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

3 человек читают эту тему
0 пользователей, 3 гостей, 0 скрытых пользователей


Яндекс.Метрика