Page 1 of 1

Как переместить/взять вещь в/из сундук,который лежит в банке

Posted: 03.11.2010 19:05
by Venom
Перемещение

Code: Select all

Procedure StoreOre;
var 
  j: integer; 
begin
   MoveToHouse;  
   AddToSystemJournal('Открываем пак...'); 
   UseObject(backpack);
   wait(1000);
   If FindType($13В6 backpack) > 0 then 
   begin
      while FindType($14EB, backpack) <> 0 do
      begin
         ItemID := finditem;
         wait(50);
         UseObject($6735373A); //ид Банка
         wait(50);  
         If not(isDead(self)) then MoveItem(ItemID, 0, $66C56BF6, 0, 0, 0); // ид сундука с вещами в банке
         Wait(1000); 
         AddToSystemJournal('вещь не найдена ');
      end;
   end; 
Берем из банка

Code: Select all

procedure CheckBankaC;
begin
   If FindType(Tools[10], backpack) = 0 then 
   begin 
      If not(isDead(self)) then 
      begin
         MoveToHouse;
         UseSkill('Hiding')
         Wait(1000);
         UOSay(Chr(39)+'resend'); 
         AddToSystemJournal('Resend');
         wait(5500); 
         AddToSystemJournal('Открываем банк');
         UseObject($6735373A); //ид банка
         AddToSystemJournal('Открываем рюкзак'); 
         UseObject(backpack); 
         Wait(2000); 
         AddToSystemJournal('Ищем Банки'); 
         FindType(Tools[10], $65EC7A59); // ид сундука в банке
         If finditem = 0 then 
         begin 
            AddToSystemJournal('Банки не найдены.');
            exit; 
         end; 
         AddToSystemJournal('Берем вещь'); 
         DragItem(finditem,4); 
         AddToSystemJournal('Кидаем в рюкзак'); 
         DropItem(backpack,0,0,0);
         ClearJournal; 
      end
      else exit; 
   end;
end;
Соль в том, что банк открываем, а далее - не находим.
Подскажите плс.

Posted: 04.11.2010 0:17
by admir
Честно говоря вот как делал это я на шарде оском.

Непонимаю как у тебя там серийник банка забит (мож он постоянный хз) но чтоб наверняка, у чара есть слои в которые одеваются предметы (руки ноги сережки лошадь и тд), так во Банк тоже одевается на чара в спец слой "BankLayer", и соотв работаем уже с серийником этого объекта-контейнера в слое (нашего банка).

Code: Select all

Procedure PutMoneyBank;
var
j:Integer;
Bank: Cardinal;
begin
  uosay('bank');
  checklag;
  Bank:=ObjAtLayer(BankLayer);
  if Bank <> 0 then
  begin
    for j:=1 to 3 do 
     while CountEx(GoldCoin[j],$0000,backpack) > 0 do
     begin
       if (FindTypeEx (GoldCoin[j],$0000,Backpack,True) > 0) then MoveItem(FindItem,0,Bank,0,0,0);
      checklag;
     end;
  end;
end;