The easiest way to do, is to put various deactivation checks between the jumps.
You can also do the same by using GOSUB in a shorter manner, but that makes things more complicated, if you are experiencing difficulties with jumps&labels.
Code:
// This file was decompiled using sascm.ini published by GTAG ( http://gtag.gtagaming.com/opcode-database ) on 14.6.2013
{$CLEO .cs}
//-------------MAIN---------------
thread "Test"
:TEST_22
wait 0
if
0AB0: key_pressed 51
else_jump @TEST_22
wait 1000
jump @TEST_52
:TEST_52
0ACD: show_text_highpriority " ~Dz N[o_o]B~" time 1000
wait 500
jump @DEACTIVATION_CHECK1 //jump @TEST_94
:TEST_94
wait 0
Actor.PutAt($PLAYER_ACTOR, -1816.5, -179.775, 9.39844)
wait 2000
jump @DEACTIVATION_CHECK2 //jump @TEST_148
:TEST_148
wait 0
Actor.PutAt($PLAYER_ACTOR, -1872.78, 1416.42, 7.18021)
wait 500
jump @DEACTIVATION_CHECK3 //jump @TEST_52
:DEACTIVATION_CHECK1
wait 0
if
0AB0: key_pressed 51
else_jump @TEST_94
wait 1000
0ACD: show_text_highpriority "DEACTIVATED" time 1500
jump @TEST_22
:DEACTIVATION_CHECK2
wait 0
if
0AB0: key_pressed 51
else_jump @TEST_148
wait 1000
0ACD: show_text_highpriority "DEACTIVATED" time 1500
jump @TEST_22
:DEACTIVATION_CHECK3
wait 0
if
0AB0: key_pressed 51
else_jump @TEST_52
wait 1000
0ACD: show_text_highpriority "DEACTIVATED" time 1500
jump @TEST_22
You can also do the same by using GOSUB in a shorter manner, but that makes things more complicated, if you are experiencing difficulties with jumps&labels.