Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Drug Wars
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    6. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Movies & TV
      5. Music
      6. Sports
      7. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Announcements

    2. Support

    3. Suggestions

savegarage creation


nubbel
 Share

Recommended Posts

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 confused.gif 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... biggrin.gif

j/p

Link to comment
Share on other sites

I think he knows that  confused.gif  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

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

didn't notice he said he loaded a saved game...

oh well, that's life biggrin.gif

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? Shifty41s_beerhatsmilie2.gif

Link to comment
Share on other sites

Eliza Dushku. Yes it is colgate.gif

 

And you should've known because I quoted it to emphasize it wink.gif No harm done.

Link to comment
Share on other sites

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

Private_Paula

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 by Private_Paula
Link to comment
Share on other sites

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 cool.gif

Link to comment
Share on other sites

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

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

Private_Paula

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

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

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

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

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

Private_Paula
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

"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

GTASan Andreas CJ Rules

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

It replaces a driveable boat, but can't be driven? blink.gif

 

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

Private_Paula

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. lol.gif

 

 

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 biggrin.gif

 

 

 

 

Link to comment
Share on other sites

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

  • 4 weeks later...

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 by tomworld10
Link to comment
Share on other sites

@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 tounge.gif).

 

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 confused.gif

Link to comment
Share on other sites

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 by tomworld10
Link to comment
Share on other sites

  • 1 month later...
  • 7 months later...

OK i think i got garage doors working viddy_pirate.gif !

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

 

OK i think i got garage doors working   viddy_pirate.gif !

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 by ZAZ
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.