проблема 2ух гампов
Posted: 08.11.2010 1:20
Дорого времени суток господа!
Решил сделать такой скрипт :
есть булк ордер в паке, узнаётся кол-во итемов, куётся и добавлется в булк ордер (допустим мы заведомо знаем что это например катаны, пока что) , если предмет не эксепт - переплавляется
Проблема: Не понятно себя ведут гампы, у молотка свой гамп , у булк ордера свой. Как только переплавяется итем, то перестаёт срабатывать гамп на добавление в булк ордер, а вместо него срабатывает гамп молотка со значением которое в гампе булк ордер.
привожу свой код:
так же предоставляю скрины гампов (дождитесь загрузки):

Решил сделать такой скрипт :
есть булк ордер в паке, узнаётся кол-во итемов, куётся и добавлется в булк ордер (допустим мы заведомо знаем что это например катаны, пока что) , если предмет не эксепт - переплавляется
Проблема: Не понятно себя ведут гампы, у молотка свой гамп , у булк ордера свой. Как только переплавяется итем, то перестаёт срабатывать гамп на добавление в булк ордер, а вместо него срабатывает гамп молотка со значением которое в гампе булк ордер.
привожу свой код:
Code: Select all
Program New;
const
instrum = $13E3; // молтоток (тип)
bulk_type = $2258; // bulk order (тип)
procedure craft_item (cat : integer; item : integer); // куём нужный итем (передаётся гамп категории и гамп итема)
begin
waitgump(IntToStr(cat));
UseType(instrum, 0);
wait(500);
CloseSimpleGump(cat);
waitgump(IntToStr(item));
wait(1500);
CloseSimpleGump(item);
end;
procedure selmet_item (item_type : cardinal); // добавляем эксепт в булк ордер если не эксепт - плавим
var
str : string;
begin
str := GetCliloc(FindType(item_type,backpack));
if (FindType(item_type, backpack) <> 0) And (pos('exceptional',str)=0) then
begin
uosay('плавлю');
waitgump('14');
WaitTargetObject(FindType(item_type,backpack));
UseObject(FindType(instrum,backpack));
wait(2000);
CloseSimpleGump(14);
//ignore(FindItem);
end;
if (FindType(item_type, backpack) <> 0) And (pos('exceptional',str)>0) then
begin
uosay('добавляю');
waitgump('2');
UseObject(FindType(bulk_type,backpack));
WaitTargetObject(FindType(item_type,backpack));
wait(2000);
CloseSimpleGump(2);
end;
end;
var
str,count : string;
fnd,i : integer;
begin
// узнаём из клилока сколько вещей в bulk order
str := GetCliloc(FindType(bulk_type,backpack)); fnd := pos('make:',str); count := Copy(str,fnd+6,2); fnd := StrToInt(count);
for i :=1 to fnd do
begin
craft_item(22,100);
wait(1000);
selmet_item($13FF);
end;
end.
