ALEXE Posted August 27, 2005 Share Posted August 27, 2005 loads the saved game... It's the first mod I've done that's actually modified the main.scm, so it's possible I've done something wrong. When you change the main.scm, you have to start a new game. I think he knows that you do... right? hey Demarest, since when are you a Karma Whore? and you're a guy... shouldn't you be a Karma Gigollo? or Pimp... j/p Link to comment Share on other sites More sharing options...
Demarest Posted August 27, 2005 Share Posted August 27, 2005 I think he knows that you do... right?If he knew that, he wouldn't have said that he loaded a save game. Also, a crash was taking place and there is an explanation. hey Demarest, since when are you a Karma Whore?Staff feels that I mod only for the karma. Nevermind the fact that the majority of my contributions took place after my karma was maxed out. My account is a kick ball to them. Rather than do what's right or even what they do for EVERYBODY else, they make little adjustments to mine for the fun of it. And when I say something, I'M a whiner. Ye olde damned if you do damned if you don't. Don't worry about it. It's mostly in the past (I hope). Link to comment Share on other sites More sharing options...
RedMorris Posted August 27, 2005 Share Posted August 27, 2005 Nope, I didn't realise that you had to start a new game. Do now though, and it's all working. Thanks guys Link to comment Share on other sites More sharing options...
ALEXE Posted August 27, 2005 Share Posted August 27, 2005 didn't notice he said he loaded a saved game... oh well, that's life next time you'll kno better and I'll pay more attention hey demarest, is the chick in your sig that actress from "Bring It On" costarring Kirsten Dunst? i knew her name but I forgot... is she? Link to comment Share on other sites More sharing options...
Demarest Posted August 27, 2005 Share Posted August 27, 2005 Eliza Dushku. Yes it is And you should've known because I quoted it to emphasize it No harm done. Link to comment Share on other sites More sharing options...
JWR Posted August 28, 2005 Share Posted August 28, 2005 Hey, I was just thinking 'wouldn't it be great if i could put more cars in my garage... ' Looks like my dream has come true. But can i download this mod somewhere? Or is it still being tested? Link to comment Share on other sites More sharing options...
Private_Paula Posted August 30, 2005 Share Posted August 30, 2005 (edited) hi @all i registert only to say you guys thank you for your great work!!!!! this is awsome!!! (although i haven´t tried this out jet) [but honestly i still would like use to the hangar on the airfield] @alexe maybe your texture problem has something to do with the cars you have installed. i see from your screens that you have al lot of new car mods. i had similiar probs in VC because of the large number of cars i changed. just an idea but maybe it works with 40 original SA cars and you have to decrease the number for modded cars. Edited August 30, 2005 by Private_Paula Link to comment Share on other sites More sharing options...
ALEXE Posted August 30, 2005 Share Posted August 30, 2005 hi @all i registert only to say you guys thank you for your great work!!!!! this is awsome!!! (although i haven´t tried this out jet) [but honestly i still would like use to the hangar on the airfield] @alexe maybe your texture problem has something to do with the cars you have installed. i see from your screens that you have al lot of new car mods. i had similiar probs in VC because of the large number of cars i changed. just an idea but maybe it works with 40 original SA cars and you have to decrease the number for modded cars. ok, P, thanks, that might just be the problem thanks again Link to comment Share on other sites More sharing options...
michael-z Posted August 30, 2005 Share Posted August 30, 2005 i think there shuld be a mod with all the grages and parking lots useable (or some of them because i not shure about doing it myself) Link to comment Share on other sites More sharing options...
Demarest Posted August 30, 2005 Share Posted August 30, 2005 If you were that intent on keeping track of that many cars, it would be more to the point to use a mod made to keep track of all the cars you're driving. With SA having 32 locals to use, that would be your last 32 vehicles that haven't since been destroyed traceable free of charge. Doing so would reduce traffic though. The garage concept is better as far as only producing them in an area, but many more vars for the sake of recreating the vehicles. To have that span across the state, that's insane amounts of code and the game would never handle it. Even if you just made it one car per parking area, that's probably more code and vars than the game could handle. MAYBE even with a stripped SCM. And that's all assuming somebody would be willing to comb the state to locate every place. Link to comment Share on other sites More sharing options...
Private_Paula Posted September 2, 2005 Share Posted September 2, 2005 hi maybe it´s a stupid question, but would it be possible to make this garage "move"? i´m asking because of this: klick me it would be really cool to combine these two mods. Link to comment Share on other sites More sharing options...
Demarest Posted September 2, 2005 Share Posted September 2, 2005 When you say move, I picture a cube in motion. Do you mean use a different location? If so, he answer is yes. Nothing about any of these guys' work requires them to be right there. Link to comment Share on other sites More sharing options...
Y_Less Posted September 2, 2005 Share Posted September 2, 2005 It may be possible to make a garage move, it could definately be done in VC, but I don't know about SA as the garages are set up differently. Link to comment Share on other sites More sharing options...
Smaakerchef Posted September 4, 2005 Share Posted September 4, 2005 will i have to start a new game after installing nubbel's mod? i'm asking this 'cause i heard something like you don't have to do so if you're editing something before mission 0. is that right? or is it crap? do i have to start over? Link to comment Share on other sites More sharing options...
Demarest Posted September 4, 2005 Share Posted September 4, 2005 i heard something like you don't have to do so if you're editing something before mission 0. That's 100% backwards. The story goes: Most any code modification requires a new game. Darkpact has paved the way for script mods to be added to your existing game. nubbel's save garage uses too many global vars to be compatible. It's not a flaw in his programming or the design of Darkpact, but rather the same limitations that had us unable to use existing games from the beginning. Link to comment Share on other sites More sharing options...
louloubas Posted September 5, 2005 Share Posted September 5, 2005 could we release it please ??? Link to comment Share on other sites More sharing options...
Private_Paula Posted September 6, 2005 Share Posted September 6, 2005 When you say move, I picture a cube in motion. Do you mean use a different location? If so, he answer is yes. Nothing about any of these guys' work requires them to be right there. no, i didn´t think of moving the garage to another location. what i meant is, is it possible to attache the garage to a moving vehicle like the carrier so that you can save boats in the heck, maybe land some planes on it? Link to comment Share on other sites More sharing options...
Demarest Posted September 6, 2005 Share Posted September 6, 2005 "the carrier"? Are you talking about the ship from Vertical Bird? I wasn't aware it moved. You can RELOCATE the garage easily. Making it move would require a lot more code, but would be doable. Link to comment Share on other sites More sharing options...
GTASan Andreas CJ Rules Posted September 6, 2005 Share Posted September 6, 2005 the ship CANT move. its a mod to replace the tropic. so basicly ur drivin a tropic with that ships object model Link to comment Share on other sites More sharing options...
Demarest Posted September 6, 2005 Share Posted September 6, 2005 It replaces a driveable boat, but can't be driven? Thank you for reminding me that he originally linked to a mod. The answer is still the same. Link to comment Share on other sites More sharing options...
Private_Paula Posted September 7, 2005 Share Posted September 7, 2005 repost of link: drivable Carrier well it´s still in beta so it´s not perfect yet (espacially the handling). but it CAN move (it´s a lot of fun driving around with it), you can drive boats up the heck and land on it. i´m just a noob with gta coding but i thought so that it wouldn´t be easy. anyways thanks for the answer. well in fact the carrier IS a cool mod and in combination with the savegarage it would be perfect, but it´s kind of useless for singleplayer game,so i´m not requesting anyone to do this but maybe i hint someone to the right direction Link to comment Share on other sites More sharing options...
JGEM Posted September 9, 2005 Share Posted September 9, 2005 sorry for a noob question, i downloaded nubbels code for the garage in Lv but has he released the version that stores paintjobs, wheels etc? if so coul someone please provide a link - yes im opening myself up for flaming here - my apologies in advance Link to comment Share on other sites More sharing options...
tomworld10 Posted October 1, 2005 Share Posted October 1, 2005 (edited) Hi everyone I'm making a small mod where you call the towtruck to come and get your car and since it kind of work the same way as savegarage i thought i could get some help from here. It's a piece of code that should get all the mods componenets of the car and put them in arrays (those are my first ones....) and then put back the component later when the car is respawned. My biggest problem is array because i can't see what i've done wrong, should work but doesn't..... The opcode 096D works fine it gets the components number (1087, 1010, 1082, 1023......) fine but doesn't seem to do what i wanted it to !!!!!!!!! @nubbel: I'd like you to send us the code you've done which you say that it saves some of the car components (even if it's not totaly working, just for the sake of knowledge) to see the diffenrences. Thanks in advance to you. Here is the code -------------------------------------------------------- this part below get the installed components:BORDEL6_1000004: $slot = 0;; integer values; my index of the array:BORDEL6_2000001: wait 0 ms00D6: if 0 8038: NOT $slot == 16;; integer values004D: jump_if_false ££;wherever it needs to go, when all slot have been check096D: get_car $carchee installed_components_on_slot $slot = $carcom0($slot,16i);; explained itself i think, see opcode database for more details0008: $slot += 1;; integer values; to increment the index of the array0002: jump ££BORDEL6_200--------------------------------------------------------this part below put the installed component on the new car :BORDEL6_6000004: $slot = -1;; integer values:BORDEL6_7000001: wait 0 ms00D6: if 0 8038: NOT $slot == 16;; integer values004D: jump_if_false ££wherever it needs to go, when all slot have been filled with their car components0008: $slot += 1;; integer values00D6: if 0 8038: NOT $carcom0($slot,16i) == 0;; integer values;; check if there is any component to install004D: jump if false ££BORDEL6_7000084: $carcomp = $carcom0($slot,16i);; integer values and handles:BORDEL6_80006E9: request_car_component $carcomp 038B: load requested models:BORDEL6_9000001: wait 0 ms00D6: if 0 06EA: car_component_available $carcomp 004D: jump_if_false ££BORDEL6_80006E7: $useless = add_car_component $carcomp to_car $carchee 06EB: release_car_component $carcomp 0002: jump ££BORDEL6_700 It'd be a pretty much usefull piece of code and i really would like it to work. Thanks in advance for all your answers @Patrick W.: In this topic you've talked about an opcode which should look like "get model varition" (not "set" like 0506 !!!!!) and i can't find it nor in the database nor in the forums (google found an old topic that is not available anymore where jax talked, but nothing else). But the biggest problem is that i've got no idea where such opcode would be used, if it's used in any mission !!!!!!!!! This would really be great so i can make a motorbike mod garage !!!!!!!!!!!!!!! Which kicks ass !!!!!!!!! Well thanks again for all your answers. Have fun people Edited October 2, 2005 by tomworld10 Link to comment Share on other sites More sharing options...
nubbel Posted October 2, 2005 Author Share Posted October 2, 2005 @tomworld10: I didn't look deeper into your code, but following is an obvious mistake I saw: 004D: jump_if_false ££ @All the others: Sry I don't have the time anymore to read and write much in these forums. I'll post the code I got together when I worked on it the last time. It can save some car mods, but its really ugly/crappy and I guess sometimes makes the game crash There are a lot of uncommended codelines. Thats because of the SCM limitations. If you try to manage all existing carmods, it will reach the SCM limits (the limit is reached anyway using my crap code ). I can't work on SCM codes anymore, so maybe someone else can optimize my code or write a better one. Anyways, here it comes: DEFINE MEMORY 46590...004F: create_thread ££CarSpawner004F: create_thread ££GRG_01...;----------------------------------------------------------------------------------:CarSpawner0001: wait 0 ms00D6: if 00256: player $PLAYER_CHAR defined004D: jump_if_false ££CarSpawner00D6: if 180DF: NOT actor $PLAYER_ACTOR driving00E1: key_pressed 0 4 ; Action004D: jump_if_false ££CarSpawner0299: activate_garage 'BODLAWN' 0299: activate_garage 'MODLAST' 0299: activate_garage 'MDSSFSE' 0299: activate_garage 'MDS1SFS' 0299: activate_garage 'VECMOD'0247: request model 559;jester:CarSpawner_20001: wait 0 ms00D6: if 00248: model 559 available004D: jump_if_false ££CarSpawner_204C4: create_coordinate @1 @2 @3 from_actor $PLAYER_ACTOR offset 0.0 5.0 0.000A5: @0 = create_car 559 at @1 @2 @3:CarSpawner_30001: wait 150 ms00D6: if 080E1: NOT key_pressed 0 4 ; Action004D: jump_if_false ££CarSpawner_30002: jump ££CarSpawner;---------------------------------------------------------------------------------------------------------:GRG_0103A4: name_thread 'GRG'0004: @0 = 0 ; index in loops (tmp_i)0004: @1 = 0 ; current index in loops (curr_i)0004: @2 = 0 ; index in loops (last_i):GRG_020001: wait 0 ms00D6: if 00256: player $PLAYER_CHAR defined004D: jump_if_false ££GRG_02;----------------------------------------------- ; Player in garage, then go to car spawn routine;-----------------------------------------------00D6: if 000A4: actor $PLAYER_ACTOR 0 ()in_cube 2257.187 1383.134 9.0 2357.628 1523.398 64.0 ; 1872.464 1722.358 10.0 2017.177 1822.664 24.0004D: jump_if_false ££GRG_02;-------------------; Deactivate traffic ;-------------------03DE: set_pedestrians_density_multiplier_to 0.001EB: set_car_density_to 0.0;------------------; Display Info Text;------------------054C: use_GXT_table 'MENU2P'03F0: text_draw_toggle 00001: wait 10 ms0343: set_text_linewidth 300.0045A: text_draw_1number 40.0 40.0 'MENU_41' $cars ; "Cars $cars"033E: text_draw 40.0 60.0 'MENU_28' ; "Car limit"045A: text_draw_1number 120.0 60.0 'NUMBER' 80 ; "80";---------- ;Spawn Cars;----------:GRG_10000D6: if 0 $cars > 0; if any car exists/saved004D: jump_if_false ££GRG_1040050: gosub ££GRG_SPAWN;---------------------------------------; Driving?, so maybe wants to save a car;---------------------------------------:GRG_10400D6: if 000DF: actor $PLAYER_ACTOR driving004D: jump_if_false ££GRG_1200811: $playerCar = actor $PLAYER_ACTOR car;-------------------------;Player is still in garage;-------------------------:GRG_1150001: wait 0 ms00D6: if 000A4: actor $PLAYER_ACTOR 0 ()in_cube 2257.187 1383.134 9.0 2357.628 1523.398 64.0 ; 1872.464 1722.358 10.0 2017.177 1822.664 24.0004D: jump_if_false ££GRG_135;--------------------------;Player wants to save a car;--------------------------;00D6: if 1;01AC: car $playerCar stopped 0 ()in_cube 2257.187 1383.134 9.0 2357.628 1523.398 64.0 ; 1872.464 1722.358 10.0 2017.177 1822.664 24.0 ;00E1: key_pressed 0 15 ;004D: jump_if_false ££GRG_11500D6: if 080DF: NOT actor $PLAYER_ACTOR driving 004D: jump_if_false ££GRG_1150050: gosub ££GRG_SAVE;0004: @13 = 1;---------------------;- Display Info Text -;---------------------03F0: text_draw_toggle 103F0: text_draw_toggle 00001: wait 10 ms0343: set_text_linewidth 300.0045A: text_draw_1number 40.0 40.0 'MENU_41' $cars ; "Cars $cars"033E: text_draw 40.0 60.0 'MENU_28' ; "Car limit"045A: text_draw_1number 120.0 60.0 'NUMBER' 80 ; "80";-----------------;Player goes away?;-----------------:GRG_1200001: wait 0 ms00D6: if 000A4: actor $PLAYER_ACTOR 0 ()in_cube 2257.187 1383.134 9.0 2357.628 1523.398 64.0 ; 1872.464 1722.358 10.0 2017.177 1822.664 24.0004D: jump_if_false ££GRG_1350002: jump ££GRG_120;--------------------------------;Player is now outside the garage;--------------------------------;----------------------;Player took a car out? ;----------------------:GRG_13500D6: if 000DF: actor $PLAYER_ACTOR driving004D: jump_if_false ££GRG_1400050: gosub ££GRG_TOOKOUT;----------;Clear area;----------:GRG_1400050: gosub ££GRG_CLEAR0395: clear_area 2 at 2300.0 1450.0 25.0 range 300.003BA: clear_cars_from_cube 2257.187 1383.134 9.0 2357.628 1523.398 64.0 ; 1872.464 1722.358 10.0 2017.177 1822.664 24.0;------------------; Display Info Text;------------------0001: wait 10 ms03F0: text_draw_toggle 1:GRG_END;-----------------; Reactive traffic;-----------------03DE: set_pedestrians_density_multiplier_to 1.001EB: set_car_density_to 1.00002: jump ££GRG_02;---------------------------------------------------------------------------------------------------------:GRG_SAVE00D6: if 0 40 > $cars ; <- we only allow 80 cars004D: jump_if_false ££GRG_SAVE_00020008: $cars += 1:GRG_SAVE_000200D6: if 0 $cars > 1; if car 2 exists/saved004D: jump_if_false ££GRG_SAVE_03;------------------------------------------------------------------------------; Shift all cars in array (last car gets overwritten. 80 cars (0 to 79) storable);------------------------------------------------------------------------------0004: @1 = 40 ; <- we only allow 80 cars:GRG_LOOP_SHIFT0001: wait 0 ms00D6: if 0 @1 > 0 004D: jump_if_false ££GRG_SAVE_03 ;Shift cars in array000C: @1 -= 10084: @0 = @1000C: @0 -= 10084: $GrgCarType(@1,40i) = $GrgCarType(@0,40i)0085: $GrgCarX(@1,40f) = $GrgCarX(@0,40f)0085: $GrgCarY(@1,40f) = $GrgCarY(@0,40f)0085: $GrgCarZ(@1,40f) = $GrgCarZ(@0,40f)0085: $GrgCarZangle(@1,40f) = $GrgCarZangle(@0,40f)0084: $GrgCarCol1(@1,40i) = $GrgCarCol1(@0,40i)0084: $GrgCarCol2(@1,40i) = $GrgCarCol2(@0,40i)0084: $GrgCarHandle(@1,40i) = $GrgCarHandle(@0,40i)0084: $GrgCarPaintjob(@1,40i) = $GrgCarPaintjob(@0,40i);0084: $GrgCarMod0(@1,40i) = $GrgCarMod0(@0,40i);0084: $GrgCarMod1(@1,40i) = $GrgCarMod1(@0,40i)0084: $GrgCarMod2(@1,40i) = $GrgCarMod2(@0,40i);0084: $GrgCarMod3(@1,40i) = $GrgCarMod3(@0,40i);0084: $GrgCarMod4(@1,40i) = $GrgCarMod4(@0,40i) ;0084: $GrgCarMod5(@1,40i) = $GrgCarMod5(@0,40i);0084: $GrgCarMod6(@1,40i) = $GrgCarMod6(@0,40i)0084: $GrgCarMod7(@1,40i) = $GrgCarMod7(@0,40i)0084: $GrgCarMod8(@1,40i) = $GrgCarMod8(@0,40i)0084: $GrgCarMod9(@1,40i) = $GrgCarMod9(@0,40i);0084: $GrgCarMod10(@1,40i) = $GrgCarMod10(@0,40i)0084: $GrgCarMod12(@1,40i) = $GrgCarMod12(@0,40i)0084: $GrgCarMod13(@1,40i) = $GrgCarMod13(@0,40i)0084: $GrgCarMod14(@1,40i) = $GrgCarMod14(@0,40i)0084: $GrgCarMod15(@1,40i) = $GrgCarMod15(@0,40i) 0002: jump ££GRG_LOOP_SHIFT;-----------------------; Save new car (index 0);-----------------------:GRG_SAVE_030001: wait 0 ms0004: @0 = 00084: $GrgCarHandle(@0,40i) = $playerCar0441: $GrgCarType(@0,40i) = car $playerCar model0407: create_coordinate $GrgCarX(@0,40f) $GrgCarY(@0,40f) $GrgCarZ(@0,40f) from_car $playerCar offset 0.0 0.0 0.00174: $GrgCarZangle(@0,40f) = car $playerCar z_angle03F3: get_car $playerCar color $GrgCarCol1(@0,40i) $GrgCarCol2(@0,40i)0988: $playerCar $GrgCarPaintjob(@0,40i);096D: $playerCar 0 $GrgCarMod0(@0,40i);096D: $playerCar 1 $GrgCarMod1(@0,40i)096D: $playerCar 2 $GrgCarMod2(@0,40i);096D: $playerCar 3 $GrgCarMod3(@0,40i);096D: $playerCar 4 $GrgCarMod4(@0,40i);096D: $playerCar 5 $GrgCarMod5(@0,40i);096D: $playerCar 6 $GrgCarMod6(@0,40i)096D: $playerCar 7 $GrgCarMod7(@0,40i)096D: $playerCar 8 $GrgCarMod8(@0,40i)096D: $playerCar 9 $GrgCarMod9(@0,40i);096D: $playerCar 10 $GrgCarMod10(@0,40i)096D: $playerCar 12 $GrgCarMod12(@0,40i)096D: $playerCar 13 $GrgCarMod13(@0,40i)096D: $playerCar 14 $GrgCarMod14(@0,40i)096D: $playerCar 15 $GrgCarMod15(@0,40i)0051: return;---------------------------------------------------------------------------------------------------------:GRG_SPAWN0004: @0 = -10084: @1 = $cars00D6: if 0 $cars > 0; if any car exists/saved004D: jump_if_false ££GRG_SPAWN_END;------------------------------ ; Spawn cars with index 79 to 0;------------------------------ :GRG_LOOP_SPAWN0001: wait 0 ms00D6: if 0 @1 > 0 004D: jump_if_false ££GRG_SPAWN_END000C: @1 -= 10008: @0 += 1;----------------------------------------------; if car exists (compare cars count with index);----------------------------------------------00D6: if 0001C: $cars > @0004D: jump_if_false ££GRG_SPAWN_END0247: request_model $GrgCarType(@1,40i)038B: load_requested_models:GRG_1050001: wait 0 ms00D6: if 00248: model $GrgCarType(@1,40i) available004D: jump_if_false ££GRG_10500A5: $GrgCarHandle(@1,40i) = create_car $GrgCarType(@1,40i) at $GrgCarX(@1,40f) $GrgCarY(@1,40f) $GrgCarZ(@1,40f) 0175: set_car_z_angle $GrgCarHandle(@1,40i) $GrgCarZangle(@1,40f)0249: release_model $GrgCarType(@1,40i);-------------; Set Paintjob;-------------00D6: if 18038: NOT $GrgCarPaintjob(@1,40i) == -18038: NOT $GrgCarPaintjob(@1,40i) == 0004D: jump_if_false ££GRG_SPAWN_setcolor_0106ED: $GrgCarHandle(@1,40i) $GrgCarPaintjob(@1,40i);------------------; Car color 1 and 2;------------------ :GRG_SPAWN_setcolor_010229: set_car $GrgCarHandle(@1,40i) color_to $GrgCarCol1(@1,40i) $GrgCarCol2(@1,40i);-------------------------------------; Skip mods check if no mod is present;-------------------------------------;00D6: if 25;8038: NOT $GrgCarMod0(@1,40i) == -1;8038: NOT $GrgCarMod1(@1,40i) == -1;8038: NOT $GrgCarMod2(@1,40i) == -1;8038: NOT $GrgCarMod3(@1,40i) == -1;8038: NOT $GrgCarMod4(@1,40i) == -1;8038: NOT $GrgCarMod5(@1,40i) == -1;004D: jump_if_false ££GRG_SPAWN_SKIP1;0002: jump ££GRG_SPAWN_0000;:GRG_SPAWN_SKIP1;00D6: if 25;8038: NOT $GrgCarMod6(@1,40i) == -1;8038: NOT $GrgCarMod7(@1,40i) == -1;8038: NOT $GrgCarMod8(@1,40i) == -1;8038: NOT $GrgCarMod9(@1,40i) == -1;8038: NOT $GrgCarMod10(@1,40i) == -1;8038: NOT $GrgCarMod12(@1,40i) == -1;004D: jump_if_false ££GRG_SPAWN_SKIP2;0002: jump ££GRG_SPAWN_0000;:GRG_SPAWN_SKIP2;00D6: if 22;8038: NOT $GrgCarMod13(@1,40i) == -1;8038: NOT $GrgCarMod14(@1,40i) == -1;8038: NOT $GrgCarMod15(@1,40i) == -1;004D: jump_if_false ££GRG_SPAWN_0016;-----; Hood;-----:GRG_SPAWN_0000;00D6: if 1;8038: NOT $GrgCarMod0(@1,40i) == -1;8038: NOT $GrgCarMod0(@1,40i) == 0;004D: jump_if_false ££GRG_SPAWN_0001;06E9: request_car_component $GrgCarMod0(@1,40i);:GRG_SPAWN_0000_loop;0001: wait 0 ms;00D6: if 0;06EA: car_component_available $GrgCarMod0(@1,40i);004D: jump_if_false ££GRG_SPAWN_0000_loop;06E7: $10420 = add_car_component $GrgCarMod0(@1,40i) to_car $GrgCarHandle(@1,40i);06EB: release_car_component $GrgCarMod0(@1,40i);------; Vents;------;:GRG_SPAWN_0001;00D6: if 1;8038: NOT $GrgCarMod1(@1,40i) == -1;8038: NOT $GrgCarMod1(@1,40i) == 0;004D: jump_if_false ££GRG_SPAWN_0002;06E9: request_car_component $GrgCarMod1(@1,40i);:GRG_SPAWN_0001_loop;0001: wait 0 ms;00D6: if 0;06EA: car_component_available $GrgCarMod1(@1,40i);004D: jump_if_false ££GRG_SPAWN_0001_loop;06E7: $10420 = add_car_component $GrgCarMod1(@1,40i) to_car $GrgCarHandle(@1,40i);06EB: release_car_component $GrgCarMod1(@1,40i);---------; Spoilers;---------:GRG_SPAWN_000200D6: if 18038: NOT $GrgCarMod2(@1,40i) == -18038: NOT $GrgCarMod2(@1,40i) == 0004D: jump_if_false ££GRG_SPAWN_000306E9: request_car_component $GrgCarMod2(@1,40i):GRG_SPAWN_0002_loop0001: wait 0 ms00D6: if 006EA: car_component_available $GrgCarMod2(@1,40i)004D: jump_if_false ££GRG_SPAWN_0002_loop06E7: $10420 = add_car_component $GrgCarMod2(@1,40i) to_car $GrgCarHandle(@1,40i)06EB: release_car_component $GrgCarMod2(@1,40i);------------; Side Skirts;------------:GRG_SPAWN_0003;00D6: if 1;8038: NOT $GrgCarMod3(@1,40i) == -1;8038: NOT $GrgCarMod3(@1,40i) == 0;004D: jump_if_false ££GRG_SPAWN_0004;06E9: request_car_component $GrgCarMod3(@1,40i);:GRG_SPAWN_0003_loop;0001: wait 0 ms;00D6: if 0;06EA: car_component_available $GrgCarMod3(@1,40i);004D: jump_if_false ££GRG_SPAWN_0003_loop;06E7: $10420 = add_car_component $GrgCarMod3(@1,40i) to_car $GrgCarHandle(@1,40i);06EB: release_car_component $GrgCarMod3(@1,40i);---------------; Front bullbars;---------------:GRG_SPAWN_0004;00D6: if 1;8038: NOT $GrgCarMod4(@1,40i) == -1;8038: NOT $GrgCarMod4(@1,40i) == 0;004D: jump_if_false ££GRG_SPAWN_0005;06E9: request_car_component $GrgCarMod4(@1,40i);:GRG_SPAWN_0004_loop;0001: wait 0 ms;00D6: if 0;06EA: car_component_available $GrgCarMod4(@1,40i);004D: jump_if_false ££GRG_SPAWN_0004_loop;06E7: $10420 = add_car_component $GrgCarMod4(@1,40i) to_car $GrgCarHandle(@1,40i);06EB: release_car_component $GrgCarMod4(@1,40i);--------------; Rear bullbars;--------------;:GRG_SPAWN_0005;00D6: if 1;8038: NOT $GrgCarMod5(@1,40i) == -1;8038: NOT $GrgCarMod5(@1,40i) == 0;004D: jump_if_false ££GRG_SPAWN_0006;06E9: request_car_component $GrgCarMod5(@1,40i);:GRG_SPAWN_0005_loop;0001: wait 0 ms;00D6: if 0;06EA: car_component_available $GrgCarMod5(@1,40i);004D: jump_if_false ££GRG_SPAWN_0005_loop;06E7: $10420 = add_car_component $GrgCarMod5(@1,40i) to_car $GrgCarHandle(@1,40i);06EB: release_car_component $GrgCarMod5(@1,40i);-------; Lights;-------;:GRG_SPAWN_0006;00D6: if 1;8038: NOT $GrgCarMod6(@1,40i) == -1;8038: NOT $GrgCarMod6(@1,40i) == 0;004D: jump_if_false ££GRG_SPAWN_0007;06E9: request_car_component $GrgCarMod6(@1,40i);:GRG_SPAWN_0006_loop;0001: wait 0 ms;00D6: if 0;06EA: car_component_available $GrgCarMod6(@1,40i);004D: jump_if_false ££GRG_SPAWN_0006_loop;06E7: $10420 = add_car_component $GrgCarMod6(@1,40i) to_car $GrgCarHandle(@1,40i);06EB: release_car_component $GrgCarMod6(@1,40i);-----; Roof;-----:GRG_SPAWN_000700D6: if 18038: NOT $GrgCarMod7(@1,40i) == -18038: NOT $GrgCarMod7(@1,40i) == 0004D: jump_if_false ££GRG_SPAWN_000806E9: request_car_component $GrgCarMod7(@1,40i):GRG_SPAWN_0007_loop0001: wait 0 ms00D6: if 006EA: car_component_available $GrgCarMod7(@1,40i)004D: jump_if_false ££GRG_SPAWN_0007_loop06E7: $10420 = add_car_component $GrgCarMod7(@1,40i) to_car $GrgCarHandle(@1,40i)06EB: release_car_component $GrgCarMod7(@1,40i);------; Nitro;------:GRG_SPAWN_000800D6: if 18038: NOT $GrgCarMod8(@1,40i) == -18038: NOT $GrgCarMod8(@1,40i) == 0004D: jump_if_false ££GRG_SPAWN_000906E9: request_car_component $GrgCarMod8(@1,40i):GRG_SPAWN_0008_loop0001: wait 0 ms00D6: if 006EA: car_component_available $GrgCarMod8(@1,40i)004D: jump_if_false ££GRG_SPAWN_0008_loop06E7: $10420 = add_car_component $GrgCarMod8(@1,40i) to_car $GrgCarHandle(@1,40i)06EB: release_car_component $GrgCarMod8(@1,40i);-----------; Hydraulics;-----------:GRG_SPAWN_000900D6: if 18038: NOT $GrgCarMod9(@1,40i) == -18038: NOT $GrgCarMod9(@1,40i) == 0004D: jump_if_false ££GRG_SPAWN_001006E9: request_car_component $GrgCarMod9(@1,40i):GRG_SPAWN_0009_loop0001: wait 0 ms00D6: if 006EA: car_component_available $GrgCarMod9(@1,40i)004D: jump_if_false ££GRG_SPAWN_0009_loop06E7: $10420 = add_car_component $GrgCarMod9(@1,40i) to_car $GrgCarHandle(@1,40i)06EB: release_car_component $GrgCarMod9(@1,40i);-----------; Car Stereo;-----------:GRG_SPAWN_0010;00D6: if 1;8038: NOT $GrgCarMod10(@1,40i) == -1;8038: NOT $GrgCarMod10(@1,40i) == 0;004D: jump_if_false ££GRG_SPAWN_0012;06E9: request_car_component $GrgCarMod10(@1,40i);:GRG_SPAWN_00010_loop;0001: wait 0 ms;00D6: if 0;06EA: car_component_available $GrgCarMod10(@1,40i);004D: jump_if_false ££GRG_SPAWN_00010_loop;06E7: $10420 = add_car_component $GrgCarMod10(@1,40i) to_car $GrgCarHandle(@1,40i);06EB: release_car_component $GrgCarMod10(@1,40i);-------; Wheels;-------:GRG_SPAWN_001200D6: if 18038: NOT $GrgCarMod12(@1,40i) == -18038: NOT $GrgCarMod12(@1,40i) == 0004D: jump_if_false ££GRG_SPAWN_001306E9: request_car_component $GrgCarMod12(@1,40i):GRG_SPAWN_00012_loop0001: wait 0 ms00D6: if 006EA: car_component_available $GrgCarMod12(@1,40i)004D: jump_if_false ££GRG_SPAWN_00012_loop06E7: $10420 = add_car_component $GrgCarMod12(@1,40i) to_car $GrgCarHandle(@1,40i)06EB: release_car_component $GrgCarMod12(@1,40i);---------; Exhausts;---------:GRG_SPAWN_001300D6: if 18038: NOT $GrgCarMod13(@1,40i) == -18038: NOT $GrgCarMod13(@1,40i) == 0004D: jump_if_false ££GRG_SPAWN_001406E9: request_car_component $GrgCarMod13(@1,40i):GRG_SPAWN_00013_loop0001: wait 0 ms00D6: if 006EA: car_component_available $GrgCarMod13(@1,40i)004D: jump_if_false ££GRG_SPAWN_00013_loop06E7: $10420 = add_car_component $GrgCarMod13(@1,40i) to_car $GrgCarHandle(@1,40i)06EB: release_car_component $GrgCarMod13(@1,40i);-------------; Front Bumper;-------------:GRG_SPAWN_001400D6: if 18038: NOT $GrgCarMod14(@1,40i) == -18038: NOT $GrgCarMod14(@1,40i) == 0004D: jump_if_false ££GRG_SPAWN_001506E9: request_car_component $GrgCarMod14(@1,40i):GRG_SPAWN_00014_loop0001: wait 0 ms00D6: if 006EA: car_component_available $GrgCarMod14(@1,40i)004D: jump_if_false ££GRG_SPAWN_00014_loop06E7: $10420 = add_car_component $GrgCarMod14(@1,40i) to_car $GrgCarHandle(@1,40i)06EB: release_car_component $GrgCarMod14(@1,40i);------------; Rear Bumper;------------:GRG_SPAWN_001500D6: if 18038: NOT $GrgCarMod15(@1,40i) == -18038: NOT $GrgCarMod15(@1,40i) == 0004D: jump_if_false ££GRG_SPAWN_001606E9: request_car_component $GrgCarMod15(@1,40i):GRG_SPAWN_00015_loop0001: wait 0 ms00D6: if 006EA: car_component_available $GrgCarMod15(@1,40i)004D: jump_if_false ££GRG_SPAWN_00015_loop06E7: $10420 = add_car_component $GrgCarMod15(@1,40i) to_car $GrgCarHandle(@1,40i)06EB: release_car_component $GrgCarMod15(@1,40i):GRG_SPAWN_00160002: jump ££GRG_LOOP_SPAWN:GRG_SPAWN_END0051: return;---------------------------------------------------------------------------------------------------------:GRG_CLEAR0004: @0 = -10084: @1 = $cars00D6: if 0 $cars > 0; if any car exists/saved004D: jump_if_false ££GRG_CLEAR_END;------------------------------ ; Clear cars with index 79 to 0;------------------------------ :GRG_LOOP_CLEAR0001: wait 0 ms00D6: if 0 @1 > 0 004D: jump_if_false ££GRG_CLEAR_END000C: @1 -= 10008: @0 += 1;----------------------------------------------; if car exists (compare cars count with index);----------------------------------------------00D6: if 0001C: $cars > @0004D: jump_if_false ££GRG_CLEAR_END01C3: remove_references_to_car $GrgCarHandle(@1,40i) ;; Like turning a car into any random car0002: jump ££GRG_LOOP_CLEAR:GRG_CLEAR_END0051: return;--------------------------------------------------------------------------------------------------------- :GRG_TOOKOUT 0004: @0 = -10084: @1 = $cars0084: @2 = $cars ; <- get index of last car in array (first saved)000C: @2 -= 1 ; <- get index of last car in array (first saved)00D6: if 0 $cars > 0; if any car exists/saved004D: jump_if_false ££GRG_TOOKOUT_END;----------------------------- ; Loop cars with index 79 to 0;----------------------------- :GRG_LOOP_TOOKOUT0001: wait 0 ms00D6: if 0 @1 > 0 004D: jump_if_false ££GRG_TOOKOUT_END000C: @1 -= 10008: @0 += 1;----------------------------------------------; if car exists (compare cars count with index);----------------------------------------------00D6: if 0001C: $cars > @0004D: jump_if_false ££GRG_TOOKOUT_END00D6: if 000DB: actor $PLAYER_ACTOR in_car $GrgCarHandle(@1,40i) ; <- player took this car out004D: jump_if_false ££GRG_LOOP_TOOKOUT;----------------;Shift and delete;----------------000C: $cars -= 1 ; <- cars = cars - 1;------------------------------;Took out a car from the middle;------------------------------:GRG_107_00010084: $GrgCarType(@1,40i) = $GrgCarType(@2,40i) ; last car gets shifted to taken car0085: $GrgCarX(@1,40f) = $GrgCarX(@2,40f)0085: $GrgCarY(@1,40f) = $GrgCarY(@2,40f)0085: $GrgCarZ(@1,40f) = $GrgCarZ(@2,40f)0085: $GrgCarZangle(@1,40f) = $GrgCarZangle(@2,40f)0084: $GrgCarCol1(@1,40i) = $GrgCarCol1(@2,40i)0084: $GrgCarCol2(@1,40i) = $GrgCarCol2(@2,40i)0084: $GrgCarHandle(@1,40i) = $GrgCarHandle(@2,40i)0084: $GrgCarPaintjob(@1,40i) = $GrgCarPaintjob(@2,40i);0084: $GrgCarMod0(@1,40i) = $GrgCarMod0(@2,40i);0084: $GrgCarMod1(@1,40i) = $GrgCarMod1(@2,40i)0084: $GrgCarMod2(@1,40i) = $GrgCarMod2(@2,40i);0084: $GrgCarMod3(@1,40i) = $GrgCarMod3(@2,40i);0084: $GrgCarMod4(@1,40i) = $GrgCarMod4(@2,40i) ;0084: $GrgCarMod5(@1,40i) = $GrgCarMod5(@2,40i);0084: $GrgCarMod6(@1,40i) = $GrgCarMod6(@2,40i)0084: $GrgCarMod7(@1,40i) = $GrgCarMod7(@2,40i)0084: $GrgCarMod8(@1,40i) = $GrgCarMod8(@2,40i)0084: $GrgCarMod9(@1,40i) = $GrgCarMod9(@2,40i);0084: $GrgCarMod10(@1,40i) = $GrgCarMod10(@2,40i)0084: $GrgCarMod12(@1,40i) = $GrgCarMod12(@2,40i)0084: $GrgCarMod13(@1,40i) = $GrgCarMod13(@2,40i)0084: $GrgCarMod14(@1,40i) = $GrgCarMod14(@2,40i)0084: $GrgCarMod15(@1,40i) = $GrgCarMod15(@2,40i) :GRG_TOOKOUT_END0051: return So, have fun with that ugly codelines Link to comment Share on other sites More sharing options...
tomworld10 Posted October 3, 2005 Share Posted October 3, 2005 (edited) Hi @nubbel: First thank posting your code it helps a lot and makes everyone a better knowledge. Then : 004D: jump_if_false ££ That's not the problem !!!!!!!!!, I'd be so happy it was that obvious!!!!!!!!!!!!!!!!!! (anyway BW's SAMB wouldn't even compile that because the line missing an argument!!!!!!!!!!!!!!!!), but your answer was funny, i liked it. Anyway i've modfied the original message to : 004D: jump_if_false ££;wherever it needs to go, when all slot have been check and 004D: jump_if_false ££;wherever it needs to go, when all slot have been filled with their car What my piece of code does is that it "saves" in variables the mods on the car and go wherever you need it to go (jf if $slot>16) and then later when you need it put the mods on the new car spwaned. In fact that -------------------------------------------------------- this part below get the installed components:BORDEL6_1000004: $slot = 0;; integer values; my index of the array:BORDEL6_2000001: wait 0 ms00D6: if 08038: NOT $slot == 16;; integer values004D: jump_if_false ££;wherever it needs to go, when all slot have been check096D: get_car $carchee installed_components_on_slot $slot = $carcom0($slot,16i);; explained itself i think, see opcode database for more details0008: $slot += 1;; integer values; to increment the index of the array0002: jump ££BORDEL6_200 in my code could replace that ;096D: $playerCar 0 $GrgCarMod0(@0,40i);096D: $playerCar 1 $GrgCarMod1(@0,40i)096D: $playerCar 2 $GrgCarMod2(@0,40i);096D: $playerCar 3 $GrgCarMod3(@0,40i);096D: $playerCar 4 $GrgCarMod4(@0,40i);096D: $playerCar 5 $GrgCarMod5(@0,40i);096D: $playerCar 6 $GrgCarMod6(@0,40i)096D: $playerCar 7 $GrgCarMod7(@0,40i)096D: $playerCar 8 $GrgCarMod8(@0,40i)096D: $playerCar 9 $GrgCarMod9(@0,40i);096D: $playerCar 10 $GrgCarMod10(@0,40i)096D: $playerCar 12 $GrgCarMod12(@0,40i)096D: $playerCar 13 $GrgCarMod13(@0,40i)096D: $playerCar 14 $GrgCarMod14(@0,40i)096D: $playerCar 15 $GrgCarMod15(@0,40i) in your code And then this part : --------------------------------------------------------this part below put the installed component on the new car:BORDEL6_6000004: $slot = -1;; integer values:BORDEL6_7000001: wait 0 ms00D6: if 08038: NOT $slot == 16;; integer values004D: jump_if_false ££wherever it needs to go, when all slot have been filled with their car components0008: $slot += 1;; integer values00D6: if 0 8038: NOT $carcom0($slot,16i) == 0;; integer values;; check if there is any component to install004D: jump if false ££BORDEL6_7000084: $carcomp = $carcom0($slot,16i);; integer values and handles:BORDEL6_80006E9: request_car_component $carcomp038B: load requested models:BORDEL6_9000001: wait 0 ms00D6: if 006EA: car_component_available $carcomp004D: jump_if_false ££BORDEL6_80006E7: $useless = add_car_component $carcomp to_car $carchee06EB: release_car_component $carcomp0002: jump ££BORDEL6_700 could as well replace ;-------------------------------------; Skip mods check if no mod is present;-------------------------------------;00D6: if 25[color=red][size=7]to [/size][/color]06E7: $10420 = add_car_component $GrgCarMod15(@1,40i) to_car $GrgCarHandle(@1,40i)06EB: release_car_component $GrgCarMod15(@1,40i):GRG_SPAWN_00160002: jump ££GRG_LOOP_SPAWN That's why you might be really intersted in this, it would slimmed down your code a bit. And it's made to be reusable in any mods (the reason i left the jf empty) that needs to destroy then respawn a car (like your garage save code does) that have mods sticken on it. Then ;00D6: if 1;8038: NOT $GrgCarMod1(@1,40i) == -1;8038: NOT $GrgCarMod1(@1,40i) == 0;004D: jump_if_false ££ (in your code) i think that the good way to do it even if it very weird because 096D DOES set the car component model number ($GrgCarModx(@0,40i) in your code) to 0 (i've verified it) when not any mods are installed on the slot, but doesn't seems to work at all (crash.....) when i only check if it's zero. That's not a real problem but WEIRD crap!!!!!, but actally i thought of a work around which check if it's over a thousand because all cars components model numbers are over a thousand!!!!!!!!!!!!!!!!!!!!!!!!! Then again something that's a minor issue is that it shouldn't be 16 but 15 in here (and other places...) 00D6: if 08038: NOT $slot == 16;; integer values004D: jump_if_false ££ but right now i don't give a heck about it because the biggest problem in my code is that this line doesn't do her work 096D: get_car $carchee installed_components_on_slot $slot = $carcom0($slot,16i) the arrays $carcom0($slot,16i) stay equal to 0 all the time but it works with a single (not indexed array) variable like $whatever !!!!!!!!!!!!!!!!!!! Looking again in your code you've used local indexed arrays ($GrgCarMod1(@1,40i)), i should try to see what it does but global index (($slot,16i)) should work just as well and i really don't get why this doesn't. Drives me mad but i got to test that right away...... Thanks again for your code i love to compare different methods to do the same thing because often it leeds to both more accurates different methods and thank again to just having a look to my code (even if you probably should had a deeper look to it, anyways it doesn't matter.....) it encourages me (and i hope you too) to keep working. Aufwiedersehen (really sorry for the mistake my german lessons are very very far away) @everyone else: well i've told nubbel everything and instead of repeating myself I give you authorization to read the part of my message that belongs to nubbel (hey just kidding, do whatever you want, it's your life don't wait for any authorization, but I'm not responsible for anyblablabla...... the usaul crap). If there is a word that you don't understand and you can't find in your english dictionary well it just means "see you later". I think that's it i'm finished (finally!!!!!!!!!!) never forget to HAVE FUN !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! because fun is life and sometimes (never enough) life is fun but HAVE FUN Edited October 3, 2005 by tomworld10 Link to comment Share on other sites More sharing options...
rats Posted November 14, 2005 Share Posted November 14, 2005 so, are we gonna have a big garage or not? Link to comment Share on other sites More sharing options...
superglitch Posted November 17, 2005 Share Posted November 17, 2005 wtf are talking about? Link to comment Share on other sites More sharing options...
Demarest Posted November 17, 2005 Share Posted November 17, 2005 You guys mind not bumping a thread unless you have something to add to it? Link to comment Share on other sites More sharing options...
Bobesz Posted June 25, 2006 Share Posted June 25, 2006 OK i think i got garage doors working ! Garage doors now work thru ide files, there are flags which make the doors move: For example in the vid i used flag: 2048, as you can see, it works, but the flag also rotated the model. Working garage video I'll go thru the sa ide files and gather all the flags used for the garages, and post it here. Link to comment Share on other sites More sharing options...
ZAZ Posted June 26, 2006 Share Posted June 26, 2006 (edited) OK i think i got garage doors working !Garage doors now work thru ide files, there are flags which make the doors move: For example in the vid i used flag: 2048, as you can see, it works, but the flag also rotated the model. Working garage video I'll go thru the sa ide files and gather all the flags used for the garages, and post it here. Your vid file seems broken. can´t get it complete. Addet one more Hangar in Verdant Madows Grand Theft Auto San Andreas\data\maps\country\countn2.ipl>>16771, des_savhangr, 0, 104.797, 2507.72, 21.0547, 0, 0, 0, 1, -116773, door_savhangr1, 0, 97.477, 2529.63, 18.7156, 0, 0, 0, 1, -116775, door_savhangr2, 0, 112.117, 2529.63, 18.7156, 1.32679e-06, 1.32679e-06, -1, 1.76038e-12, -1endgrge83.843, 2486.28, 14.166, 125.862, 2486.28, 83.843, 2528.63, 23.4886, 4, 45, zhangar The door needs the grge-ipl and could be activate and deactivate with main.scm>>0299: activate_garage 'ZHANGAR'02B9: deactivate_garage 'ZHANGAR' I know what you mean. By doing the same with the Grovestreet savegarage, the door won´t rotate. Just moving back and forward. vegasW.ipl>>17950, cjsaveg, 0, 938.984, 1986.28, 12.01, -1.87637e-06, -1.87637e-06, -0.707106, -0.707107, 32917951, cjgaragedoor, 0, 943.688, 1986.11, 11.653, 0, 0, 0, 1, -1 grge935.441, 1989.39, 9.01, 935.279, 1982.9, 943.417, 1989.55, 15.01, 1, 16, blub46 0299: activate_garage 'blub46' To add the door in the IDE with parameter 2048 don´t help. vegasW.ide>>17950, cjsaveg, contachou1_lae2, 100, 017951, cjgaragedoor, contachou1_lae2, 100, 2048 In addition, the hangar door ide also have parameter 2048 16771, des_savhangr, des_boneyard, 180, 416772, lod_savhangr, lod_countn2, 600, 016773, door_savhangr1, des_boneyard, 180, 204816775, door_savhangr2, des_boneyard, 180, 2048 Edited June 26, 2006 by ZAZ CLEO MODS CLEO Script Tutorial Link to comment Share on other sites More sharing options...
Recommended Posts