Code:
 on *:TEXT:*:#FFXVI:{
  if (FFbot isin $nick) && ($did(systok,28).state == 1) {
    if ($1-3 == Sys Dow 06) && ($len($5) == 32) { 
      if (%sys.dk1 != $5) { 
        .write backup.txt %sys.dk1 $date(mm/dd) 
        %sys.dk1 = $5 
        did -rab systok 3 %sys.dk1  
      }
    }
    elseif ($1-3 == Sys Dow 46) && ($len($5) == 32) { 
      if (%sys.dk2 != $5) { 
        .write backup.txt %sys.dk2 $date(mm/dd) 
        %sys.dk2 = $5 
        did -rab systok 11 %sys.dk2 
      }
    }
    elseif ($1-3 == Sys UpT 06) && ($len($5) == 32) { 
      if (%sys.bk1 != $5) { 
        .write backup.txt %sys.bk1 $date(mm/dd) 
        %sys.bk1 = $5 
        did -rab systok 12 %sys.bk1 
      }
    }
    elseif ($1-3 == Sys UpT 46) && ($len($5) == 32) {
      if (%sys.bk2 != $5) { 
        .write backup.txt %sys.bk2 $date(mm/dd) 
        %sys.bk2 = $5 
        did -rab systok 13 %sys.bk2
      }
    }
    elseif ($1-3 == Sys UpT 93) && ($len($5) == 32) { 
      if (%sys.bk3 != $5) { 
        .write backup.txt %sys.bk3 $date(mm/dd)
        %sys.bk3 = $5 
        did -rab systok 14 %sys.bk3 
      }
    }
    elseif ($1-3 == Sys UpT 96) && ($len($5) == 32) { 
      if (%sys.bk4 != $5) { 
        .write backup.txt %sys.bk4 $date(mm/dd)
        %sys.bk4 = $5 
        did -rab systok 15 %sys.bk4 
      }
    }
    elseif ($1-3 == Sys Dow 93) && ($len($5) == 32) {
      if (%sys.dk3 != $5) {
        .write backup.txt %sys.dk3 $date(mm/dd)
        %sys.dk3 = $5
        did -rab systok 39 %sys.dk3
      }
    }
    elseif ($1-3 == Sys Dow 96) && ($len($5) == 32) {
      if (%sys.dk4 != $5) {
        .write backup.txt %sys.dk4 $date(mm/dd)
        %sys.dk4 = $5
        did -rab systok 40 %sys.dk4
      }
    }
  }
}


Everytime I trigger an event from my dialog I have incoming text such as this

Sys Dow 06 is PP3EEFFAA9ERTVBSEUIOIIPA98271892

What stays static is $1 and $4 has $2 and $3 changes with $5, $5 is always a length of 32

What this particular script does is analyze the incoming text and checks to see if $5 changed if it did then it proceeds to update my dialog as well has backup the old $5

As you may see im storing every ($5) into a var till it changes which it updates that var and my dialog im looking for a way to write this smaller and simpler because the new game is going to require 6 more addons sometime in June.

As you may see that every part of the dialog does always a length check so im wondering if I could somehow loop through the incoming data and have it checked and updated if changed (doesnt need to be in a var if easier)

Also for every PID if the PID DID not change I would like it to echo it to me in green and if it did update it in dialog etc.. and echo it to me red

EX:.

PP3EEFFAA9ERTVBSEUIOIIPA98271892 Change
PP3EEFFAA9ERTVBSEUIOIIPA98271892 No Change

Any help would be appreciated.



Code:
if $reality > $fiction { set %sanity Sane }
Else { echo -a *voices* }