Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Пакеты
Войти через OpenID

Пакеты Форум о форматах отдельных пакетов или групп пакетов

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 11.06.2009, 16:25   #1
Новичок
 
Регистрация: 11.06.2009
Сообщений: 5
Сказал Спасибо: 4
Имеет 1 спасибку в 1 сообщении
He3eMHou пока неопределено
Радость Door Action..

Можете помочь с ошибкой? я могу открывать двери но не могу закрывать.. как исправить ошибку?

He3eMHou вне форума   Ответить с цитированием
Старый 11.06.2009, 16:42   #2
Рыцарь
 
Аватар для mks
 
Регистрация: 21.09.2007
Сообщений: 376
Сказал Спасибо: 11
Имеет 218 спасибок в 106 сообщенях
mks пока неопределено
По умолчанию

зачем тебе их закрывать, всеравно то что ты их открыл видешь только ты сам
mks вне форума   Ответить с цитированием
Старый 11.06.2009, 16:44   #3
Местный
 
Аватар для 8tomat8
 
Регистрация: 17.01.2009
Сообщений: 282
Сказал Спасибо: 64
Имеет 81 спасибок в 63 сообщенях
8tomat8 пока неопределено
По умолчанию

скрипт сам выложи, скорее всего дело в том что в скрипте этого нету, и когда ты пытаешся закрыть он пытается заново их открывать
__________________
помог?СКАЖИ СПАСИБО!)

Мастерство программиста не в том, чтобы писать программы, работающие без ошибок, а в том, чтобы писать программы, работающие при любом количестве ошибок.
Цитата:
[10-06, 14:15] efreet Заплачу за настройку l2px
[11-06, 09:25] xkor не плач)
Цитата:
Сообщение от Psih Посмотреть сообщение
Вот еще один вопрос:Вот вчера было све нормально
8tomat8 вне форума   Ответить с цитированием
Старый 11.06.2009, 16:46   #4
Новичок
 
Регистрация: 11.06.2009
Сообщений: 5
Сказал Спасибо: 4
Имеет 1 спасибку в 1 сообщении
He3eMHou пока неопределено
По умолчанию

8tomat8,
Код:
// Открытие/закрытие любых дверей, ворот и т.д. А также проход в дальнейщем через откртую дверь дальше.
// Работает на всех серверах, но пройти через открытую дверь можно на сервере, где нет геодаты (java).
// Чтобы использовать скрипт, выделите нужную вам дверь через Shift + левая кнопка мыши
// Автор: Furious
// Версия: 0.2

var
Bypass: String;
ObjectID, ActionID, Status: Integer;

const
HTML='<html><body><center><img src="L2UI_CH3.herotower_deco"'+
' width=256 height=32><font color="LEVEL">Меню управления во'+
'ротами и дверями</font><br><font color="LEVEL">Автор: Furio'+
'us</font><img src="L2UI.SquareWhite" width=260 height=1><im'+
'g 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:=#$0F;
    WriteD(5);
    WriteS(HTML);
    SendToClient;
  end;

procedure DoorAction;
  begin
    buf:=#$4D;
    WriteD(ObjectID);
    WriteD(Status);
    WriteD(0);
    WriteD(1);
    WriteD(0);
    SendToClient;
  end;


begin
  if FromClient and (pck[1]=#$04) then
    begin
      ActionID:=ReadC(18);
      if ActionID=1 then
        begin
          ObjectID:=ReadD(2);
          ShowHTML;
        end;
    end;
  if FromClient and (pck[1]=#$21) then
    begin
      Bypass:=ReadS(2);
      case Bypass of
      'open':Status:=0 and DoorAction;
      'close':Status:=1 and DoorAction;
      end;
    end;
end.
He3eMHou вне форума   Ответить с цитированием
Старый 11.06.2009, 16:57   #5
Местный
 
Аватар для 8tomat8
 
Регистрация: 17.01.2009
Сообщений: 282
Сказал Спасибо: 64
Имеет 81 спасибок в 63 сообщенях
8tomat8 пока неопределено
По умолчанию

тут не прописана процедура закрытия... можеш сам отловить и по принципу открывания сделать закрывание
Delphi Код:
begin   if FromClient and (pck[1]=#$04) then     begin       ActionID:=ReadC(18);       if ActionID=1 then         begin           ObjectID:=ReadD(2);           ShowHTML;         end;     end;
Это открывание
__________________
помог?СКАЖИ СПАСИБО!)

Мастерство программиста не в том, чтобы писать программы, работающие без ошибок, а в том, чтобы писать программы, работающие при любом количестве ошибок.
Цитата:
[10-06, 14:15] efreet Заплачу за настройку l2px
[11-06, 09:25] xkor не плач)
Цитата:
Сообщение от Psih Посмотреть сообщение
Вот еще один вопрос:Вот вчера было све нормально
8tomat8 вне форума   Ответить с цитированием
За это сообщение 8tomat8 нажился спасибкой от:
Старый 11.06.2009, 17:19   #6
Местный
 
Аватар для pmen
 
Регистрация: 16.05.2009
Сообщений: 129
Сказал Спасибо: 66
Имеет 62 спасибок в 34 сообщенях
pmen пока неопределено
По умолчанию

Когда я пользовался этим скриптом я закрывал двери просто 2 раза нажав на саму дверь.. =)
__________________
Работа программиста и шамана имеет много общего - оба бормочут непонятные слова, совершают непонятные действия и не могут объяснить, как оно работает
__________________________________________________ _____________
Родители частенько вышибали из меня дурь, но я знал где достать еще
__________________________________________________ _____________
Я живу напротив кладбища. БУДЕШЬ выпендриваться - будешь жить напротив меня!!!

Если помог скажи СПАСИБО =)
pmen вне форума   Ответить с цитированием
За это сообщение pmen нажился спасибкой от:
Старый 11.06.2009, 17:39   #7
Новичок
 
Регистрация: 09.06.2009
Сообщений: 10
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Smertonosec пока неопределено
По умолчанию

В чом понт?) геодата все ровно на месте остается почемуто)хоят дверь открывается)
Smertonosec вне форума   Ответить с цитированием
Старый 11.06.2009, 17:46   #8
Местный
 
Аватар для pmen
 
Регистрация: 16.05.2009
Сообщений: 129
Сказал Спасибо: 66
Имеет 62 спасибок в 34 сообщенях
pmen пока неопределено
По умолчанию

Я на сервах с норм геодатой проходил иногда xD
__________________
Работа программиста и шамана имеет много общего - оба бормочут непонятные слова, совершают непонятные действия и не могут объяснить, как оно работает
__________________________________________________ _____________
Родители частенько вышибали из меня дурь, но я знал где достать еще
__________________________________________________ _____________
Я живу напротив кладбища. БУДЕШЬ выпендриваться - будешь жить напротив меня!!!

Если помог скажи СПАСИБО =)
pmen вне форума   Ответить с цитированием
Старый 13.06.2009, 17:30   #9
Новичок
 
Регистрация: 13.06.2009
Сообщений: 3
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
Markulus пока неопределено
По умолчанию

He3eMHou, увидел на скрине скрипты на ЛС. не можешь скинуть?
Markulus вне форума   Ответить с цитированием
Старый 13.06.2009, 20:18   #10
Новичок
 
Регистрация: 11.06.2009
Сообщений: 5
Сказал Спасибо: 4
Имеет 1 спасибку в 1 сообщении
He3eMHou пока неопределено
По умолчанию

Markulus,
Код:
const
  Name='CuJIyC'; // ник
  ItemID=6594; // пуха
  LifeID=8762; // лайфстон
  GemsID=2131; // гемстон
  GemsAmount=25; //кол-во гемов
  max=180;  // инвентарь
var
 LifeBase:array[1..max] of integer;    
 ColvoLife,ColvoGems,Life,Item,Gems,SocialID,augid:integer;
procedure Init;
var i:integer;
begin
 buf:=hstr('0F');
 SendToServerEx(Name);
end;
procedure Free;
var i:integer;
begin
 for i:=1 to max do
  LifeBase[i]:=0;
end;
function StrToHex2(packet: string):string;
var
  i:integer;
  tmp:byte;
  function ByteToHex(b: byte): Char;
  begin
    if b<10 then result:=chr(b+$30)
      else result:=chr(b+$37);
  end;
begin
  result:='';
  for i:=1 to length(packet) do begin
    tmp:=ord(packet[i]) div 16;
    result:=result+ByteToHex(tmp);
    tmp:=ord(packet[i]) - tmp*16;
    result:=result+ByteToHex(tmp)+' ';
  end;
end;
function inttohex(n:integer):string;
var i:integer;
    t:string;
    a:array[0..15] of char;
begin
 a[0]:='0';
 a[1]:='1';
 a[2]:='2';
 a[3]:='3';
 a[4]:='4';
 a[5]:='5';
 a[6]:='6';
 a[7]:='7';
 a[8]:='8';
 a[9]:='9';
 a[10]:='A';
 a[11]:='B';
 a[12]:='C';
 a[13]:='D';
 a[14]:='E';
 a[15]:='F';
 result:='';
 t:='';
 i:=0;
 while n<>0 do begin
  if (i mod 2=0)and(i>0) then begin
   result:=result+t+' ';
   t:='';
  end;
  t:=a[n mod 16]+t;
  n:=n div 16;
  inc(i);
 end;
 result:=result+t;
end;
procedure Say;
var i:integer;
    s:string;
begin
  s:='<tr><td>LS='+inttostr(ColvoLife)+' (*'+inttostr(GemsAmount)+'='+inttostr(ColvoLife*GemsAmount)+')</td></tr>';
  s:=s+'<tr><td>Gems='+inttostr(ColvoGems)+' (/'+inttostr(GemsAmount)+'='+inttostr(ColvoGems div GemsAmount)+')</td></tr>';
  s:=s+'<tr><td>---</td></tr>';
  if Item=0 then
   s:=s+'<tr><td>No Weapon</td></tr>'
  else if augid>0 then
   s:=s+'<tr><td>Augmented ('+inttohex(augid)+')</td></tr>'
  else
   s:=s+'<tr><td>Not augmented</td></tr>';
  buf:=hstr('0F 01 00 00 00');
  WriteS('<html><body><br><table width=100%>'+s+'</table><br><br><br><br><br><br>'+
   '"Social Yes" - Cancel Augment(if augmented) and Augment(if you have enough gems and LSs)<br>'+
   '"Social No" - Show this help<br><br>'+
   'Sometimes client dont get packet InventoryUpdate and you see "Not augment" when weapon is augmented.'+
   ' Simply press [Tab] twice or wear weapon.<br><br>'+
   '(c) raid aka Mamy</body></html>');
//   '(c) raid aka Mamy<br>'+strtohex(pck)+'</body></html>');
  WriteD(0);
  SendToClientEx(Name);
end;
procedure CreateItemBase; 
var i,ss,j,ObjID,ItmID,ListCount,count,aug:integer;
begin
  Item:=0;
  ss:=1;
  j:=4; 
  ListCount:=ReadH(j); 
  if ListCount>max then ListCount:=max;
  j:=8; 
  for i:=1 to ListCount do begin
     ObjID:=ReadD(j);    
     ItmID:=ReadD(j);    
     Count:=ReadD(j);
     j:=j+14;
     aug:=ReadD(j);
     case ItmID of
        LifeID: begin
            LifeBase[ss]:=ObjID;
            inc(ss);
        end;
        ItemID: begin
            Item:=ObjID;
            augid:=aug;
        end;
        GemsID: begin
            Gems:=ObjID;
            ColvoGems:=Count;
        end;
     end;
    j:=j+6;
  end;
  ColvoLife:=ss-1;
  Say;
end;
procedure UpdateItemBase; 
var i,ii,j,ObjID,ItmID,ListCount,Count,UpdType,aug: integer;
begin
  ListCount:=ReadH(2);
  j:=4;
  for i:=1 to ListCount do begin
    UpdType:=ReadH(j);
    j:=j+2;
    ObjID:=ReadD(j);
    ItmID:=ReadD(j);
    Count:=ReadD(j);
    j:=j+14;
    aug:=ReadD(j);
    case UpdType of
      1:case ItmID of
          ItemID: begin
            Item:=ObjID;
            augid:=aug;
          end;
          LifeID: begin
            for ii:=1 to max do
             if LifeBase[ii]=0 then begin
              LifeBase[ii]:=ObjID;
              ColvoLife:=ColvoLife+1;
              break;
             end;
          end;
        GemsID: begin
            Gems:=ObjID;
            ColvoGems:=Count;
        end;
      end;
      2:case ItmID of
        ItemID: begin
          Item:=ObjID;
          augid:=aug;
        end;
        GemsID: begin
            Gems:=ObjID;
            ColvoGems:=Count;
        end;
      end;
      3:case ItmID of
        ItemID:
          Item:=0;
        GemsID: begin
            Gems:=ObjID;
            ColvoGems:=Count;
        end;
        LifeID: begin
          for ii:=1 to max do
            if LifeBase[ii]=ObjID then begin
             LifeBase[ii]:=0;
             ColvoLife:=ColvoLife-1;
            end;
        end;
      end;
    end;
    j:=j+6;
  end;
 Say;
end;
function GetNextLife: integer;
var i:integer;
begin
  Result:=-1;
  for i:=1 to max do begin
    if (LifeBase[i]<>0) then begin
      Result:=LifeBase[i];
      exit;
    end;
  end;
end;
procedure Augment;
begin
 buf:=hstr('D0 29 00');
 WriteD(Item);
 SendToServerEx(Name);
 delay(100);
 buf:=hstr('D0 2A 00');
 WriteD(Item);
 WriteD(Life);
 SendToServerEx(Name);
 delay(100);
 buf:=hstr('D0 2B 00');
 WriteD(Item);
 WriteD(Life);
 WriteD(Gems);
 WriteD(GemsAmount);
 SendToServerEx(Name);
 delay(100);
 buf:=hstr('D0 2C 00');
 WriteD(Item);
 WriteD(Life);
 WriteD(Gems);
 WriteD(GemsAmount);
 SendToServerEx(Name);
end;
procedure DisAugment;
begin
 buf:=hstr('D0 2D 00');
 WriteD(Item);
 SendToServerEx(Name);
 buf:=hstr('D0 2E 00');
 WriteD(Item);
 SendToServerEx(Name);
end;
begin
  if pck='' then exit;
  if FromClient and (ConnectName=Name) and (pck[1]=#$1B) then begin
    SocialID:=ReadD(2);
   pck:='';
    case SocialID of
      7: begin
 buf:=hstr('A7 2A A0 00 00 80 84 1E 00 0A 00 00 00 00 00 00 00 00 00 00 00');
 SendToServerEx(Name);
 buf:=hstr('A7 29 A0 00 00 40 0D 03 00 FA 00 00 00 00 00 00 00 00 00 00');
 SendToServerEx(Name);

        exit;
       end;
      6: begin
       if augid>0 then begin
        DisAugment;
        delay(300);
       end;
       Life:=GetNextLife;
       if (Life=-1)or(ColvoGems<GemsAmount)or(ColvoLife<1) then
        exit;
       Augment;
       exit;
      end;
      5: begin
       Say;
       exit;
      end;
    end;
  end;
  if FromServer then
  case pck[1] of
    #$1B: CreateItemBase; 
    #$27: UpdateItemBase; 
  end;
end.
He3eMHou вне форума   Ответить с цитированием
За это сообщение He3eMHou нажился спасибкой от:
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Пакеты


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 15:53.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!