@verb #24:"@password" any any any rdo #55 @program #24:"@password" any any any if (player != this) return $msg:mtell("huh") endif casematters = 0 player.last_commands = `player.last_commands[1..$ - 1] ! ANY => {}' if (length(args) > 2) return this:tell("Error: Passwords may not have spaces in them.") endif {?oldpassword = "", ?newpassword = ""} = args if (typeof(this.password) != STR) if (length(args) > 1) return this:tell("Error: Your new password may not have a space in it.") endif newpassword = oldpassword oldpassword = "X" endif if (!oldpassword) set_connection_option(this, "client-echo", 0) player:tell("Input old password:") oldpassword = read(player) player.last_commands = `player.last_commands[1..$ - 1] ! ANY => {}' set_connection_option(this, "client-echo", 1) endif oldpassword = tostr(oldpassword) casematters || (oldpassword = $string_utils:lowercase(oldpassword)) if (!$perm_utils:authorise_user(this, oldpassword)) return this:tell("Error: That's not your old password.") endif if (!newpassword) set_connection_option(this, "client-echo", 0) player:tell("Input new password:") newpassword = read(player) player.last_commands = `player.last_commands[1..$ - 1] ! ANY => {}' player:tell("Confirm new password:") newpassword2 = read(player) player.last_commands = `player.last_commands[1..$ - 1] ! ANY => {}' set_connection_option(this, "client-echo", 1) if (casematters ? !equal(newpassword2, newpassword) | newpassword2 != newpassword) return player:tell("Error: Different new passwords.") endif endif newpassword = tostr(newpassword) casematters || (newpassword = $string_utils:lowercase(newpassword)) okpass = $wiz_utils:acceptable_password(newpassword, player) if (okpass != 1) player:tell(okpass) return player:tell("Error: Password not changed.") endif this.password = string_hash(newpassword) this:tell("Password changed.") "Last modified by Dax (#789) on Sat Aug 6 12:47:41 2005 MDT." .