rstomrs Posted October 30, 2007 Share Posted October 30, 2007 I'm posting this code here becuz i don't get it finished if anyone can plz post it here, you're free to use it. // This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 04.08.2007DEFINE OBJECTS 2DEFINE OBJECT SANNY BUILDER 3.01 DEFINE OBJECT MINE // Object number -1DEFINE MISSIONS 0DEFINE EXTERNAL_SCRIPTS 0 // Use -1 in order not to compile AAA scriptDEFINE UNKNOWN_EMPTY_SEGMENT 0DEFINE UNKNOWN_THREADS_MEMORY 0{$VERSION 3.1.0023}//-------------MAIN---------------thread 'MAIN' 01F0: set_max_wanted_level_to 6 042C: set_total_missions_to 1 030D: set_max_progress 1 set_wb_check_to 0 00C0: set_current_time_hours_to 8 minutes_to 0 04E4: unknown_refresh_game_renderer_at 2488.56 -1666.84 Camera.SetAtPos(2488.56, -1666.84, 13.38)$PLAYER_CHAR = Player.Create(#NULL, 2488.56, -1666.84, 13.38)$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)Camera.SetBehindPlayerset_weather 0 wait 0 0180: set_on_mission_flag_to $ON_MISSION // Note: your missions have to use the variable defined here Player.SetClothes($PLAYER_CHAR, "PLAYER_FACE", "HEAD", Head)Player.SetClothes($PLAYER_CHAR, "JEANSDENIM", "JEANS", Legs)Player.SetClothes($PLAYER_CHAR, "SNEAKERBINCBLK", "SNEAKER", Shoes)Player.SetClothes($PLAYER_CHAR, "VEST", "VEST", Torso)Player.Build($PLAYER_CHAR)Player.CanMove($PLAYER_CHAR) = Truefade 1 0 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 :MAIN_287Model.Load(#MINE)038B: load_requested_models :MAIN_293if Model.Load(#MINE)jf @MAIN_293 wait 0 jump @MAIN_319 :MAIN_3190001: wait 0 msif and Actor.Driving($PLAYER_ACTOR) 00E1: player 0 pressed_key 8else_jump @MAIN_319 :MAIN_3590001: wait 0 msActor.StorePos($PLAYER_ACTOR, $X, $Y2, $Z)$Z += 1.0 $MINE = Object.Create(#MINE, $X, $Y, $Z)071F: set_object [email protected]($MINE,5i) health_to 1 Object.CollisionDetection($MINE) = Truejump @MAIN_424 :MAIN_424wait 0 84DA: not has_object $MINE collided else_jump @MAIN_424 0948: create_explosion_at $X $Y $Z type 11 camera_shake 1.0 0948: create_explosion_at $X $Y $Z type 11 camera_shake 1.0 0948: create_explosion_at $X $Y $Z type 11 camera_shake 1.0 Object.Destroy($MINE)jump @MAIN_287 Tom Link to comment Share on other sites More sharing options...
Wesser Posted October 30, 2007 Share Posted October 30, 2007 Hi, in your code there is a problem and the error can be found in the label MAIN_293. The opcode 0001 must be moved before the "if" because the "else" command returns at the label MAIN_293. In alternative you can apply this change. :MAIN_293if Model.Load(#MINE)jf @MAIN_319wait 0jump @MAIN_293 Bye Bye 012 345 678 9A BCD EFG HIJK LMN OPQR STUV WX YZ Link to comment Share on other sites More sharing options...
Doomed_Space_Marine Posted October 30, 2007 Share Posted October 30, 2007 (edited) Hi,in your code there is a problem and the error can be found in the label MAIN_293. The opcode 0001 must be moved before the "if" because the "else" command returns at the label MAIN_293. In alternative you can apply this change. :MAIN_293if Model.Load(#MINE)jf @MAIN_319wait 0jump @MAIN_293 Bye Bye But this just makes GTA SA freeze until model is loaded. This is a few miliseconds, maybe even less. It doesn't have to freeze. Even I made code to recruit VLA and triads. Opcodes that get actors to variables don't work with gangs for me. Then I did another thing - when you press RMB and G, the game cycles through ids 1000-30000 without wait opcode. And it works without freezing, those 29000 id's of actors are checked quickly. I think that's another problem. And does keyword "else_jump" exist? Isn't it jf? If model #MINE really exists, I don't know what's wrong. edit:I found a mistake. :MAIN_319 change Model.Load(#MINE) to Model.Available(#MINE) Edited October 30, 2007 by Doomed_Space_Marine Link to comment Share on other sites More sharing options...
Wesser Posted October 30, 2007 Share Posted October 30, 2007 Hi, Hi,in your code there is a problem and the error can be found in the label MAIN_293. The opcode 0001 must be moved before the "if" because the "else" command returns at the label MAIN_293. In alternative you can apply this change. :MAIN_293if Model.Load(#MINE)jf @MAIN_319wait 0jump @MAIN_293 Bye Bye But this just makes GTA SA freeze until model is loaded. This is a few miliseconds, maybe even less. It doesn't have to freeze. Even I made code to recruit VLA and triads. Opcodes that get actors to variables don't work with gangs for me. Then I did another thing - when you press RMB and G, the game cycles through ids 1000-30000 without wait opcode. And it works without freezing, those 29000 id's of actors are checked quickly. I think that's another problem. And does keyword "else_jump" exist? Isn't it jf? If model #MINE really exists, I don't know what's wrong. edit:I found a mistake. :MAIN_319 change Model.Load(#MINE) to Model.Available(#MINE) sorry! I have forgotten to add the not line to transform the opcode in negative. I'm sorry if I have caused some conflicts to the computer. Bye Bye 012 345 678 9A BCD EFG HIJK LMN OPQR STUV WX YZ Link to comment Share on other sites More sharing options...
PatrickW Posted November 10, 2007 Share Posted November 10, 2007 Since you posted this same question also on our dutch forums, I might as well give the solution here. There are some major design flaws in your code, so I made this code up from scratch (with permission of the original poster). ( well, in fact based on the stinger-drop mode I made some time ago) The MINE-DROP mod in sannybuilder SCM. To drop a mine, press [fire] while driving a car. Have fun. DEFINE OBJECTS 1DEFINE OBJECT (noname) DEFINE MISSIONS 0//DEFINE MISSION {ID} 0 AT {LABEL} @DEFINE EXTERNAL_SCRIPTS -1 // Use -1 in order not to compile AAA script//DEFINE SCRIPT {NAME} AT {LABEL} @DEFINE UNKNOWN_EMPTY_SEGMENT 0DEFINE UNKNOWN_THREADS_MEMORY 0{$VERSION 3.0.0000}thread 'MAIN'var $PLAYER_CHAR: Playerend // var01F0: set_max_wanted_level_to 6set_wb_check_to 000C0: set_current_time 8 004E4: unknown_refresh_game_renderer_at 2488.5601 -1666.84Camera.SetAtPos(2488.5601, -1666.84, 13.38)$PLAYER_CHAR = Player.Create(#NULL, 2488.5601, -1666.84, 13.38)$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)07AF: $PLAYER_GROUP = player $PLAYER_CHAR groupCamera.SetBehindPlayerset_weather 0 wait 0 ms$PLAYER_CHAR.SetClothes("PLAYER_FACE", "HEAD", Head)$PLAYER_CHAR.SetClothes("JEANSDENIM", "JEANS", Legs)$PLAYER_CHAR.SetClothes("SNEAKERBINCBLK", "SNEAKER", Shoes)$PLAYER_CHAR.SetClothes("VEST", "VEST", Torso)$PLAYER_CHAR.Build$PLAYER_CHAR.CanMove = Truefade 1 (out) 0 ms select_interior 00629: change_stat 181 (islands unlocked) to 4016C: restart_if_wasted at 2027.77 -1420.52 15.99 angle 137.0 for_town_number 0016D: restart_if_busted at 1550.68 -1675.49 14.51 angle 90.0 for_town_number 00180: set_on_mission_flag_to $ONMISSION // Note: your missions have to use the variable defined here ($ONMISSION)03E6: remove_text_box// put your create_thread commands here004F: create thread @Mine_sniff_thread:end_loopwait 100jump @end_loopend_thread// put your mods (threads) here:Mine_thread03A4: name thread "MINE"0247: request_model #MINE038B: load_requested_models0004: [email protected] = 0029B: [email protected] = init_object #MINE at [email protected] [email protected] [email protected]: remove_object_from_mission_cleanup_list [email protected]: [email protected] = [email protected]: [email protected] -= 2.00007: [email protected] = [email protected]: [email protected] += 2.00007: [email protected] = [email protected]: [email protected] -= 2.00007: [email protected] = [email protected]: [email protected] += 2.0:Mine_loop0001: wait 250 ms0007: [email protected] = -1053E: [email protected] = get_random_car_with_actors -1 in_area [email protected] [email protected] [email protected] [email protected]: if 08039: NOT [email protected] == -1// integer values004D: jump_if_false @Mine_timer// create explosions, explode car and create fire0948: create_explosion_at [email protected] [email protected] [email protected] type 11 camera_shake 1.0wait 500 ms08CB: explode_car [email protected] shake 1 effect 1 sound 102CF: [email protected] = create_fire_at [email protected] [email protected] [email protected] propagation 3 size 2wait 500 ms0948: create_explosion_at [email protected] [email protected] [email protected] type 11 camera_shake 1.0:Mine_timer00D6: if 00019: [email protected] > 10000004D: jump_if_false @Mine_loop0249: release_model #MINE0108: destroy object [email protected]: end_thread:Mine_sniff_thread03A4: name thread "MI_SNIF":Mine_sniff_loop0001: wait 100 ms00D6: if 00256: player $PLAYER_CHAR defined004D: jump_if_false @Mine_sniff_loop00D6: if 100E1: key pressed 0 1700DF: actor $PLAYER_ACTOR driving004D: jump_if_false @Mine_sniff_loop03C0: [email protected] = actor $PLAYER_ACTOR car0407: create coordinate [email protected] [email protected] [email protected] from car [email protected] offset 0.0 -2.5 1.002CE: [email protected] = ground z [email protected] [email protected] [email protected]: [email protected] += 0.1004F: create thread @Mine_thread [email protected] [email protected] [email protected]: wait 500 ms0002: jump @Mine_sniff_loop//-------------Mission 0---------------// put your missions here//-------------External script 0---------------// put your external scripts here Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now