Цитата:
Сообщение от SeregaZ
перебор инвентаря обсуждался. где-то тут примеры от alexteam были
я пока плюнул на этот перебор. мне нужен был id свитка пробуждения - пока каждый раз запуская скрипт - тыкаю вручную свиток и он запоминает его айди и дальше уже сам будит на пвп воротах сопати от слипа:
PHP код:
if FromServer and (pck[1]=#$27) and (idsvitka = '0') //чтение id свитка then begin iditema:=pck[12]+pck[13]+pck[14]+pck[15]; if (iditema=HStr('95 17 00 00')) //свиток пробуждения then begin idsvitka:=pck[8]+pck[9]+pck[10]+pck[11]; buf:=#$4A; WriteD(0); WriteD(10); WriteS(''); WriteS('айди свитка определен: ' + idsvitka); SendToClient; end; end;
сам пакет инвентори апдейт:
27 01 00 02 00 04 00 13 08 76 40 95 17 00 00 7E 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00
95 17 00 00 это айди свитка по базе
13 08 76 40 это айди предмета в игре
реад конечно круче, чем всякие мазохизмы с pck[8]+pck[9]+pck[10]+pck[11] - зато сам делал и мне все понятно
|
что-то я не понял что он делает, мне надо чтобы он читал из инвенторя по ИДу итема ид объекта. И потом вставить этот ИД в другой пакет. И что за пакет 27? Я просто вообще ничего не знаю
Добавлено через 4 минуты
Блин, а теперь и вовсе ругается(
PHP код:
const
Name='10';
var
timer:TTimer;
procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=2000;
timer.OnTimer:=@fireTimer;
timer.enabled:=true;
end;
procedure Free;
begin
timer.free;
end;
procedure fireTimer(Sender: TObject);
begin
end;
begin
if FromServer and (pck[1]=#$14) and (idsvitka = '0') //чтение id свитка <<<< Вот на эту строку
then begin
iditema:=pck[12]+pck[13]+pck[14]+pck[15];
if (iditema=HStr('B6 05 00 00')) //свиток пробуждения
then begin
idsvitka:=pck[8]+pck[9]+pck[10]+pck[11];
buf:=#$17;
WriteD(idsvitka);
WriteD(1);
WriteD(115176);
WriteD(-178666);
WriteD(-937);
SendToServer;
end;
timer.enabled:=false;
end;
end.
Что не так тут?(
Добавлено через 1 час 38 минут
Вообщем мне надо сделать чтобы у меня сканировался инвентарь, и выбрасывался предмет с 1 идом.