                  crp.dll
-------------------------------------------------------------------------------
  v1.0.0 beta
  build 463
-------------------------------------------------------------------------------


  :

1.    .
2.      .
3. ,  .
4. .
5. :   .



	1.    .
	===================================

         , 
  Mirc Dialog Master.
         
   ,        -
,          
.         
   (   ,    ).
         (   
http://defect.by.ru):

	 :

	on 1:TEXT:*hi*:?:{
	  msg $nick re, $nick
	  echo $nick 
	}

	:

	on 1:TEXT:*hi*:?:{
	  $crp(frl) $nick $crp(-!ds) $nick
	  $crp(nibd) $nick $crp()
	}

	alias crp {
	  set %buf1 $len($$1-)
	  unset %buf2
	  :loop
	  set %buf2 %buf2 $chr($xor($asc($mid($$1-,%buf1,1)),1))
	  dec %buf1
	  if (%buf1 > 0) goto loop
	  return $remove(%buf2,$chr(32))
	}

   ,        ( crp).
 ,    ,     
,     .

  ,        . 
  :

  -  /     ,
         ( ,     
       ;);
  -    ,    
       (  );
  -     ,     
     .    ,   ,
    ,   ,      
      .
  -       ,  
             
    ;
  -  ,   /,  
          ;    
    ,        ;
  -  ,   ,  , 
    ,   ,      
         ,  
    ;



	2.      .
	============================================

   ,  crp.dll     ,
            ,
       .    
      DLL.
        crp.dll    
     ,   ,   
,     "# " (  ,  ).
        
   ,    .     
,       ( 
!).
    ,       
  DLL   ,     
   ( "/dll crp.dll run 2 myscript.mrc").  
    DLL      
        .
  ,       .1 :

	 :

	on 1:TEXT:*hi*:?:{
	  msg $nick re, $nick
	  echo $nick 
	}

	:

	on 1:TEXT:*hi*:?:{
	  /dll crp.dll run 1 myscript.mrc
	  /dll crp.dll run 2 myscript.mrc
	}

	(         
	   crp.dll   myscript.mrc 
	  )



       :).   ,    
    DLL,     
:

  )      ;
  )       ({})   . 
         ,      ,
        ;  ,    ,
            ;
  )    , ,   .., 
              ;
  )       900  (  
       );

     :

	(# -  ,   , 
	)

	!
	------------
	#on 1:TEXT:*hi*:?:{		;;  ,  {
	# msg $nick re, $nick
	# echo $nick 
	#}				;;   }

	!
	------------
	on 1:TEXT:*hi*:?:{
	# msg $nick re, $nick
	# echo $nick 
	#}				;;   }

	!
	------------
	on 1:TEXT:*hi*:?:{
	# msg $nick re, $nick
	# echo $nick  }	;;   }

	
	------------
	on 1:TEXT:*hi*:?:{
	# msg $nick re, $nick
	# echo $nick 
	}

	!
	------------
	on 1:TEXT:*hi*:?:{
	# msg $nick re, $nick | echo $nick 	}   ;;   }

	
	------------
	on 1:TEXT:*hi*:?:{
	# msg $nick re, $nick | echo $nick 
	}


	3. ,  .
	================================

     ,    - crp.dll.

  run
  ---
  : < > <  >
  :       
            .
   : .
   : /dll crp.dll run 34 script.mrc
       34-    
  script.mrc      .

  compr
  -----
  : < > < >
  :      (  - ).
   : 1 -   , 0 -   .
   : /set %result $dll(crp.dll, compr, infile.txt d:\outfile.cmp)
      infile.txt,      
       outfile.cmp    d:.

  decompr
  -----
  : < > < >
  :   ,   compr,  
            (  - ).
   : 1 -   , 0 -   .
   : /set %result $dll(crp.dll, decompr, d:\outfile.cmp infile.txt)
      outfile.cmp    d:   
  infile.txt,        .



	4. .
	================

  -      ,    mirc.exe;
  -         
       (   900 ),    
         |. ,   
               
     (        ,
       );
  -         
       , ,       
    script.mdc,          
    addon.mdc,            
    ;            
          .  : 
            
      .
  -    ,        
    ,         , 
       /dll -u crp.dll.      
          .    
    .




	5. :   .
	=========================================

  ,   :

	ON ^1:JOIN:#:{
	  if ($nick == $me) {
	    if (%colorenicks == on) { .timer 1 3 .coloreRE $chan }  
	    if (%autogreetmode == on) { msg $chan $greetcom(%autogreet,$chan,$nick) } 
	    if (%IALrenew == on) { .enable #updIALonJoin | set %updnick $+ $chan 0 | .timer 1 5 .updateIALonJoin $chan updnick $+ $chan } 
	    if (%infoonjoin == on) { chanInfoOnJoin $chan }
	    if (%founderident == 2) { chanidentonjoin $chan }
	    if (%topicautochange == on) { autotopicchange $chan }
	    if (%soundthem == on) { if ($isalias(skn.snd.join) == $true) { splay $mircdirskins $+ \ $+ $skn.snd.join } }
	    if ($timer(AJBAN [ $+ [ $chan ] ] ) == 1) { .timerAJBAN [ $+ [ $chan ] ] off }
	    if ($timer(AJinvite [ $+ [ $chan ] ] ) == 1) { .timerAJinvite [ $+ [ $chan ] ] off }
	    if ($timer(AJlimit [ $+ [ $chan ] ] ) == 1) { .timerAJlimit [ $+ [ $chan ] ] off }
	    if ($timer(AJkey [ $+ [ $chan ] ] ) == 1) { .timerAJkey [ $+ [ $chan ] ] off }
	
	    if ($isalias(skn.join.me) == $true) { echo $chan $skn.join.me | halt }
	  }
	  if ($nick != $me) { 
	    if (%colorenicks == on) { coloreRE $chan }
	    if (%autogreetcommode == on) && ($chan == $read -w $+ $chan $mircdirtexts\mychan.txt) { 
	      if (%greetFlProt != on) { .timer 1 1 msg $chan $greetcom(%autogreetcom,$chan,$nick) | set -u5 %greetFlProt on }
	    }
	    if ($isalias(skn.join) == $true) { echo $chan $skn.join | halt }
	
	  }
	}
	ON ^1:OP:#:{
	  if (%colorenicks == on) { coloreRE $chan }
	  if ($opnick != $me) {
	    if ($isalias(skn.op) == $true) { echo $chan $skn.op | halt }
	  }
	  if ($opnick == $me) {
	    if (%MFlProt == on) {
	      if (%MFlWarning == on) { 
	        if ($dialog(modeflood) != modeflood) { dialog -mn modeflood modeflood }
	        halt 
	      }
	      if (%MFlQuont == $null) { set -u [ $+ [ %MFlPeriod ] ] %MFlQuont 0 }
	      if (%MFlQuont >= 0) { 
	        inc %MFlQuont 1 
	        if (%MFlQuont >= %MFlLim) { 
	          if ($dialog(modeflood) != modeflood) { dialog -mn modeflood modeflood }
	          if (%soundthem == on) { if ($isalias(skn.snd.flood) == $true) { splay $mircdirskins $+ \ $+ $skn.snd.flood } }
	          set -u [ $+ [ $calc(%MFlignor * 60) ] ] %MFlWarning on 
	          halt
	        }
	      }
	    }
	    if (%soundthem == on) { if ($isalias(skn.snd.op) == $true) { splay $mircdirskins $+ \ $+ $skn.snd.op } }
	    if ($isalias(skn.op.me) == $true) { echo $chan $skn.op.me | halt }
	  }
	}

       :

	ON ^1:JOIN:#:{
	  if ($nick == $me) {
	#    if (%colorenicks == on) { .timer 1 3 .coloreRE $chan } | if (%autogreetmode == on) { msg $chan $greetcom(%autogreet,$chan,$nick) } | if (%IALrenew == on) { .enable #updIALonJoin | set %updnick $+ $chan 0 | .timer 1 5 .updateIALonJoin $chan updnick $+ $chan } | if (%infoonjoin == on) { chanInfoOnJoin $chan } | if (%founderident == 2) { chanidentonjoin $chan } | if (%topicautochange == on) { autotopicchange $chan } | if (%soundthem == on) { if ($isalias(skn.snd.join) == $true) { splay $mircdirskins $+ \ $+ $skn.snd.join } }
	#    if ($timer(AJBAN [ $+ [ $chan ] ] ) == 1) { .timerAJBAN [ $+ [ $chan ] ] off } | if ($timer(AJinvite [ $+ [ $chan ] ] ) == 1) { .timerAJinvite [ $+ [ $chan ] ] off } | if ($timer(AJlimit [ $+ [ $chan ] ] ) == 1) { .timerAJlimit [ $+ [ $chan ] ] off } | if ($timer(AJkey [ $+ [ $chan ] ] ) == 1) { .timerAJkey [ $+ [ $chan ] ] off } | if ($isalias(skn.join.me) == $true) { echo $chan $skn.join.me | halt }
	  }
	# if ($nick != $me) { if (%colorenicks == on) { coloreRE $chan } | if (%autogreetcommode == on) && ($chan == $read -w $+ $chan $mircdirtexts\mychan.txt) { if (%greetFlProt != on) { .timer 1 1 msg $chan $greetcom(%autogreetcom,$chan,$nick) | set -u5 %greetFlProt on } } | if ($isalias(skn.join) == $true) { echo $chan $skn.join | halt } }
	}
	ON ^1:OP:#:{
	#  if (%colorenicks == on) { coloreRE $chan } | if ($opnick != $me) { if ($isalias(skn.op) == $true) { echo $chan $skn.op | halt } } | if ($opnick == $me) { if (%MFlProt == on) { if (%MFlWarning == on) { if ($dialog(modeflood) != modeflood) { dialog -mn modeflood modeflood } | halt } | if (%MFlQuont == $null) { set -u [ $+ [ %MFlPeriod ] ] %MFlQuont 0 } | if (%MFlQuont >= 0) { inc %MFlQuont 1 | if (%MFlQuont >= %MFlLim) { if ($dialog(modeflood) != modeflood) { dialog -mn modeflood modeflood } | if (%soundthem == on) { if ($isalias(skn.snd.flood) == $true) { splay $mircdirskins $+ \ $+ $skn.snd.flood } } | set -u [ $+ [ $calc(%MFlignor * 60) ] ] %MFlWarning on | halt } } } | if (%soundthem == on) { if ($isalias(skn.snd.op) == $true) { splay $mircdirskins $+ \ $+ $skn.snd.op } } | if ($isalias(skn.op.me) == $true) { echo $chan $skn.op.me | halt } }
	}

     :

	ON ^1:JOIN:#:{
	  if ($nick == $me) {
	    /dll crp.dll run 1 myscript.mdc
	    /dll crp.dll run 2 myscript.mdc
	  }
	    /dll crp.dll run 3 myscript.mdc
	}
	ON ^1:OP:#:{
	    /dll crp.dll run 4 myscript.mdc
	}
