BSL:Functions
Signature
Arguments
Put usage of brackets and commas here. Also tell about the weak syntax (with space as a separator).
Return value
When used alone forces the exit from a function. When used with a variable it forces the exit from a function and returns that variable.
Example (1)
func void spawnUs () { ai2_spawn(Muro); sleep(200); return; ai2_spawn(Barabas); }
In this example the code ai2_spawn(Barabas); is never executed.
Example (2)
var int current_char_id=0; func int spawnCharacter (string char_name) { ai2_spawn(char_name); current_char_id=current_char_id+1; return current_char; dmsg("Hello."); }
In this example the current_char is returned from the function (notice the int declaration at the begin of function, which declares the type to return). dmsg("Hello."); is never executed.
Declaration
Put usage of func here.
- [...]
- Tips:
- If you call a second function from inside another function, the second function will be executed til its end and then the rest of the first function gets executed.
- You can call a function recursively, but only up to about four times, then the script execution stucks for some reason (maybe intentional to prevent endless loops?).
- BSL doesn't allow function name overriding even if the parameters are different (in java you can for example).
Multithreading
Put usage of fork here.
- [...]
- Tips:
- Use "fork" in conjunction with "sleep" to ensure that there is always only one running copy of the function. (Themselves looping functions without sleep can crash the game.)
- And remember to design the code so it cannot create two copies of the function running in parallel. When that happens, the desired loop effect is usually broken and "echos" start to apprear.
chr_index
chr_index is a variable required by some functions like chr_focus. This variable hold a ID for a character and each character have a chr_index associated.
Normally the chr_index is associated by the order of the spawn of the characters. The characters can be spawned either by scripting or by the engine itself (if it doesn't have NotInitiallyPresent flag at BINACJBOCharacter file).
For example:
ai2_spawn Muro ai2_spawn Mukade ai2_spawn Bomber
With the follow code Muro will receive the index 1, Mukade index 2 and Bomber index 3. Konoko always have a chr_index of 0, because it's always the first character to be spawned.
This ok, but there's an exception. Once a character is deleted, either by be killed (and the engine delete it automatically) or by calling chr_delete directly the following characters to be spawned will fill the holes left by the deleted.
For example:
ai2_spawn Muro ai2_spawn Mukade chr_delete Mukade ai2_spawn Bomber
In this example Mukade have the index 2, but once it's deleted (in this case directly by chr_delete function) there will be hole where his id were. When Bomber is spawned, it isn't associated the index 3, but it will be associated the index 2, to fill the hole left behind.
Seems the chr_index variables make part of an array in memory, once some variable in the array is cleared, in the next opportunity it is filled up again.
If you want to reset chr_index you may want to use ai2_reset, which resets all characters to level initial state.
Native functions
- I DELETED THE VARIABLES FROM THE LIST AND PUT THEM HERE
- PLEASE TRY AND ORGANIZE THE FUNCTIONS IN A TABLE (EXAMPLE BELOW)
- ALPHABETIC ORDER. NO DUPLICATES. THEMATIC GROUPING WILL BE DONE ELSEWHERE.
geyser 04:41, 5 Jul 2006 (CEST)
- EXAMPLE TABLE
- Color
- Gray : available only on PC retail and beta 4 or earlier
- (although there are a few differences between PC retail and beta 4... oh well...)
- Type
- Bold (void only) : special console output (confirmation message, data output, ...)
- Arguments
- format is a bit wasteful (1+ line per argument)
- but at least it stays readable in 800x600 and lower
- feel free to suggest alternatives
Type | Name | Arguments | Comment | Tested |
---|---|---|---|---|
void | ai2_forget | 1. string ai_name OR int32 script_id 2. string forget_char OR void |
makes AI ai_name/script_id forget forget_char/anybody | OK |
bool | chr_has_lsi | 1. string ai_name OR int32 script_id |
returns true if character ai_name/script_id has the lsi | OK |
void | chr_weapon | 1. int32 chr_index 2. string weapon_name OR int32 weapon_num |
arms character chr_index with weapon weapon_name/weapon_num | OK |
int32 | difficulty | void | returns the difficulty level (0:easy, 1:normal, 2:hard) | OK |
void | weapon_reset | void | resets all unheld weapons to their level load state | OK |
Note the following were originally compiled by ssg
Line structure: script command [parameter] - description - example
Parameter:
- parameter you have to use this parameter
- [parameter] IMO, this parameter is an option. You can use it or not.
- (null) type only the script command, nothing else
- no parameter given type the script command and add = 0 or = 1 (sometimes you can add higher numbers, f.e. cm_distance = 200)
- Commands surrounded with * An example, which I've tried and which works fine. (Examples without the *, you can find in the level scripts. If there is no example given, so either I've tested it, but there was no visible effect, or I haven't tested it, because I was to lazy or too stupid to understand the meaning of the command or something else;-)
- Commands surrounded with ** The same as above, but you have to activate the developer mode.
- Commands in this colour will not work on a Mac nor the PC demo version
ai2_
Commands which have an effect on all AIs:
- ai2_allpassive passive:int {0 | 1} - stops all AIs from thinking for themselves - ai2_allpassive 1
- ai2_spawnall (null) - spawns all AI, even those not initially present - *ai2_spawnall*
- ai2_takecontrol on_off:int {0 | 1} - makes the AI movement system take control of the player - ai2_takecontrol 1
- ai2_kill [int] - kills all AIs, just use a number as parameter instead of a string
Commands which have an effect on one AI:
- ai2_active [ai_name:string | script_id:int] - forces an AI into active mode
- ai2_attack [ai_name:string | script_id:int] [target_name:string | target_script_id:int] - forces an AI to attack another character - ai2_attack IntroNinja 0
- ai2_barabbas_retrievegun [ai_name:string | script_id:int] - makes barabbas retrieve his gun if it is lost - ai2_barabbas_retrievegun barabus
- ai2_barabbas_run - lets Barabbas run while carrying his gun
- ai2_chump (null) - creates a chump
- ai2_chump_stop - stops the chump
- ai2_comehere [ai_name:string | script_id:int] - tells an AI to come to the player
- ai2_doalarm [ai_name:string | script_id:int] [console_id:int] - tells an AI to run for an alarm - ai2_doalarm ambush_commguy_2 4
if the AI is passive, ai2_doalarm cannot be executed
- ai2_dopath [ai_name:string | script_id:int] path_name:string - tells an AI to run a particular path - ai2_dopath A_E3 patrol_49
if the AI is passive, ai2_dopath cannot be executed
- ai2_followme [ai_name:string | script_id:int] - tells an AI to follow the player - ai2_followme s2_t05
- ai2_forget [ai_name:string | script_id:int] [forget_char:string] - makes one or all AIs forget they saw anything - ai2_forget Sec_Ambush_BOL_1
- ai2_idle [ai_name:string | script_id:int] - tells an AI to become idle - *ai2_idle A1_intro01*
- ai2_inactive [ai_name:string | script_id:int] - forces an AI into inactive mode
- ai2_kill [param1:string] [param2:string] - kills one or more AIs - ai2_kill ScanKerr01 // *ai2_kill*
- ai2_lookatchar [ai_name:string | script_id:int] [ai_name:string | script_id:int] - tells an AI to look at a character - *ai2_lookatchar 0 Barabus
needs ai2_takecontrol 1 if Konoko should do that
- ai2_lookatme [ai_name:string | script_id:int] - tells an AI to look at the player - ai2_lookatme s2_t05
- ai2_makeaware [ai_name:string | script_id:int] [target_name:string | target_script_id:int] - makes an AI aware of another character - ai2_makeaware GrifElite04 char_0
- ai2_makeblind [ai_name:string | script_id:int] on_off:int{0 | 1} - makes a single AI blind - ai2_makeblind ShinShin 1
- ai2_makedeaf [ai_name:string | script_id:int] on_off:int{0 | 1} - makes a single AI deaf - ai2_makedeaf ShinShin 1
- ai2_makeignoreplayer [ai_name:string | script_id:int] on_off:int{0 | 1} - makes a single AI ignore the player - *ai2_makeignoreplayer ParkStriker 1
- ai2_movetoflag [ai_name:string | script_id:int] flag_id:int [setfacing:string{"setfacing"}] - tells an AI to move to a flag - *ai2_movetoflag 0 1091
needs ai2_takecontrol 1 if Konoko should do that
ai2_movetoflag will only work if there is a path to that flag
- ai2_neutralbehavior [ai_name:string | script_id:int] behavior:string - sets up an AI's neutral-interaction - *ai2_neutralbehavior neutral_3 none
- ai2_noncombatant [ai_name:string | script_id:int] non_combatant:int{0 | 1} - sets or clears an AI's non-combatant state - ai2_noncombatant A1_intro01 1
- ai2_panic [ai_name:string | script_id:int] timer:int - makes an AI panic or not panic - *ai2_panic A1_s_red02 300*
I've tried ai2_panic A1_s_red02 300 ==> Oni crashed
- ai2_passive [ai_name:string | script_id:int] passive:int{0 | 1} - stops an AI from thinking for itself - ai2_passive Intro_Striker_4 1
- ai2_reset [reset_player:int] - resets AI as if start of level - *ai2_reset*
- ai2_setalert [ai_name:string | script_id:int] alert:string - sets the alert state of an AI - ai2_setalert Floor2_Striker_2 high (alert strings: lull, low, medium, high, combat)
- ai2_setjobstate [ai_name:string | script_id:int] - tells an AI to take its current state as its job - ai2_setjobstate E_Er34
if the AI is passive, ai2_setjobstate cannot be executed
- ai2_setmovementmode [ai_name:string | script_id:int] mode:string - sets an AI's current movement mode - ai2_setmovementmode finalam_striker_1 walk (movement mode strings: creep, walk, walk_noaim, run, run_noaim)
needs ai2_takecontrol 1 if Konoko should do that
- ai2_spawn ai_name:string [force_spawn:string{"force"}] - creates and starts an AI from a character object - ai2_spawn ambush_striker_2
- ai2_tripalarm - alarm_id:int [ai_name:string | script_id:int] - trips an alarm - ai2_tripalarm 2 0
chr_
Commands which have an effect on all characters:
- chr_kill_all_ai (null) - kills all the AI (not working?)
Commands which have an effect on one character:
- chr_animate [ai_name:string | script_id:int] anim_name:string [num_frames:int] [interp_frames:int] - plays an animation on a character - chr_animate 0 KONOKOcycle_ride 500
- chr_animate_block [ai_name:string | script_id:int] anim_name:string [num_frames:int] [interp_frames:int] - plays an animation on a character and blocks until done - chr_animate_block 0 KONOKOlev11_cnsl_idle 300
- chr_boss_shield [ai_name:string | script_id:int] - turns on the boss shield for a character - chr_boss_shield OutroNinja
- chr_changeteam [ai_name:string | script_id:int] team_name:string - changes a character's team - chr_changeteam guard1 Syndicate
team name strings: Konoko, TCTF, Syndicate, Neutral, SecurityGuard, RogueKonoko, Switzerland, SyndicateAccessory
- chr_create script_id:int [start_create:string {"start"} | ] - creates a character from an ID of the AISA file - chr_create 1050 start
- chr_death_lock [ai_name:string | script_id:int] [on_off:int{0 | 1}] - this character will not die too much - chr_death_lock dum_hit_flash 1
- chr_delete [ai_name:string | script_id:int] - deletes a character - chr_delete liliput_striker_1
- chr_disarm chr_index:int - disarms a character or everyone
- chr_dontaim [ai_name:string | script_id:int] on_off:int{0 | 1} - disables the weapon variant for a character
- chr_envanim [ai_name:string | script_id:int] anim:string [norotation:string{"norotation"} | ] - plays an environment animation on a character - chr_envanim 111 OutroNinjaBox01 norotation
- chr_envanim_block [ai_name:string | script_id:int] anim:string [norotation:string{"norotation"}] - plays an environment animation on a character and blocks - chr_envanim_block 110 OutroNinjaBox01 norotation
- chr_envanim_stop [ai_name:string | script_id:int] - stops any environment animation on a character - chr_envanim_stop IntroNinja
- chr_facetoflag [ai_name:string | script_id:int] flag_id:int - snaps a character's facing to a flag's facing - chr_facetoflag IntroNinja 600
- chr_focus chr_index:int - Selects what character to control - *chr_focus 1*
- chr_forceholster [ai_name:string | script_id:int] holster:int{0 | 1} [force_draw:int{0 | 1}] - forces a character to holster their weapon - chr_forceholster IntroStriker02 1
- chr_freeze [ai_name:string | script_id:int] passive:int{0 | 1} - stops an AI from thinking for itself -*chr_freeze A1_intro01 1*
[ai_name:string | script_id:int] = 0 don't work
- chr_full_health [ai_name:string | script_id:int] - sets a characters health to full by script id - chr_full_health 0
- chr_givepowerup [ai_name:string | script_id:int] powerup:string [amount:int] - gives a character a powerup -*chr_givepowerup 0 ammo 1*
powerup strings: ammo, cell, hypo, shield (in percent), invis (invisibility in frames, -1 = forever), lsi (amount is ignored)
- chr_giveweapon [ai_name:string | script_id:int] weapon_name:string - gives a character a new weapon - chr_giveweapon 0 w1_tap
weapon strings: w1_tap, w2_sap, w3_phr, w4_psm, w5_sbg, w6_vdg, w7_scc, w8_mbo, w9_scr, w10_sni, w11_ba1, w12_ba2
- chr_has_empty_weapon [ai_name:string | script_id:int] - returns if this character is holding a weapon that is empty - chr_has_empty_weapon(char_0)
This function only returns if the player is out of ammo for the weapon and the weapon is also empty.
- chr_has_lsi [ai_name:string | script_id:int] - records that the character has the lsi - chr_has_lsi(0)
- chr_health chr_index:int [hit_points:int] - sets character's health - *chr_health 0 300*
- chr_holdkey [ai_name:string | script_id:int] key_name:string num_frames:int - forces a character to hold a key down for some frames
- chr_inv_reset [ai_name:string | script_id:int] - clears a characters inventory - chr_inv_reset ambush_tanker_1a
- chr_invincible [ai_name:string | script_id:int] [on_off:int{0 | 1}] - makes a character invincible - chr_invincible char_0 1
- chr_is_player [ai_name:string | script_id:int] - returns if this character is the player - chr_is_player(character)
- chr_location chr_index:int [loc_x:float loc_y:float loc_z:float] - Sets the location of any character -*chr_location 0 100 100 100*
- chr_location_settocamera chr_index:int - Sets the location of any character to the camera location -*chr_location_settocamera 1*
- chr_lock_active [ai_name:string | script_id:int] - locks the character active - chr_lock_active IntroMuro
- chr_main_class [class_name:string | class_index:int] - sets the main characters class - *chr_main_class striker_easy_1*
This seems to be different from chr_set_class (besides the parameters). For example with chr_main_class(ninja_hard_1) your ninja will be right handed while with chr_set_class(0,ninja_hard_1) your ninja will be left handed.
- chr_neutral [ai_name:string | script_id:int] passive:int{0 | 1} - stops an AI from thinking for itself - chr_neutral ParkStriker 1
- chr_nocollision [ai_name:string | script_id:int] on_off:int{0 | 1} - disables collision for a character - chr_nocollision 0 1
- chr_pain [ai_name:string | script_id:int] pain_type:string - forces a character to play a pain sound pain type strings: light, medium, heavy, death
- chr_peace [ai_name:string | script_id:int] - turns off fight mode - chr_peace 0
- chr_playback [ai_name:string | script_id:int] film_name:string [mode:string{"fromhere" | "interp"}] [num_frames:int] - plays back a film
- chr_playback_block [ai_name:string | script_id:int] film_name:string [mode:string{"fromhere" | "interp"}] [num_frames:int] - plays back a film and blocks until complete
- chr_poison [ai_name:string | script_id:int] damage:int interval:int [initial_interval:int] - slowly poisons a character - chr_poison (konoko, 10, 60, 90);
- chr_set_class chr_index:int [class_name:string | class_index:int] - sets the character class of a specific character - *chr_set_class 0 striker_easy_1*
- chr_set_health [ai_name:string | script_id:int] hit_points:int - sets a characters health by script id - chr_set_health dum_hit_flash 50
- chr_shadow [ai_name:string | script_id:int] [on_off:int{0 | 1}] - turns of the shadow for this character - chr_shadow ZomShin 1
- chr_super [ai_name:string | script_id:int] super_amount:float - set's a character's super value - chr_super 0 1
- chr_talk [ai_name:string | script_id:int] sound_name:string pre_pause:int post_pause:int [priority:string | ] - causes a character to play a line of dialogue - chr_talk victim_mansci_1 c02_62_11sci 0 0
- chr_teleport [ai_name:string | script_id:int] flag_id:int - teleports a character to a flag - chr_teleport 0 105
- chr_ultra_mode [ai_name:string | script_id:int] [on_off:int{0 | 1}] - enables ultra mode for a character
- chr_unkillable [ai_name:string | script_id:int] [on_off:int{0 | 1}] - makes a character unkillable -*chr_unkillable A1_intro01 1*
- chr_unlock_active [ai_name:string | script_id:int] - unlocks the character active
- chr_unstoppable [ai_name:string | script_id:int] [on_off:int{0 | 1}] - makes a character unstoppable - chr_unstoppable IntroMuro 1
- chr_vocalize [ai_name:string | script_id:int] type:string - makes a character utter a vocalization (vocalize type strings: override, yell, pain, call, say, chatter, idle)
- chr_wait_animation [ai_name:string | script_id:int] [anim_name:string] - waits for a character to play a specific animation - chr_wait_animation 0 KONSPRrun_lt KONSPRrun_rt
- chr_wait_animstate [ai_name:string | script_id:int] [anim_name:string] - waits for a character to reach a specific animation state - chr_wait_animstate 0 run_slide
- chr_wait_animtype [ai_name:string | script_id:int] [anim_name:string] - waits for a character to play a specific animation type - chr_wait_animtype 0 jump
- chr_wait_health [ai_name:string | script_id:int] health_amount:float - waits until a character's health falls below a value - chr_wait_health Muro 200
- chr_weapon chr_index:int [weapon_name:string | weapon_num:int] - sets the weapon for a give character
- chr_weapon_immune [ai_name:string | script_id:int] - makes a character weapon immune - chr_weapon_immune(vat_bot_1); // *chr_weapon_immune 0*
cinematic_
- cinematic_start bitmap_name:string draw_width:int draw_height:int start:int end:int velocity:float mirror:bool - start the display of a cinematic insert - cinematic_start (MUROtalking, 180, 180, 15, 1, 15, false)
- cinematic_stop bitmap_name:string end:int velocity:float - stop the display of a cinematic insert - cinematic_stop (KONtalkangryfront, 16, 20)
This picture shows layout of the "flags" used by cinematic_start/stop (those start:int; end:int numbers). Blue-visible screen, yellow-behind visible screen. If you set zero flag (cinematic_start MUROtalking, 180,180, 0, 0, 15, false) picture is displayed in the top-left corner of the visible part. If you set it to higher number than 25, picture will not be displayed.
cm_
- cm_anim cam_spec:string{"move" | "look" | "both"} anim_name:string - initiates a camera animation - cm_anim both OutroCam03
- cm_anim_block cam_spec:string{"move" | "look" | "both"} anim_name:string - initiates a camera animation - *cm_anim_block both OutroCam04
- cm_barabus [ai_name:string | script_id:int] away:float up:float time:int - special camera for barabus
- cm_detach (null) - detaches the camera - cm_detach
- cm_interpolate cam_name:string num_frames:int - initiates a camera interpolation - cm_interpolate GrifCam01 180
- cm_interpolate_block anim_name:string num_frames:int - initiates a camera interpolation - cm_interpolate_block OutroCam05 180
- cm_jello mode:int {0 | 1} - toggles camera Jello(tm) mode - cm_jello 1
if cm_jello 0, the walls aren't transparent any longer
- cm_orbit speed:float [stopangle:float] - puts the camera in orbit mode - cm_orbit .1
- cm_orbit_block speed:float [stopangle:float] - puts the camera in orbit mode - *cm_orbit_block 2 180*
- cm_reset [maxspeed:float] [maxFocalAccel:float] - resets the camera - cm_reset
- cm_wait (null) - makes the camera wait until it is no longer busy - cm_wait
console_
- console_activate console_id:int - activates a console - console_activate 14
- console_deactivate console_id:int - deactivates a console - console_deactivate 5
- console_reset console_id:int - resets a console to initial state - console_reset 7 text_console name:string - Turns on the text console display - text_console level_6d
corpse
- corpse_reset (null) - resets corpses to their initial state - *corpse_reset*
- make_corpse corpse_name:string - makes a corpse
- trigvolume_corpse trig_id:int - kills all the corpses inside a trigger volume - trigvolume_corpse 32
cutscene
- begin_cutscene (null) - begins a cutscene - begin_cutscene
begin_cutscene weapon - player does not holster his weapon when cutscene starts
- cutscene_sync (null) - marks a point in a cutscene - cutscene_sync on
- end_cutscene (null) - ends a cutscene - end_cutscene
- fade_in ticks:int - fades the screen in - fade_in 120
- fade_out [r:float | r:int] [g:float | g:int] [b:float | b:int] ticks:int - fades the screen out - fade_out 0 0 0 120
- input on_off:int{0 | 1} - turns input on or off - input 0
- letterbox start_stop:int{0 | 1} - starts or stops letterboxing - letterbox 0
- playback [ai_name:string | script_id:int] film_name:string [mode:string{"fromhere" | "interp"}] [num_frames:int] - plays back a film - Hangar1_A_Striker_1 hangar1_striker1 interp 30
- playback_block [ai_name:string | script_id:int] film_name:string [mode:string{"fromhere" | "interp"}] [num_frames:int] - plays back a film and blocks until complete - playback_block Start_Friend_1 roll fromhere // *playback_block hangar1f_enemy_2 bomber_jump interp 30
diary_
- diary_page_unlock page:int - unlocks a specific diary page on the current level
door_
- 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_lock door_id:int - locks a door - door_lock 6
- door_unlock door_id:int - unlocks a door - door_unlock 5
- door_jam door_id:int - jams a door in its current state - door_jam 5
- door_unjam door_id:int - unjams a door so characters can open it - door_unjam 8
env_
- env_anim obj_id:int [ obj_id:int] - initiates an environment animation for an object - env_anim 901 906
- env_anim_block obj_id:int [ obj_id:int] - initiates an environment animation: blocks until completed
- env_broken gq_ref:int [gq_endref:int] - computes the number of objects in a range that have all their glass broken - env_broken(3001, 3018);
- env_setanim obj_id:int object_name:string - sets up an animation for an object - env_setanim 52 truckcabstop
- env_setanim_block obj_id:int object_name:string - sets up an animation: blocks until completed
- env_shade gq_ref:int gq_ref:int r:float g:float b:float - sets the shade of a block of objects - env_shade 1500 1501 .9 .8 .9
- env_show gq_ref:int on_off:int{0 | 1} - turns on or off specified parts of the environment - env_show 31 1
- env_texswap gq_start:int tex_name:string - swaps an environment texture - *env_texswap 401 PIPE_YELLOW*
tested in level 19 save point 4
game
- chr_has_empty_weapon [ai_name:string | script_id:int] - returns if this character is holding a weapon that is empty - chr_has_empty_weapon(char_0)
- chr_has_lsi [ai_name:string | script_id:int] - records that the character has the lsi - chr_has_lsi(0)
- chr_is_player [ai_name:string | script_id:int] - returns if this character is the player - chr_is_player(character)
- did_kill_griffen (null) - returns if we did kill griffen - did_kill_griffen()
- difficulty (null) - returns the difficulty level
- killed_griffen murder:bool - sets if we killed griffen - killed_griffen 1
- lose (null) - lose this level - lose
- p3_removedangerous (null) - removes all "dangerous projectile" particles by making their lifetime expire - p3_removedangerous
- restore_game (null) - restores the game - restore_game
- save_game save_point:int [type:string{"autosave"}] - saves the game - save_game 1 autosave
- splash_screen texture:string - displays a splash screen - splash_screen warehouse_splash_screen
- win (null) - win this level - win
graphics
- gl_fog_end_changeto end_val:float [frames:int] - changes the fog end distance smoothly
- gl_fog_start_changeto start_val:float [frames:int] - changes the fog start distance smoothly - gl_fog_start_changeto .995 30
- gs_farclipplane_set plane:float - sets the far clipping plane - gs_farclipplane_set 5000
- gs_fov_set fov_degrees:float - sets the field of view - *gs_fov_set 300*
input
- bind input_name:string to:string{"to"} input_function:string - binds an input to a function - *bind numpad0 to forward*
- lock_keys [key_name:string] - locks keys out - lock_keys keys_walk key name strings: keys_reload, keys_hypo, keys_walk, keys_inventory, keys_action, keys_pause, keys_attack, keys_crouch, keys_jump, keys_movement
- unbind input_name:string - removes a binding from a input function - *unbind numpad0*
- unbindall (null) - removes all bindings - *unbindall*
message
- dmsg astring:string - debugging message - *dmsg [b. hello]*
[b. hello] ==> b stands for blue, it's the colour of the word hello [.hello] ==> without a character in front of the point, the colour of the word is white. Available colours: b (blue), c (cyan), g (green), l (lila), o (orange), r (red), u (umber), y (yellow)
- message message:string [timer:int] - sends a message from the subtitle file - message begin_fight 240
- message_remove [message:string] - removes a currently displayed message - message_remove c01_50_23 // *message_remove*
movie
- movie_play name:string - function to start a movie playing
object
- obj_create obj_id:int [obj_id:int] - creates a range of objects - obj_create 81 82
- obj_force_draw obj_id:int [obj_id:int] - locks an object as visible - obj_force_draw 501 504
- obj_hide obj_id:int [obj_id:int] - hides an object
- obj_kill obj_id:int [obj_id:int] - kills a range of object - obj_kill 100 104
- obj_shade obj_id:int [obj_id:int] r:float g:float b:float - turns display of an object on or off - obj_shade 801 801 .4 .4 .4
- obj_show obj_id:int [obj_id:int] - shows an object - obj_show 481 481
objective
- objective_complete (null) - plays the objective-complete sound
- objective_set page:int [make_silent:string {"silent"}] - Sets the current objective page - objective_set(7,silent) // *objective_set 3 silent*
player
- fall_back (null) - makes the player character fall back - *fall_back*
- fall_front (null) - makes the player character fall front - *fall_front*
- give_powerup powerup_name:string [amount:int] [character:int] - Gives a powerup to a character - give_powerup ammo
powerup strings: ammo, cell, hypo, shield (in percent), invis (in frames, -1 = forever), lsi (amount ignored)
- goto [loc_x:float loc_y:float loc_z:float] - Sets the location of the player character - *goto 100 100 100*
powerup
- chr_givepowerup [ai_name:string | script_id:int] powerup:string [amount:int] - gives a character a powerup - *chr_givepowerup 0 ammo 1*
- give_powerup powerup_name:string [amount:int] [character:int] - Gives a powerup to a character - give_powerup ammo
to both above: powerup strings: ammo, cell, hypo, shield (in percent), invis (in frames), lsi (amount ignored)
- powerup_reset (null) - resets all placed powerups to their starting points - *powerup_reset*
- powerup_spawn poweruptype:string flag:int - creates a new powerup - powerup_spawn ammo 7042
reset
- ai2_reset [reset_player:int] - resets AI as if start of level - *ai2_reset*
It also seems to reset consoles!
- chr_inv_reset [ai_name:string | script_id:int] - clears a characters inventory - chr_inv_reset ambush_tanker_1a
- cm_reset [maxspeed:float] [maxFocalAccel:float] - resets the camera - cm_reset
- console_reset console_id:int - resets a console to initial state - console_reset 7
- corpse_reset (null) - resets corpses to their initial state - *corpse_reset*
- powerup_reset (null) - resets all placed powerups to their starting points - *powerup_reset*
- reset_mechanics (null) - resets all level mechanics (triggers, turrets, consoles, etc...) to initial state - *reset_mechanics*
- sound_objects_reset (null) - reloads the sounds objects
- trig_reset trigger_id:int - resets a trigger to non-triggered state - trig_reset 91
- trigvolume_reset name:string - reset a trigger volume to its level-load state - trigvolume_reset tv_move4
- turret_reset turret_id:int - resets a turret to initial state
- weapon_reset (null) - resets all unheld weapons to their starting state - *weapon_reset*
slowmotion
- slowmo duration:int - starts the slowmotion timer - slowmo 120
sound
- chr_pain [ai_name:string | script_id:int] pain_type:string - forces a character to play a pain sound
pain type strings: light, medium, heavy, death
- chr_talk [ai_name:string | script_id:int] sound_name:string pre_pause:int post_pause:int [priority:string | ] - causes a character to play a line of *dialogue - chr_talk victim_mansci_1 c02_62_11sci 0 0
- sound_ambient_start name:string [volume:float] - function to start an ambient sound - sound_ambient_start alarm_loop
- sound_ambient_stop name:string - function to stop an ambient sound - sound_ambient_stop alarm_loop
- sound_ambient_volume name:string [volume:float] [time:float] - function to set the volume of a playing ambient sound - sound_ambient_volume alarm_loop .35 1.0
- sound_dialog_play name:string - function to start character dialog playing - sound_dialog_play c00_01_18shinatama
- sound_dialog_play_block name:string - function to start character dialog playing after the current dialog finishes - sound_dialog_play_block c00_01_67shinatama
- sound_dialog_play_interrupt name:string - function to interrupt the current character dialog and play a new one - sound_dialog_play_interrupt c00_01_66shinatama
- sound_impulse_play name:string [volume:float] - function plays an impulse sound - sound_impulse_play glass_big 1.0
- sound_music_start name:string [volume:float] - function to start music playing - sound_music_start mus_asian 0.75
- sound_music_stop name:string - function to stop playing music - sound_music_stop mus_asian
- sound_music_volume name:string volume:float [time:float] - function to set the volume of playing music - sound_music_volume mus_asian 0.35 1.0
- sound_objects_reset (null) - reloads the sounds objects
target
- target_set flag_id:int min_distance:float - Sets the target to the specified flag - target_set(7085,30.00)
timer
- timer_start duration:float script:string - starts the countdown timer - timer_start 30 pipe1b
- timer_stop (null) - stops the countdown timer - timer_stop
laser triggers
- trig_activate trigger_id:int - activates a trigger - trig_activate 2
- trig_deactivate trigger_id:int - deactivates a trigger - trig_deactivate 2
- trig_hide trigger_id:int - hides a trigger - trig_hide 91
- trig_show trigger_id:int - shows a trigger - trig_show 91
- trig_speed trigger_id:int volume:float - sets a triggers speed - trig_speed 514 .15
- trig_reset trigger_id:int - resets a trigger to non-triggered state - trig_reset 91
trigger volumes
- trigvolume_corpse trig_id:int - kills all the corpses inside a trigger volume - trigvolume_corpse 32
- trigvolume_count trig_id:int - counts the number of people in a trigger volume - trigvolume_count(36)
- trigvolume_enable name:string enable:int{0 | 1} [type:string{"all" | "entry" | "inside" | "exit"}] - enable or disable a trigger volume - trigvolume_enable lowroad1 0
- trigvolume_kill trig_id:int - kills all the characters inside a trigger volume - trigvolume_kill 64
- trigvolume_reset name:string - reset a trigger volume to its level-load state - trigvolume_reset tv_move4
- trigvolume_setscript name:string script:string type:string{"entry" | "inside" | "exit"} - set the script to call from a trigger volume
- trigvolume_trigger name:string type:string{"entry" | "inside" | "exit"} [ai_name:string | script_id:int] - fire off a trigger volume
turret
- turret_activate turret_id:int - activates a turret
- turret_deactivate turret_id:int - deactivates a turret - turret_deactivate 20
- turret_reset turret_id:int - resets a turret to initial state
ui (hud)
- ui_fill_element element_name:string fill:int - sets part of the HUD to completely filled
- ui_flash_element element_name:string fill:int - sets part of the HUD to flash or not flash - ui_flash_element compass 1 (health)
- ui_show_element element_name:string show:int - shows or hides part of the HUD - *ui_show_element left 1*
- ui_show_help enable:int - debugging: enables the HUD help overlays - *ui_show_help 1*
weapon
- weapon_reset (null) - resets all unheld weapons to their starting state - *weapon_reset*
- weapon_spawn weapontype:string flag:int - creates a new weapon - weapon_spawn w3_phr 7045