0% found this document useful (0 votes)
46 views5 pages

External Script

The document is a decompiled script for a game, specifically designed for use with Sanny Builder version 2.99F. It defines various game objects, missions, and external scripts, including a militia script that controls actor behaviors and interactions with the player. The script includes commands for setting player attributes, managing weather, and defining actor actions and decision-making processes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views5 pages

External Script

The document is a decompiled script for a game, specifically designed for use with Sanny Builder version 2.99F. It defines various game objects, missions, and external scripts, including a militia script that controls actor behaviors and interactions with the player. The script includes commands for setting player attributes, managing weather, and defining actor actions and decision-making processes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

// This file was decompiled using SASCM.

INI published by Seemann


(http://sannybuilder.com/files/SASCM.rar) on 23.02.2007
DEFINE OBJECTS 1
DEFINE OBJECT SANNY BUILDER v. 2.99F

DEFINE MISSIONS 0

DEFINE EXTERNAL_SCRIPTS 1 // Use -1 in order not to compile AAA script


DEFINE SCRIPT MILITIA AT @MILITIA // 0

DEFINE UNKNOWN_EMPTY_SEGMENT 0

DEFINE UNKNOWN_THREADS_MEMORY 0

{$VERSION 3.1.0020}

//-------------MAIN---------------
03A4: name_thread 'MAIN'
01F0: set_max_wanted_level_to 6
0111: toggle_wasted_busted_check 0
00C0: set_current_time_hours_to 8 minutes_to 0
04E4: unknown_refresh_game_renderer_at 2488.56 -1666.84
03CB: set_rendering_origin_at 2488.56 -1666.84 13.38
0053: $PLAYER_CHAR = create_player #NULL at 2488.56 -1666.84 13.38
01F5: $PLAYER_ACTOR = create_player_actor $PLAYER_CHAR
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group
0373: set_camera_directly_behind_player
01B6: set_weather 0
0001: wait 0 ms
087B: set_player $PLAYER_CHAR clothes_texture "PLAYER_FACE" model "HEAD" body_part
1
087B: set_player $PLAYER_CHAR clothes_texture "JEANSDENIM" model "JEANS" body_part
2
087B: set_player $PLAYER_CHAR clothes_texture "SNEAKERBINCBLK" model "SNEAKER"
body_part 3
087B: set_player $PLAYER_CHAR clothes_texture "VEST" model "VEST" body_part 0
070D: rebuild_player $PLAYER_CHAR
01B4: toggle_player $PLAYER_CHAR can_move 1
016A: fade 1 time 0
04BB: select_interior 0
0629: change_integer_stat 181 to 4
016C: restart_if_wasted_at 2027.77 -1420.52 15.99 angle 137.0 town_number 0
016D: restart_if_busted_at 1550.68 -1675.49 14.51 angle 90.0 town_number 0
0180: set_on_mission_flag_to $ONMISSION // Note: your missions have to use the
variable defined here
03E6: remove_text_box
004F: create_thread @STARTEX
004E: end_thread

:STARTEX
03A4: name_thread 'STARTEX'
00D6: if and
0038: $ONMISSION == 0
0256: player $PLAYER_CHAR defined
004D: jump_if_false @STARTEX_159
0226: 0@ = actor $PLAYER_ACTOR health
00D6: if
8039: not 0@ == 0
004D: jump_if_false @STARTEX_170
0926: $Script_Status = external_script_status 0 (MILITIA)
00D6: if
0038: $Script_Status == 0
004D: jump_if_false @STARTEX_159
08A9: load_external_script 0 (MILITIA)
00D6: if
08AB: external_script 0 (MILITIA) loaded
004D: jump_if_false @STARTEX_159
04C4: store_coords_to 2@ 3@ 4@ from_actor $PLAYER_ACTOR with_offset 1.0 3.0 -0.9
009A: 1@ = create_actor_pedtype 4 model #MALE01 at 2@ 3@ 4@
0913: run_external_script 0 (MILITIA) 1@

:STARTEX_159
0001: wait 0 ms
0002: jump @STARTEX

:STARTEX_170
090F: end_external_script 0 (MILITIA)
0001: wait 0 ms
0002: jump @STARTEX

//-------------External script 0 (MILITIA)---------------

:MILITIA
03A4: name_thread 'MILITIA'
0006: 2@ = 0

:MILITIA_18
00D6: if
8248: not model #COLT45 available
004D: jump_if_false @MILITIA_46
0247: load_model #COLT45
0002: jump @MILITIA_18

:MILITIA_46
00D6: if
8118: not actor 0@ dead
004D: jump_if_false @MILITIA_145
01B2: give_actor 0@ weapon 22 ammo 99999999 // Load the weapon model before using
this
01B9: set_actor 0@ armed_weapon_to 0
00D6: if
0491: actor 0@ has_weapon 3
004D: jump_if_false @MILITIA_106
0555: remove_weapon 3 from_actor 0@

:MILITIA_106
02E2: set_actor 0@ weapon_accuracy_to 80
0978: copy_decision_maker 65537 to $9538
0708: add_decision_maker $9538 event 27
0708: add_decision_maker $9538 event 48
060B: set_actor 0@ decision_maker_to $9538

:MILITIA_145
0006: 4@ = 0

:MILITIA_152
0001: wait 0 ms
00D6: if and
8118: not actor 0@ dead
0256: player $PLAYER_CHAR defined
004D: jump_if_false @MILITIA_216
00D6: if
810F: not player $PLAYER_CHAR wanted_level > 0
004D: jump_if_false @MILITIA_551
0050: gosub @MILITIA_230
0002: jump @MILITIA_209

:MILITIA_209
0002: jump @MILITIA_223

:MILITIA_216
0002: jump @MILITIA_717

:MILITIA_223
0002: jump @MILITIA_152

:MILITIA_230
0871: init_jump_table 4@ total_jumps 3 default_jump 0 @MILITIA_549 jumps 0
@MILITIA_293 1 @MILITIA_356 2 @MILITIA_516 -1 @MILITIA_549 -1 @MILITIA_549 -1
@MILITIA_549 -1 @MILITIA_549

:MILITIA_293
062E: unknown_get_actor 0@ task 1502 status_store_to 2@ // ret 7 if not found
00D6: if
04A4: 2@ == 7 // @ == any
004D: jump_if_false @MILITIA_349
05DE: AS_actor 0@ walk_around_ped_path
0006: 33@ = 0
0006: 6@ = 5000
000A: 4@ += 1

:MILITIA_349
0002: jump @MILITIA_549

:MILITIA_356
00D6: if
002D: 33@ >= 6@ // (int)
004D: jump_if_false @MILITIA_509
0209: 2@ = random_int_in_ranges 1 10
00D6: if
0019: 2@ > 5
004D: jump_if_false @MILITIA_453
062E: unknown_get_actor 0@ task 1481 status_store_to 2@ // ret 7 if not found
00D6: if
04A4: 2@ == 7 // @ == any
004D: jump_if_false @MILITIA_446
05C9: AS_actor 0@ on_guard -1 ms
0006: 6@ = 5000

:MILITIA_446
0002: jump @MILITIA_495

:MILITIA_453
062E: unknown_get_actor 0@ task 1502 status_store_to 2@ // ret 7 if not found
00D6: if
04A4: 2@ == 7 // @ == any
004D: jump_if_false @MILITIA_495
05DE: AS_actor 0@ walk_around_ped_path
0006: 6@ = 5000

:MILITIA_495
0006: 33@ = 0
000A: 4@ += 1

:MILITIA_509
0002: jump @MILITIA_549

:MILITIA_516
00D6: if
002D: 33@ >= 6@ // (int)
004D: jump_if_false @MILITIA_542
0006: 4@ = 1

:MILITIA_542
0002: jump @MILITIA_549

:MILITIA_549
0051: return

:MILITIA_551
0001: wait 0 ms
00D6: if and
8118: not actor 0@ dead
0256: player $PLAYER_CHAR defined
004D: jump_if_false @MILITIA_703
00D6: if
02E0: actor $PLAYER_ACTOR aggressive
004D: jump_if_false @MILITIA_650
01B9: set_actor 0@ armed_weapon_to 22
062E: unknown_get_actor 0@ task 1588 status_store_to 5@ // ret 7 if not found
00D6: if
04A4: 5@ == 7 // @ == any
004D: jump_if_false @MILITIA_643
0634: AS_actor 0@ attack_using_weapon_actor $PLAYER_ACTOR unknown 1 unknown 4000
unknown 60

:MILITIA_643
0002: jump @MILITIA_696

:MILITIA_650
062E: unknown_get_actor 0@ task 1506 status_store_to 5@ // ret 7 if not found
00D6: if
04A4: 5@ == 7 // @ == any
004D: jump_if_false @MILITIA_696
07FE: set_actor 0@ fighting_style_to 7 6
05E2: AS_actor 0@ kill_actor $PLAYER_ACTOR

:MILITIA_696
0002: jump @MILITIA_710

:MILITIA_703
0002: jump @MILITIA_717

:MILITIA_710
0002: jump @MILITIA_551
:MILITIA_717
065C: remove_references_to_decision_maker $9538
01C2: remove_references_to_actor 0@ // Like turning an actor into a random
pedestrian
004E: end_thread

You might also like