Форум работает в тестовом режиме. Все данные были перенесены со старого сайта 2018 года. Некоторая информация может быть недоступна, например вложения или хайды. Просьба сообщать о данных случаях через функционал "Жалоба", прямо под постом, где отсуствуют данные из хайда или проблемы с вложением.
Могут быть проблемы в "выкидыванием" с форума (слетевшей авторизацией). Нужно собрать статистику таких случаев.
Есть Тема, куда можете сообщить о проблемах с сайтом либо просто передать привет.

Авто релогин

Рег
14 Мар 2016
Сообщения
166
Реакции
0
Добрый день товарищи равровци =)
Давно я у вас не был , но увы пришла новая эра задрить в ла2 , и в се теже интерлюды.


Суть в том что созрел написать свой авто релогин , и появилась кучка проблем.
По данной теме , переписал под себя скриптик.
Первый вопрос , это engine.status<>lsonline в случае дисконекта бот этого не видит , как реализовать проверку на дисконект, без кастомных решений типа сделать шаг в право или в лево , или на проверку перемещения в координатах XYZ .
А реально толковую проверку , есть идея использовать чат, если в чат ничего не ушло , то по факту дискон , но это все тот-же костыль.

Вторая проблема уже после локализации дисконекта , стоит задача запускать окна по очередно Тобишь что-то из серии , thread.suspend и thread.resume , только глобально для всех у кого есть флаг дисконект. Или же написать глобальный поток который будет следить за состоянием каждого окна и если в друг что перезапускал его =)
И да я кажись понял как реализовать , надо напипсать поток который будет фором перебирать каждое окно , и в случае если обнаружен на окне дисконект то выполнять конфиг файл.
В помощь мне function "OnEntry(var Param)Функция, тело которой должно быть написанно в вашем коде. Для вызова с другого TL2Control, через Entry"
А здесь "ShMem: array[0..1000] of integer; Массив, который доступен из любого TL2Control (любого персонажа)" мы можем хранить состояние окон и просто потом серфить его и вызвать OnEntry()
Псевдо кода чутка .
Это пофакту управляющий поток будет .

//написал на питоне потому что так быстрей спать уже охота =)
discChars=dict()
if disconnected :
discChars[Engine.GetUser.name]=disconnected
for char in discChars:
if discChars[char] :
GetControl(cahr).Entry()


по факту осталось , только родить идею как установить наличие дисконекта.

И еще народ подскажите нормальную IDE с которой реально можно работать на делфи .

Тут можно думать и шагать далеко .
 
magogs написал(а):
И еще народ подскажите нормальную IDE с которой реально можно работать на делфи .
Тоже задался вопросом с шустрой IDE, в данный момент пользуюсь редактором sublime text(из-за скорости работы), ставить огромные комбайны(типа Borland Delphi) ради подобного скриптинга не хочется.
Не хватает форматирования кода, как допустим в python, большинство скриптов из свободного доступа в сети трудночитабельны. Встроенный в бота редактором пользоваться не возможно.
 
Назад
Сверху