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

Сортировка по гампам

тут можно задать вопрос по скриптингу
Post Reply
Enkidoo
Neophyte
Neophyte
Posts: 26
Joined: 22.08.2012 15:58

Сортировка по гампам

Post by Enkidoo »

Перед сном накидал такой вот набросок, подскажите правильна ли задумка? И правильно ли я ее оформил
Находим вещь(например в бекпаке) кликнем по ней, появляется гамп, дальше берем все в списке текстлайнс и делаем из этого строку, потом БМСерчем ищем нужный мне параметр в получившейся строке, а дальше по обстоятельствам...

Code: Select all

Program SortirovkaNew;

var
a, TempSL : String;

procedure Getgump;

 begin
 If IsGump then
  begin
  TempSL := TStringList.Create;
  GetGumpTextLines(GetGumpsCount-1,TempSL);
  a := TempSL; 
  TempSL.Free;
  end;
 end;

Begin
while FindType(LootItem[i], backpack) <> 0 do
begin
//кликнули появился гамп
procedure Getgump;
if (BMSearch(1,a,'то что надо нйти') > 0) then
//Делаем то что надо
else
//еще чото делаем
end;
end.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Сортировка по гампам

Post by Vizit0r »

набор чего-то с чем-то.

пока не понятно, что сообственно надо - что за неописанный массив LootItem, что за параметр нужен, и т.д. - подсказывать нечего.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Enkidoo
Neophyte
Neophyte
Posts: 26
Joined: 22.08.2012 15:58

Re: Сортировка по гампам

Post by Enkidoo »

До конца немогу разобратся с работой GetGumpTextLines и BMSearch

Code: Select all

Compiling
[Error] (Sortirovka.sc at 117:28):  Type mismatch
Compiling failed

Code: Select all

Program SortirovkaNew;

const
f = 'Craft';
bag_1 = $47E3EA4E; // Items
bag_2 = $475BA73C; // verh
bag_3 = $475BA73D; // niz

var
a : TStringList;
TL :TStringList;
i : cardinal;
LootItem:array [0..76] of word;

procedure initLoot;
begin
LootItem[0] :=  $0EED; //gold
//masiv
LootItem[76] :=  $108A; //Кольцо
end;

procedure Getgump;

 begin
 If IsGump then
  begin
  TL:=TStringList.Create;
  GetGumpTextLines(GetGumpsCount-1,TL);
  a := TL;
  TL.Free;
  end;
 end;

Begin
initLoot;
for i := 0 to 76 do
 begin
 while FindType(LootItem[i], backpack) <> 0 do
  begin
  ClickOnObject(finditem);
  wait(300);
  Getgump;
  if (BMSearch(1,a,f) > 0) then
  MoveItem(FindItem,0,bag_2,0,0,0)
  else
  MoveItem(FindItem,0,bag_3,0,0,0);
  end;
 end;
end.
Post Reply