Почему-то нажатием кнопки "Stop curren script" нельзя остановить скрипт с таким циклом:
Code: Select all
PROGRAM Test;
BEGIN
while TRUE do Wait(100);
END.
Но, если Wait(100) заключить в "begin end" или условие и тело цикла написать на разных строчках, т.е.
то все все работает нормально.
Условие может быть любое, а вместо Wait(100) можно попробовать использовать, например, CheckLag(100), то результаты будут аналогичные. Не знаю, может это как-то связано со встроенными функциями Стелса, так как цикл с вызовом самописной функции не приводит к зависанию, если он записан в одну строчку:
Code: Select all
PROGRAM Test;
Procedure MyProc();
Begin
Wait(100);
End;
BEGIN
while TRUE do MyProc();
END.
В чем разница? - Особенности скриптового движка? Просто возникло ощущение, что "begin end" лучше писать везде, даже там, где это можно опустить.
BuffBarInfo.Count - выдаваемый результат на 1 меньше, и, скорее всего, по этой причине ничего не известно о последнем висящем на персонаже баффе.
Ошибки откомментировал по ходу скрипта:
Code: Select all
PROGRAM TEST;
Procedure DrawDirectionTo(X, Y: Integer);
Var
Figure : TMapFigure;
Begin
Figure.kind := fkDirection;
Figure.coord := fcWorld;
Figure.x1 := X;
Figure.y1 := Y;
Figure.x2 := 0;
Figure.y2 := 0;
Figure.brushStyle := bsClear; //Undeclared identifier "bsClear", и другие типы стиля кисти.
Figure.brushColor := $000000;
Figure.color := $00FF00; //Цвет линии должен быть зеленым, а рисуется черным.
Figure.text := ''; //Pax Unhandled Exception : Access violation at address 0040B3CE in module 'Stealth.exe'. Write of address 00FFFEF8
AddFigure(Figure);
End; //Pax Unhandled Exception : Access violation at address 0040B3C8 in module 'Stealth.exe'. Read of address 0000FEF8. Error line is: " End; " - Что здесь не так?
BEGIN
ClearFigures();
DrawDirectionTo(100, 100);
END.
Не смог загрузить автолоад, даже такой:
Code: Select all
PROGRAM autoload;
Procedure TEST;
Begin
ClientPrint('>> HELLO WORLD!');
End;
BEGIN
{ ЭТОТ БЛОК ОСТАВЛЯЕМ ПУСТЫМ }
END.
При загрузке большого автолоада (4000+ строк, 180КБ) выдает баг репорт: