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

Недавно начал разбиратся, нужен хелп

тут можно задать вопрос по скриптингу
WladL
Apprentice
Apprentice
Posts: 240
Joined: 27.07.2009 17:21
Location: DRW
Contact:

Post by WladL »

grundick wrote:а как же нуль?
Вряд-ли у него получится залезть на ящик )
Last edited by WladL on 27.10.2009 18:53, edited 1 time in total.
Sfairat
Neophyte
Neophyte
Posts: 44
Joined: 21.10.2009 18:15

Post by Sfairat »

Эмм....по скалам копает без проблем, а по полу шахты так и не хочет, т.е кажется он не жмет + побывал другиет таргеты и нифига...:(

Code: Select all

     WaitTargetXYZ(GetX(self),Gety(self)-1,GetZ(self));
     UseObject(FindType(Kr,$ffff));
     Wait(3000);
WladL
Apprentice
Apprentice
Posts: 240
Joined: 27.07.2009 17:21
Location: DRW
Contact:

Post by WladL »

В настройках профиля-шарда есть такая галочка "Nul targets"

AoP shard // для АоП
Nul Targets // для шардов с измененными стандартными таргетами, на которые не реагирует стелс.
// при этом стелс даже с включенной галочкой обрабатывает эти "нулевые" таргеты ограниченным набором функций, в частности TargetToObject, TargetToXYZ, TargetToTile
Sfairat
Neophyte
Neophyte
Posts: 44
Joined: 21.10.2009 18:15

Post by Sfairat »

Т.е с включенной это опцией чар будет таки будет рубить по дереву???

Code: Select all

TargetToXYZ(GetX(self),Gety(self)-1,GetZ(self)); 


Сделал так, не рубит


Т.е по скале копает, а по полу шахты и по дереву нет


Не может использовать объект в руке...

Code: Select all

     FindType(kr, LhandLayer);
     UseObject(FindType(kr, LhandLayer));
     Wait(1000);
     TargetToXYZ(GetX(self),Gety(self)-1,GetZ(self));
     Wait(2000);
UseObject error: Object not finded.

И как бы посмотрел справку...финд типа только по контейнеру...а как тогда на топор жать?

ЗЫ в Уо нет ничего чем можно рубить не экипируя?


Вжжж и через

Code: Select all

UseObject(ObjAtLayer(LhandLayer));
Пробовал, нифига...

Короче вопрос:
Как рубить по дереву? чтоб так же как по скале, без гемарной системы как по тайлам, а просто по относительной координате :evil:
WladL
Apprentice
Apprentice
Posts: 240
Joined: 27.07.2009 17:21
Location: DRW
Contact:

Post by WladL »

UseObject(ObjAtLayer(LhandLayer));
а ты уверен , что топор у чара в левой руке?
Sfairat
Neophyte
Neophyte
Posts: 44
Joined: 21.10.2009 18:15

Post by Sfairat »

Написано:

Внимание!!! ВСЕ ДВУРУЧНЫЕ Итемы (топоры и тд) одеваются в левую руку (LhandLayer), несмотря на картинку папердола в клиенте!!!

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

ObjAtLayer
LhandLayer

Надо в начале скрипта прописывать? хотя пробовал назначать их integer, так на всякий случай...тоже нифига... :lol:

Вот типа код, ну вот че не так, а ? :x

Code: Select all

procedure kopp;
begin
wait(1000);
addtosystemjournal('Рубим...');
    FindType(kr, backpack);
    wait(500);
    Equipt(LhandLayer, kr);      // Одеть вещь на казанный слой
    wait(500);
    for i:=1 to 5 do 
    begin
       //addtosystemjournal('Копаааем '+inttostr(i)+'й раз');
    //  FindType(ObjAtLayer(LhandLayer));
       WaitTargetXYZ(GetX(self),Gety(self)-1,GetZ(self));
       UseObject(ObjAtLayer(LhandLayer));
   //  Wait(1000);
   //  TargetToXYZ(GetX(self),Gety(self)-1,GetZ(self));
         Wait(2000);
    end;
end;


:evil:
Sfairat
Neophyte
Neophyte
Posts: 44
Joined: 21.10.2009 18:15

Post by Sfairat »

Люди ну памажите :) уже 3 дня голову грею )

Дроф нет, карпентер не качается :) сундуки не делает, локпик не качается, клады не открываются :lol:
grundick
Developer
Developer
Posts: 272
Joined: 31.01.2008 21:16

Post by grundick »

Попробуй просто UseType(kr,$FFFF);

Code: Select all

UseType(ObjType : Word; Color : Word) : Cardinal - Поиск айтима по типу и цвету в паке персонажа и использование (DblClick) его. Ф-ция сначала ищет айтим в слоях чара, и если его не находит, то ищет в бекпаке. Если айтим найден, то он будет использован (DblClick) и ф-ция вернет его ID. В противном случае вернет 0. 
Sfairat
Neophyte
Neophyte
Posts: 44
Joined: 21.10.2009 18:15

Post by Sfairat »

Неа, нифига...
Манаул гласит:

function UseType(ObjType: Word; Color: Word): Cardinal; // Использовать по типу из BackPack-a

Нул таргеты включил, правда нафига не понятно, т.е минер с лопатами по скалам работает же, а ламбер по деревам нифкакую...

И еще в добавок не экипирует....

Code: Select all

Equipt(LhandLayer(FindType(kr, backpack)));

Даже так:

Code: Select all

       UseType(kr,$FFFF); 
       Wait(1000);
       TargetToXYZ(GetX(self),Gety(self)-1,GetZ(self));
Sfairat
Neophyte
Neophyte
Posts: 44
Joined: 21.10.2009 18:15

Post by Sfairat »

Вобшем сделал отдельную прогу дабы разобратся:

Code: Select all

Program RubiBlia;

const
kr=$0f43;                 //тип чем копаем, лопата, топор
var
i:integer;
LhandLayer:byte;

begin
wait(1000);
addtosystemjournal('Рубим...');
    Equip(LhandLayer, kr);       // Одеть вещь на казанный слой
    wait(500);
    for i:=1 to 5 do 
    begin
       UseType(kr,$FFFF); 
       Wait(1000);
       TargetToXYZ(GetX(self),Gety(self)-1,GetZ(self));
       Wait(2000);
    end;
end.
1) Не экипирует!
2) Юзтайп вроди работает, ибо если не конектится пишет UseType error: Object not finded., а так когда онлайн вроди не ругается!
Но как я писал раньше Юзтайп тоже поидее юзает из бекпака...:evil:
3) По дереву не рубит
4) Ваше ниче не понимаю, смотрю http://stealth.od.ua/forum/viewtopic.php?t=841
UseObject(ObjAtLayer(LhandLayer));
КАК ТАК? у меня пишет UseObject error: Object not finded.
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Post by Alexej »

вообщето дровосек работает по принципу:

Code: Select all

UseType(AxeType,$FFFF);
WaitTargetTile(tile,x,y,z);
надо ему явно указывать тип тайла и его координаты
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Post by Alexej »

да и проверь тип топора, возможно он пытается лопатой или киркой деревья рубать? :)
Sfairat
Neophyte
Neophyte
Posts: 44
Joined: 21.10.2009 18:15

Post by Sfairat »

В том и дело что хотел отказаться от тайлов...типа не проканает?

Тип топора правильный!
Так а какая разница по чему рубить, если он даже юзтайп или обжект сделать не может?
WladL
Apprentice
Apprentice
Posts: 240
Joined: 27.07.2009 17:21
Location: DRW
Contact:

Post by WladL »

нахрена-ж ты встроенную переменную переопределил?

Code: Select all

const 
kr=$0f43;                 //тип чем копаем, лопата, топор 
var 
i:integer; 
LhandLayer:byte;<----------------
при этом и значение ей никакого не присвоил, а сразу юзать

Code: Select all

Equip(LhandLayer, kr);       // Одеть вещь на казанный слой
function equip(Layer: Byte; Obj: Cardinal): Boolean; // Одеть вещь на казанный слой

так вот Obj - Это ID предмета , а ты туда тип пихаешь.

Code: Select all

kr=$0f43; 
Equip(LhandLayer, kr);       // Одеть вещь на казанный слой
Так надо:

Code: Select all

Program RubiBlia; 

const 
kr=$0f43;                 //тип чем копаем, лопата, топор 
var 
i:integer; 

begin 
wait(1000); 
addtosystemjournal('Рубим...'); 
Equip(LhandLayer, FindType(kr,backpack));       // Одеть вещь на казанный слой 
    wait(500); 
    for i:=1 to 5 do 
    begin 
       UseObject(ObjAtLayer(LhandLayer)) 
       Wait(1000); 
       TargetToXYZ(GetX(self),Gety(self)-1,GetZ(self)); 
       Wait(2000); 
    end; 
end.
и еще читай
тут http://stealth.od.ua/forum/viewtopic.php?p=2791#2791
и тут http://stealth.od.ua/forum/viewtopic.php?t=1251
Sfairat
Neophyte
Neophyte
Posts: 44
Joined: 21.10.2009 18:15

Post by Sfairat »

Эм, эквип, сенк...
По ссылкам ничего путнего, в том и дело, хотел отказаться от рубки по тайлам....


НЕРУБИТ :evil: :lol:
Post Reply