TestMax.dk Paster
  • Forside
  • Print
  • Bookmark
  • Kontakt
  • SiteMap


infobox infobox
 

Point system + reg + cashup + dice + rank + top5 + protection via auth.

25-05-2008 20:25:23
 
 
Muligheder (Anmeld)
Skrevet af Davuzz
Kliks 1322
Kategori mIRC scripting release
Tak til Drayzer som så venligt prøvede at rippe min 'rank' og sige det var hans ( http://www.testmax.dk/For.....list-Hjaelp-plz.aspx )

Note: Der vil komme løbende opdateringer af dette script.

Så er tiden kommet til at lave et point system osv :)
(HUSK at ændre #DIN-KANAL til din channel)

Commands:

Til scripts:
$auth(<nick>)
points <nick> give <antal>
points <nick> take <antal>

- For ops:
!giv-points <antal> <nick>
!del-points <antal> <nick>
!flyby (slår enten flyby fra eller til)
!caps <hvor mange procent CAPS der er max, uden % tegnet>
!caps on/off
!badchannel add #channel <grund>
!badchannel del #channel
!badchannel grund #channel
!badchannel list
!adv (slår enten anti-advertise til eller fra)

For alle:
!auth (hvis den ikke kan finde dit auth)
!reg
!cashup (hvis du er under 20, reset til 50)
!dice 20-100
!djoin (dice join)
!rank
!top5

Ved godt det er lidt rodet, fordi nogle er kommandoerne hører til andre spil også, og så længe det virker, er det vel godt nok :)

Du kan sætte %logo som dit logo, det er medregnet i scriptet (f.eks: /set %logo [DZ]) og det ville stå som: [DZ] tekst her [DZ].

Håber det kan bruges :)

PS: Dette script fungerer ikke godt med andre, så hvis det ikke virker optimalt, så brug kun dette :)


alias homechan { return #DIN-KANAL }
alias game {
if ($prop == read) { return $readini($+($1,.ini),$2,$3) }
if ($1 == write) { writeini $+($2,.ini) $3- }
if ($1 == dice) && ($2 == start) {
var %sp = $readini(dice.ini,dice,spillere), %p = $gettok(%sp,$r(1,$numtok(%sp,32)),32), %pot = $readini(dice.ini,dice,pot)
if ($numtok(%sp,32) == 1) { points %p give %pot | msg $homechan %logo Ikke nok deltagere! %logo | remini dice.ini dice | halt }
points %p give %pot | msg $homechan %logo Vinderen af de %pot points er %p - tillykke! %logo | write -c dice.ini }
}
alias auth { return $readini(auths.ini,nicks,$address($1,3)) }
raw 354:*:{
writeini auths.ini nicks $address($2,3) $3
if (%mm) {
if ($3) { msg $homechan %logo $2 er nu authed som $3 %logo }
if (!$3) { msg $homechan %logo Kunne ikke finde $2 $+ 's auth %logo }
unset %mm
}
}
raw 319:*:{ var %i = 1 | while (%i <= $numtok($3-,32)) { if ($bcheck($remove($gettok($3-,%i,32),@,+))) { ban -k %bchan $2 3 $v1 } | inc %i } | unset %bchan }
on *:part:$($homechan):{ if (%flyby. [ $+ [ $address($nick,3) ] ]) { ban -u120 $chan $nick 3 | notice $nick %logo Flyby er ikke tilladt %logo } | remini auths.ini nicks $address($nick,3) }
on *:quit:{ remini auths.ini nicks $address($nick,3) }
on *:join:$($homechan):{
if (!%bc.s) { set %bchan $chan | whois $nick | set -u10 %bc.s 1 }
if ($game(main,settings,flyby).read == on) { set -u10 %flyby. [ $+ [ $address($nick,3) ] ] $nick } | who $nick n%na
}
alias points {
var %x = $auth($1)
if (!$2) { return $iif($readini(points.ini,points,%x) >= 1,$v1,0) }
if ($2) { writeini points.ini points %x $calc($readini(points.ini,points,%x) $iif($2 == give,+,-) $3) }
}
alias spam.set {
if (%spam. [ $+ [ $1 ] ]) { halt }
if (!%spam. [ $+ [ $1 ] ]) { set -u10 %spam. [ $+ [ $1 ] ] 1 }
}
on *:text:*:$($homechan):{
if ($1 == !auth) {
if (!$auth($nick)) { set -u5 %mm 1 | who $nick n%na }
if ($auth($nick)) { msg $chan %logo $nick er allerede authed som $v1 %logo }
}
if ($nick !isop $chan) && ($nick !isvoice $chan) {
if ($capscheck($1-) > $game(main,settings,caps%).read) && ($len($1-) > 20) { ban -u60 $chan $nick 3 | kick $chan $nick %logo Caps tilladt: $+($game(main,settings,caps%).read,%) - Du brugte: $+($capscheck($1-),%) %logo }
if ($advcheck($1-)) && ($game(main,settings,adv).read == on) {
inc %adv. [ $+ [ $iif($auth($nick),$v1,$address($nick,3)) ] ]
var %x = %adv. [ $+ [ $iif($auth($nick),$v1,$address($nick,3)) ] ]
if (%x == 1) { notice $nick %logo Reklame er ikke tilladt ( $+ $advcheck($1-) $+ ) (Advarsel: $+(%x,/4) $+ ) %logo }
if (%x == 2) { kick $chan $nick %logo Reklame er ikke tilladt ( $+ $advcheck($1-) $+ ) (Advarsel: $+(%x,/4) $+ ) %logo }
if (%x == 3) { ban -u600 $chan $nick 3 | kick $chan $nick %logo Reklame er ikke tilladt ( $+ $advcheck($1-) $+ ) (Advarsel: $+(%x,/4) $+ ) %logo }
if (%x == 4) { ban $chan $nick 3 | kick $chan $nick %logo Reklame er ikke tilladt ( $+ $advcheck($1-) $+ ) (Advarsel: $+(%x,/4) $+ ) %logo | unset %adv. [ $+ [ $iif($auth($nick),$v1,$address($nick,3)) ] ] }
}
}
if ($left($1,1) == !) {
spam.set $1
if (!$auth($nick)) { halt }
}
if ($nick isop $chan) {
if ($1 == !giv-points) && ($3 ison $chan) { points $3 give $2 | msg $chan %logo $nick har givet $3 $2 points %logo }
if ($1 == !del-points) && ($3 ison $chan) { points $3 take $2 | msg $chan %logo $nick har taget $2 points fra $3 %logo }
if ($1 == !reset-points) && ($3 ison $chan) { writeini points.ini points $auth($3) $2 | msg $chan %logo $3 har nu $2 points %logo }
if ($1 == !flyby) { writeini main.ini settings flyby $iif($game(main,settings,flyby).read == on,off,on) | msg $chan %logo Anti-flyby er nu $game(main,settings,flyby).read %logo }
if ($1 == !caps) {
if (!$2) { msg $chan %logo !caps on/off/% }
if ($2 isnum) { writeini main.ini settings caps% $remove($2,%) | msg $chan %logo $+($remove($2,%),%) caps er nu tilladt %logo }
if ($2 == on) || ($2 == off) { writeini main.ini settings caps $ifmatch | msg $chan %logo Anti-caps er nu $ifmatch %logo }
}
if ($1 == !badchannel) {
if ($2 == add) && ($left($3,1) == $chr(35)) { writeini main.ini badchannels $3- $iif(!$4,Bad channel kicker) | msg $chan %logo Tilføjede $3 med success %logo }
if ($2 == del) && ($bcheck($3)) { remini main.ini badchannels $3 | msg $chan %logo Slettede $3 med success %logo }
if ($2 == grund) && ($bcheck($3)) { msg $chan %logo $3 grund: $bcheck($3) %logo }
if ($2 == list) { var %i = 1 | while (%i <= $ini(main.ini,badchannels,0)) { var %x = $addtok(%x,$ini(main.ini,badchannels,%i),44) | inc %i } | notice $nick %logo $replace(%x,$chr(44),$+($chr(44),$chr(32))) %logo }
}
if ($1 == !adv) { writeini main.ini settings adv $iif($game(main,settings,adv).read == on,off,on) | msg $chan %logo Anti-advertise er nu $game(main,settings,adv).read %logo }
}
if ($1 == !reg) { var %x = $iif($2 ison $chan,$2,$nick) | msg $chan %logo %x er $auth(%x) og har $points(%x) points %logo }
if ($1 == !cashup) {
if ($timer(0)) { msg $chan %logo Du kan ikke bruge cashup når et spil er igang! %logo | halt }
if ($points($nick) > 20) { msg $chan %logo $nick $+ , du har points nok, stop med at nasse %logo }
if ($points($nick) < 21) { writeini points.ini points $auth($nick) 50 | msg $chan %logo $nick har nu 50 points %logo }
}
if ($1 == !top5) { top5 $chan }
if ($1 == !rank) {
var %n = $iif($2 ison $chan,$2,$nick)
set %rank.a 1
set %rank.b $ini(points.ini,points,0)
set %rank.c $ini(points.ini,points,$auth(%n))
set %rank.d $readini(points.ini,points,$auth(%n))
set %rank.e %rank.B
while (%rank.a <= %rank.b) {
if ($ini(points.ini,points,%rank.a) == %rank.c) {
inc %rank.a
}
if ($readini(points.ini,points,$ini(points.ini,points,%rank.a)) < %rank.d) {
dec %rank.e
}
inc %rank.a
}
msg $chan %logo %n er nummer %rank.e ud af $ini(points.ini,points,0) med %rank.d points. %logo
unset %rank.*
}
if ($1 == !dice) {
if ($2 isnum 20-100) && (!$game(dice,dice,spillere).read) {
if ($points($nick) < $2) { msg $chan %logo Du har ikke nok points ( $+ $points($nick) $+ ) %logo | halt }
game write dice dice pot $2 | game write dice dice points $2 | points $nick take $2 | game write dice dice spillere $nick | msg $chan %logo Dice er startet på $2 af $nick - skriv !djoin for at joine. %logo | msg $chan %logo I har 1 minut til at joine! %logo | .timer 1 60 game dice start }
}
if ($1 == !djoin) && ($game(dice,dice,spillere).read) {
if ($nick isin $game(dice,dice,spillere).read) { msg $chan %logo Du er allerede med i spillet! %logo | halt }
if ($points($nick) < $game(dice,dice,points).read) || (!$points($nick)) { msg $chan %logo Du har ikke nok points ( $+ $points($nick) $+ ) %logo | halt }
game write dice dice pot $calc($game(dice,dice,pot).read + $game(dice,dice,points).read) | game write dice dice spillere $game(dice,dice,spillere).read $nick | points $nick take $game(dice,dice,points).read | msg $chan %logo $nick har joinet dice'en (Pulje: $game(dice,dice,pot).read $+ ) %logo
}
}
alias top5 {
set %rank.1 1,0 | set %rank.2 2,0 | set %rank.3 3,0 | set %rank.4 4,0 | set %rank.5 5,0
var %i = 1
while (%i <= $ini(points.ini,points,0)) {
top5_sort $readini(points.ini,points,$ini(points.ini,points,%i)) $ini(points.ini,points,%i)
inc %i
}
.timer 1 1 msg $1 %logo Rank 1: $iif($gettok(%rank.1,1,44) !isnum,$v1,Ingen) med $gettok(%rank.1,2,44) points. %logo
.timer 1 2 msg $1 %logo Rank 2: $iif($gettok(%rank.2,1,44) !isnum,$v1,Ingen) med $gettok(%rank.2,2,44) points. %logo
.timer 1 3 msg $1 %logo Rank 3: $iif($gettok(%rank.3,1,44) !isnum,$v1,Ingen) med $gettok(%rank.3,2,44) points. %logo
.timer 1 4 msg $1 %logo Rank 4: $iif($gettok(%rank.4,1,44) !isnum,$v1,Ingen) med $gettok(%rank.4,2,44) points. %logo
.timer 1 5 msg $1 %logo Rank 5: $iif($gettok(%rank.5,1,44) !isnum,$v1,Ingen) med $gettok(%rank.5,2,44) points. %logo
}
alias top5_sort {
if ($1 > $gettok(%rank.1,2,44)) { set %rank.5 %rank.4 | set %rank.4 %rank.3 | set %rank.3 %rank.2 | set %rank.2 %rank.1 | set %rank.1 $2 $+ $chr(44) $+ $1 }
elseif ($1 > $gettok(%rank.2,2,44)) { set %rank.5 %rank.4 | set %rank.4 %rank.3 | set %rank.3 %rank.2 | set %rank.2 $2 $+ $chr(44) $+ $1 }
elseif ($1 > $gettok(%rank.3,2,44)) { set %rank.5 %rank.4 | set %rank.4 %rank.3 | set %rank.3 $2 $+ $chr(44) $+ $1 }
elseif ($1 > $gettok(%rank.4,2,44)) { set %rank.5 %rank.4 | set %rank.4 $2 $+ $chr(44) $+ $1 }
elseif ($1 > $gettok(%rank.5,2,44)) { set %rank.5 $2 $+ $chr(44) $+ $1 }
}
alias maxcaps { return $game(main,settings,caps).read }
alias capscheck { var %i = 1 | while (%i <= $len($1-)) { var %c.l = $mid($1-,%i,1) | if (%c.l isalpha) { if (%c.l isupper) { var %c.u = $calc(%c.u + 1) } | var %c.t = $calc(%c.t + 1) } | inc %i } | return $round($calc(%c.u / %c.t * 100),0) }
alias bcheck { return $game(main,badchannels,$1).read }
alias advcheck {
var %i = 1
while (%i <= $numtok($1-,32)) { var %o = $gettok($1-,%i,32)
if ($left(%o,4) == www.) && ($count(%o,.) >= 2) { var %x = $addtok(%x,%o,32) }
if ($left(%o,7) == http://) && ($count(%o,.) >= 1) { var %x = $addtok(%x,%o,32) }
if ($left(%o,1) == $chr(35)) && ($len(%o) > 1) { var %x = $addtok(%x,%o,32) }
inc %i
}
return %x
}
 
infobox infobox


infobox infobox
 
#1Hougaard(Anmeld) 25-05-2008 21:08:27
 
 
nicenice.
#equality - Please idle!
 
infobox infobox

infobox infobox
 
#2Fedtmule(Anmeld) 26-05-2008 21:21:06
 
 
Det er fedt!
Xerrion @ #TTL-Gaming @ Quakenet.org
 
infobox infobox

infobox infobox
 
#3Jakob(Anmeld) 27-05-2008 14:00:05
 
 
Det lækkert det der. ! Håber mange vil bruge det script da det er nice

//Jakob - Skumpi
The world is yours
 
infobox infobox

infobox infobox
 
#4NoxiaZ(Anmeld) 29-05-2008 14:53:25
 
 
:) Lækkert script, du synes jeg det er trist du benytter dig af /timer - På Q net kan man paste 4 eller 5 beskeder på 1 sekund. Vil sige at der ikke burde være nogen grund til timer :) - Plus at mIRC har en utrolig god Anti Flood, vil sige at benytter mig sig af timer så er det kun fordi man ikke bruger mIRC's fasiliteter ordenligt :)

Men scriptet er meget overskueligt, så der er faktisk ikke så meget at kommenter :)

Dit advcheck efter min mening burde ikke kicke folk som skriver home channel :)


Godt lavet :)
Tralalala?
 
infobox infobox

Påmindelse ved nyt svar

Ved at tilmelde dig automatisk påmindelse, modtager du en email så snart denne tråd bliver besvaret, dog sender vi kun en mail til dig, også selvom der er kommet flere svar, simpelthen for at spare dig for spam i din indbakke.


infobox infobox
  Svar på tråden  
   
 
 
infobox infobox

infobox infobox
  Læs dette før du sender dit indlæg!  
 
Ved tryk på send knappen accepterer du vores regelsæt som kan læses her
Praktiske informationer
Type Eksempel Resultat
Fed [b]din tekst[/b] din tekst
Kursiv [k]din tekst[/k] din tekst
Understreg [u]din tekst[/u] din tekst
Kode felt [code]din tekst[/code]
din tekst
infobox infobox