Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

ICQ

Часто задаваемые вопросы
Post Reply
d3v1l
Posts: 8
Joined: 22.12.2013 13:58

ICQ

Post by d3v1l »

Есть вопрос по ICQ соединению. Аська коннектиться только на один чар, т.е. коннект не глобальный. Можно ли как-то сделать чтоб управлять всеми чарами через 1 аську?

К примеру отсылаю сообщение

Char2 anatomy -> у чара с ником "Char2" покажется скилл анатомии
Char1 stop -> у чара с ником "Char1" останавливается скрипт

ну и т.д.

пока только получилось сделать это на 1 одного чара

Версия стелса 6.1.5
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: ICQ

Post by Vizit0r »

через глобальные стелсовые переменные, например.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
d3v1l
Posts: 8
Joined: 22.12.2013 13:58

Re: ICQ

Post by d3v1l »

хорошо, но для этого нужно отдельным потоком обрабатывать эту самую переменную.

Т.е. если сообщение пришло на определённый чар(1), и ник не соответсвует ему, то записываем комманду в глобальную переменную.

на другом чаре(2) я должен в отдельном потоке словить эту переменную, обработать её, записать ответ и уже у чара(1) послать сообщение

Есть такая возможность ? Информации я не нашёл.

Спасибо
d3v1l
Posts: 8
Joined: 22.12.2013 13:58

Re: ICQ

Post 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.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: ICQ

Post by Vizit0r »

может с SL чавой-то не то?
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
d3v1l
Posts: 8
Joined: 22.12.2013 13:58

Re: ICQ

Post 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
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: ICQ

Post by Vizit0r »

ну наконец-то я нормально добрался до компа и синхронизировал исходники и прочее.

баг с SetGlobal исправил.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
d3v1l
Posts: 8
Joined: 22.12.2013 13:58

Re: ICQ

Post by d3v1l »

огромное спасибо и С Новым Годом! Всего самого лучшего в новом году!!
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: ICQ

Post by Vizit0r »

спасибо :)

выложу правленую версию минимум через неделю (хотя лучше ориентироваться на две) - надо как минимум протестить, не выплыли ли новые баги в связи с переходом на новую версию Delphi.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
d3v1l
Posts: 8
Joined: 22.12.2013 13:58

Re: ICQ

Post by d3v1l »

В версии 6.2.1 этот-же скрипт не коннектится к ICQ и соответственно не срабатывает ивент OnICQIncomingText.

переключился на версию 6.1.5, работает ICQ, но падает на моменте SetGlobal
CxC
Neophyte
Neophyte
Posts: 34
Joined: 25.10.2009 15:45
Contact:

Re: ICQ

Post by CxC »

d3v1l wrote:В версии 6.2.1 этот-же скрипт не коннектится к ICQ и соответственно не срабатывает ивент OnICQIncomingText.
переключился на версию 6.1.5, работает ICQ, но падает на моменте SetGlobal
ICQ модуль
d3v1l
Posts: 8
Joined: 22.12.2013 13:58

Re: ICQ

Post by d3v1l »

CxC wrote:
d3v1l wrote:В версии 6.2.1 этот-же скрипт не коннектится к ICQ и соответственно не срабатывает ивент OnICQIncomingText.
переключился на версию 6.1.5, работает ICQ, но падает на моменте SetGlobal
ICQ модуль
спасибо за ссылку.
Post Reply