CatchEvent OnMSO( $userName, $text ) # Player event $idxOfFirtsSpace = indexOf( $text, " "); IF( $idxOfFirtsSpace == -1 ) THEN $command = $text; $argv = ""; ELSE $command = subStr( $text,0,$idxOfFirtsSpace ); $argv = trim( subStr( $text,$idxOfFirtsSpace ) ); ENDIF SWITCH( $command ) CASE "!sort": SortValues($argv); BREAK; ENDSWITCH EndCatchEvent Sub SortValues($TypeSort) $SaveNumber = 0; $Numbers = "3|2|10|45|21|4|5|11|1|0|300|276|112"; $GetNumber = SplitToArray($Numbers,"|"); $Count_GetNumber = arrayCount( $GetNumber ); #Add a '0' to the number to create a 2 or 3 digit number #This will also converts string to Numeric characters FOR ($i=0;$i<$Count_GetNumber;$i=$i+1) ### Array with values from 0 - 10 ### IF (ToNum($GetNumber[$i]) < 10) THEN $GetNumber[$i] = "00".$GetNumber[$i]; ENDIF ### Array with values from 0 - 100 ### IF ((ToNum($GetNumber[$i]) > 9) && (ToNum($GetNumber[$i]) < 100)) THEN $GetNumber[$i] = "0".$GetNumber[$i]; ENDIF ENDFOR ############### ###Ascending### ############### IF($TypeSort == "asc") THEN #Sort values of array in Ascending order FOR ($a=0;$a<$Count_GetNumber;$a=$a+1) FOR ($i=$a;$i<$Count_GetNumber;$i=$i+1) IF( $GetNumber[$a] > $GetNumber[$i]) THEN $SaveNumber = $GetNumber[$i].""; $GetNumber[$i] = $GetNumber[$a].""; $GetNumber[$a] = $SaveNumber.""; ENDIF ENDFOR ENDFOR privmsg("^7[Ascending sort]:"); #Display Values FOR ($i=0;$i<$Count_GetNumber;$i=$i+1) privmsg("Pos: [".$i."] = ".$GetNumber[$i]); ENDFOR ENDIF ################ ###Descending### ################ IF($TypeSort == "desc") THEN #Sort values of array in Descending order FOR ($a=0;$a<$Count_GetNumber;$a=$a+1) FOR ($i=$a;$i<$Count_GetNumber;$i=$i+1) IF( $GetNumber[$a] < $GetNumber[$i]) THEN $SaveNumber = $GetNumber[$a].""; $GetNumber[$a] = $GetNumber[$i].""; $GetNumber[$i] = $SaveNumber.""; ENDIF ENDFOR ENDFOR privmsg("^7[Descending sort]:"); #New line #Display Values FOR ($i=0;$i<$Count_GetNumber;$i=$i+1) privmsg("Pos: [".$i."] = ".$GetNumber[$i]); ENDFOR ENDIF EndSub