ап темы можно ли переделать скриптик под грацию финал попробывал переделать но там немного другой пакет и формирование пакета и кажется даже 2 пакета приходит от двери
Код:
9F D9 8B 61 01 81 04 01 10 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 2C 09 01 00 2C 09 01 00 00 00 00 00 00 00 00 00
4D 81 04 01 10 00 00 00 00 00 00 00 00 00 00 00 00 D9 8B 61 01 2C 09 01 00 2C 09 01 00
это открытая дверь
Код:
9F D9 8B 61 01 81 04 01 10 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 2C 09 01 00 2C 09 01 00 00 00 00 00 00 00 00 00
4D 81 04 01 10 01 00 00 00 00 00 00 00 00 00 00 00 D9 8B 61 01 2C 09 01 00 2C 09 01 00
это закрытая
мой немного переделаный скрипт под грацию финал
Код:
// Открытие/закрытие любых дверей, ворот и т.д. А также проход в дальнейщем через откртую дверь дальше.
// Работает на всех серверах, но пройти через открытую дверь можно на сервере, где нет геодаты (java).
// Чтобы использовать скрипт, выделите нужную вам дверь через Shift + левая кнопка мыши
// Автор: Furious
// Версия: 0.2
var
Bypass: String;
ObjectID, ActionID, DoorID, Status: Integer;
const
HTML='<html><body><center><img src="L2UI_CH3.herotower_deco"'+
' width=256 height=32><font color="LEVEL">Меню управления во'+
'ротами и дверями</font><img src="L2UI.SquareWhite" width=260'+
' height=1><img src="L2UI.SquareBlank" width=260 height=4><br1><td><butto'+
'n value="Открыть" action="bypass -h open" width=70 height=1'+
'5 back="sek.cbui94" fore="sek.cbui92"></td><br><td><button '+
'value="Закрыть" action="bypass -h close" width=70 height=15'+
' back="sek.cbui94" fore="sek.cbui92"></td><br></tr><img src'+
'="L2UI.SquareWhite" width=260 height=1><img src="L2UI.Squar'+
'eBlank" width=260 height=4><br1></center></body></html>';
procedure ShowHTML;
begin
buf:=#$19;
WriteD(5);
WriteS(HTML);
SendToClient;
end;
procedure DoorAction;
begin
buf:=#$4D;
WriteD(ObjectID);
WriteD(Status);
WriteD(0);
WriteD(0);
WriteD(DoorID);
WriteD(1);
WriteD(42);
SendToClient;
end;
procedure DoorAction1;
begin
buf:=#$4D;
WriteD(ObjectID);
WriteD(1);
WriteD(0);
WriteD(1);
WriteD(0);
SendToClient;
end;
begin
if FromClient and (pck[1]=#$1F) then
begin
ActionID:=ReadC(18);
if ActionID=1 then
begin
ObjectID:=ReadD(2);
ShowHTML;
end;
end;
if FromClient and (pck[1]=#$23) then
begin
Bypass:=ReadS(2);
case Bypass of
'open':Status:=0 and DoorAction;
'close':Status:=1 and DoorAction1;
end;
end;
end.