Page 1 of 1

Стилинг(нужна помощ)

Posted: 29.02.2008 2:50
by proZak
Короче обясню как все задумывалось есть один чар который режыт с тряпок бенты вот сам макрос он робочии проверено можете юзать есле кому понадобитсо:

Code: Select all

Program cut_bint; 

VAR 
  Tryapki: Cardinal; 

BEGIN 
  AddToSystemJournal('Запускаю макрос...'); 
  Wait(1000); 
  UOSay(Chr(39)+'resend'); 
  Wait(5000); 
  UseObject(Backpack); 
  Wait(1000); 
 UOSay(Chr(39)+'pc net message off'); 
 Wait(500); 
 UOSay(Chr(39)+'pc net charitem off'); 
 Wait(500); 
 UOSay(Chr(39)+'pc net worlditem off'); 
 Wait(500); 
 UOSay(Chr(39)+'pc net speech off'); 
 Wait(500); 
 UOSay(Chr(39)+'pc net sound off'); 
 Wait(500); 
 UOSay(Chr(39)+'pc net move off'); 
 Wait(500); 
  AddToSystemJournal('Макрос готов к работе.'); 
  FindType($0F95, backpack); 
      while FindQuantity > 0 do 
      begin 
        if FindType($0F95, backpack) = -1 then useobject(backpack); 
        Tryapki := finditem; 
        FindType($0F9E, backpack); 
        WaitTargetObject(Tryapki); 
        UseObject(finditem); 
        Wait(3100); 
        FindType($0F95, backpack); 
      end; 
      while true do 
      begin 
        if FindType($1766, backpack) = -1 then useobject(backpack); 
        Tryapki := finditem; 
        FindType($0F9E, backpack); 
        WaitTargetObject(Tryapki); 
        UseObject(finditem); 
        Wait(3100); 
      end; 
END.
И есть другои чар которому нада викачать стилинг я вот подумал можна былобы поставить одного резать бенты а другово стилить но шото неработает макра на стилинг (я так понял неможет наити в паке бенти или хз чо неработает) есле кто может обясните помогите!!
вот сам макрос собствено:

Code: Select all

program stealing;
// v.2.01b (зделан (с)proZak- под шард AoP) 

{$Include 'all.inc'}

var my_timer: Integer; 
    item_type : Word;  
    time_begin : TDateTime;
    EnemyWarrior : Cardinal; 

const
pack = $63F5A113;   // ID бекпака чара у которого воруем 
EnemyType1 = $0190;         // типы чаров разных полов 
EnemyType2 = $0191;
Bint= $0E21;   // тип воруемого предмета

   function AutoFindEnemy : Cardinal; 
   // функция поиска чаров рядом для определения жертви 
   // Возвращает сериал жертви. 
   begin 
      Finddistance := 1; 
      Ignore(self); 
      if FindType(EnemyType1, Ground) = 0 then FindType(EnemyType2, Ground); 
      if finditem = 0 then 
      begin 
         // не нашли врагов :( 
         AddToSystemJournal('Error: жертва не найдена!'); 
         Result := $00000000; 
          Exit; 
       end 
      else 
      begin 
         // Ага! Вот он, гадина! 
         AddToSystemJournal('Enemy found: ' + GetName(finditem)); 
         Result := finditem; 
      end; 
   end; 

Begin

ClearJournal; 
SetWarMode(false); 
SetARStatus(true); 
if not connected then connect; 

repeat 

   while (dead = false) and (connected = true) do 
        begin
          EnemyWarrior := AutoFindEnemy; 
          if EnemyWarrior = $00000000 then exit
          UseObject(EnemyWarrior); 
          wait(1000); 
          checksave;
          UseObject(pack); 
          wait(1000); 
          checksave;
          begin
          waitconnection(3000); 
     CheckSave; 
     UseSkill('Stealing'); 
     WaitTargetObject(Bint); 
     wait(10000);  
          end;  
        end;
      wait(500); 
      if dead then 
      begin 
      AddToSystemJournal('Умерли'); 
      SetARStatus(false); 
      Disconnect; 
      Exit;
      end;

until false;
   
End.
вот шо пишет System журнал:
2:51:47 [proZak]: Enemy found: Elvira
2:51:49 [proZak]: WaitTargetObject error: Object not finded.
вот шо пишет UO журнал:
System: Вы успешно открыли сумку.
System: Что Вы хотите украсть?

подправте де нетак мне нада шоб он делал дабл клик по чару и потом открывал ево пак а потом стилил!!

Re: Стилинг(нужна помощ)

Posted: 29.02.2008 5:09
by CFA
во втором скрипте стоит WaitTargetObject(Bint), хотя Bint задан констаной как тип Bint= $0E21 а для WaitTargetObject надо id. в зависимости от того где они у тебя лежат, используй или waitTargetGround или waitTargetType

Re: Стилинг(нужна помощ)

Posted: 29.02.2008 13:15
by proZak
CFA wrote:waitTargetType
зделал как ти указал
всеровно нехочет стилить пишет шото типа нету бентов! хотя они есть вот шо видает System журнал:

13:12:45 [proZak]: Enemy found: Elvira
13:12:47 [proZak]: WaitTargetType error: Object with type 0x0E21 not finded in Backpack! Canceled.

Может нада указать в каком паке имено нада стилить вот в етом куске

Code: Select all

 UseSkill('Stealing'); 
     waitTargetType(Bint); 
     wait(10000); 
токо када я писал waitTargetType(Bint, pack); мне видавало какуето ошибку:

9:29 [proZak]: Compiling
13:19:29 [proZak]: Compiler: [Error] (пппппппп.txt at 62:32): Invalid number of parameters
13:19:29 [proZak]: Compiling failed
13:19:29 [proZak]: Script пппппппп.txt stoped successfuly

Re: Стилинг(нужна помощ)

Posted: 29.02.2008 14:38
by CFA
чет я сразу не сообразил, что воровать надо из чужого бекпака)) waitTargetType работает только со своим бекпаком. В таком случае придется использовать конструкцию waitTargetObject(findType(bint, pack)) хотя это не совсем Ъ, лучше результат findType'а сохранить в переменную, проверить на 0, и только потом давать ее waitTargetObject

Posted: 01.03.2008 0:03
by proZak
спс роботает ток единствении недостаток кода лутиш бенты они нескладуютсо в стопку получаетсо в паке будет очень много итемов!!

Posted: 01.03.2008 1:48
by Edred
Ну дык выкладывай их после стила. Положи под ноги какой-нибудь мешок, после успешного стила ищещь в паке бинт и скидываешь в этот контейнер. Там они будут стекироваться (при скидывании) и все будет ок. Надо добавить буквально три строки в скрипт.

Posted: 02.03.2008 22:22
by proZak
Edred wrote:Ну дык выкладывай их после стила. Положи под ноги какой-нибудь мешок, после успешного стила ищещь в паке бинт и скидываешь в этот контейнер. Там они будут стекироваться (при скидывании) и все будет ок. Надо добавить буквально три строки в скрипт.
Хех дописал пару строчек как ты и советовал шото вибивает ошибку нехочет роботать:

Code: Select all

   UseObject($7013F91B); // Открываю контейнер куда збрасуем бинты 
   FindType($0E21, backpack, 0, 0, 0); // ищем нужный предмет 
   if FindCount > 0 then // если нашли - перемещаем 
   MoveItem(FindItem, 0, $7013F91B);
вот ошибка:

2:21:25 [proZak]: Compiling
22:21:25 [proZak]: Compiler: [Error] (пппппппп.txt at 65:40): Invalid number of parameters
22:21:25 [proZak]: Compiling failed
22:21:25 [proZak]: Script пппппппп.txt stoped successfuly

есле не ошибся то ошибка дето в етом куске:

Code: Select all

FindType($0E21, backpack, 0, 0, 0); // ищем нужный предмет

Posted: 03.03.2008 1:50
by Edred
Ну дык? Он же тебе четко и ясно на понятном "родном" языке пишет - Invalid number of parameters - то бишь "неправильное число параметров". Что, как ты думаешь, надо сделать? Зайти в хелп на сайте или в топик с справочником по стелсу в разделе FAQ и проверить, какие параметры можно указывать команде Findtype, а какие нельзя. И сколько их.