Сообщения без ответов | Активные темы Текущее время: Чт сен 20, 2018 7:11 pm



Ответить на тему  [ Сообщений: 4 ] 
Ошибки при компиляции скриптов 
Автор Сообщение

Зарегистрирован: Пн ноя 17, 2014 6:36 pm
Сообщений: 14
Сообщение Ошибки при компиляции скриптов
При написании скриптов возникают три типа ошибок:

1)Скрипт содержит ошибку, адреналин перестает отвечать и вылетает.
Сам виноват, конечно, но в таком режиме сложно ботить одновременно с отладкой скрипта.
2)Скрипт содержит ошибку, при запуске указывает на нее. Иногда после исправления ошибки бот отказывается запускать любые скрипты (даже пустой скрипт бегин - енд).
Опять таки, сам виноват, но неудобно
3)Готовый скрипт не содержащий ошибок иногда повисает с надписью compiling при запуске.

Если возможно, передаю разработчику свои пожелания сделать написание скриптов более устойчивым к сбоям


Ср дек 03, 2014 8:18 pm
Профиль

Зарегистрирован: Пн ноя 17, 2014 6:36 pm
Сообщений: 14
Сообщение Re: Ошибки при компиляции скриптов
Апдейт. Сегодня почему-то скрипт иногда стал вылетать с ошибкой (делает в цикле одно и то же, я практически уверен в отсутствии ошибок в коде). До этого работал 2 дня без нареканий


Чт дек 04, 2014 2:32 pm
Профиль

Зарегистрирован: Вт дек 02, 2014 8:57 pm
Сообщений: 2
Сообщение Re: Ошибки при компиляции скриптов
Может слишом быстро отрабатывает. Мы не Ванги)


Чт дек 04, 2014 2:41 pm
Профиль

Зарегистрирован: Пн ноя 17, 2014 6:36 pm
Сообщений: 14
Сообщение Re: Ошибки при компиляции скриптов
Ну тогда с конкретностями. Прошу помочь, если кто знает, как лечить. Пример кода, время от времени генерящего ошибку:

Код:
interface
TCoord = Class(TObject) //Именованая координата XYZ
public
   X : Integer;
   Y : Integer;
   Z : Integer;
   Name : String;
   Constructor Create(X, Y, Z : Integer; Name : String = '');
   procedure MoveTo();
end;

implementation   
Constructor TCoord.Create(X, Y, Z : Integer; Name : String);
begin
   self.X:=X;
   self.Y:=Y;
   self.Z:=Z;
   self.Name:=Name;
   inherited Create;
end;
procedure TCoord.MoveTo();
begin
   Engine.MoveTo(X,Y,Z);  // !!! = = = !!! Вот эта строка выбрасывает ошибку !!! = = = !!!
end;

var Nodes : Array of TCoord; //точки
     i:Integer;
begin
      SetLength(Nodes,50);
      Nodes[СЛЕДУЮЩИЙ ИНДЕКС]:=TCoord.Create(ХХ,УУ,ZZ); //координаты тут реальные, эта строчка повторяется пару десятков раз с разными параметрами, т.е. инициализируем массив точек
        while true do //цикл действий
  begin
    if User.Dead then    // умер- вырубаем интерфейс, возврат в город и пауза
    begin
      print('Я умер');
      Engine.FaceControl(0,false);
      Engine.gohome;
      delay(7000);
      for i:=1 to КОЛИЧЕСТВО ТОЧЕК do
           Nodes[i].MoveTo();print('Я пришел на спот');
      Engine.FaceControl(0,true);
    end;
    delay(1000); //проверяем время от времени, не сдох ли
  end;

       

end.


Сб дек 06, 2014 6:27 pm
Профиль
Показать сообщения за:  Сортировать по:  
Ответить на тему   [ Сообщений: 4 ] 

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Разработано: g-yar.
Русская поддержка phpBB