Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7
Вытащить информацию
Вытащить информацию
Кто-нить подскажите как вытянуть инфу(айди, тип, цвет и т.п.) об объектах и занести ее в файл?
не из гампа, а допустим из сундука...
не из гампа, а допустим из сундука...
Re: Вытащить информацию
перебираешь все предметы в сундуке и смотришь их параметры.frant wrote:Кто-нить подскажите как вытянуть инфу(айди, тип, цвет и т.п.) об объектах и занести ее в файл?
не из гампа, а допустим из сундука...
Code: Select all
ignorereset;
while findtype($FFFF, containerID) > 0 do begin
itemtype := gettype(finditem);
itemcolor := getcolor(finditem);
ignore(finditem);
end;
К сожалению с файлами в стелсе пока не работал - не подскажу.
П.С. если будешь брать имя предмета через getname, не забудь прежде кликнуть на предмет, в противном случе имя будет noname;
<( o_O<) <( O_O )> (>O_o )>
Re: Вытащить информацию
спасибо за ответ, но мне нужно немного другое, меня интересует к примеру: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;
стоит сундук, в нем допустим шмот, я запускаю чара на стелсе со скриптом,
далее чар смотрит что в сундуке и записывает все предметы (тайп, цвет, нейм, кол) в файл и все...т.е. вытягивает данные из ультимы и сохраняет на жестком диске
Re: Вытащить информацию
ну я тебе написал как вытянуть = ) findtype по типу $FFFF будет перебирать все предметы без исключения.
Осталось только с записью в файл тебе разобраться : )
И буду благодарен, если напишешь сюда конечный вариант с этой самой записью.
Осталось только с записью в файл тебе разобраться : )
И буду благодарен, если напишешь сюда конечный вариант с этой самой записью.
<( o_O<) <( O_O )> (>O_o )>
Re: Вытащить информацию
так вот у меня проблема как раз именно с записью инфы )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.
Re: Вытащить информацию
может поможет -
http://stealth.od.ua/forum/viewtopic.ph ... %BB#p13841
http://stealth.od.ua/forum/viewtopic.ph ... %BB#p13841
<( o_O<) <( O_O )> (>O_o )>
Re: Вытащить информацию
Если нужно только записывать файл (без дописывания и чтения) то проще воспользоваться 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;
Re: Вытащить информацию
да, спасибо, я так и сделал, получилось выводить в файл)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;
теперь у меня другая проблема, тип предмета выводится в непонятном формате
какой тип указывать переменной, в которую будет записываться тип и цвет объекта?
Re: Вытащить информацию
если ты формируешь строку типа IntToStr(GetType(findItem)) то они запишутся в десятичном виде, тебе я думаю их надо в шестнадцатеричном, в этом случае надо использовать IntToHex(GetType(findItem), 4) или IntToHex(findItem, 8 ).
Числа 4 и 8 определяют сколько цифр будет выведено.
Числа 4 и 8 определяют сколько цифр будет выведено.
Re: Вытащить информацию
спасибо огромное, это то что надо)CFA wrote:если ты формируешь строку типа IntToStr(GetType(findItem)) то они запишутся в десятичном виде, тебе я думаю их надо в шестнадцатеричном, в этом случае надо использовать IntToHex(GetType(findItem), 4) или IntToHex(findItem, 8 ).
Числа 4 и 8 определяют сколько цифр будет выведено.
позже напишу если будут вопросы, если все сделаю, то выложу готовый скрипт

Re: Вытащить информацию
а мможно вот тут уточнить? потому что я сделал с прокликом и все-равно НоуНейм выводитnepopus wrote: П.С. если будешь брать имя предмета через getname, не забудь прежде кликнуть на предмет, в противном случе имя будет noname;

Re: Вытащить информацию
Задержку поставил? Принцип такой, что после клика, над предметом должно пройти время для появления названия.frant wrote:а мможно вот тут уточнить? потому что я сделал с прокликом и все-равно НоуНейм выводитnepopus wrote: П.С. если будешь брать имя предмета через getname, не забудь прежде кликнуть на предмет, в противном случе имя будет noname;
wait(100-200) хватит.
Ну и код кидай = )
<( o_O<) <( O_O )> (>O_o )>
Re: Вытащить информацию
поставил задержку и все-равно лажа (ноунейм)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));
Re: Вытащить информацию
Надежнее использовать CheckLag(2000), а не Wait.
Если используется клиент 4+, то надо использовать не GetName, а GetCliloc, для него вроде бы задержка и клик не нужны.
Если используется клиент 4+, то надо использовать не GetName, а GetCliloc, для него вроде бы задержка и клик не нужны.
Re: Вытащить информацию
поставил:CFA wrote:Надежнее использовать CheckLag(2000), а не Wait.
Если используется клиент 4+, то надо использовать не GetName, а GetCliloc, для него вроде бы задержка и клик не нужны.
Code: Select all
itemname:= getcliloc(finditem);
ts.add(getcliloc(finditem));