Jump to content

!rank script


stylo

Recommended Posts

on *:SIGNAL:mta.join:{
 !writeini " $+ $scriptdir $+ mta.rank.ini" RANKS $mta.nick($1,$2) $calc($readini($scriptdir $+ mta.rank.ini,RANKS,$mta.nick($1,$2)) + 1)
 mta.rank $1 $2
}
on *:SIGNAL:mta.command:{
 var %a = $iif($4,$iif($mta.nick($1,$4) != $null,$4,$iif($mta.getid($1,$4),$v1,-1)),$2)
 if ($3 == !rank) {
   if (%a == -1) mta.pm $1 $2 Error - Absent ID
   else mta.rank $1 %a
 }
}
alias mta.rank {
 var %rank = $readini($scriptdir $+ mta.rank.ini,RANKS,$mta.nick($1,$2))
 if (%rank == 10) mta.text $1 $mta.nick($1,$2) $+ 's rank is: blablabla
 elseif (%rank == 20) mta.text $1 $mta.nick($1,$2) $+ 's rank is: blablablabla
}

Link to comment

Beautifull script! But you only get a rank if you have exactly 10 or 20 points, not when you have 13 or 21 points. Is there a way to get this fixed?

You can add ranks by changing the blabla in something like Professional or something like that. You can also change the amount off points you need before you get that rank by changing the == 10 in == 2 or == 5. If you want more ranks you can add more elseifs like this:

on *:SIGNAL:mta.join:{ 
 !writeini " $+ $scriptdir $+ mta.rank.ini" RANKS $mta.nick($1,$2) $calc($readini($scriptdir $+ mta.rank.ini,RANKS,$mta.nick($1,$2)) + 1) 
 mta.rank $1 $2 
} 
on *:SIGNAL:mta.command:{ 
 var %a = $iif($4,$iif($mta.nick($1,$4) != $null,$4,$iif($mta.getid($1,$4),$v1,-1)),$2) 
 if ($3 == !rank) { 
   if (%a == -1) mta.pm $1 $2 Error - Absent ID 
   else mta.rank $1 %a 
 } 
} 
alias mta.rank { 
 var %rank = $readini($scriptdir $+ mta.rank.ini,RANKS,$mta.nick($1,$2)) 
 if (%rank == 1) mta.text $1 $mta.nick($1,$2) $+ 's rank is: 1. Newbie 
 elseif (%rank == 5) mta.text $1 $mta.nick($1,$2) $+ 's rank is: 2. Wannebe Amateur
 elseif (%rank == 10) mta.text $1 $mta.nick($1,$2) $+ 's rank is: 3. Amateur
 elseif (%rank == 15) mta.text $1 $mta.nick($1,$2) $+ 's rank is: 4. Wannabe Professional
 elseif (%rank == 20) mta.text $1 $mta.nick($1,$2) $+ 's rank is: 5. Profressional
 elseif (%rank == 25) mta.text $1 $mta.nick($1,$2) $+ 's rank is: 6. Smooth Agent
 elseif (%rank == 30) mta.text $1 $mta.nick($1,$2) $+ 's rank is: 7. Dangerous Killer
 elseif (%rank == 35) mta.text $1 $mta.nick($1,$2) $+ 's rank is: 8. Murderer
}

Link to comment
on *:SIGNAL:mta.join:{
 !writeini " $+ $scriptdir $+ mta.rank.ini" RANKS $mta.nick($1,$2) $calc($readini($scriptdir $+ mta.rank.ini,RANKS,$mta.nick($1,$2)) + 1)
 mta.rank $1 $2
}
on *:SIGNAL:mta.command:{
 var %a = $iif($4,$iif($mta.nick($1,$4) != $null,$4,$iif($mta.getid($1,$4),$v1,-1)),$2)
 if ($3 == !rank) {
   if (%a == -1) mta.pm $1 $2 Error - Absent ID
   else mta.rank $1 %a
 }
}
alias mta.rank {
 var %rank = $readini($scriptdir $+ mta.rank.ini,RANKS,$mta.nick($1,$2))
 if (%rank >= 35) mta.text $1 $mta.nick($1,$2) $+ 's rank is: 8. Murderer
 elseif (%rank >= 30) mta.text $1 $mta.nick($1,$2) $+ 's rank is: 7. Dangerous Killer
 elseif (%rank >= 25) mta.text $1 $mta.nick($1,$2) $+ 's rank is: 6. Smooth Agent
 elseif (%rank >= 20) mta.text $1 $mta.nick($1,$2) $+ 's rank is: 5. Profressional
 elseif (%rank >= 15) mta.text $1 $mta.nick($1,$2) $+ 's rank is: 4. Wannabe Professional
 elseif (%rank >= 10) mta.text $1 $mta.nick($1,$2) $+ 's rank is: 3. Amateur
 elseif (%rank >= 5) mta.text $1 $mta.nick($1,$2) $+ 's rank is: 2. Wannebe Amateur
 elseif (%rank >= 1) mta.text $1 $mta.nick($1,$2) $+ 's rank is: 1. Newbie
}

Link to comment

Here's something I tried, I don't really script for mta:sa so don't know if I've converted it right, try it if you want :P

on *:SIGNAL:mta.join:{
 !writeini -n " $+ $scriptdir $+ ranks.ini" ranks $mta.nick($1,$2) $calc($joinamt($1,$2) + 1)
}
on *:SIGNAL:mta.command:{
 var %a = $iif($4,$iif($mta.nick($1,$4) != $null,$4,$iif($mta.getid($1,$4),$v1,-1)),$2) 
 if ($3 == !rank) {
   if (%a == -1) mta.pm $1 $2 Error - Absent Nick/ID
   else mta.text $1 $mta.nick($1,%a) > Rank: $playerrank($1,%a) ( $+ $joinamt($1,%a) $+ pts)
 }
}
alias playerrank !return $iif($joinamt($1,$2) <= 4,Newbie,$iif($joinamt($1,$2) <= 9,Wannabe Amateur,$iif($joinamt($1,$2) <= 14,Amateur,$iif($joinamt($1,$2) <= 19,Wannabe Professional,$iif($joinamt($1,$2) <= 24,Professional,$iif($joinamt($1,$2) <= 29,Smooth Agent,$iif($joinamt($1,$2) <= 34,Dangerous Killer,$iif($joinamt($1,$2) > 34,Murderer)))))))),Unranked)
alias joinamt !return $iif($readini(ranks.ini,ranks,$mta.nick($1,$2)),$v1,0)

Edited by Guest
Link to comment
bleh, those $iif's don't make it look cool damnet007 and it's too messy like that. I'd say that what you did is useless and has only spoiled the script :P

i can say that it works, it works fast on my pc, and as long as it works i dont care about any criticism made, i like my $iif statements as they don't make a lot of difference when processing and the script still works perfectly, the only thing someone might find a headache is when scripting the statement as there are so many brackets, but that's also not hard.

Link to comment
bleh, those $iif's don't make it look cool damnet007 and it's too messy like that. I'd say that what you did is useless and has only spoiled the script :P

i can say that it works, it works fast on my pc, and as long as it works i dont care about any criticism made, i like my $iif statements as they don't make a lot of difference when processing and the script still works perfectly, the only thing someone might find a headache is when scripting the statement as there are so many brackets, but that's also not hard.

At first, i thought it looked kinda messy too however i know things look a lot more bunched up when u add them too a post, in a script it probably doesnt look half as bad.

U should always try to make the script effcient tho, its ok saying 'well it works' but when u add all these things together by the time u have a full script, it could be over 20 times slower.

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...