Скриптинг  Форум посвещенный созданию скриптов для L2PacketHack  
	
	
	
	
	
	
	
	
	
	
	
	
		
		 
	
	
	
	
	 
 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#61  
	
 
	
			
            
			
			Рыцарь
			
			
		
			
				
			
			
			
				 
				Регистрация: 28.09.2007
				
				
				
					Сообщений: 1,558
				
				 
	Сказал Спасибо: 71
	
		
			
				Имеет 351 спасибок в 244 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			-=[B1@©k}{ac]{e®]=-™ , если скрипт грамотно написан и заточен на то, чтоб работать даже без клиента - то да.
		
	
		
		
		
		
		
		
			
		
		
		
		
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#62  
	
 
	
			
            
			
			Новичок
			
			
		
			
			
			
				 
				Регистрация: 17.12.2008
				
				
				
					Сообщений: 12
				
				 
	Сказал Спасибо: 1
	
		
			
				Имеет 0 спасибок в 0 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
				 
			QaK , пытался править скрипт бота-бафера...
Оффтоп 
	delphi Код:
	//by vimin 
//Скрипт для SE, чтобы бегал, лечил и бафал по команде от командира. 
const  //баффы 
b1='2F 10 04 00 00 00 00 00 00 00' ;    // Shield 
b2='2F 0B 04 00 00 00 00 00 00 00' ;    // Mental Shield 
b3='2F 23 04 00 00 00 00 00 00 00' ;    // Empower 
b4='2F B4 04 00 00 00 00 00 00 00' ;    // Wind Walk 
b5='2F 36 04 00 00 00 00 00 00 00' ;    // Concentration 
var 
IDPartyMember, IDAssistTarget: String ; //ИД командира и ИД его таргета и Собственный ИД 
CoordBufX, CoordBufY, CoordBufZ :String ; //координаты бота 
NameBuffer, NameKomandos : String ; // Имена 
x: integer ;
timer1: TTimer;
procedure  OnTimer( Sender: TObject ) ;
begin 
 case  x of 
 1 : begin 
    //выделяем командира, эмулируя щелчек мыши 
    buf:=hstr( '04' )  + IDPartyMember + CoordBufX + CoordBufY + CoordBufZ + hstr( '00' ) ;
    SendToServerEX( NameBuffer) ;
    buf:=hstr( b1) ;
    SendToServerEx( NameBuffer) ;
    x:=x+1 ;
    end ;
 2 : begin 
    buf:=hstr( b2) ;
    SendToServerEx( NameBuffer) ;
    x:=x+1 ;
    end ;
 3 : begin 
    buf:=hstr( b3) ;
    SendToServerEx( NameBuffer) ;
    x:=x+1 ;
    end ;
 4 : begin 
    buf:=hstr( b4) ;
    SendToServerEx( NameBuffer) ;
    x:=x+1 ;
    end ;
5 : begin 
    buf:=hstr( b5) ;
    SendToServerEx( NameBuffer) ;
    x:=0 ;
    timer1.enabled :=false ;
    end ;
 end ;
end ;
procedure  bRun;
begin 
     if  ( CoordBufX <> '' )  and  ( IDPartyMember <> '' )  then 
     begin 
          //выделяем командира, эмулируя щелчек мыши 
          buf:=hstr( '04' )  + IDPartyMember + CoordBufX + CoordBufY + CoordBufZ + hstr( '00' ) ;
          SendToServerEX( NameBuffer) ;
          //бежим за командиром эмулируя повторный щелчек мыши по таргету 
          buf:=hstr( '04' )  + IDPartyMember + CoordBufX + CoordBufY + CoordBufZ + hstr( '00' ) ;
          SendToServerEX( NameBuffer) ;
     end ;
end ;
procedure  bHeal;
begin 
     if  ( CoordBufX <> '' )  and  ( IDPartyMember <> '' )  then 
     //if (IDPartyMember <> '') then 
     begin 
          //выделяем командира, эмулируя щелчек мыши 
          buf:=hstr( '04' )  + IDPartyMember + CoordBufX + CoordBufY + CoordBufZ + hstr( '00' ) ;
          SendToServerEx( NameBuffer) ;
          // хил 
          buf:=hstr( '2F C1 04 00 00 00 00 00 00 00' ) ; // Greater Heal 
          //отправляем пакет серваку 
          SendToServerEx( NameBuffer) ;
     end ;
end ;
procedure  bRecharge;
begin 
     // таргет командира 
     buf:=hstr( '04' )  + IDPartyMember + CoordBufX + CoordBufY + CoordBufZ + hstr( '00' ) ;
     SendToServerEx( NameBuffer) ;
     // речарж 
     buf:=hstr( '2F F5 03 00 00 00 00 00 00 00' ) ; // Recharge 
     //отправляем пакет серваку 
     SendToServerEx( NameBuffer) ;
     //Say('Make recharge'); 
end ;
procedure  Init; //Вызывается при включении скрипта 
begin 
     NameBuffer:='Buffer' ;
     NameKomandos:='Komandos' ;
     timer1:=TTimer.Create ( nil ) ;
     timer1.OnTimer :=@OnTimer;
     timer1.enabled :=false ;
     timer1.interval :=5000 ;
     x:=0 ;
end ;
procedure  Free; //Вызывается при выключении скрипта 
begin 
    timer1.Free ;
end ;
//основная часть скрипта 
//вызывается при приходе каждого пакета если скрипт включен 
begin 
     if  pck=''  then  exit ;
     //если от сервака принят пакет с ИД и Координатами членов пати то 
     if  FromServer and  ( pck[1 ]=#$a7)  then 
     begin 
          //запоминаем ИД командира 
          IDPartyMember:=pck[6 ] + pck[7 ] + pck[8 ] + pck[9 ];
     end ;
   //если принят пакет от клиента с кординатами бафера то 
   if  FromClient and  ( ConnectName=NameBuffer)  and  ( pck[1 ]=#$48 )  then 
   begin 
        //запоминаем координаты 
        CoordBufX:= pck[6 ] + pck[7 ] + pck[8 ] + pck[9 ];
        CoordBufY:= pck[10 ] + pck[11 ] + pck[12 ] + pck[13 ];
        CoordBufZ:= pck[14 ] + pck[15 ] + pck[16 ] + pck[17 ];
   end ;
   //далее идут управляющие команды 
   //если КОМАНДИР пишет в любой чат цифру "1" (код "#$31 #$00" в юникоде (в юникоде под 1 символ используются 2 байта) я так понял) то 
   if  FromClient and  ( ConnectName=NameKomandos) and  ( pck[1 ]=#$38 )  then 
      if  ( pck[2 ]=#$31 )  and  ( pck[3 ]=#$00 )  then 
      begin 
           //убиваем этот пакет, чтоб сервер его не получил 
           pck:='' ;
           //Бафер БЕЖИТ за КОМАНДИРОМ 
           bRun;
           //выйти из рабочей части скрипта чтобы другие услови не проверяли убитый пакет нулевой длинны 
           exit ;
      end ;
   // если КОМАНДИР пишет в любой чат цифру "2" 
   if  FromClient and  ( ConnectName=NameKomandos) and  ( pck[1 ]=#$38 )  then 
       if  ( pck[2 ]=#$32 )  and  ( pck[3 ]=#$00 )  then 
       begin 
            //убиваем этот пакет, чтоб сервер его не получил 
            pck:='' ;
            bHeal;
            exit ;
       end ;
   // если КОМАНДИР пишет в любой чат цифру "3" (речардж) 
   if  FromClient and  ( ConnectName=NameKomandos) and  ( pck[1 ]=#$38 )  then 
       if  ( pck[2 ]=#$33 )  and  ( pck[3 ]=#$00 )  then 
       begin 
            //убиваем этот пакет, чтоб сервер его не получил 
            pck:='' ;
            bRecharge;
            exit ;
       end ;
   // если КОМАНДИР пишет в любой чат цифру "4" (ребаф) 
   if  FromClient and  ( ConnectName=NameKomandos) and  ( pck[1 ]=#$38 )  then 
       if  ( pck[2 ]=#$34 )  and  ( pck[3 ]=#$00 )  then 
       begin 
            //убиваем этот пакет, чтоб сервер его не получил 
            pck:='' ;
            // бафы 
            timer1.enabled :=true ;
            x:=1 ;
            exit ;
       end ;
end .
  
нужно было, что бы чар кидал Seed of fire... поправил на
Оффтоп 
	delphi Код:
	const  //баффы 
b1='2F 05 05 00 00 00 00 00 00 00' ;    // Seed of fire 
var 
IDPartyMember, IDAssistTarget: String ; //ИД командира и ИД его таргета и Собственный ИД 
CoordBufX, CoordBufY, CoordBufZ :String ; //координаты бота 
NameBuffer, NameKomandos : String ; // Имена 
x: integer ;
timer1: TTimer;
procedure  OnTimer( Sender: TObject ) ;
begin 
if  x=1  then  
begin 
    //выделяем командира, эмулируя щелчек мыши 
    buf:=hstr( '04' )  + IDPartyMember + CoordBufX + CoordBufY + CoordBufZ + hstr( '00' ) ;
    SendToServerEX( NameBuffer) ;
    x:=2 ;
end 
else  if  x=2  then  
begin 
    buf:=hstr( b1) ;
    SendToServerEx( NameBuffer) ;
    x:=0 ;
end ;
end ;
procedure  bRun;
begin 
     if  ( CoordBufX <> '' )  and  ( IDPartyMember <> '' )  then 
     begin 
          //выделяем командира, эмулируя щелчек мыши 
          buf:=hstr( '04' )  + IDPartyMember + CoordBufX + CoordBufY + CoordBufZ + hstr( '00' ) ;
          SendToServerEX( NameBuffer) ;
          //бежим за командиром эмулируя повторный щелчек мыши по таргету 
          buf:=hstr( '04' )  + IDPartyMember + CoordBufX + CoordBufY + CoordBufZ + hstr( '00' ) ;
          SendToServerEX( NameBuffer) ;
     end ;
end ;
procedure  bHeal;
begin 
     if  ( CoordBufX <> '' )  and  ( IDPartyMember <> '' )  then 
     //if (IDPartyMember <> '') then 
     begin 
          //выделяем командира, эмулируя щелчек мыши 
          buf:=hstr( '04' )  + IDPartyMember + CoordBufX + CoordBufY + CoordBufZ + hstr( '00' ) ;
          SendToServerEx( NameBuffer) ;
          // хил 
          buf:=hstr( '2F C1 04 00 00 00 00 00 00 00' ) ; // Greater Heal 
          //отправляем пакет серваку 
          SendToServerEx( NameBuffer) ;
     end ;
end ;
procedure  bRecharge;
begin 
     // таргет командира 
     buf:=hstr( '04' )  + IDPartyMember + CoordBufX + CoordBufY + CoordBufZ + hstr( '00' ) ;
     SendToServerEx( NameBuffer) ;
     // речарж 
     buf:=hstr( '2F F5 03 00 00 00 00 00 00 00' ) ; // Recharge 
     //отправляем пакет серваку 
     SendToServerEx( NameBuffer) ;
     //Say('Make recharge'); 
end ;
procedure  Init; //Вызывается при включении скрипта 
begin 
     NameBuffer:='BlackStyle' ;
     NameKomandos:='GamellOver' ;
     timer1:=TTimer.Create ( nil ) ;
     timer1.OnTimer :=@OnTimer;
     timer1.enabled :=false ;
     timer1.interval :=5000 ;
     x:=0 ;
end ;
procedure  Free; //Вызывается при выключении скрипта 
begin 
    timer1.Free ;
end ;
//основная часть скрипта 
//вызывается при приходе каждого пакета если скрипт включен 
begin 
     if  pck=''  then  exit ;
     //если от сервака принят пакет с ИД и Координатами членов пати то 
     if  FromServer and  ( pck[1 ]=#$a7)  then 
     begin 
          //запоминаем ИД командира 
          IDPartyMember:=pck[6 ] + pck[7 ] + pck[8 ] + pck[9 ];
     end ;
   //если принят пакет от клиента с кординатами бафера то 
   if  FromClient and  ( ConnectName=NameBuffer)  and  ( pck[1 ]=#$48 )  then 
   begin 
        //запоминаем координаты 
        CoordBufX:= pck[6 ] + pck[7 ] + pck[8 ] + pck[9 ];
        CoordBufY:= pck[10 ] + pck[11 ] + pck[12 ] + pck[13 ];
        CoordBufZ:= pck[14 ] + pck[15 ] + pck[16 ] + pck[17 ];
   end ;
   //далее идут управляющие команды 
   //если КОМАНДИР пишет в любой чат цифру "1" (код "#$31 #$00" в юникоде (в юникоде под 1 символ используются 2 байта) я так понял) то 
   if  FromClient and  ( ConnectName=NameKomandos) and  ( pck[1 ]=#$38 )  then 
      if  ( pck[2 ]=#$31 )  and  ( pck[3 ]=#$00 )  then 
      begin 
           //убиваем этот пакет, чтоб сервер его не получил 
           pck:='' ;
           //Бафер БЕЖИТ за КОМАНДИРОМ 
           bRun;
            // бафы 
            timer1.enabled :=true ;
            x:=1 ;
            exit ;
           //выйти из рабочей части скрипта чтобы другие услови не проверяли убитый пакет нулевой длинны 
           exit ;
      end ;
end .
  
но неработает... все ли я правильно сделал ?.. если нет, поправьте плз..
			
				Последний раз редактировалось QaK, 16.01.2009 в 13:33 .
				
				 
			
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#63  
	
 
	
			
            
			
			Рыцарь
			
			
		
			
				
			
			
			
				 
				Регистрация: 28.09.2007
				
				
				
					Сообщений: 1,558
				
				 
	Сказал Спасибо: 71
	
		
			
				Имеет 351 спасибок в 244 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			Поправил второй твой скрипт, проверь.
		
	
		
		
		
		
		
		
			
		
		
		
		
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	
		
			
				
					За это сообщение QaK нажился спасибкой от: 
				
				
				
			 
			 
	
  
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#64  
	
 
	
			
            
			
			Новичок
			
			
		
			
			
			
				 
				Регистрация: 17.12.2008
				
				
				
					Сообщений: 12
				
				 
	Сказал Спасибо: 1
	
		
			
				Имеет 0 спасибок в 0 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			не работает... не происходит выделение основного чара... если через бота выделить, то норм.... а так неработает..
		
	
		
		
		
		
		
		
		
		
		
		
						
				Последний раз редактировалось -=[B1@©k}{ac]{e®]=-™, 20.01.2009 в 05:53 .
				
				 
			
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#65  
	
 
	
			
            
			
			Новичок
			
			
		
			
			
			
				 
				Регистрация: 13.12.2008
				
				
				
					Сообщений: 4
				
				 
	Сказал Спасибо: 3
	
		
			
				Имеет 0 спасибок в 0 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			
	Код:
	if ((FromClient) and (pck[1]=#$1F) and (ConnectName='Nick') and (NSetup=0)) then
              begin
                   MyID:=ReadD(2);
                   NSetup:=1;
                   pck:='';
              end; 
 phx выдает ошибку и пакет не блокируется. Подскажите почему.
 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#66  
	
 
	
			
            
			
			Пользователь
			
			
		
			
			
			
				 
				Регистрация: 05.02.2009
				
				
				
					Сообщений: 62
				
				 
	Сказал Спасибо: 1
	
		
			
				Имеет 18 спасибок в 9 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			Snat4 , Вроде нормально все. Попробуй перед этим кодом добавить:
	Код:
	if pck = '' then exit; 
 Да, и написал бы еще какая ошибка хоть.
 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#67  
	
 
	
			
            
			
			Рыцарь
			
			
		
			
				
			
			
			
				 
				Регистрация: 29.02.2008
				
				
				
					Сообщений: 928
				
				 
	Сказал Спасибо: 127
	
		
			
				Имеет 130 спасибок в 93 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			Snat4 , а выложи полностью пакет. и что это за пакет хотя б какие хроники.
		
	
		
		
		
		
		
		
			
		
		
		
		
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#68  
	
 
	
			
            
			
			Новичок
			
			
		
			
			
			
				 
				Регистрация: 13.12.2008
				
				
				
					Сообщений: 4
				
				 
	Сказал Спасибо: 3
	
		
			
				Имеет 0 спасибок в 0 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			Такая ошибка:
	Код:
	Access violation at address 00550C21 in module 'l2pbx.exe'. Read of address 00000000. 
 #$1F - пакет от клиента "Action" (в основном выбор таргета).
К примеру такой:
	Код:
	1F BD D8 00 4B C2 6D 00 00 C8 2A 00 00 77 EF FF FF 00 
 Основная прелесть в том, что даже если я пишу вот такое, то та же ошибка:
	Код:
	if ((FromClient) and (pck[1]=#$19) and (NSetup=1)) then
              begin
                   ItemWindStrike:=ReadD(2);
                   pck:='';
                   NSetup:=2;
                   Mess('Blah-Blah-Blah');
              end; 
 Где #$19 - от клиента UseItem пакет.
ItemWindStrike, MyID: integer;
Хроники - камаэль Хэллбаунд. В настройках пнх у меня стоит галочка на Kamael и снята с Gracia. Версия пнх - L2phx 3.4.1.61.
ЗЫ: прошу прощения что сразу не все написал подробно.
			
				Последний раз редактировалось Snat4, 19.02.2009 в 01:31 .
				
				 
			
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#69  
	
 
	
			
            
			
			Пользователь
			
			
		
			
			
			
				 
				Регистрация: 05.02.2009
				
				
				
					Сообщений: 62
				
				 
	Сказал Спасибо: 1
	
		
			
				Имеет 18 спасибок в 9 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			Snat4 , Тут уже похоже дело не в скрипте а пакетхаке. У меня бывает слетает так же, рестарт PHX помогает.
		
	
		
		
		
		
		
		
		
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#70  
	
 
	
			
            
			
			Новичок
			
			
		
			
			
			
				 
				Регистрация: 13.12.2008
				
				
				
					Сообщений: 4
				
				 
	Сказал Спасибо: 3
	
		
			
				Имеет 0 спасибок в 0 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			
	Цитата:
	
	
		
			
				
					Сообщение от 
lexayar 
					Snat4 , Тут уже похоже дело не в скрипте а пакетхаке. У меня бывает слетает так же, рестарт PHX помогает.
			
		 
	 
	
 Если убрать строчку 
, тогда все нормально работает. Но мне желательно бы блокировать эти пакеты 
Есть нъюанс: Если нажать на кнопочку "Ок" когда вылетает эта ошибка в РНХ, то скрипт продолжает нормально работать, при этом пакет, которых я хотел блокировать, все-таки проходит. Что-то похоже на Delay но только пока не нажму на кнопку "Ок"))
Еще нъюансик: когда вылетает эта ошибка - клиент полностью зависает и ни на что не реагирует. После нажатия на кнопочке "Ок" все продолжает нормально работать.
			
				Последний раз редактировалось Snat4, 19.02.2009 в 15:16 .
				
				 
			
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
		
 
	
		
 
  
	
		
	
		 
 
 
	
		
		Вы не можете  создавать темы
		Вы не можете  отвечать на сообщения
		Вы не можете  прикреплять файлы
		Вы не можете  редактировать сообщения
		HTML код Выкл. 
	  
 
	 
	
		
	 
 
Часовой пояс GMT +4, время: 17:54 .
		 	
	 
 
	
	
	
	vBulletin style designed by 
MSC Team .
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: 
zCarot 
	
 
 
 
 
Вы хотите чувствовать себя в безопасности? чоп  Белган обеспечит её!