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

Help tinker

тут можно задать вопрос по скриптингу
Post Reply
shmedish[EP]
Posts: 1
Joined: 21.01.2007 8:30
Contact:

Help tinker

Post by shmedish[EP] »

Code: Select all

program tinkering;   { 30 марта 2006 г. }

var marker, ingot_type, item_type : Word;
    menu_type, menu_item_type : String;
    spirit_speak, smelt : Boolean;
    my_timer, quantity : Integer;
    time_begin : TDateTime;
    container : Cardinal;

procedure check_res(r_type : Word; r_quantity : Integer; r_container : Cardinal);

   begin
   FindTypeEx(r_type,$FFFF,backpack,false)
   if FindFullQuantity < r_quantity then
      begin
      while FindTypeEx(marker,0,r_container,false) = 0 do
         begin
         AddToSystemJournal('Открываю контейнер с ресурсами')
         UseObject(r_container)
         wait(1000)
         end
      FindTypeEx(r_type,$FFFF,r_container,false)
      AddToSystemJournal('Кол-во ресурсов в контейнере: '+IntToStr(FindFullQuantity))
      if FindQuantity <= r_quantity*10 then
         begin
         AddToSystemJournal('Ресурсы закончились')
         SetARStatus(false)
         Disconnect
         Exit
         end
      else
         begin
         Grab(finditem,r_quantity*10)
         wait(1000)
         end
      end
   end;

Begin

spirit_speak := true   { использовать скилл Spirit Speak }
smelt := true   { true - плавить; false - складывать в container }

marker := $0E20   { bloody bandage, должны находится в container }
container := $XXXXXXXX   { контейнер с ресурсами }
ingot_type := $1BF5   { тип слитков, silver ingots }
item_type := $1F0A   { тип предмета, silver necklace }
menu_type := 'Jewelry'   { название меню }
menu_item_type := 'silver necklace'   { название предмета в меню }
quantity := 2   { min небходимое кол-во слитков для изготовления }

FindDistance := 3

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

repeat

   while (dead = false) and (connected = true) do
      begin

      if (Timer > my_timer) and (spirit_speak = true) then
         begin
         useskill('Spirit Speak')
         my_timer := Timer + 60 * 1000   { Spirit Speak используется через 60 сек. }
         time_begin := Now
         WaitJournalLine(Now, 'netherworld|battle', 30000)
         if InJournalBetweenTimes('battle', time_begin, Now) <> -1 then
            begin
            SetWarMode(false)
            wait(1000)
            end
         end

      check_res(ingot_type, quantity, container)

      AutoMenu(menu_type, menu_item_type)
      UseObject(FindType($1EBC, backpack))   { tinker tools }
      wait(1500)

      while FindTypeEx(item_type,0,backpack,false) <> 0 do
         begin
         if (FindTypeEx($1EBA, $FFFF, ground, false) <> 0) and (smelt = true) then
            begin
            UseObject(finditem)
            WaitTargetType(item_type)
            WaitJournalLine(Now, 'составляют|часто', 5000)
            wait(4000)
            end
         else
            begin
            if smelt then AddToSystemJournal('Smelt device not found!')
            FindTypeEx($FFFF,0,container,false)
            AddToSystemJournal('Кол-во предметов в контейнере: '+IntToStr(FindCount))
            if FindCount < 255 then MoveItem(FindType(item_type, backpack), 1, container, 0, 0, 0)
            else
               begin
               AddToSystemJournal('Container is full!')
               SetARStatus(false)
               Disconnect
               Exit
               end
            end
         end

      WaitJournalLine(Now, 'Вы успешно сделали|Ваша попытка провалилась', 30000)
      { если время производства больше 30 сек. увеличьте 30000 в предыдущей строке }

      end

   if dead then
      begin
      AddToSystemJournal('Умерли')
      SetARStatus(false)
      Disconnect
      Exit
      end

until false

End.

Помогите плз не желает делать ожерелья.
Заранее спасибо.
id
Neophyte
Neophyte
Posts: 30
Joined: 23.12.2006 22:37

Post by id »

Так.. с первого взгляда.

Code: Select all

container := $XXXXXXXX 
Это выставлено нормально?
id
Neophyte
Neophyte
Posts: 30
Joined: 23.12.2006 22:37

Post by id »

И вобще если Вы хотите, чтоб Вам помогли - как можно больше подробностей надо.
Почему не делает?
Как не делает?
Что пишет?
Где пишет?
Зачем пишет?
etc...
Post Reply