Must be something screwed up in the code, I will go through it to find the bug, if anyone else can spot it let me know
; ==== Trophies and Awards Records ====
; this file awards trophies to whole teams at presentation times with !award command (umpires only)
; insert trophies to database and records data in 2 files LeagueResults.ini
; and awards.ini allows deleting by entire year only and shows awards in entire years
; IMPORTANT line 62 contains the year table awards are to be inserted into, please check this is correct
on *:TEXT:!award*:#:{
if ($hammervar(Umpire, $nick) == $null) {
amsg ERROR: Only Umpires may Award Trophies (type !showumps)
halt
}
if ($nick !isop #) {
amsg please take your hammer (+q) $nick
halt
}
if ( !$mysql_status ) { mysql_connect localhost 3306 }
if ($4 == $null) { amsg ERROR: Format = !award Place Team Grade | halt }
if ($len($4) > 1) { amsg ERROR: Format = !award Place Team Grade | halt }
if ($2 == 1st) var %thisaward = 1
elseif ($2 == 2nd) var %thisaward = 2
elseif ($2 == 3rd) var %thisaward = 3
elseif ($2 == 4th) var %thisaward = 4
elseif ($2 == seasonchamp) {
set %thisaward SC
set %thisAwardNick $3
set %awardGrade $4
set %AwardSeason $5
AwardSeasonChamp
halt
}
elseif ($2 == gradechamp) {
set %thisaward GC
set %thisAwardNick $3
set %awardGrade $4
set %AwardSeason $5
AwardGradeChamp
halt
}
else { amsg ERROR: Format = !award Place Team Grade (eg 4th) | halt }
if ($4 == A) || ($4 == B) || ($4 == C) || ($4 == D) || ($4 == E) set %awardGrade $upper($4)
else { amsg ERROR: Out of Range, Grade does not exist | halt }
set %thisteam $3
set %awardTuple [ img]../../images/trophies/Trophy $+ %awardGrade $+ %thisaward $+ .jpg[/img]
if ( $readini( league/teamstats.ini, Grade, %thisteam) == $null ) { amsg Team %thisteam not Listed $2 please try again | halt }
set %team.grade $readini( league/teamstats.ini, Grade, %thisteam)
set %awardYr $asctime(yyyy)
var %x = 1
while $ini( league/grades.ini,%team.grade,%x) {
if ( $readini( league/grades.ini, %team.grade,$ini( league/grades.ini, %team.grade,%x)) == %thisteam ) {
set %thisAwardNick $ini( league/grades.ini,%team.grade,%x)
set %AwardUID $readini( UID.ini, UID, %thisAwardNick)
if (%AwardUID == $null) { amsg ERROR: No Valid UID for %thisAwardNick (trophies.mrc) | return }
if ($readini( LeagueResults.ini, %currentseason, %thisAwardNick) != $null) { amsg ERROR: Award Already Presented for Team %thisteam in Season %currentseason | halt }
if ($awardVar(%awardYr, %thisAwardNick) != $null) {
set %yourAwards $awardVar(%awardYr, %thisAwardNick)
set %newawards %yourAwards %awardTuple
}
else set %newawards %awardTuple
if (%awardYr == $null) || (%newAwards == $null) || (%thisAward == $null) { amsg ERROR: Missing Token for write (awards) | return }
writeini LeagueResults.ini %currentseason %thisAwardNick %thisteam $+ %team.grade $+ %thisAward
writeini awards.ini %awardYr %thisAwardNick %newawards
mysql_query LeagueTeamAwards UPDATE profile SET awards $+ $right(%awardYr, 2) $+ = $+ ' $+ %newawards $+ ' where profileid= $+ %AwardUID
amsg hands %thisAwardNick a shiny (*) $2 place (*) trophy (y) Congratulations (h5)
}
inc %x
}
awardUnset
}
alias AwardSeasonChamp {
if ($len(%AwardSeason) != 3) || (%AwardSeason !isnum) { amsg ERROR: Format = !award gradechamp Nick Grade Season | halt }
if (%awardGrade !isin ABCDE) { amsg ERROR: Format = !award seasonchamp Nick Grade Season | halt }
set %AwardUID $readini( UID.ini, UID, %thisAwardNick)
if (%AwardUID == $null) { amsg ERROR: No Valid UID | halt }
set %awardYr 20 $+ $right(%AwardSeason, 2)
set %awardTuple [ img]../../images/trophies/Trophy $+ %thisaward $+ .jpg[/img]
if ($readini( LeagueResults.ini, SeasonChamp, %awardGrade $+ %AwardSeason, %thisAwardNick) != $null) { amsg ERROR: Season Champ Already Presented in Season %AwardSeason | halt }
if ($awardVar(%awardYr, %thisAwardNick) != $null) set %yourAwards $awardVar(%awardYr, %thisAwardNick)
set %newawards %yourAwards %awardTuple
writeini LeagueResults.ini SeasonChamp %awardGrade $+ %AwardSeason %thisAwardNick
writeini awards.ini %awardYr %thisAwardNick %newawards
mysql_query LeagueTeamAwards UPDATE profile SET awards $+ $right(%AwardSeason, 2) $+ = $+ ' $+ %newawards $+ ' where profileid= $+ %AwardUID
amsg (*)(*) %thisawardnick is Crowned Season Champ for season %AwardSeason (*)(*)
}
on admin:TEXT:!insertaward*:#:{
if (!$6) { amsg ERROR: Format = !insertaward Place Grade Nick Season Team | halt }
if ( !$mysql_status ) { mysql_connect localhost 3306 }
; --- Place Check ---
if ($2 == 1st) var %thisaward = 1
elseif ($2 == 2nd) var %thisaward = 2
elseif ($2 == 3rd) var %thisaward = 3
elseif ($2 == 4th) var %thisaward = 4
else { amsg ERROR: Format = !insertaward Place Grade Nick Season Team: Type @awards for commands | halt }
; --- Grade Check ---
if ($3 !isin ABCDE) set %thisAwardGrade $upper($3)
else { amsg ERROR: Out of Range, Grade does not exist | halt }
; --- Nick Check ---
set %thisAwardNick $4
set %AwardUID $readini( UID.ini, UID, %thisAwardNick)
if (%AwardUID == $null) { amsg ERROR: No Valid UID, Check the Nick | halt }
; --- Season Check ---
set %awardYr $asctime(yyyy)
set %AwardSeason $5
if ($right(%AwardSeason, 2) != $right(%awardYr, 2)) set %awardYr 20 $+ $right(%AwardSeason, 2)
if ($len($5) != 3) { amsg ERROR: Invalid Season | halt }
if (%awardYr !isnum) || (%awardYr < 2003) { amsg ERROR: Invalid Year | halt }
; --- Team Check ---
if ($len($6) != 3) { amsg ERROR: No Such Team | halt }
set %awardteam $6
; --- Check Awarded ---
if ($readini( LeagueResults.ini, %AwardSeason, %thisAwardNick) != $null) { amsg ERROR: Award Already Presented for %thisAwardNick in Season %AwardSeason | halt }
var %awardTuple = [ img]../../images/trophies/Trophy $+ %thisAwardGrade $+ %thisaward $+ .jpg[/img]
set %yourAwards $awardVar(%awardYr, %thisAwardNick)
set %newawards %yourAwards %awardTuple
writeini LeagueResults.ini %AwardSeason %thisAwardNick %awardteam $+ %thisAwardGrade $+ %thisaward
writeini awards.ini %awardYr %thisAwardNick %newawards
mysql_query LeagueIndiviAwards UPDATE profile SET awards $+ $right(%awardYr, 2) $+ = $+ ' $+ %newAwards $+ ' where profileid= $+ %AwardUID
amsg awards $2 place Trophy to %thisAwardNick (y) Congratulations (h5)
awardUnset
}
on admin:TEXT:!remaward*:#:{
if ($3 == $null) { amsg ERROR: Format = !remaward Year Nick | halt }
if ($2 < 2004) || ($2 !isnum) || ($len($2) != 4) { amsg ERROR: Invalid Year | halt }
var %awardYr = $2
var %thisAwardNick = $3
if ($readini( awards.ini, %awardYr, %thisAwardNick ) == $null) { amsg ERROR: No Awards Found for $3 in %awardYr | halt }
var %AwardUID = $readini( UID.ini, UID, %thisAwardNick)
if (%AwardUID == $null) { amsg ERROR: No Valid Member ID, check nick | halt }
var %x = 1
while %x < 4 {
var %awardseason = %x $+ $right(%awardYr, 2)
if ($readini( LeagueResults.ini, %awardseason, %thisAwardNick ) != $null) {
remini LeagueResults.ini %awardseason %thisAwardNick
amsg award in season %awardseason removed
}
inc %x
}
remini awards.ini %awardYr %thisAwardNick
mysql_query LeagueIndiviAwards UPDATE profile SET awards $+ $right(%awardYr, 2) $+ =0 where profileid= $+ %AwardUID
amsg Awards for $3 in %awardYr Reset
}
on *:TEXT:!showawards*:#:{
;if ($3 == $null) { amsg ERROR: Format = !showaward Year (Nick) | halt }
if ($2 < 2004) || ($2 !isnum) || ($len($2) != 4) { amsg ERROR: Invalid Year (4 digits) | halt }
var %awardYr = $2
if ($3 == $null) var %thisAwardNick = $nick
else {
var %thisAwardNick = $3
var %AwardUID = $readini( UID.ini, UID, %thisAwardNick)
if (%AwardUID == $null) { amsg ERROR: No Valid Member ID Found for %thisAwardNick check name | halt }
}
var %x = 1
var %y = 0
while %x < 4 {
var %awardseason = %x $+ $right(%awardYr, 2)
if ( $readini( LeagueResults.ini, %awardseason, %thisAwardNick) != $null) {
var %showawards = $readini( LeagueResults.ini, %awardseason , %thisAwardNick)
inc %y
amsg Season %x %awardYr %thisAwardNick placed position $right(%showawards, 1) in $mid(%showawards,4,1) Grade
}
inc %x
}
if (%y == 0) amsg No Awards Found for %thisAwardNick in %awardYr
}
alias awardVar {
return $readini( awards.ini, %awardYr, %thisAwardNick )
}
alias awardUnset {
unset %thisAwardNick
unset %AwardUID
unset %thisAwardGrade
unset %awardYr
unset %newawards
unset %yourAwards
unset %awardTuple
unset %awardGrade
unset %thisteam
unset %team.grade
unset %checkAwarded
unset %checkAwardNick
unset %AwardSeason
unset %awardteam
}