脚本生成随机字符串不起作用

时间:2015-11-22 23:54:07

标签: string random mirc

我正在尝试使用空格生成随机字符串,但它不起作用:

/rs {
  %i=1
  %r=$rand(1,50)
  %s=$rand(a,z)
  while(%i <= %r) {
    %i=%i+1
    %s=%s $+ $rand(a,z)
    if(1 == rand(1,4) %s=%s $+ $chr(32)
  }
  echo %s
}

返回:

WHILE(%I Unknown command

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

你遇到了一些问题,其中只有少数问题。

  • 空格: mSL语句在涉及空格时是有意义的,那些应该在while (expression)if (expression)甚至%i = 1之间放置空格和%r = $rand(1,50)等'

  • 括号:您可能忘记了空间生成器条件下的小括号。应为if (1 == rand(1,4)) %s=%s $+ $chr(32)

  • $ sign:您还忘记在此标识符rand(1,4)应为$rand(1,4)

  • 之前放置此标记

固定代码段

rs {
  %i = 1
  %r = $rand(1,50)
  %s = $rand(a,z)
  while (%i <= %r) {
    %i = %i + 1
    %s = %s $+ $rand(a,z)
    if (1 == $rand(1,4)) %s = %s $chr(32)

  }
  echo -ag %s
}

我冒昧地设计了不同的代码,现在您可以将其用作$identifier而不是别名,这将为您提供进一步的灵活性和可用性。

<强>用途:

  • echo -ag $rs(默认长度为50个字符)
  • echo -ag $rs(20)(长度为20个charcathers的随机字符串)
  • set %myName $rs(15)(将输出随机字符串保存为常量变量)

<强>段:

rs {
  if (!$1) {
    tokenize 32 50
  }

  var %randString
  var %randStringLength = $rand(1, $1)
  var %i = 1
  while (%i <= %randStringLength) {
    %randString = %randString $+ $rand(a, z)
    if ($rand(1, 4) == 1) {
      %randString = %randString $chr(32)
    }
    inc %i
  }
  return %randString
}

答案 1 :(得分:0)

这将转到ALIAS选项卡。使用$影响mIRC中的变量。另外,在括号前后加上空格。您还忘记了randIF之前的$+。我还必须删除$chr(32)做法中的/rs { /set %i 1 /unset %s /set %r $rand(1,50) while ( %i <= %r ) { /set %i %i + 1 /set %s %s $+ $rand(a,z) if ( 1 == $rand(1,4) ) /set %s %s $chr(32) } echo %s } ,否则它无效。这是你的mIRC脚本。 :)

oe ucrifaktgl qkr fn ydjujclgmc dob hlx rtgnqenhdy f
x gtnr ly qx j
stvusfvfrn y
z sj g aign zx royjbvkcu a t x b
m d
nttyckhwfaufoqjordfecn ib k xsl
adupbnnwoxt q
rzvlytv
pd
o ycj eq

这给了我一些结果:

$zip = new ZipArchive();
for ($i=0; $i<$zip->numFiles;$i++) 
    {
        $current = $zip->statIndex($i);
        if($current["size"] > (1*1024*1024))
        {
            printf("%s (size: %d bytes) is too big, failed to upload this photo<br>", $current["name"], $current["size"]);
        }
        else
        {
            $location = 'picture/'.$current['name'];
            if(move_uploaded_file($current['name'], $location))
                printf("%s successfully uploaded<br>", $current["name"]);
            else
                printf("Failed <br />");
        }
    }

答案 2 :(得分:-1)

聪明的句子,单词,尼克建造者 命令:

/regdom

//echo $regword(3,10).text-30

示例:

gezodifix sebiy podagafiw curetumubih gidaharik tibovifec lacuxujor tumihugob yiwosinok nifabatuv boyeces cadamujez wuz nowafeh webenevip wekegibis herumeyab wefehadal jocavor kasitijor wizepijab givepulec pafucuk cebohes yirujisap xer nucupiyas lugob dogev moy

玩得开心

alias regword {   noop  $regex($prop,/(\d+$)) | var %i-l  $regml(1) | while %i-l { var %imp $addtok(%imp,$regdom($1,$2).w,32) | dec %i-l  } | return %imp }
alias regdom {
  if !$isid  {
    var %e- echo 5
    %e- *** Commands: 
    %e- ***    $!regdom(N,N).w N<N 1-10 From 1 to 10 character random words
    %e- : $!regdom(3,10).w $!regdom(3,10)  
    %e- :*** Command KEY & Result: 
    %e- : W DUKEPOGEH 
    %e- : w dukepogeh 
    %e- : WR Mix 
    %e- : NR WILIXENIKIZUPOG_74
    %e- : nr zeritacen^49 
    %e- : Mix  mixing special characters  H^a]y|u^M]A-g´
    %e- : *** BONUS
    %e-  : ipsum regular word $!regword(3,10).text-10 
    %e- : Letters of words in the range of 3 to 10. 10 words creates Sentence
  }
  if $isid {
    if $1 < $2 && $2 > 40 { echo 4 *** The maximum length value should be 1<40  | return }
    if $1 < $2 && $2 <= 40 {
      var %l' $r($1,$2),%s' a e i o u ,%a' b c d f g h j k l m n p r s t v x w y z . | :r
      var %k' $addtok(%k',$gettok(%a',$r(1,$numtok(%a',32)),32),32)
      if $len(%k') < %l' goto r
      if $len(%k') >= %l'  {
        var %s- _.-.|.\.[.].^.´
        var %r1  $regsubex($regsubex(%k',/(\W)/ig,$gettok(%s',$r(1,$numtok(%s',32)),32)),/([a-f]|[c-g]|[h-z])/g,$iif($r(0,20) > 15,$upper(\t),\t))
        var %r2  $+($gettok(%s-,$r(1,$gettok(%s-,0,46)),46),$r(18,85))
        var %r3  $regsubex($regsubex(%k',/(\W)/ig,$gettok(%s',$r(1,$numtok(%s',32)),32)),/([a-f]|[c-g]|[h-z])/g,$iif($r(1,100) > 10, $& 
          $+($iif($r(0,20) > 15,$upper(\t),\t),$gettok(%s-,$r(1,$gettok(%s-,0,46)),46)),$iif($r(0,20) > 15,$upper(\t),\t))) 
        if $prop === NR  return $+($upper(%r1),%r2)  
        if $prop === nr  return $+($lower(%r1),%r2)
        if $prop === W  return $upper(%r1) 
        if $prop === w  return $lower(%r1) 
        if $prop === mix  return %r3 
        if $prop === WR || !$prop  { return $iif($r(1,10) > 5,%r1,$+(%r1,%r2)) }
        else  echo 5 *** incorrect key  | return
    } }  
    else  echo 5 ***Incorrect or missing parameters.. 
  } }