Difference between revisions of "Useful Scripts"

117 bytes added ,  07:43, 29 January 2014
m
imported>Nyteschayde
imported>Cuceta
 
(2 intermediate revisions by one other user not shown)
Line 362: Line 362:
         Set Msg_FnSum to 0
         Set Msg_FnSum to 0
         Set Msg_FnSum_Done to 1
         Set Msg_FnSum_Done to 1
      ; Uncomment the next two lines and comment out the ElseIf, if you want to
      ; allow multiple "functions" to execute per tick. This is not advised if
      ; you reuse param and return values as shown in this example.
      ;EndIf
      ;If Msg_FnProdut != 0
       ElseIf Msg_FnProduct != 0
       ElseIf Msg_FnProduct != 0
         Set ReturnValue to Param1 * Param2
         Set ReturnValue to Param1 * Param2
Line 388: Line 381:
       If SomeCondition == 1
       If SomeCondition == 1
         ; Let's call function Sum
         ; Let's call function Sum
         Set Example.Param1 to 2
         Set Example.Param1 to 2         ; Set parameter 1
         Set Example.Param2 to 5
         Set Example.Param2 to 5         ; Set parameter 2
         Set Example.Msg_FnSum to 1
         Set Example.Msg_FnSum to 1     ; Call Msg_FnSum on next tick
        Set SomeCondition to 3
       ElseIf SomeCondition == 2
       ElseIf SomeCondition == 2
         ; Let's call function Product
         ; Let's call function Product
         Set Example.Param1 to 2
         Set Example.Param1 to 2         ; Set parameter 1
         Set Example.Param2 to 5
         Set Example.Param2 to 5         ; Set parameter 2
         Set Example.Msg_FnProduct to 1
         Set Example.Msg_FnProduct to 1 ; Call Msg_FnProduct on next tick
        Set SomeCondition to 4
       EndIf
       EndIf


Line 403: Line 394:
       If Example.Msg_FnSum_Done == 1
       If Example.Msg_FnSum_Done == 1
         ; Do something with the value
         ; Do something with the value
         PrintC "Sum is %.0f" Example.ReturnValue ; Requires NVSE
         ; The value of Example.ReturnValue is now 7
         Set Example.ReturnValue to 0
 
         Set Example.Msg_FnSum_Done to 0
         Set Example.ReturnValue to 0   ; Clean up return value (be nice)
         Set Example.Msg_FnSum_Done to 0 ; Prevent this code block from executing next tick
       ElseIf Example.Msg_FnProduct_Done == 1
       ElseIf Example.Msg_FnProduct_Done == 1
         ; Do something with the value
         ; Do something with the value
         PrintC "Product is %.0f" Example.ReturnValue ; Requires NVSE
         ; The value of Example.ReturnValue is now 10
         Set Example.ReturnValue to 0
 
         Set Example.Msg_FnProduct_Done to 0
         Set Example.ReturnValue to 0       ; Clean up return value (be nice)
         Set Example.Msg_FnProduct_Done to 0 ; Prevent this code block from executing next tick
       EndIf
       EndIf
     End
     End
Line 486: Line 479:
End
End
</pre>
</pre>
Note: Your attached <b>Quest</b> should have a small <b>script Processing delay</b>, otherwise the key event may not work.


== Iterating through multiple lists ==
== Iterating through multiple lists ==
Anonymous user