2015-11-22 1 views

ответ

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)

Fixed Отрывок:

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 Это даст вам дополнительную гибкость и удобство использования.

Usages:

  • 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

Это переход на вкладку ALIAS. Используйте /SET для изменения переменных в mIRC. Кроме того, помещайте пробелы до и после скобок. Вы также забыли $ до rand в IF. Мне также пришлось удалить $+ в аффектацию $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.. 
    } } 

 Смежные вопросы

  • Нет связанных вопросов^_^