Тема: Door Action..
Показать сообщение отдельно
Старый 08.09.2009, 19:53   #12
Местный
 
Аватар для Sashafaq
 
Регистрация: 03.05.2008
Адрес: Ростов-на-Дону
Сообщений: 214
Сказал Спасибо: 19
Имеет 24 спасибок в 18 сообщенях
Sashafaq пока неопределено
По умолчанию

ап темы можно ли переделать скриптик под грацию финал попробывал переделать но там немного другой пакет и формирование пакета и кажется даже 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.
Sashafaq вне форума   Ответить с цитированием