PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Code Snippets


Tribal
16.09.2002, 21:59
Ich hätte einen Vorschlag für ein Subforum ...
Es gibt ja bekanntlich das Open Source Forum, indem fertige Scripte drin sind, also kleinere AddOns... aber ewas ist mit klitzekleinen sachen, die man dennoch gebrauchen kann ? sogenannten Code Snippets, die mein direkt als Post angeben könnte, was haltet ihr davon ? so eine kleine Knowledgebase :)


Codeq
16.09.2002, 22:05
können da auch rein... hab da sowas auch schon drin...

nen Identifier


;
; radom integer
;
;nimmt per zufall eine Zahl aus %start bis %ende, wobei keine Zahl innerhalb
; eines Durchlaufs zwei mal auftaucht. Es dürfen alles nur Integer werte sein!
;
;
;Version: 1.0.2 - 14.06.2002 by Codeq
;Version: 1.0.4 - 15.06.2002 by Codeq
;Version: 2.0.0 - 09.09.2002 by Codeq
;
;
;
;Sytax: $randomint(<start> <ende> [p]<N>)
;wobei N angibt wie viele zahlen zurückgegeben werden sollen. Bei pN ist es ein Prozentwert.
;
;DONT MAKE CHANGES BELOW THIS LINE
;---------------------------------

alias randomint {
tokenize 32 $1-
var %randomint.start = $round($1,0)
var %randomint.ende = $round($2,0)
if (%randomint.start < %randomint.ende) {
if (p == $left($3,1)) { var %randomint.prozent = $remove($3,p) }
else { var %randomint.absolut = $round($3,0) }
if (%randomint.start <= %randomint.ende) {
var %randomint.i = 1
var %randomint.j = $calc($abs($calc((%randomint.ende * -1) + %randomint.start)) + 1)
if (%randomint.prozent) { var %randomint.absolut = $round($calc(($remove($3,p) * %randomint.j) / 100),0) }
if (%randomint.absolut > 0) {
var %randomint.string
var %randomint.output
while (%randomint.i <= %randomint.j) {
var %randomint.string $addtok(%randomint.string,$calc(%randomint.start + %randomint.i - 1),44)
inc %randomint.i
}
while (%randomint.absolut > 0) {
var %randomint.rand = $rand(1,$numtok(%randomint.string,44))
var %randomint.output = $addtok(%randomint.output,$gettok(%randomint.string,%randomint.rand,44),44)
var %randomint.string = $deltok(%randomint.string,%randomint.rand,44)
dec %randomint.absolut
}
return %randomint.output
}
else { return *** error: ausgabe muss grösser null sein. }
}
}
else { return *** error: start muss kleiner ende sein. }
}