Вообщем получается только с помощью пакеты открыть окно продажы, но не продавать сами итемы.
Можно сделать через скрипт или последовательность пакетов, чтобы можно было продавать шмотки НПЦ через l2phx?
если нужно продавать однотипные вещи - воспользуйся моим скриптом...
в данном случае он продаёт Тарбары (если я прально понял, зачем тебе такой скрипт)
Код:
/// Autoseller by Johnson
Var
I,j,k,l,ItemCount,ItemType1,ItemOID,ItemID,ItCount,SelledItemID:integer;
N_Items:Array[0..500,0..1] of Integer;
procedure Init;
begin
SelledItemID:= 158; // Tarbar
l:=0;
end;
procedure SendMsg(msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(msg);
SendToClient;
end;
begin
if FromClient and (pck=#$38#$53#$00#$00#$00#$03#$00#$00#$00) then
begin
buf:=#$0F;
SendToServer;
l:=1;
end;
if FromServer and (pck[1]=#$1B) and (l=1) then
begin
j:=6;
k:=0;
ItemCount:=ReadH(4);
For I:=0 to ItemCount - 1 do
begin
ItemType1:=ReadH(j);
ItemOID:=ReadD(j);
ItemID:=ReadD(j);
ItCount:=ReadD(j);
j:=j+22;
if ItemID = SelledItemID then
begin
N_Items[k,0]:=ItemID; ///ID
N_Items[k,1]:=ItemOID; ///OID
k:=k+1;
end;
end;
buf:=#$1E;
WriteD(0);
WriteD(k+1);
For I:=0 to k do
begin
WriteD(N_Items[i,1]); ///OID
WriteD(SelledItemID); ///ID
WriteD(1); ///Count
end;
l:=0;
SendToServer;
end;
end.
скрипт запускается латинской буквой S в ПАТИ-чат, сначала нужно выделить непися-продавца
__________________
Если Вы недовольны моими действиями - то Вам сюда!
так первый пост есть переноси в тему тему закрепляй и модерируйте её что б флуда типа код к алгоритму не было, максимум ссылку на параллельную тему или пост в теме да будет бот. А то каша получиться как с темой да будет бот.
предлагаю формат
Алгоритм такой то:
сам алгоритм
и всё.
просто иногда допустим что бы не отлавливать самому и не рыть весь форум задавая тупые вопросы нужна такая тема
Модификация l2phx3.4.1.61 ругается на данный скрипт таким образом.
Код:
/// Autoseller by Johnson
Var
I,j,k,l,ItemCount,ItemType1,ItemOID,ItemID,ItCount,SelledItemID:integer;
N_Items:Array[0..500,0..1] of Integer;
procedure Init;
begin
SelledItemID:= 158; // Tarbar
l:=0;
end;
procedure SendMsg(msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(msg);
SendToClient;
end;
begin
if FromClient and (pck=#$38#$53#$00#$00#$00#$03#$00#$00#$00) then
begin
buf:=#$0F;
SendToServer;
l:=1;
end;
if FromServer and (pck[1]=#$1B) and (l=1) then
begin
j:=6;
k:=0;
ItemCount:=ReadH(4);
For I:=0 to ItemCount - 1 do
begin
ItemType1:=ReadH(j);
ItemOID:=ReadD(j);
ItemID:=ReadD(j);
ItCount:=ReadD(j);
j:=j+22;
if ItemID = SelledItemID then
begin
N_Items[k,0]:=ItemID; ///ID
N_Items[k,1]:=ItemOID; ///OID
k:=k+1;
end;
end;
buf:=#$1E;
WriteD(0);
WriteD(k+1);
For I:=0 to k do
begin
WriteD(N_Items[i,1]); ///OID
WriteD(SelledItemID); ///ID
WriteD(1); ///Count
end;
l:=0;
SendToServer;
end;
end.
Последний раз редактировалось kondor, 04.06.2009 в 12:14.
__________________ На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."
А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Последний раз редактировалось Breadfan, 04.06.2009 в 12:31.