2015-11-22 46 views
0

我試圖生成空格隨機字符串,但它是不工作的隨機字符串:腳本生成不工作

/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 

任何想法?

回答

2

你有一些問題,這些只是其中的幾個。

  • 空間: MSL陳述sensebile當它涉及到空間,這些你應該把空格while (expression)if (expression)甚至%i = 1%r = $rand(1,50)等」

  • 之間插入語:你可能有在空間發生器條件下忘記了小圓括號。應該if (1 == rand(1,4)) %s=%s $+ $chr(32)

  • $符號:你也忘了把這個牌子這個標識符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而不是別名,wh這將給你更多的靈活性和可用性。

用途:

  • 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 
} 
0

這轉到別名標籤。使用/SET來影響mIRC中的變量。另外,在括號之前和之後放置空格。您還在IF之前的rand之前忘記了$。我還不得不刪除$chr(32)作爲$+,否則它不起作用。這是你的mIRC腳本。 :)

/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 
} 

幾個結果這給了我:

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 
-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.. 
    } }