Zmodem commented on a Page, mIRC Lock  -  Feb 20, 2009

Okay, added a few changes, especially on the actual lock. Instead of $?="", used $input(,wp,mIRC Lock) so that way when they enter a password it's passworded out, like *. Anyways, another change was checking to see if the lock was tampered with, by removing the .ini** file. If so, the default lock is put in place.

;;;;;;;;;;;;;;;
;;HELLO THERE;;
;;;;;;;;;;;;;;;
on *:input:*: {
  if ( $readini(C:\lock.ini,main,lock) == 1 ) {
    .timerlock off 
    .timerlock -o 1 $readini(C:\lock.ini,main,locktime) mirclock
  }
}
dialog MIRClock {
  title "mIRC Lock"
  size -1 -1 117 84
  option dbu
  button "OK", 1, 3 62 33 12, ok
  button "Close andLock", 2, 39 62 38 12, ok
  button "Cancel", 3, 79 62 32 11
  edit "OLDPASS", 4, 3 2 50 10, pass
  edit "NEWPASS", 5, 3 14 50 10, pass
  edit "TIME_BEFORE_LOCK", 6, 3 25 50 10
  check "Lock mIRC when idle", 7, 3 40 64 9
  text "Old password", 8, 57 2 50 9
  text "New password", 9, 57 14 50 8
  text "Idle time before lock", 10, 57 26 50 9
  check "Lock mIRC when started", 11, 3 50 69 9
  text "mIRC lock made by CAsercan3 AKA sercan386", 12, 3 77 112 8
  box "", 13, 1 34 73 27
  button "Reset", 14, 79 44 32 16
}

on *:dialog:mirclock:sclick:3: {
  dialog -x mirclock mirclock
}
alias locksettings {
  dialog -m mirclock mirclock
  if ( $readini(C:\lock.ini,main,pass) == $null ) writeini C:\lock.ini main pass $md5($md5(1234))
}
on *:dialog:mirclock:sclick:14: {
  did -r mirclock 4
  did -r mirclock 5
  did -r mirclock 6
  did -u mirclock 7
  did -u mirclock 11
}
on *:dialog:mirclock:init:0: {
  did -ra mirclock 6 $readini(C:\lock.ini,main,locktime)
  did -r mirclock 4
  did -r mirclock 5
  did - $+ [ $iif($readini(C:\lock.ini,main,lockstart) == 1,c,u) ] mirclock 11
  did - $+ [ $iif($readini(C:\lock.ini,main,lock) == 1,c,u) ] mirclock 7
}
on *:dialog:mirclock:sclick:1: {
  if ( $md5($md5($did(mirclock,4))) != $readini(C:\lock.ini,main,pass) ) halt
  if ( $did(mirclock,5) != $null ) writeini C:\lock.ini main pass $md5($md5($did(mirclock,5)))
  writeini C:\lock.ini main locktime $did(mirclock,6)
  writeini C:\lock.ini main lock $did(mirclock,7).state
  writeini C:\lock.ini main lockstart $did(mirclock,11).state
  dialog -x mirclock mirclock
}
on *:dialog:mirclock:sclick:2: {
  if ( $md5($md5($did(mirclock,4))) != $readini(C:\lock.ini,main,pass) ) { noop $input(Dude! WRONG PASSWORD!!!,o,ERROR,ERROR,ERROR) | halt }
  if ( $did(mirclock,5) != $null ) writeini C:\lock.ini main pass $md5($md5($did(mirclock,5)))
  if ( $did(mirclock,6) isnum ) writeini C:\lock.ini main locktime $did(mirclock,6)
  else noop $input(Dude! the time in which the lock is activated must be only in NUMBERS!,o,ERROR,ERROR,ERROR)
  writeini C:\lock.ini main lock $did(mirclock,7).state
  writeini C:\lock.ini main lockstart $did(mirclock,11).state
  dialog -x mirclock mirclock
  mirclock
}

;;; Resetme Alias
;;; - Added to reset to the default '1234' password
;;; if the original ini file is tampered with
alias resetme { writeini C:\lock.ini main pass $md5($md5(1234)) | writeini C:\lock.ini main lock 0 | writeini C:\lock.ini main lockstart 1 | .timerinput $+ $ctime 1 1 return $input(mIRC's lock has been tampered with. The default lock has been re-issued.,wo,Lock Tampered!) }
;;;

alias mirclock {
  goto start
  :start
  ; Next line checks to make sure the lock file hasn't been deleted.
  if (!$isfile(C:\lock.ini)) { resetme | goto start }
  if ($md5($md5($input(mIRC has been locked. Insert your password to unlock it.,wp,mIRC Lock))) != $readini(C:\lock.ini,main,pass)) goto start
  else halt
  :error
  goto start
}
on *:START: {
  ; Next line checks to make sure the lock file has not been deleted.
  if (!$isfile(C:\lock.ini)) { resetme | mirclock }
  if ( $readini(C:\lock.ini,main,lockstart) == 1 ) mirclock
  elseif ( $readini(C:\lock.ini,main,lock) == 1 ) .timerlock -o 1 $readini(C:\lock.ini,main,locktime) mirclock
}
menu channel,status {
  lock mIRC: mirclock
  lock settings: locksettings
}
 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.