Page 1 of 1

Быстрая подмена ИД в скрипте?

Posted: 20.10.2013 16:20
by Kashey
Как можно быстро подменять ИД в скрипте? Можно ли как-то вызывать прицел и таргетить или другими способами?
Например, для скриптов тайминга/снупинга/стилинга.

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

// Не редактировать же скрипт прописывая новые ИД каждый раз.

Re: Быстрая подмена ИД в скрипте?

Posted: 20.10.2013 16:48
by nah nah

Code: Select all

ClientRequestObjectTarget
ClientRequestTileTarget
ClientTargetResponsePresent : Boolean
ClientTargetResponse : TTargetInfo
WaitForClientTargetResponse(MaxWaitTimeMS : Integer) : Boolean
из длл

Re: Быстрая подмена ИД в скрипте?

Posted: 20.10.2013 22:45
by Kashey
И как пользоваться ClientRequestObjectTarget?
Параметров не принимает, ничего не возвращает.

Выкидывает прицел, а куда что сохраняет?

Re: Быстрая подмена ИД в скрипте?

Posted: 20.10.2013 22:49
by drabadan
Kashey wrote:И как пользоваться ClientRequestObjectTarget?
Параметров не принимает, ничего не возвращает.

Выкидывает прицел, а куда что сохраняет?
вот моя процедурка, ты сведущий разберешься:

Code: Select all

function GetItemInfo() : TTargetInfo;
    begin
        ClientRequestObjectTarget;
        WaitForClientTargetResponse(50000);
        if ClientTargetResponsePresent then Result := ClientTargetResponse;
    end;
Использование в скрипте:

Code: Select all

function SetLootBag() : Cardinal;
    begin        
        ClientPrint('Выбери сумку для говен...');        
        TItem := GetItemInfo;
        if not (isContainer(TItem.ID)) then 
            begin
                ClientPrint('Выбран не контейнер!');
                exit;                
            end;
        Result := TItem.ID;
        ClientPrint('Выбрана сумка: ' + GetName(Result));
    end;
Выкидывает прицел, а куда что сохраняет?

Code: Select all

Ttargetinfo = packed record
    ID : Cardinal;
    Tile : Word;
    X, Y : Word;
    Z :  ShortInt;
  end;

Re: Быстрая подмена ИД в скрипте?

Posted: 20.10.2013 22:52
by nah nah

Code: Select all

ClientRequestObjectTarget()
while not ClientTargetResponsePresent():
    Wait(100)
target = ClientTargetResponse()

Code: Select all

ClientRequestObjectTarget()
if WaitForClientTargetResponse(10000):
    target = ClientTargetResponse()
else:
    AddToSystemJournal('таргет не алё')

Re: Быстрая подмена ИД в скрипте?

Posted: 20.10.2013 23:01
by Kashey
Спс. Уже разобрался.

П.С. Сорри что не пользуюсь поиском. Мешает то что если искать по форуму - находит примеры от разных версий Стелса.
И в документации к нужной версии не всегда правильная инфа =(
В данном случае ClientTargetResponsePresent вместо TargetResponsePresent и проперти ID вместо TargetID по докам (property TargetID : Cardinal;).

Re: Быстрая подмена ИД в скрипте?

Posted: 21.10.2013 5:57
by Vizit0r
в документации далеко не все актуально.
но у меня на нее времени нет.

а раз никто больше не хочет ее редактировать (хотя у всех есть права), значит вывод простой - никому оно не надо.

все очень просто.

Re: Быстрая подмена ИД в скрипте?

Posted: 22.07.2014 22:23
by qpeo
перехожу с инжекта на стэлс.
знаний в программировании не очень много.

Вы бы не могли как для чайника написать эти функции с комментами? Какие переменные и какого типа нужно предопределить, как предопределить функции(ю), как их вызвать через скрипт?

А особенно было бы полезно для вытягивания айди рунбуки и хранение ее в переменной для последующего использования

Re: Быстрая подмена ИД в скрипте?

Posted: 23.07.2014 4:16
by Vizit0r
ты вики читал?
там и описание подробное, и примеры.

Не на все функции, но на большинство.

Re: Быстрая подмена ИД в скрипте?

Posted: 23.07.2014 8:46
by drabadan
http://stealth.od.ua/Doc:RU/Manual/Reference - ссылка если че, а то вики понятие растяжимое...