Page 1 of 1
ICQ
Posted: 22.12.2013 14:02
by d3v1l
Есть вопрос по ICQ соединению. Аська коннектиться только на один чар, т.е. коннект не глобальный. Можно ли как-то сделать чтоб управлять всеми чарами через 1 аську?
К примеру отсылаю сообщение
Char2 anatomy -> у чара с ником "Char2" покажется скилл анатомии
Char1 stop -> у чара с ником "Char1" останавливается скрипт
ну и т.д.
пока только получилось сделать это на 1 одного чара
Версия стелса 6.1.5
Re: ICQ
Posted: 22.12.2013 14:36
by Vizit0r
через глобальные стелсовые переменные, например.
Re: ICQ
Posted: 22.12.2013 15:07
by d3v1l
хорошо, но для этого нужно отдельным потоком обрабатывать эту самую переменную.
Т.е. если сообщение пришло на определённый чар(1), и ник не соответсвует ему, то записываем комманду в глобальную переменную.
на другом чаре(2) я должен в отдельном потоке словить эту переменную, обработать её, записать ответ и уже у чара(1) послать сообщение
Есть такая возможность ? Информации я не нашёл.
Спасибо
Re: ICQ
Posted: 23.12.2013 2:06
by d3v1l
решил использовать event timer1 для отдельного потока.
Но до таймера ещё даже не дошёл, так как появилась другая проблема.
в событии evICQIncomingText
Code: Select all
procedure OnICQIncomingText(UIN: Cardinal; Text: String);
begin
...
AddToSystemJournal('try add CharReq: ' + SL.Strings[1]);
SetGlobal('stealth', 'CharReq', SL.Strings[1]);
AddToSystemJournal('add global CharReq: ' + SL.Strings[1]);
...
end;
не доходит до сообщения add global CharReq. Stealth client просто подвисает.
и выдаёт окно :
Code: Select all
[Window Title]
Client for Ultima Online
[Main Instruction]
Программа "Client for Ultima Online" не работает
[Content]
Возникшая проблема привела к прекращению работы программы. Windows закроет эту программу, а если есть известный способ устранения проблемы, уведомит вас об этом.
[Отладка] [Закрыть программу]
отладка в студии говорит:
Unhandled exception at 0x00424E07 in Stealth.exe: 0xC0000005: Access violation writing location 0x037A0930.
Re: ICQ
Posted: 23.12.2013 8:56
by Vizit0r
может с SL чавой-то не то?
Re: ICQ
Posted: 23.12.2013 13:35
by d3v1l
Vizit0r wrote:может с SL чавой-то не то?
я изначально тоже так подумал, но для этого я добавил строку, которая нормально добавляется на экран
Code: Select all
AddToSystemJournal('try add CharReq: ' + SL.Strings[1]);
AddToSystemJournal('Sl.String[1] Text upear normal');
SetGlobal('stealth', 'CharReq', SL.Strings[1]);
AddToSystemJournal('add global CharReq: ' + SL.Strings[1]);
Вывод на экран:
try add CharReq: asdasda
Sl.String[1] Text upear normal
после этого стелс сереет(подвисает)
то есть скрипт именно валиться на SetGlobal
Re: ICQ
Posted: 02.01.2014 1:27
by Vizit0r
ну наконец-то я нормально добрался до компа и синхронизировал исходники и прочее.
баг с SetGlobal исправил.
Re: ICQ
Posted: 02.01.2014 18:44
by d3v1l
огромное спасибо и С Новым Годом! Всего самого лучшего в новом году!!
Re: ICQ
Posted: 02.01.2014 19:15
by Vizit0r
спасибо
выложу правленую версию минимум через неделю (хотя лучше ориентироваться на две) - надо как минимум протестить, не выплыли ли новые баги в связи с переходом на новую версию Delphi.
Re: ICQ
Posted: 28.01.2014 20:53
by d3v1l
В версии 6.2.1 этот-же скрипт не коннектится к ICQ и соответственно не срабатывает ивент OnICQIncomingText.
переключился на версию 6.1.5, работает ICQ, но падает на моменте SetGlobal
Re: ICQ
Posted: 28.01.2014 20:55
by CxC
d3v1l wrote:В версии 6.2.1 этот-же скрипт не коннектится к ICQ и соответственно не срабатывает ивент OnICQIncomingText.
переключился на версию 6.1.5, работает ICQ, но падает на моменте SetGlobal
ICQ модуль
Re: ICQ
Posted: 29.01.2014 3:02
by d3v1l
CxC wrote:d3v1l wrote:В версии 6.2.1 этот-же скрипт не коннектится к ICQ и соответственно не срабатывает ивент OnICQIncomingText.
переключился на версию 6.1.5, работает ICQ, но падает на моменте SetGlobal
ICQ модуль
спасибо за ссылку.