В том то и дело что разброс значений Listid огромен (не попорядку, для примера в мультиселе есть предмет с листид 1 и есть предмет с листид 111111111). Огромный разброс очевиден (вот 111111110 или тут 111111112 уже нет предмета, он где нибудь дальше). Возможно в мультиселе и прописаны предметы стоимостью 1а, специально на чаре оставляется маленькая сумма, пусть пишет мол предметов или денег нет у вас. Главное не купить предмет а вообще найти его расположение. Вот и нужен скрипт пусть шлет по таймеру пакет RequestMultiSellChoose с перебором listid.
Вот накидал примитивный
var
i:integer;
newpacket,first,last:string;
begin
first:='A7'; //начало пакета (неизменяемая часть)
last:='60 E3 16 00 01 00 00 00 00 00 00 00 00 00 00 00 '; //конец пакета (неизменяемая часть)
for i:=1 to 99 do begin
newpacket:=IntToStr(i); //?
buf:=HStr(first)+HStr(newpacket)+HStr(last);
SendToServer;
end;
Но вот загвоздка как целочисленную переменную i преобразовать в Hex и вставлять в середину пакета. Думал преобразовать в строку, а строку потом в Hex значение, но что-то не так в пакете, в середине пишет всякую ерунду.
Последний раз редактировалось Plmt, 07.07.2009 в 19:58.
|