BSL:Functions: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (Rationalization)
Line 8: Line 8:
==Multithreading==
==Multithreading==
Put usage of <tt>fork</tt> here.
Put usage of <tt>fork</tt> here.
==Script Commands==
==Native functions==
;I DELETED THE VARIABLES FROM THE LIST AND PUT THEM [[OSL:Variables|HERE]]
;PLEASE TRY AND ORGANIZE THE FUNCTIONS IN A TABLE (EXAMPLE BELOW)
;ALPHABETIC ORDER. NO DUPLICATES. THEMATIC GROUPING WILL BE DONE ELSEWHERE.
[[User:Geyser|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) : prints confirmation message to console
{|border=1 cellspacing=0 cellpadding=1
!Type!!Name!!Arguments!!Comment!!Tested
|-
|void||ai2_forget||string ai_name / int32 script_id<br>string forget_char||makes AI '''ai_name'''/'''script_id''' forget '''forget_char'''/anybody||OK
|-
|bool||chr_has_lsi||string ai_name / int32 script_id||returns true if character '''ai_name'''/'''script_id''' has the lsi||OK
|-bgcolor="silver"
|'''void'''||chr_weapon||int chr_index<br>string weapon_name / int 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
|-bgcolor="silver"
|void||weapon_reset||void||resets all unheld weapons to their level load state||OK
|}
Note the following were originally compiled by [http://www6.fh-eberswalde.de/user/dkriesch/onistuff/commands.htm ssg]
Note the following were originally compiled by [http://www6.fh-eberswalde.de/user/dkriesch/onistuff/commands.htm ssg]


Line 20: Line 44:
*no parameter given type the script command and add = 0 or = 1 (sometimes you can add higher numbers, f.e. cm_distance = 200)
*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 to stupid to understand the meaning of the command or something else;-)
*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 surrounded with '''**''' The same as above, but you have to activate the developer mode.
*<span style="color:green"> Commands in this colour will not work on a Mac nor the PC demo version</span>
*<span style="color:green"> Commands in this colour will not work on a Mac nor the PC demo version</span>
Line 27: Line 51:


*ai2_allpassive passive:int {0 | 1} - stops all AIs from thinking for themselves - ai2_allpassive 1
*ai2_allpassive passive:int {0 | 1} - stops all AIs from thinking for themselves - ai2_allpassive 1
*ai2_blind - turns off the AI's visual sensing system - *ai2_blind = 1*
*ai2_boss_battle - enables AI boss-battle target selection - ai2_boss_battle = 1
*ai2_deaf - turns off the AI's sound sensing system - *ai2_deaf = 1*
*ai2_ignore_player - makes all AI ignore the player - ai2_ignore_player = 1
*ai2_spawnall (null) - spawns all AI, even those not initially present - *ai2_spawnall*
*ai2_spawnall (null) - spawns all AI, even those not initially present - *ai2_spawnall*
*ai2_stopignoring_count - set the number of events before the AI will stop ignoring
*ai2_stopignoring_time - set the delay timer before the AI forgets about ignored events
*ai2_takecontrol on_off:int {0 | 1} - makes the AI movement system take control of the player - ai2_takecontrol 1
*ai2_takecontrol on_off:int {0 | 1} - makes the AI movement system take control of the player - ai2_takecontrol 1


Line 44: Line 62:
*ai2_chump_stop - stops the chump
*ai2_chump_stop - stops the chump
*ai2_comehere [ai_name:string | script_id:int] - tells an AI to come to the player
*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_doalarm [ai_name:string | script_id:int] [console_id:int] - tells an AI to run for an alarm - ai2_doalarm ambush_commguy_2 4
*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''
''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_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_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
Line 51: Line 71:
*ai2_inactive [ai_name:string | script_id:int] - forces an AI into inactive mode
*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_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_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_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_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
Line 57: Line 78:
*ai2_makedeaf [ai_name:string | script_id:int] on_off:int{0 | 1} - makes a single AI deaf - ai2_makedeaf 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_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 [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_neutralbehavior [ai_name:string | script_id:int] behavior:string - sets up an AI's neutral-interaction - *ai2_neutralbehavior neutral_3 none
*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_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_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_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_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_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_setjobstate [ai_name:string | script_id:int] - tells an AI to take its current state as its job - ai2_setjobstate E_Er34
*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''
''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_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
*ai2_tripalarm - alarm_id:int [ai_name:string | script_id:int] - trips an alarm - ai2_tripalarm 2 0
Line 72: Line 97:
'''Commands which have an effect on all characters:'''
'''Commands which have an effect on all characters:'''


*<span style="color:green">chr_active - enables character activity - *chr_active = 0*</span>
*<span style="color:green">chr_aim_width - number of degress of aiming width</span>
*<span style="color:green">chr_all_active - forces all characters to be active - *chr_all_active = 1*</span>
*<span style="color:green">chr_auto_aim_arc - number of degress of auto aiming arc</span>
*<span style="color:green">chr_auto_aim_dist - distance for auto aiming</span>
*chr_big_head - Draws everyone with a big head - chr_big_head = 1</span>
*<span style="color:green">chr_big_head_amount - Controls the size of the big head - *chr_big_head_amount = 5 ''needs chr_big_head = 1''</span>
*<span style="color:green">chr_block_angle - controls the angle at which the characters can block</span>
*<span style="color:green">chr_corpse_fade_offscreen - makes corpses fade when they are offscreen</span>
*<span style="color:green">chr_death_fade_frames - the number of game ticks until charaters fade over</span>
*<span style="color:green">chr_death_fade_start - the number of game ticks until charaters begin to fade</span>
*<span style="color:green">chr_disable_melee - turns off all melee damage</span>
*<span style="color:green">chr_disable_visactive - disable visibility activation - *chr_disable_visactive = 1*</span>
*<span style="color:green">chr_enable_collision - enables character collision - *chr_enable_collision = 0*</span>
*<span style="color:green">chr_kill_all_ai (null) - kills all the AI</span>
*<span style="color:green">chr_kill_all_ai (null) - kills all the AI</span>
*<span style="color:green">chr_lod - forces a given lod if it is between 0 and 4</span>
*<span style="color:green">chr_mini_me - decreases the size of the main character - *chr_mini_me = 1*</span>
*<span style="color:green">chr_mini_me_amount - controls the size of the main character - *chr_mini_me_amount = 20* ''needs chr_mini_me = 1''</span>
*<span style="color:green">chr_pin_character - pins a character to the ground - *chr_pin_character = 1*</span>
*<span style="color:green">chr_weapon_auto_aim - enables auto aiming</span>


'''Commands which have an effect on one character:
'''Commands which have an effect on one character:
Line 98: Line 104:
*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_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_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, Switzlerland, SyndicateAccessory''
*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_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_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
Line 110: Line 117:
*<span style="color:green">chr_focus chr_index:int - Selects what character to control - *chr_focus 1*</span>
*<span style="color:green">chr_focus chr_index:int - Selects what character to control - *chr_focus 1*</span>
*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_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_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_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 1/60 seonds), lsi''
*chr_givepowerup [ai_name:string | script_id:int] powerup:string [amount:int] - gives a character a powerup -*chr_givepowerup 0 ammo 1*
*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''
''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)
*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_has_lsi [ai_name:string | script_id:int] - records that the character has the lsi - chr_has_lsi(0)
Line 150: Line 160:
===cinematic_===
===cinematic_===


*cinematic_border - !no description! - not listed in the script_commands.txt file ???
*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_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)
*cinematic_stop bitmap_name:string end:int velocity:float - stop the display of a cinematic insert - cinematic_stop (KONtalkangryfront, 16, 20)
*<span style="color:green">cinematic_xoffset - offset from the vertical edge of the screen for the cinematic insert</span>
*<span style="color:green">cinematic_yoffset - offset from the horizontal edge of the screen for the cinematic insert</span>


===cm_===
===cm_===
Line 160: Line 167:
*cm_anim_block cam_spec:string{"move" | "look" | "both"} anim_name:string - initiates a camera animation - *cm_anim_block both OutroCam04
*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_barabus [ai_name:string | script_id:int] away:float up:float time:int - special camera for barabus
*<span style="color:green">cm_canter_unarmed - camera canter - *cm_canter_unarmed = 30*</span>
*<span style="color:green">cm_canter_weapon - camera canter
*cm_detach (null) - detaches the camera - cm_detach
*cm_detach (null) - detaches the camera - cm_detach
*<span style="color:green">cm_distance - camera distance - *cm_distance = 200*</span>
*<span style="color:green">cm_height - camera height - *cm_height = 50*</span>
*cm_interpolate cam_name:string num_frames:int - initiates a camera interpolation - cm_interpolate GrifCam01 180
*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_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_jello mode:int {0 | 1} - toggles camera Jello(tm) mode - cm_jello 1
*<span style="color:green">cm_jello_amt - sets the transparency of walls - *cm_jello_amt = 50*</span>
''if cm_jello 0, the walls aren't transparent any longer''
*<span style="color:green">cm_jello_radius - !no description!</span>
*<span style="color:green">cm_lookspring_percent - at what percent of lookspring fight mode turns off</span>
*cm_orbit speed:float [stopangle:float] - puts the camera in orbit mode - cm_orbit .1
*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_orbit_block speed:float [stopangle:float] - puts the camera in orbit mode - *cm_orbit_block 2 180*
*<span style="color:green">cm_plane_test - jello camera plane test</span>
*cm_reset [maxspeed:float] [maxFocalAccel:float] - resets the camera - cm_reset
*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
*cm_wait (null) - makes the camera wait until it is no longer busy - cm_wait
Line 185: Line 185:
===corpse===
===corpse===


*<span style="color:green">chr_corpse_fade_offscreen - makes corpses fade when they are offscreen</span>
*<span style="color:green">chr_death_fade_frames - the number of game ticks until charaters fade over</span>
*<span style="color:green">chr_death_fade_start - the number of game ticks until charaters begin to fade</span>
*<span style="color:green">corpse_reset (null) - resets corpses to their initial state - *corpse_reset*</span>
*<span style="color:green">corpse_reset (null) - resets corpses to their initial state - *corpse_reset*</span>
*<span style="color:green">make_corpse corpse_name:string - makes a corpse</span>
*<span style="color:green">make_corpse corpse_name:string - makes a corpse</span>
Line 206: Line 203:
===diary_===
===diary_===


*<span style="color:green"> diary_page_unlock page:int - unlocks a specific diary page on the current level
*<span style="color:green"> diary_page_unlock page:int - unlocks a specific diary page on the current level</span>
</span>


===door_===
===door_===
'''Commands which have an effect on all doors:'''
*<span style="color:green"> door_ignore_locks - disables all door locks - *door_ignore_locks = 1*</span>
'''Commands which have an effect on one 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
Line 226: Line 216:
===env_===
===env_===


*env_anim obj_id:int [ obj_id:int] - initiates a 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
*env_anim_block obj_id:int [ obj_id:int] - initiates a environment animation: blocks until completed
*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_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);
*<span style="color:green">env_collision - enables environment collision</span>
*env_setanim obj_id:int object_name:string - sets up an animation for an object - env_setanim 52 truckcabstop
*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_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_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_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''
*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===
===game===
Line 248: Line 238:
*restore_game (null) - restores the game - restore_game
*restore_game (null) - restores the game - restore_game
*save_game save_point:int [type:string{"autosave"}] - saves the game - save_game 1 autosave
*save_game save_point:int [type:string{"autosave"}] - saves the game - save_game 1 autosave
*save_point - which save point we are on - save_point = 1
*splash_screen texture:string - displays a splash screen - splash_screen warehouse_splash_screen
*splash_screen texture:string - displays a splash screen - splash_screen warehouse_splash_screen
*win (null) - win this level - win
*win (null) - win this level - win
Line 254: Line 243:
===graphics===
===graphics===


*gl_fog_disabled - fog disabled ???
*<span style="color:green">gl_disable_depth_reads - disable_depth_reads</span>
*gl_fog_start val:float - fog start - gl_fog_start = .975
*gl_fog_end val:float - fog end - gl_fog_end = 1
*gl_fog_green val:float - fog green - gl_fog_green = .15
*gl_fog_blue val:float - fog blue - gl_fog_blue = .15
*gl_fog_red val:float - fog red - gl_fog_red = .15
*gl_fog_end_changeto end_val:float [frames:int] - changes the fog end distance smoothly
*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
*gl_fog_start_changeto start_val:float [frames:int] - changes the fog start distance smoothly - gl_fog_start_changeto .995 30
Line 272: Line 254:
*unbind input_name:string - removes a binding from a input function - *unbind numpad0*
*unbind input_name:string - removes a binding from a input function - *unbind numpad0*
*unbindall (null) - removes all bindings - *unbindall*
*unbindall (null) - removes all bindings - *unbindall*
*<span style="color:green">wait_for_key - makes the game wait for a key before level load - *wait_for_key = 0*</span>


===message===
===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)''
*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 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*
*message_remove [message:string] - removes a currently displayed message - message_remove c01_50_23 // *message_remove*
*ui_suppress_prompt - suppresses UI prompting about new objectives or moves - ui_suppress_prompt = 1


===movie===
===movie===
Line 296: Line 277:
===objective===
===objective===


*new_objective - no description ???
*<span style="color:green">objective_complete (null) - plays the objective-complete sound</span>
*<span style="color:green">objective_complete (null) - plays the objective-complete sound</span>
*objective_set page:int [make_silent:string {"silent"}] - Sets the current objective page - objective_set(7,silent) // *objective_set 3 silent* ui_suppress_prompt - suppresses UI prompting about new objectives or moves - ui_suppress_prompt = 1
*objective_set page:int [make_silent:string {"silent"}] - Sets the current objective page - objective_set(7,silent) // *objective_set 3 silent*


===player===
===player===
Line 304: Line 284:
*<span style="color:green">fall_back (null) - makes the player character fall back - *fall_back*</span>
*<span style="color:green">fall_back (null) - makes the player character fall back - *fall_back*</span>
*<span style="color:green">fall_front (null) - makes the player character fall front - *fall_front*</span>
*<span style="color:green">fall_front (null) - makes the player character fall front - *fall_front*</span>
*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 1/60 seonds), lsi''
*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)''
*<span style="color:green">goto [loc_x:float loc_y:float loc_z:float] - Sets the location of the player character - *goto 100 100 100*</span>
*<span style="color:green">goto [loc_x:float loc_y:float loc_z:float] - Sets the location of the player character - *goto 100 100 100*</span>
*invincible - makes player invincible - invincible = 1
*omnipotent - makes player omnipotent - omnipotent = 1
*unstoppable - makes player unstoppable


===powerup===
===powerup===


*chr_givepowerup [ai_name:string | script_id:int] powerup:string [amount:int] - gives a character a powerup - *chr_givepowerup 0 ammo 1*
*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 1/60 seonds), lsi''
*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)''
*<span style="color:green">powerup_reset (null) - resets all placed powerups to their starting points - *powerup_reset*</span>
*<span style="color:green">powerup_reset (null) - resets all placed powerups to their starting points - *powerup_reset*</span>
*powerup_spawn poweruptype:string flag:int - creates a new powerup - powerup_spawn ammo 7042
*powerup_spawn poweruptype:string flag:int - creates a new powerup - powerup_spawn ammo 7042
*<span style="color:green">wp_fadetime - sets free time for powerups (maybe this is the fade time for weapons)</span>
*<span style="color:green">wp_hypostrength - sets strength of hypo spray</span>


===reset===
===reset===
Line 326: Line 303:
*console_reset console_id:int - resets a console to initial state - console_reset 7
*console_reset console_id:int - resets a console to initial state - console_reset 7
*<span style="color:green">corpse_reset (null) - resets corpses to their initial state - *corpse_reset*</span>
*<span style="color:green">corpse_reset (null) - resets corpses to their initial state - *corpse_reset*</span>
*<span style="color:green">gs_show_corpses - show corpses - *gs_show_corpses = 0*</span>
*<span style="color:green">powerup_reset (null) - resets all placed powerups to their starting points - *powerup_reset*</span>
*<span style="color:green">powerup_reset (null) - resets all placed powerups to their starting points - *powerup_reset*</span>
*reset_mechanics (null) - resets all level mechanics (triggers, turrets, consoles, etc...) to initial state - *reset_mechanics*
*reset_mechanics (null) - resets all level mechanics (triggers, turrets, consoles, etc...) to initial state - *reset_mechanics*
Line 341: Line 317:
===sound===
===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_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
*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_start name:string [volume:float] - function to start an ambient sound - sound_ambient_start alarm_loop
Line 357: Line 334:
===target===
===target===


*<span style="color:green">target_max_distance - Sets the distance at which the radar will start to change from its minimum</span>
*target_set flag_id:int min_distance:float - Sets the target to the specified flag - target_set(7085,30.00)
*target_set flag_id:int min_distance:float - Sets the target to the specified flag - target_set(7085,30.00)


Line 365: Line 341:
*timer_stop (null) - stops the countdown timer - timer_stop
*timer_stop (null) - stops the countdown timer - timer_stop


===trigger (laser)===
===laser triggers===


*marketing_line_off - turns the laser line off - marketing_line_off = 1
*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
Line 375: Line 350:
*trig_reset trigger_id:int - resets a trigger to non-triggered state - trig_reset 91
*trig_reset trigger_id:int - resets a trigger to non-triggered state - trig_reset 91


===trigger volume===
===trigger volumes===


*trigvolume_corpse trig_id:int - kills all the corpses inside a trigger volume - trigvolume_corpse 32
*trigvolume_corpse trig_id:int - kills all the corpses inside a trigger volume - trigvolume_corpse 32
Line 393: Line 368:
===ui (hud)===
===ui (hud)===


*<span style="color:green">gs_show_ui - turns on the ui - *gs_show_ui = 0*</span>
*<span style="color:green">ui_fill_element element_name:string fill:int - sets part of the HUD to completely filled</span>
*<span style="color:green">ui_fill_element element_name:string fill:int - sets part of the HUD to completely filled</span>
*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_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_element element_name:string show:int - shows or hides part of the HUD - *ui_show_element left 1*
*<span style="color:green">ui_show_help enable:int - debugging: enables the HUD help overlays - *ui_show_help 1*</span>
*<span style="color:green">ui_show_help enable:int - debugging: enables the HUD help overlays - *ui_show_help 1*</span>
*ui_suppress_prompt - Suppresses UI prompting about new objectives or moves - ui_suppress_prompt = 1


===weapon===
===weapon===


*<span style="color:green">chr_weapon_auto_aim - enables auto aiming</span>
*<span style="color:green">weapon_reset (null) - resets all unheld weapons to their starting state - *weapon_reset*</span>
*<span style="color:green">weapon_reset (null) - resets all unheld weapons to their starting state - *weapon_reset*</span>
*weapon_spawn weapontype:string flag:int - creates a new weapon - weapon_spawn w3_phr 7045
*weapon_spawn weapontype:string flag:int - creates a new weapon - weapon_spawn w3_phr 7045
*wp_disable_fade - disables weapon fading - wp_disable_fade = 1
*<span style="color:green">wp_fadetime - sets free time for powerups (maybe this is the fade time for weapons)</span>
*<span style="color:green">wp_force_half_scale - !no description!</span>
*<span style="color:green">wp_force_no_scale - !no description!</span>
*<span style="color:green">wp_force_scale - !no description!</span>
*<span style="color:green">wp_kickable - lets the player kick weapons</span>
*<span style="color:green">wp_pow_adjustment - !no description!</span>
*<span style="color:green">wp_scale_adjustment - !no description!</span>

Revision as of 02:41, 5 July 2006

Signature

Arguments

Put usage of brackets and commas here. Also tell about the weak syntax (with space as a separator).

Return value

Put usage of return here.

Declaration

Put usage of func here.

Multithreading

Put usage of fork here.

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) : prints confirmation message to console
Type Name Arguments Comment Tested
void ai2_forget string ai_name / int32 script_id
string forget_char
makes AI ai_name/script_id forget forget_char/anybody OK
bool chr_has_lsi string ai_name / int32 script_id returns true if character ai_name/script_id has the lsi OK
void chr_weapon int chr_index
string weapon_name / int 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

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_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

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)
  • 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_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_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)

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
  • 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*
  • 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