Жесткий скриптинг  Раздел для обсуждения готовых и тестируемых скриптов
  
	
	
	
	
	
	
	
	
	
	
	
	
		
		 
	
	
	
	
	 
 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#1  
	
 
	
			
            
			
			Пользователь
			
			
		
			
			
			
				 
				Регистрация: 10.12.2007
				
				
				
					Сообщений: 54
				
				 
	Сказал Спасибо: 4
	
		
			
				Имеет 46 спасибок в 16 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
				dcChat: работа с чатом 
			 
			Только что выложил где-то еще; подумал: скрипт вполне "завершенный", чтобы постить его сюда.
Основа:
Chat.txt из поставки l2phx 320
Возможности:
1. Отдельное окно чата.
2. "Автоспам": одна строчка раз в Х секунд
3. Длинный текст: отправка многострочного сообщения
4. Лог чата.
l2phx 
	delphi Код:
	const 
     MaxMessages = 1000 ;
var 
  m: TMemo;
  frm:TForm;
  penel: TPanel;
  etext:  tedit;
  button: tbutton;
  box   : TCheckBox;
  every : TEdit;
  _Name : TEdit;
  i: Integer ;
  tm:TTimer;
  Message, Name: String ;
procedure  SendMs( Sender: TObject ) ;
var 
  Msg, Nm: String ;
  dd: integer ;
begin 
  if  etext.text <>''  then  begin 
    buf:=#$38 ;
    case  etext.text [1 ] of 
      '!' : begin 
        Msg:=Copy ( etext.text ,2 ,1000 ) ;
        dd:=1 ;
        nm:='' ;
      end ;
      '$' : begin 
        Msg:=Copy ( etext.text ,2 ,1000 ) ;
        dd:=9 ;
        nm:='' ;
      end ;
      '+' : begin 
        Msg:=Copy ( etext.text ,2 ,1000 ) ;
        dd:=8 ;
        nm:='' ;
      end ;
      '"' : begin 
        dd:=pos ( ' ' , etext.text ) ;
        Msg:=Copy ( etext.text ,dd+1 ,1000 ) ;
        nm:=Copy ( etext.text ,2 ,dd-3 ) ;
        dd:=2 ;
      end ;
      '#' : begin 
        Msg:=Copy ( etext.text ,2 ,1000 ) ;
        dd:=3 ;
        nm:='' ;
      end ;
      '@' : begin 
        Msg:=Copy ( etext.text ,2 ,1000 ) ;
        dd:=4 ;
        nm:='' ;
      end ;
      else  begin 
        Msg:=etext.text ;
        dd:=0 ;
        nm:='' ;
      end ;
    end ;
    WriteS( Msg) ;
    WriteD( dd) ;
    if  nm<>''  then  WriteS( Nm) ;
    SendToServerEx( _Name.Text ) ;
  end ;
end ;
procedure  onNewCommand( obj:TObject ;key:string ) ;
var  i:integer ;
var  symbol:Variant ;
var  after:string ;
begin 
     if  ( key[1 ]=#$0D)  then  begin 
         SendMs( obj) ;
         symbol := etext.Text [1 ];
         after := '' ;
         if  symbol = '#'  then  after := '#' ;
         if  symbol = '!'  then  after := '!' ;
         if  symbol = '@'  then  after := '@' ;
         if  symbol = '$'  then  after := '$' ;
         etext.Text  := after;
     end ;
end ;
procedure  onTimer( Sender:TObject ) ;
begin 
  tm.Interval  := StrToInt ( every.Text ) ;
  if  box.checked  = true  then  SendMs( Sender) ;
end ;
procedure  Init;
begin 
  frm := TForm.Create ( nil ) ;
  frm.Caption  := 'Chat' ;
  frm.BorderStyle  := bsSizeable;
  frm.Position  := poDesigned ;
  frm.Width :=400 ;
  frm.Height :=600 ;
  m:=TMemo.Create ( frm) ;
  m.parent :=frm;
  m.align :=alClient;
  m.ReadOnly :=true ;
  m.ScrollBars :=ssBoth;
  penel:=TPanel.Create ( frm) ;
  penel.parent :=frm;
  penel.align :=alBottom;
  penel.height :=48 ;
  etext:=tedit.Create ( penel) ;
  etext.parent :=penel;
  etext.align :=alTop;
  button:=tbutton.Create ( penel) ;
  button.parent :=penel;
  button.top  := etext.height ;
  button.caption :='Send' ;
  button.onClick :=@SendMs;
  box := TCheckBox.Create ( penel) ;
  box.parent  := penel;
  box.Top  := etext.height  + 2 ;
  box.Left  := button.width  + button.left  +2 ;
  box.Caption  := 'Шторм через: ' ;
  every:=tedit.Create ( penel) ;
  every.parent :=penel;
  every.Left  := box.Left  + box.Width ;
  every.Top  := button.top ;
  every.Text  := IntToStr ( 3000 ) ;
  tm := TTimer.Create ( frm) ;
  tm.Interval  := 1000 ;
  tm.Enabled  := true ;
  tm.OnTimer  := @OnTimer;
  etext.OnKeyPress  := @onNewCommand;
  _Name:=tedit.Create ( frm) ;
  _Name.parent :=frm;
  _Name.align  := alTop;
  _Name.Text  := '' ;
  frm.Show ;
end ;
procedure  SaveToFile( prefix:string ) ;
var  name:string ;
begin 
     name := prefix+'.' +ConnectName+'.' +DateToStr ( Date ) +'.' +TimeToStr ( Time ) +'.txt' ;
     while  Pos ( ':' ,name)  <> 0  do  begin 
           name[Pos( ':' ,name) ] := '-' ;
     end ;
     m.Lines .SaveToFile ( name) ;
end ;
procedure  Free;
begin 
  SaveToFile( 'ChatLog' ) ;
  box.Free ;
  every.Free ;
  tm.Free ;
  etext.Free ;
  button.Free ;
  penel.Free ;
  m.Free ;
  frm.Free ;
end ;
var  tp:integer ;
var  ct:string ;
var  MessageCounter:integer ;
begin 
if  _Name.Text  = ''  then  _Name.Text  := ConnectName;
if  FromServer and  ( ConnectName = _Name.Text )  and  ( pck[1 ]=#$4a)  then 
  begin 
    i:=10 ;
    name:=ReadS( i) ;
    message:=ReadS( i) ;
    tp := ReadD( 6 ) ;
    ct := '???' ;
    if  tp = 0  then  ct := 'GNR' ;
    if  tp = 8  then  ct := 'TRD' ;
    if  tp = 3  then  ct := 'PRT' ;
    if  tp = 4  then  ct := 'CLN' ;
    if  tp = 9  then  ct := 'ALY' ;
    ct := DateToStr ( Date )  + ' ' + TimeToStr ( Time )  + ', ' + ct;
    if  name=''  then  name:='Объявление: ' ;
    m.Lines .Add ( '[' +ct+'] ' +Name+': ' +message) ;
    if  MessageCounter > MaxMessages then  begin 
       SaveToFile( 'Backup' ) ;
       //m.Lines.Add('BACKUPED'); 
       MessageCounter := 0 ;
    end ;
    MessageCounter := MessageCounter+1 ;
  end ;
end .
  
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	
		
			
				
					За это сообщение clyr нажился 14 спасибками от: 
				
				
				
			 
			 alexteam , 
APXAHGEJI , 
Be3geBJIa3 , 
DashKAaa , 
dfackk , 
dyh9l , 
DzumoHu4 , 
Emocean , 
Grinch , 
jestb , 
Johnson , 
NLObP , 
pir , 
SexGuru   
	
  
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#2  
	
 
	
			
            
			
			Новичок
			
			
		
			
				
			
			
			
				 
				Регистрация: 01.07.2008
				Адрес: Пермь
				
				
					Сообщений: 21
				
				 
	Сказал Спасибо: 0
	
		
			
				Имеет 37 спасибок в 10 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			И опять же не хватает херочата!
				__________________Emo-chan  style.
		
		
		
		
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#3  
	
 
	
			
            
			
			Пользователь
			
			
		
			
			
			
				 
				Регистрация: 10.12.2007
				
				
				
					Сообщений: 54
				
				 
	Сказал Спасибо: 4
	
		
			
				Имеет 46 спасибок в 16 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			о! спасибо! Я как-раз не знал ID геройского чата.
		
	
		
		
		
		
		
		
		
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#4  
	
 
	
			
            
			
			Новичок
			
			
		
			
			
			
				 
				Регистрация: 21.12.2007
				
				
				
					Сообщений: 10
				
				 
	Сказал Спасибо: 7
	
		
			Имеет 1 спасибку в 1 сообщении
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			а на Щаут какая циферка ?  )
		
	
		
		
		
		
		
		
		
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#5  
	
 
	
			
            
			
			Пользователь
			
			
		
			
			
			
				 
				Регистрация: 10.12.2007
				
				
				
					Сообщений: 54
				
				 
	Сказал Спасибо: 4
	
		
			
				Имеет 46 спасибок в 16 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			
	Код:
	      '!': begin
        Msg:=Copy(etext.text,2,1000);
        dd:=1;
        nm:=''; 
 1, вестимо
 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#6  
	
 
	
			
            
			
			Новичок
			
			
		
			
			
			
				 
				Регистрация: 21.12.2007
				
				
				
					Сообщений: 10
				
				 
	Сказал Спасибо: 7
	
		
			Имеет 1 спасибку в 1 сообщении
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			Кстати спасибо за скрипт, полезная штука для трейдера ) .
		
	
		
		
		
		
		
		
		
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#7  
	
 
	
			
            
			
			Местный
			
			
		
			
			
			
				 
				Регистрация: 11.10.2007
				
				
				
					Сообщений: 144
				
				 
	Сказал Спасибо: 44
	
		
			
				Имеет 7 спасибок в 7 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			Пользовалась стандартным скриптом Чата, встроенным в ПНХ , там все 1 цветом , нельзя писать в пм , не понятно куда пишут (шаут  \ трейд \ пати \ клан \ али \ виспер) , а у тебя это решено? Раскрашивается ли чат в цвета как в ла2 , если это возможно?
		
	
		
		
		
		
		
		
		
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#8  
	
 
	
			
            
			
			Пользователь
			
			
		
			
			
			
				 
				Регистрация: 10.12.2007
				
				
				
					Сообщений: 54
				
				 
	Сказал Спасибо: 4
	
		
			
				Имеет 46 спасибок в 16 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			1. чат не раскрашивается.
		
	
		
		
		
		
		
		
		
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	
		
			
				
					За это сообщение clyr нажился спасибкой от: 
				
				
				
			 
			 
	
  
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#9  
	
 
	
			
            
			
			Новичок
			
			
		
			
				
			
			
			
				 
				Регистрация: 23.08.2008
				Адрес: Россия
				
				
					Сообщений: 11
				
				 
	Сказал Спасибо: 1
	
		
			
				Имеет 0 спасибок в 0 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			А возможно писать в геройски чат если ты не герой???
		
	
		
		
		
		
		
		
		
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#10  
	
 
	
			
            
			
			Новичок
			
			
		
			
			
			
				 
				Регистрация: 08.09.2008
				
				
				
					Сообщений: 15
				
				 
	Сказал Спасибо: 11
	
		
			
				Имеет 0 спасибок в 0 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			Возможно ли расширить работу с чатом с помощью вот этих модулей?
http://boltunstyle.boom.ru/smartbot/index.htm 
В плане эксперимента.
 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
		
 
	
		
 
  
	
		
	
		 
 
 
	
		
		Вы не можете  создавать темы
		Вы не можете  отвечать на сообщения
		Вы не можете  прикреплять файлы
		Вы не можете  редактировать сообщения
		HTML код Выкл. 
	  
 
	 
	
		
	 
 
Часовой пояс GMT +4, время: 22:05 .
		 	
	 
 
	
	
	
	vBulletin style designed by 
MSC Team .
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: 
zCarot 
	
 
 
 
 
Вы хотите чувствовать себя в безопасности? чоп  Белган обеспечит её!