Jump to content

BSL:Functions: Difference between revisions

m
floating TOC, removing underscores from headers for consistency
(→‎cinematic_: rewrite and move of flag illustration)
m (floating TOC, removing underscores from headers for consistency)
Line 1: Line 1:
{{TOCfloat}}
==Signature==
==Signature==
===Arguments===
===Arguments===
Line 41: Line 42:
** BSL doesn't allow function name overriding even if the parameters are different (in java you can for example).
** BSL doesn't allow function name overriding even if the parameters are different (in java you can for example).
** Seems there is a limit of 8 parameters for each function.
** Seems there is a limit of 8 parameters for each function.
 
<br="clear all">
==Multithreading==
==Multithreading==
Put usage of <tt>fork</tt> here.
Put usage of <tt>fork</tt> here.
Line 94: Line 95:
*<span style="color:blue">Commands in this color are Mac-only</span>
*<span style="color:blue">Commands in this color are Mac-only</span>


===ai2_===
===ai2===
'''Commands which can have an effect on all AIs (see below to use these same commands on one AI):'''
'''Commands which can have an effect on all AIs (see below to use these same commands on one AI):'''


Line 162: Line 163:
*ai2_tripalarm - alarm_id:int [ai_name:string | script_id:int] - trips an alarm - ai2_tripalarm 2 0
*ai2_tripalarm - alarm_id:int [ai_name:string | script_id:int] - trips an alarm - ai2_tripalarm 2 0


===chr_===
===chr===
'''Commands which have an effect on all characters:'''
'''Commands which have an effect on all characters:'''


Line 291: Line 292:
*letterbox start_stop:int{0 | 1} - starts or stops letterboxing - letterbox 0
*letterbox start_stop:int{0 | 1} - starts or stops letterboxing - letterbox 0


===diary_===
===diary===
*diary_page_unlock page:int - unlocks a specific diary page on the current level
*diary_page_unlock page:int - unlocks a specific diary page on the current level


===door_===
===door===
*door_open door_id:int - opens a door (may not stay open) - door_open 21
*door_open door_id:int - opens a door (may not stay open) - door_open 21
*door_close door_id:int - closes a door (may not stay open) - door_close 27
*door_close door_id:int - closes a door (may not stay open) - door_close 27
Line 302: Line 303:
*door_unjam door_id:int - unjams a door so characters can open it - door_unjam 8
*door_unjam door_id:int - unjams a door so characters can open it - door_unjam 8


===env_===
===env===
*debug_env_anim name:string - draws a line for an environment animation
*debug_env_anim name:string - draws a line for an environment animation
*env_anim obj_id:int [ obj_id:int] - initiates an environment animation for an object - env_anim 901 906
*env_anim obj_id:int [ obj_id:int] - initiates an environment animation for an object - env_anim 901 906
Line 463: Line 464:
*timer_stop (null) - stops the countdown timer - timer_stop
*timer_stop (null) - stops the countdown timer - timer_stop


===laser triggers===
===triggers (lasers)===
*trig_activate trigger_id:int - activates a trigger - trig_activate 2
*trig_activate trigger_id:int - activates a trigger - trig_activate 2
*trig_deactivate trigger_id:int - deactivates a trigger - trig_deactivate 2
*trig_deactivate trigger_id:int - deactivates a trigger - trig_deactivate 2