Som overskriften siger har jeg lavet en top5 som kan sættes sammen med ALLE databaser :)
Lavede dette script kun pga. jeg ville kunne grinde af de tidligere top5 der nu har været lavet! Forstår du ikke scriptet skal jeg med glæde fortælle, men går ikke i detaljer, scriptet er beregnet til dem som allerede har stor kendskab med mircscript men har problemer med en top5 :)
var %nick = $ini($fil,%i)
Her sætter du det navn du gerne vil skal stå i din top5, i dette tilfælde henter den bare navne i ini filer.
var %point = $iif($readini($fil,$ini($fil,%i),points),$ifmatch,0)
Her læser den pointsne på personen og det er så her man lige skal til passe det til sig egen ini fil.
checktop5 %nick %point
Her sender den de 2 oplysninger med til checktop5 som så sætter dem ind på rank listen, lig mærke til at $1 som er %nick ikke bliver brugt til noget i checktop5 ud over at skrive navnet ind i %top.n.
;********************
;** Top5 Ranklist
;* Made By NoxiaZ^
;** Mirc Version 6.31
;********************
alias fil { return Points.ini }
alias top5 {
clear
var %i 1
%top5.p = 0¤0¤0¤0¤0
%top5.n = a¤b¤c¤d¤e
var %t 0
while (%i <= $ini($fil,0)) {
var %nick = $ini($fil,%i)
var %point = $iif($readini($fil,$ini($fil,%i),points),$ifmatch,0)
checktop5 %nick %point
inc %i
}
var %i 1
while (%i <= 5) {
var %top5 = %top5 $+(%i,.) $gettok(%top5.n,%i,164) ( $+ $gettok(%top5.p,%i,164) $+ )
inc %i
}
echo -a Top5: %top5
}
Nederstående script er den som indeler dem på pladsen, og der må ikke ændres på denne, ellers er det på eget ansvar med om koden stadig vil funger :)
alias checktop5 {
if ($gettok(%top5.p,1,164) < $2) { %top5.n = $instok(%top5.n,$1,1,164) | %top5.p = $instok(%top5.p,$2,1,164) }
else if ($gettok(%top5.p,2,164) < $2) { %top5.n = $instok(%top5.n,$1,2,164) | %top5.p = $instok(%top5.p,$2,2,164) }
else if ($gettok(%top5.p,3,164) < $2) { %top5.n = $instok(%top5.n,$1,3,164) | %top5.p = $instok(%top5.p,$2,3,164) }
else if ($gettok(%top5.p,4,164) < $2) { %top5.n = $instok(%top5.n,$1,4,164) | %top5.p = $instok(%top5.p,$2,4,164) }
else if ($gettok(%top5.p,5,164) < $2) { %top5.n = $instok(%top5.n,$1,5,164) | %top5.p = $instok(%top5.p,$2,5,164) }
if ($numtok(%top5.p,164) > 5) { %top5.n = $deltok(%top5.n,6-$ifmatch,164) | %top5.p = $deltok(%top5.p,6-$ifmatch,164) }
}
God fornøjelse med scriptet :) - Det kan jo nemt udvikles til en top 10 med en lille ændring i chechktop5.