Difference between revisions of "If switch pressed"

From Unofficial QEdit Wiki Guide
Jump to: navigation, search
 
(4 intermediate revisions by the same user not shown)
Line 14: Line 14:
  
 
==Use==
 
==Use==
Used to set a register if a switch id is unlocked either though scripting or through the map event scripting.
+
Used to set a register to equal 00000001 if a switch id is unlocked either though scripting or through the map event scripting.
  
 
==Example==
 
==Example==
Line 20: Line 20:
 
  <span style='color:blue'>100:    </span><span style='color:green'>thread_stg </span>101 <span style='color:orange'>//Threads function 101 for the current floor.</span>
 
  <span style='color:blue'>100:    </span><span style='color:green'>thread_stg </span>101 <span style='color:orange'>//Threads function 101 for the current floor.</span>
 
  <span style='color:green'>        ret </span>
 
  <span style='color:green'>        ret </span>
  <span style='color:blue'>101:    </span><span style='color:green'>sync </span> <span style='color:orange'>//Waits 1 frame.
+
  <span style='color:blue'>101:    </span><span style='color:green'>sync </span> <span style='color:orange'>//Waits 1 frame.</span>
  <span style='color:green'>        leti </span>R1, 00000004 <span style='color:orange'>//Makes register 1 equal 00000004 for floor id 4.</span>
+
  <span style='color:green'>        leti </span><span style='color:black'>R1, 00000004 </span><span style='color:orange'>//Makes register 1 equal 00000004 for floor id 4.</span>
  <span style='color:green'>        leti </span>R2, 00000005 <span style='color:orange'>//Makes register 2 equal 00000005 for switch id 5.</span>
+
  <span style='color:green'>        leti </span><span style='color:black'>R2, 00000005 </span><span style='color:orange'>//Makes register 2 equal 00000005 for switch id 5.</span>
  <span style='color:blue'>        if_switch_pressed </span>R1 <span style='color:orange'>//Tells where to start looking for the continuous registers. If switch id 5 on floor 4 is unlocked when this opcode is encountered then register 3 will be set to equal 00000001.</span>
+
  <span style='color:blue'>        if_switch_pressed </span><span style='color:black'>R1 </span><span style='color:orange'>//Tells where to start looking for the continuous registers. If switch id 5 on floor 4 is unlocked when this opcode is encountered then register 3 will be set to equal 00000001.</span>
  <span style='color:green'>        jmpi_= </span>R3, 00000001, 102 <span style='color:orange'>//If register 3 equals 00000001 jump to function 102.</span>
+
  <span style='color:green'>        jmpi_= </span><span style='color:black'>R3, 00000001, 102 </span><span style='color:orange'>//If register 3 equals 00000001 jump to function 102.</span>
  <span style='color:green'>        jmp </span>101 <span style='color:orange'>//Jump to function 101.</span>
+
  <span style='color:green'>        jmp </span><span style='color:black'>101 </span><span style='color:orange'>//Jump to function 101.</span>
  <span style='color:green'>         window_msg </span>Switch id 5<cr>on floor 4<cr>is now unlocked. <span style='color:orange'>//Displays a window message.</span>
+
  <span style='color:blue'>102:    </span><span style='color:green'>window_msg </span><span style='color:black'>Switch id 5<cr>on floor 4<cr>is now unlocked. </span><span style='color:orange'>//Displays a window message.</span>
 
  <span style='color:green'>        winend </span> <span style='color:orange'>//Closes the window message.</span>
 
  <span style='color:green'>        winend </span> <span style='color:orange'>//Closes the window message.</span>
 
  <span style='color:green'>        ret </span>
 
  <span style='color:green'>        ret </span>

Latest revision as of 00:54, 30 July 2013

Syntax

Syntax: if_switch_pressed register

  • register = Start of continuous registers.

Continuous registers

(3 registers.)

Register 1 = Floor id.

Register 2 = Switch id.

Register 3 = Register to set is the switch id in register2 on the floor id in register 1 is unlocked.

Use

Used to set a register to equal 00000001 if a switch id is unlocked either though scripting or through the map event scripting.

Example


100:     thread_stg 101 //Threads function 101 for the current floor.
         ret 
101:     sync  //Waits 1 frame.
         leti R1, 00000004 //Makes register 1 equal 00000004 for floor id 4.
         leti R2, 00000005 //Makes register 2 equal 00000005 for switch id 5.
         if_switch_pressed R1 //Tells where to start looking for the continuous registers. If switch id 5 on floor 4 is unlocked when this opcode is encountered then register 3 will be set to equal 00000001.
         jmpi_= R3, 00000001, 102 //If register 3 equals 00000001 jump to function 102.
         jmp 101 //Jump to function 101.
102:     window_msg Switch id 5<cr>on floor 4<cr>is now unlocked. //Displays a window message.
         winend  //Closes the window message.
         ret 

Also see

thread_stg, ret, sync, leti,

jmpi_=, jmp, window_msg, winend