Page 1 of 4

Stealth 7 RC

Posted: 28.03.2016 10:01
by Vizit0r
7.2 по ссылке - https://cloud.mail.ru/public/C1jy/qbJNcEQuU

Из нового - архитектура перепилена чуть менее, чем полностью - на полной скорости движемся в сторону мультиплатформенности, видимо версия 8 будет работать не только на винде. Новый скриптовый движок, намного мощнее + несколько языков + мультиплатформенный. Встроенный глючный питон переделан так, что больше из-за стелса проблем не будет вообще - потоки, wait, и все остальное работает правильно. Поддержка Skype. И еще куча всякого.

Re: Stealth 7

Posted: 28.03.2016 10:02
by Vizit0r
А пока что вот вам информация по тем синтаксическим ошибкам, которые могут появиться при запуске скриптов в 7м стелсе (пример куска кода + ошибка + описание).

Раз:

Code: Select all

FindType(StrToInt(DailyTypes.strings[Idx3]), Ground)
if GetFoundItems(Items) > 0 then

[XXX]: Compiler: [Error] (test.sc at 460:1):  "end" expected but "if" found ;
Error line is: "if GetFoundItems(Items) > 0 then "

точки с запятой нет

Code: Select all

    repeat
      wait(1000)
      p:=p+1;


12:06:29:307 [Natka]: Compiler: [Error] ( at 85:7):  "until" expected but "p" found ;
Error line is: "       p:=p+1; "

то же самое

Code: Select all

function GoToObject(Object: Cardinal): Boolean;

[XXX]: Compiler: [Error] (test.sc at 355:19):  Identifier expected but "Object" found ;
Error line is: " function GoToObject(Object: Cardinal): Boolean; "

Object - это ключевое слово языка, оно не может быть названием параметра или переменной!

Code: Select all

var
  Items_arr : Array of Cardinal;

function GetFoundItems(var Items: Array of Cardinal): Integer;
...

  if GetFoundItems(Items_arr) > 0 then

опа, и ошибка выполнения(Exec Error) тут! При этом компилятор пропустит такую конструкцию.

должно быть:


type TItemArr = Array of Cardinal; 
var
  Items_arr : TItemArr;


function GetFoundItems(var Items: TItemArr): Integer;
...

if GetFoundItems(Items_arr) > 0 then


это неочевидно, но это факт - динамические массивы нельзя передавать параметрами, надо определять его как тип. Var param при этом использовать необязательно, динамический массив - это и так указатель по сути своей.
В предыдущих версиях это тоже было актуально, кстати.

Code: Select all

22:15:13:102 [Rdor Sems]: Compiler: [Error] ( at 338:14):  Identifier expected but ";" found ;
Error line is: "     Time := 0;; "
22:15:13:102 [Rdor Sems]: Compiling failed

всё написано в ошибке - две точки с запятой.
Появится еще что-то популярное - дополню.

Re: Stealth 7

Posted: 02.04.2016 11:45
by Vizit0r
еще насчет скриптов.
Посколько в новом скриптовом движке можно создавать классы внутри скриптов, а внутри классовых методов Self - это указатель на класс, а не стелсовая функция - в этих случаях стоит использовать StealthSelf, возвращает тот же ID своего чара, что и Self

Re: Stealth 7

Posted: 02.04.2016 17:55
by nah nah
Нет бы назвать MyChar или SelfChar

Re: Stealth 7

Posted: 02.04.2016 18:55
by Vizit0r
а оно просто было уже. Я подумываю переименовать в SelfID.

Re: Stealth 7

Posted: 06.04.2016 15:35
by ess3nt
когда уже можно будет пощупать новый стелс?)

Re: Stealth 7

Posted: 06.04.2016 18:47
by Vizit0r
времени нет. Последние доделки + второй день пытаюсь выловить гнусный баг в паксе. Если до завтра не выловлю - выложу как есть, пока люди тестить будут - буду искать.

Re: Stealth 7

Posted: 07.04.2016 23:15
by Vizit0r
в первом посте темы выложил стелс.

скайп рабочий полностью.
питон x64 поддерживается и запускается.

в паксскрипте обращаться к скайпу через класс SkypeApi

Code: Select all

program test_sript;

procedure SkypeEventsHandler(SenderNickName, SenderId, EventMsg: String; EventCode : Byte);
begin                              
  case EventCode of
    evCode_Connected    : AddToJournal('Skype Connected!');
    evCode_ServerDisconnected : AddToJournal('Skype Disconnected, try to reconnect!');
    evCode_ClientDisconnected : AddToJournal('Skype Disconnected.');
    evCode_MsgReceived  :  AddToJournal('SkypeMsg : "' + SenderNickName + '(' 
                                       + SenderId + ') : "' + EventMsg + '"');
    evCode_Error :        AddToJournal('SkypeError : "' + SenderNickName + '(' 
                                       + SenderId + ') : "' + EventMsg + '"');
  end;  
end; 

begin
SetEventProc(evSkypeEvent, 'SkypeEventsHandler');
 SkypeApi.Connect('your_login','your_pass');
 while not SkypeApi.Connected do
   wait(200);
 SkypeApi.SendMessage('test1','receiver_id');   
 wait(100);
 SkypeApi.SendMessage('test2', SkypeApi.GetIdByNickname('тот_ник_что_выставлен_на_контакт_в_скайпе'));   
 if SkypeApi.Connected then
   SkypeApi.Disconnect; 
              
while (true) do 
begin
  Wait(100);
end;  
end.
для внешних скриптов: в дельфийской обертке то же самое через Script.Skype. В питон-обертке оно в виде методов, кто захочет - сам обернет в класс.
c# обертка еще не обновлена, на подходе.

Поддержка IRC полуреализована, но очень уж криво, возможно будет убрана нафиг.

в паксе добавлена procedure WinExec(FileName : String; Parameters: String = ''); второй параметр - опциональный, те необязательный.

В целом куча всего добавлена и переделана, буду делать изменения одним большим постом, да и вики надо обновить\дополнить.

Но конкретно сейчас меня интересуют тесты всего подряд. Работа скриптов, коннекты, да все что угодно. С любыми проблемами сюда, или в скайп\асю мне, как удобнее.
А проблемы будут, это я и так могу сказать.

Re: Stealth 7

Posted: 07.04.2016 23:27
by Vizit0r
кстати,
Vizit0r wrote:еще насчет скриптов.
Посколько в новом скриптовом движке можно создавать классы внутри скриптов, а внутри классовых методов Self - это указатель на класс, а не стелсовая функция - в этих случаях стоит использовать StealthSelf, возвращает тот же ID своего чара, что и Self
таки-да переименовал в SelfID

Re: Stealth 7

Posted: 08.04.2016 0:15
by nah nah
Vizit0r wrote:переименовал в SelfID
старые скрипты не алё теперь будут?

Re: Stealth 7

Posted: 08.04.2016 8:28
by Vizit0r
старый селф никуда не делся. SelfID нужен в тех случаях, когда Self не работает - внутри классовых методов. Написал же выше.

Re: Stealth 7

Posted: 08.04.2016 9:21
by Vizit0r
https://cloud.mail.ru/public/HKsD/NjKWU7KYM

исправлена отладка в целом и показ переменных в редакторе.

Re: Stealth 7

Posted: 08.04.2016 17:37
by ess3nt
неприятный баг:
при реконнекте чара профиль часто повисает, бывает с первого рекконекта, бывает с 8-10го.
Кнопка "Connect" активна, но при ее нажатии ничего не происходит, в системном журнале никакой инфы нет.
http://clip2net.com/clip/m0/751ad-clip-59kb.png

Re: Stealth 7

Posted: 08.04.2016 17:42
by Vizit0r
давай чара+шард, на на котором это можно проверить.
На двух шардах проверял, раз по дофига отключался-подключался, все нормально.

Re: Stealth 7

Posted: 08.04.2016 19:09
by ess3nt
uogames
login 83.222.97.10, 2593
akk testuo
pass 123

еще вот такое иногда пишет и не заходит:
http://clip2net.com/clip/m0/a9c2f-clip-14kb.png

раз 10 клацаю коннект, затем заходит