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

Stealth 6

Post Reply
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Stealth 6

Post by Vizit0r »

Kashey wrote:Постоянно выскакивает окно с предложением сохранить откомпилированный скрипт. Даже если не нажималась кнопка "Save and Compile".
В смысле не постоянно с момента запуска, а появившись в какой-то момент потом уже начинает появляться после каждого выполнения скрипта или нажатия хоткея с процедурой.
Закрытие окна не помогает, ровно как и успешное сохранение скрипта.

П.С. Проходит тоже как-то само минут через 20-30. Скорее всего это не баг, а просто мое кривое использование стелса =)) На что обратить внимание? Не могу найти от чего начинает появляться, но если появилось приходится рестартить стелс или забить на редактирование скрипта временно.
возможно, какой-то хоткей, в котором участвует буква S вызывает срабатывание этой кнопки.
повторить я не смог, но ничего другого в голову не приходит.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
BlackSpirit
Neophyte
Neophyte
Posts: 29
Joined: 20.10.2013 11:45

Re: Stealth 6

Post by BlackSpirit »

shinma wrote:все таки что-то с 6 стелсом не так. каждую ночь ставлю чаров все ок. но с утра один не двигается. второй не может кликнуть по нпс. все проходит после того как чаров перезагружу. т.е. дисконнект, убираю их минусиком в меню справа и оптяь через плюсик добавляю обратно, коннект. сам стелс при этом не перезагружаю.
Во! Есть таки коллеги по несчастью.

Незнаю как движется отлов моего бага - предлагаю такой тест.

Code: Select all

Const ReconnectorTimeout = 15000;
Const SaveMessage = 'System: World is saving now.';

procedure CheckConnected;
var _Timer: Integer;
begin
   while Connected = False do begin
     if GetARStatus then begin 
       AddToSystemJournal('Waiting AR to get connected...');  
       while (Connected = False) do Wait(1000);
     end else begin    
       AddToSystemJournal('Waiting '+IntToStr(ReconnectorTimeout/1000)+' sec for script reconnector ...');
       Wait(ReconnectorTimeout) // Default timeout between tryes.
       Connect;
       _Timer := Timer+ReconnectorTimeout; // Wait fully connected. 
       while (Timer < _Timer) and (Connected = False) do Wait(1000);     
     end;
     if Connected = False then AddToSystemJournal('Failed!');
   end;
end;

procedure CheckSave;
begin
   CheckConnected;
   while (LastJournalMessage = SaveMessage) do begin
     Wait(1000);
     CheckConnected;
   end;
end;

procedure Sleep(Timeout: Int64);
begin
  CheckSave;
  if Timeout > 0 then Wait(Timeout); 
  CheckSave;
end;

begin
  while true do begin
    Sleep(15000);
    AddToSystemJournal('Disconnecting...');  
    Disconnect;
  end;
end.
Запускать надо без свича Pause script on disconnect. Можно пробовать оба варианта - с включенным реконектором и без. Ниже, я привожу системный журнал работы скрипта с выключенным реконнектором:
20:17:10:758 [Black Spirit]: Compiling
20:17:10:774 [Black Spirit]: Compiled succesfully
20:17:10:774 [Black Spirit]: Waiting 15 sec for script reconnector ...
20:17:21:335 [Black Spirit]: Succesfully executed
20:17:21:335 [Black Spirit]: Script test.sc stopped successfuly
20:17:23:082 [Black Spirit]: Compiling
20:17:23:113 [Black Spirit]: Compiled succesfully
20:17:23:113 [Black Spirit]: Waiting 15 sec for script reconnector ...
20:17:39:026 [Black Spirit]: Character Black Spirit Connected.
20:17:54:142 [Black Spirit]: Disconnecting...
20:17:54:142 [Black Spirit]: Character Black Spirit Disconnected.
20:17:54:158 [Black Spirit]: Waiting 15 sec for script reconnector ...
20:18:10:054 [Black Spirit]: Character Black Spirit Connected.
20:18:25:186 [Black Spirit]: Disconnecting...
20:18:25:186 [Black Spirit]: Character Black Spirit Disconnected.
20:18:25:202 [Black Spirit]: Waiting 15 sec for script reconnector ...
20:18:41:145 [Black Spirit]: Character Black Spirit Connected.
20:18:56:230 [Black Spirit]: Disconnecting...
20:18:56:230 [Black Spirit]: Character Black Spirit Disconnected.
20:18:56:246 [Black Spirit]: Waiting 15 sec for script reconnector ...
20:19:12:282 [Black Spirit]: Character Black Spirit Connected.
20:19:28:288 [Black Spirit]: Disconnecting...
20:19:28:288 [Black Spirit]: Character Black Spirit Disconnected.
20:19:28:304 [Black Spirit]: Waiting 15 sec for script reconnector ...
20:19:44:309 [Black Spirit]: Character Black Spirit Connected.
20:19:59:332 [Black Spirit]: Disconnecting...
20:19:59:332 [Black Spirit]: Character Black Spirit Disconnected.
20:19:59:348 [Black Spirit]: Waiting 15 sec for script reconnector ...
20:20:15:385 [Black Spirit]: Character Black Spirit Connected.
20:20:31:390 [Black Spirit]: Disconnecting...
20:20:31:390 [Black Spirit]: Character Black Spirit Disconnected.
20:20:31:406 [Black Spirit]: Waiting 15 sec for script reconnector ...
20:20:47:302 [Black Spirit]: Character Black Spirit Connected.
20:21:02:434 [Black Spirit]: Disconnecting...
20:21:02:434 [Black Spirit]: Character Black Spirit Disconnected.
20:21:02:450 [Black Spirit]: Waiting 15 sec for script reconnector ...
20:21:32:667 [Black Spirit]: Failed!
20:21:32:667 [Black Spirit]: Waiting 15 sec for script reconnector ...
20:22:02:884 [Black Spirit]: Failed!
20:22:02:884 [Black Spirit]: Waiting 15 sec for script reconnector ...
20:22:33:164 [Black Spirit]: Failed!
20:22:33:164 [Black Spirit]: Waiting 15 sec for script reconnector ...
20:23:03:381 [Black Spirit]: Failed!
20:23:03:381 [Black Spirit]: Waiting 15 sec for script reconnector ...
20:23:33:692 [Black Spirit]: Failed!
20:23:33:692 [Black Spirit]: Waiting 15 sec for script reconnector ...

20:23:33:708 [Black Spirit]: Succesfully executed
20:23:33:708 [Black Spirit]: Script test.sc stopped successfuly
Жирным я выделил момент в журнале, начиная с которого Стелс глючит. Если визуально посмотреть, часто обе кнопки Connect и Disconnect становятся неактивными.

Можно спросить, а причем тут то, что чар не двигается? Отвечу. Наблюдаемый баг далее развивается по нескольким сценариям, один из которых - чар по факту с дисконнектило, но из скрипта это не видно, т.к. Connected = True.

П.С. Данный скрипт одинаково плохо работает и на 4-м и на 6-м стелсах. Не зависит от ОС и явно не является особенностью шарда. Можно увеличивать интервал между дисконнектами результат будет такой-же. Единственное, субъективно у меня ощущение, что если уменьшать таймауты в вызовах Wait в процедурах CheckConnected и CheckWait (там, где сейчас везде по 1000), то баг проявляется чаще и агрессивнее,можно даже заставить Стелс полностью повиснуть (удалось пару раз).
Uus Wis
nepret
Neophyte
Neophyte
Posts: 44
Joined: 26.07.2012 22:21

Re: Stealth 6

Post by nepret »

у меня почему то "слетела" кириллица, на 4.3.6 всё нормально, а на 6-й кракозябра
причём кракозябрит информационные сообщения от сервера
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Stealth 6

Post by Vizit0r »

давай пакет из пакетлога, который соответствует кривому сообщению
0xAE 0x1C 0xC1 0XCC - какой-то из этих.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
nepret
Neophyte
Neophyte
Posts: 44
Joined: 26.07.2012 22:21

Re: Stealth 6

Post by nepret »

0x1C

Code: Select all

05:40:21:871: Craftsman, Server -> Client: 0x1C, len: 57
0000: 1C 00 39 01 01 01 01 01 01 00 03 E8 00 03 53 79         ..9...........Sy
0010: 73 74 65 6D 00 00 00 00 00 00 00 00 00 00 00 00         stem............
0020: 00 00 00 00 00 00 00 00 00 00 00 00 52 65 63 6F         ............Reco
0030: 6E 6E 65 63 74 65 64 2E 00                              nnected..

Code: Select all

05:40:21:875: Craftsman, Server -> Client: 0x1C, len: 70
0000: 1C 00 46 01 24 C8 F5 01 01 06 00 44 00 03 5B 49         ..F.$......D..[I
0010: 74 20 69 73 20 63 72 65 61 74 65 64 20 6F 6E 20         t.is.created.on.
0020: 50 61 73 63 61 6C 5D 00 00 00 00 00 5B 49 74 20         Pascal].....[It.
0030: 69 73 20 63 72 65 61 74 65 64 20 6F 6E 20 50 61         is.created.on.Pa
0040: 73 63 61 6C 5D 00                                       scal].

Code: Select all

05:40:21:878: [It is created on Pascal], Server -> Client: 0x1C, len: 54
0000: 1C 00 36 01 24 C8 F5 01 01 06 00 44 00 03 43 72         ..6.$......D..Cr
0010: 61 66 74 73 6D 61 6E 00 00 00 00 00 00 00 00 00         aftsman.........
0020: 00 00 00 00 00 00 00 00 00 00 00 00 43 72 61 66         ............Craf
0030: 74 73 6D 61 6E 00  
Вот такой пакет, я получил когда пришло тоже сообщение, только на английском...
Естественно, инглишь отображается без проблем

Code: Select all

05:48:04:943: Craftsman, Server -> Client: 0x1C, len: 126
0000: 1C 00 7E 01 01 01 01 01 01 00 03 E8 00 03 53 79         ..............Sy
0010: 73 74 65 6D 00 00 00 00 00 00 00 00 00 00 00 00         stem............
0020: 00 00 00 00 00 00 00 00 00 00 00 00 59 6F 75 20         ............You.
0030: 61 72 65 20 66 75 6C 6C 2C 20 61 6E 64 20 63 61         are.full,.and.ca
0040: 6E 27 74 20 65 61 74 20 6E 6F 74 68 69 6E 67 20         n't.eat.nothing.
0050: 6D 6F 72 65 2E 00 DF 20 EE E1 FA E5 EB F1 FF 2C         more...........,
0060: 20 E2 20 EC E5 ED FF 20 F3 E6 E5 20 ED E8 F7 E5         ................
0070: E3 EE 20 ED E5 20 E2 EB E5 E7 E5 F2 2E 00               ..............
0xAE

Code: Select all

05:40:26:001: Craftsman, Server -> Client: 0xAE, len: 128
0000: AE 00 80 01 01 01 01 01 01 00 05 76 00 03 00 00         ...........v....
0010: 00 00 53 79 73 74 65 6D 00 00 00 00 00 00 00 00         ..System........
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00         ................
0030: 00 DF 00 20 00 EE 00 E1 00 FA 00 E5 00 EB 00 F1         ................
0040: 00 FF 00 2C 00 20 00 E2 00 20 00 EC 00 E5 00 ED         ...,............
0050: 00 FF 00 20 00 F3 00 E6 00 E5 00 20 00 ED 00 E8         ................
0060: 00 F7 00 E5 00 E3 00 EE 00 20 00 ED 00 E5 00 20         ................
0070: 00 E2 00 EB 00 E5 00 E7 00 E5 00 F2 00 2E 00 00         ................
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Stealth 6

Post by Vizit0r »

какой на самом деле должен быть текст в 0xAE?
Точно напиши, а лучше скопируй-вставь. С заглавными буквами, точками и прочим.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
nepret
Neophyte
Neophyte
Posts: 44
Joined: 26.07.2012 22:21

Re: Stealth 6

Post by nepret »

Я обьелся, в меня уже ничего не лезет.

обьелся - там то ли ь то ли ъ, не понтятно

скорей всего твёрдый знак
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Stealth 6

Post by Vizit0r »

[03:39:05:046] System: Я объелся, в меня уже ничего не влезет.
починил.
тому гению, кто ТАК формирует этот пакет, надо оторвать руки.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
nepret
Neophyte
Neophyte
Posts: 44
Joined: 26.07.2012 22:21

Re: Stealth 6

Post by nepret »

спс, можно качать?)
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Stealth 6

Post by Vizit0r »

нет.
интернет очень плох, и в ближайшие дни не улучшится. Так что апдейт будет не раньше вторника.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
nepret
Neophyte
Neophyte
Posts: 44
Joined: 26.07.2012 22:21

Re: Stealth 6

Post by nepret »

ок, буду ждать :)
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Re: Stealth 6

Post by CFA »

BlackSpirit wrote: Можно спросить, а причем тут то, что чар не двигается? Отвечу. Наблюдаемый баг далее развивается по нескольким сценариям, один из которых - чар по факту с дисконнектило, но из скрипта это не видно, т.к. Connected = True.

П.С. Данный скрипт одинаково плохо работает и на 4-м и на 6-м стелсах. Не зависит от ОС и явно не является особенностью шарда. Можно увеличивать интервал между дисконнектами результат будет такой-же. Единственное, субъективно у меня ощущение, что если уменьшать таймауты в вызовах Wait в процедурах CheckConnected и CheckWait (там, где сейчас везде по 1000), то баг проявляется чаще и агрессивнее,можно даже заставить Стелс полностью повиснуть (удалось пару раз).
Пофиксил баг с залипающим коннектом, насчет остальных не уверен.
Проверить можно тут тыц
Kashey
Novice
Novice
Posts: 51
Joined: 29.09.2013 14:47
Location: Одесса

Re: Stealth 6

Post by Kashey »

Только что поймал очень забавный баг!

В один момент все 3 окна загруженые через стелс стали показывать и управлять одним!!! персом. Как будто 3 клиента загрузили один и тот же аккаунт одновременно =)
Пришлось все закрыть и открыть заново нужные.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Stealth 6

Post by Vizit0r »

BlackSpirit wrote:
BlackSpirit wrote: в версии 6.1.2 есть проблемы. Я фиксирую появление итемов-фантомов. Например сейчас в бэкпаке моего персонажа "находится" еще какой-то бекпак с не принадлежащими моему чару вещами. В вкладке world это видно, но в реальности это глюк. Find-ы видят все в точности как во вкладке World, а в ней все не как в "жизни".
:oops: Виноват, вчера вечером на разобрался. Это не бэкпак, это оказалась книга заклинаний, а итемы - скролы самих заклинаний. С толку меня сбило то, что в поле Quantity видимо записан порядковый номер заклинания. Гляжу 10 таких скролов, 20 других - непонятно. На название этого "бэкпака" не помотрел. Отбой.
проверил, покрутил так и сяк- и оставил как есть. Добавил только Name для скроллов Spellbook Cast #X и X=Y=Z=0 и Amount в единицу.

Кстати, если мне не изменяет склероз, если кинуть эту СБ в трейдокно и там даблклик по ней - то откроется как раз как контейнер, а не как спеллбука. Это относится вообще ко всем неявным контейнерам.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
BlackSpirit
Neophyte
Neophyte
Posts: 29
Joined: 20.10.2013 11:45

Re: Stealth 6

Post by BlackSpirit »

CFA wrote: Пофиксил баг с залипающим коннектом, насчет остальных не уверен.
Проверить можно тут тыц
После 1-го дня теста могу сказать:
1. Баг с залипанием точно победили. Это реально круто, спасибо!

2. Баг с Connected = True победить пока не удалось. Стелс может потерять нить рассуждений сервера и не понять этого. Смотрится это забавно: Стелсу несколько часов в ответ ни пакетика, а он шлет степы, скиллы, спеллы, юзы как ни в чем не бывало. Я нашел для себя некоторый выход в регулярной проверке вида if not CheckLag(5мин) then Disconnect; Но был бы рад, если удалось как-то внутри Стелса заставить его фиксировать факт отсутствия осмысленных пакетов от сервера в течение заданного интервала времени. Думаю для 99,99% жизненных ситуаций, сервер можно смело дисконнектить, если он более 5 мин не шлет пакетов.

3. У меня не срабатывают evTimer1 и evTimer2, так задумано?. Жалко, была идея запустить ивент и каждую, скажем 1 мин, проверть разницу между временем последнего сообщения в журнале и значением Now. Соответственно, если долго нет ни одного сообщения, то дисконнектить.
Uus Wis
Post Reply