Difference between revisions of "$rand"
From Scriptwiki
(Added comment) |
|||
Line 37: | Line 37: | ||
;;Make sure we have two parameters. | ;;Make sure we have two parameters. | ||
− | if ($1 && $2) { return [[$chr]]($rand([[$asc]]($1),$asc($2))) } | + | if ($1 && $2) { return [[$chr]]($rand([[$asc]]($1),$asc($2))) } ;;Gets the ascii value off $1 and $2 then gets a random value between those and returns its $chr() |
;;If $1 or $2 is null return nothing. | ;;If $1 or $2 is null return nothing. |
Revision as of 14:25, 31 October 2005
Returns a random value depending upon what values you give the identifer.
$rand(v1,v2)
If v1 and v2 is a numerical value, a number from v1 to v2 is returned. If both parameters v1 and v2 are not a numerical value both parameters are taken as their ascii value and the random result is returned as a character.
Note:
If v1 or v2 are not both given as a numerical or non-numerical mIRC will error out. A design floor in the way mIRC handles the $rand identifer means you can not give v1 a value of 1 and v2 a value of A and expect a result of a character between ascii value 49 and 65. To accoumplish this, please check the examples below. Also note, if you do not give a parameter as an integer the value is rounded up. $rand can not handle negative numbers.
Examples
$rand(1,100) ;; Returns a value between 1 and 100. $rand(A,Z) ;; Returns a character between A and Z $rand(A,z) ;; Returns a character between A and z
Note: the above example returns A-Z and a-z and also, [\]^_` which are the charaters between Z and a. Characters 91-96.
var %i = One,Two,Words Three and Four,Five var %num = $numtok(%i,44) ;; Returns 4 since there is for tokens delimited by a comma $chr(44). var %rand = $rand(1,%num) ;; Returns a random number from 1 to 4. echo -ag $gettok(%i,%rand,44) ;; Returns a random token from %i.
The Example below handles situations where a numerical and a non-numerical
alias rand2 { ;;Make sure $rand2 is called and not /rand2 if (!$isid) { return $null } else { echo $color(Info) -atg rand alias can only be used as an identifer. ex: $rand2(1,10) | return } ;;Make sure we have two parameters. if ($1 && $2) { return $chr($rand($asc($1),$asc($2))) } ;;Gets the ascii value off $1 and $2 then gets a random value between those and returns its $chr() ;;If $1 or $2 is null return nothing. return $null }