das exchange "self" steht beispielsweise in keiner event klammer. das ist schonmal die erste unsinnigkeit (auch wenn es durchaus gültig ist. aber es wird dann bei jedem ereignis, welches im script vorkommt, ausgelöst). außerdem fehlt da das semikolon am ende.
ansonsten: wieso stellst du dir nicht einfach vor, was passiert? "Übersetze" das Script in deine Sprache. Du hast etwa folgendes gescriptet:
Wenn da Objekt benutzt wird, dann wechsle in den Schlossknackmodus. Und wenn irgendein Ereignis bei dem Objekt ausgelöst wird, dann öffne das Austausch-Fenster.
Kann natürlich nicht funktionieren.
Hinweis: Du brauchst mindestens noch das Event cracklock_success ("schlossknack erfolg") (siehe cracklock)