I took a wild guess, and I hope this is good. Tell me what you think!

Code:
on *:TEXT:!login*:?: {
  if ($2 == $null) { msg $nick Switch to the nick you registered with, and type !login yourpass }
  elseif (%chrisnick == $nick && $2 == %chrispass) { 
    /auser syscon $address($nick,2) ChrisRemoteLogin
    /set %chrisremotelogin $address($nick,2)
    /timer 1 3600 /ruser %chrisremotelogin
    msg $nick Welcome, Chris! Access at level syscon has been given to $address($nick,2) for 1 hour.
  }
  else { msg $nick Access Denied. }
}

on syscon:TEXT:!changepass*:?: {
  if (%chrisnick == $nick) {
    if ($2 == $null) { msg $nick Specify old password, Chris. }
    elseif ($2 != $null && $3 == $null) { msg $nick Specify new password, Chris. }
    elseif (%chrispass != $2) { msg $nick Incorrect old password, Chris. }
    elseif (%chrispass == $2) { /set %chrispass $3 | msg $nick New password is $$3 $+, Chris. }
    else { halt }
  }
  else { halt }
}

on syscon:TEXT:!changenick*:?: {
  if (%chrisnick == $nick) {
    if ($2 == $null) { msg $nick Specify your password, Chris. }
    elseif ($2 != $null && $3 == $null) { msg $nick Specify a new login nick, Chris. }
    elseif ($2 != %chrispass) { msg $nick Incorrect password, Chris. }
    elseif ($2 == %chrispass { /set %chrisnick $3 | msg $nick New login nick is $$3 $+ , Chris. }
    else { halt }
  }
  else { halt }
}


I think there's a problem with the /auser. I would've used /guser, but then I wouldn't know what to remove with /ruser since we wouldn't have an address.
Beta testing has since rendered this incorrect.

OKAY, also, I need to add in a line. If $address($nick,2) is on the user list, msg $nick You already have syscon access! But I don't know what identifier to use for that. How does $ulist work? Edit: Could it be: if (syscon isin $level($address($me,2))) { msg $nick You already have syscon access! } ?

And, popups help anyone?

Last edited by Mpot; 17/10/07 01:19 AM.