You can't have one event directly dependent on another. Instead, you need to set some sort of flag (variable) to let the second event know that the first event has occurred.

And example using your code would be like this:

Code:
 

on 1:text:!hack *:#:{
  if ($nick iswm $read(useraccess.txt)) {
    .timer 1 2 msg $chan 4TARGET: $2
    .timer 1 2 msg $chan 12Cracking $2 $+ 's Internet IP address...
    .timer 1 10 msg $chan 12Hacking System Configuration Codes...
    .timer 1 18 msg $chan 2 20%...Completed
    .timer 1 20 msg $chan 2 60%...Completed
    .timer 1 24 msg $chan 2 100%...Completed
    .timer 1 30 msg $chan 4Transfering Self-extract file...
    .timer 1 47 describe $chan successfully transfered WINDOWS-INSTALLER.EXE to $2 $+ 's computer
    .timer 1 49 msg $chan 4type !location for where the file has received on your system.
    [color:blue]set -u10 %hackflag $nick[/color]
  }
  else {  .timer 1 1 msg $chan 4SCANNING ACCESS DATABASE FOR REGISTERED DATAS... 
    .timer 1 6 msg $chan 4ACCESS DEINED: ACCESS DATA MISSING.
  }
}

[color:green]on *:TEXT:!location:#:{ 
  if (%hackflag == $nick) {
    msg $chan $read(random.txt) $+ . 
    unset %hackflag
  }[/color]
}


The blue and green parts are what is different. The blue line sets a variable to contain the nick of the person who used the !hack command. The variable will automatically expire after 10 seconds (the -u10 part) if no one uses the !location command.

The green part checks to see if the person who just typed the !location command was the same person who used the !hack command. If it is a match, then a message is sent, and the variable is unset so that they can't use the !location command again until they use the !hack command again.

-genius_at_work

Last edited by genius_at_work; 20/11/05 04:08 AM.