Вытащить информацию
Posted: 18.06.2012 17:52
Кто-нить подскажите как вытянуть инфу(айди, тип, цвет и т.п.) об объектах и занести ее в файл?
не из гампа, а допустим из сундука...
не из гампа, а допустим из сундука...
Альтернативный клиент Ultima Online
https://stealth.od.ua/forum/
перебираешь все предметы в сундуке и смотришь их параметры.frant wrote:Кто-нить подскажите как вытянуть инфу(айди, тип, цвет и т.п.) об объектах и занести ее в файл?
не из гампа, а допустим из сундука...
Code: Select all
ignorereset;
while findtype($FFFF, containerID) > 0 do begin
itemtype := gettype(finditem);
itemcolor := getcolor(finditem);
ignore(finditem);
end;
спасибо за ответ, но мне нужно немного другое, меня интересует к примеру:nepopus wrote:перебираешь все предметы в сундуке и смотришь их параметры.frant wrote:Кто-нить подскажите как вытянуть инфу(айди, тип, цвет и т.п.) об объектах и занести ее в файл?
не из гампа, а допустим из сундука...http://stealth.od.ua/Doc:RU/Manual/Reference/ObjectCode: Select all
ignorereset; while findtype($FFFF, containerID) > 0 do begin itemtype := gettype(finditem); itemcolor := getcolor(finditem); ignore(finditem); end;
К сожалению с файлами в стелсе пока не работал - не подскажу.
П.С. если будешь брать имя предмета через getname, не забудь прежде кликнуть на предмет, в противном случе имя будет noname;
так вот у меня проблема как раз именно с записью инфы )nepopus wrote:ну я тебе написал как вытянуть = ) findtype по типу $FFFF будет перебирать все предметы без исключения.
Осталось только с записью в файл тебе разобраться : )
И буду благодарен, если напишешь сюда конечный вариант с этой самой записью.
Code: Select all
var
a, b, sum: integer;
f1,f2: text;
begin
assign (f1,'input.txt');
assign (f2,'res.txt');
reset(f1);
read(f1,a,b);
sum:=a+b;
rewrite(f2);
writeln(f2,'a','(',a,')','+','b','(',b,')','=',sum);
close(f1);
close(f2);
end.
Code: Select all
var st : TStringList;
...
st := TStringList.Create;
st.Add('line 1');
st.Add('line 2');
st.SaveToFile('filename.txt');
st.Free;
да, спасибо, я так и сделал, получилось выводить в файл)CFA wrote:Если нужно только записывать файл (без дописывания и чтения) то проще воспользоваться TStringList.Вобщем чтение и дописывание тоже нетрудно сделать. Сначала st.LoadFromFile и дальше или добавлять или читать отдельные строкиCode: Select all
var st : TStringList; ... st := TStringList.Create; st.Add('line 1'); st.Add('line 2'); st.SaveToFile('filename.txt'); st.Free;
спасибо огромное, это то что надо)CFA wrote:если ты формируешь строку типа IntToStr(GetType(findItem)) то они запишутся в десятичном виде, тебе я думаю их надо в шестнадцатеричном, в этом случае надо использовать IntToHex(GetType(findItem), 4) или IntToHex(findItem, 8 ).
Числа 4 и 8 определяют сколько цифр будет выведено.
а мможно вот тут уточнить? потому что я сделал с прокликом и все-равно НоуНейм выводитnepopus wrote: П.С. если будешь брать имя предмета через getname, не забудь прежде кликнуть на предмет, в противном случе имя будет noname;
Задержку поставил? Принцип такой, что после клика, над предметом должно пройти время для появления названия.frant wrote:а мможно вот тут уточнить? потому что я сделал с прокликом и все-равно НоуНейм выводитnepopus wrote: П.С. если будешь брать имя предмета через getname, не забудь прежде кликнуть на предмет, в противном случе имя будет noname;
поставил задержку и все-равно лажа (ноунейм)nepopus wrote:Задержку поставил? Принцип такой, что после клика, над предметом должно пройти время для появления названия.frant wrote:а мможно вот тут уточнить? потому что я сделал с прокликом и все-равно НоуНейм выводитnepopus wrote: П.С. если будешь брать имя предмета через getname, не забудь прежде кликнуть на предмет, в противном случе имя будет noname;
wait(100-200) хватит.
Ну и код кидай = )
Code: Select all
clickonobject(finditem);
wait(500);
itemname:= getname(finditem);
ts.add(getname(finditem));
поставил:CFA wrote:Надежнее использовать CheckLag(2000), а не Wait.
Если используется клиент 4+, то надо использовать не GetName, а GetCliloc, для него вроде бы задержка и клик не нужны.
Code: Select all
itemname:= getcliloc(finditem);
ts.add(getcliloc(finditem));