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

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

тут можно задать вопрос по скриптингу
Post Reply
Kashey
Novice
Novice
Posts: 51
Joined: 29.09.2013 14:47
Location: Одесса

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

Post by Kashey »

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

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

// Не редактировать же скрипт прописывая новые ИД каждый раз.
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

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

Post by nah nah »

Code: Select all

ClientRequestObjectTarget
ClientRequestTileTarget
ClientTargetResponsePresent : Boolean
ClientTargetResponse : TTargetInfo
WaitForClientTargetResponse(MaxWaitTimeMS : Integer) : Boolean
из длл
Kashey
Novice
Novice
Posts: 51
Joined: 29.09.2013 14:47
Location: Одесса

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

Post by Kashey »

И как пользоваться ClientRequestObjectTarget?
Параметров не принимает, ничего не возвращает.

Выкидывает прицел, а куда что сохраняет?
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

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

Post 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;
Last edited by drabadan on 20.10.2013 22:52, edited 1 time in total.
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

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

Post 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('таргет не алё')
Kashey
Novice
Novice
Posts: 51
Joined: 29.09.2013 14:47
Location: Одесса

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

Post by Kashey »

Спс. Уже разобрался.

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

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

Post by Vizit0r »

в документации далеко не все актуально.
но у меня на нее времени нет.

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

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

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

Post by qpeo »

перехожу с инжекта на стэлс.
знаний в программировании не очень много.

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

А особенно было бы полезно для вытягивания айди рунбуки и хранение ее в переменной для последующего использования
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

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

Post by Vizit0r »

ты вики читал?
там и описание подробное, и примеры.

Не на все функции, но на большинство.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

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

Post by drabadan »

http://stealth.od.ua/Doc:RU/Manual/Reference - ссылка если че, а то вики понятие растяжимое...
Post Reply