Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. Red Dead Redemption 2

      1. PC
      2. Gameplay
      3. Missions
      4. Help & Support
    2. Red Dead Online

      1. Gameplay
      2. Find Lobbies & Outlaws
      3. Help & Support
      4. Frontier Pursuits
    1. Crews & Posses

      1. Recruitment
    2. Events

    1. GTA Online

      1. Diamond Casino & Resort
      2. DLC
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Grand Theft Auto Series

    3. GTA 6

    4. GTA V

      1. PC
      2. Guides & Strategies
      3. Help & Support
    5. GTA IV

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA IV Mods
    6. GTA Chinatown Wars

    7. GTA Vice City Stories

    8. GTA Liberty City Stories

    9. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
      3. GTA SA Mods
    10. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
      3. GTA VC Mods
    11. GTA III

      1. Guides & Strategies
      2. Help & Support
      3. GTA III Mods
    12. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    13. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

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

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption

    2. Rockstar Games

    1. Off-Topic

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

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

    2. Forum Support

    3. Site Suggestions

nubbel

savegarage creation

Recommended Posts

Demarest

Note: This is an incomplete post. I ended up spending longer on it than I intended and later found that the threads were inoperable. I post what I had at that point in hopes that it's somewhat helpful...

 

This post is going to be written as I read through your code... The is player defined check is often misused. Your thread seems to not get started until it's true, but the things you set up right away have nothing to do with the player, so it's not needed. Instead, you should have it before the first reference to player. You had

 

:MDGarage_0010001: wait 250 ms 00D6: if  0 0256:   player $PLAYER_CHAR defined 004D: jump_if_false ££MDGarage_0010004: @1 = -1$MDGrgCarHndl(@1,10i) = 0 ; Array of car handles$MDGrgCarTp(@1,10i) = 0   ; Array of car types0004: @2 = 0              ; 1 = Walking0004: @3 = 0              ; used for car handle0004: @4 = 0              ; used for car type0004: $times_in = 0       ; well, see Label MDGarageInside_001:MDGarageCheckInside_0010001: wait  250 ms00D6: if  000A4:   actor $PLAYER_ACTOR  0 ()in_cube  1237.611  -823.5489  82.135   1260.113  -799.1196  88.3125 004D: jump_if_false ££MDGarageCheckInside_001

 

When it should be

 

:MDGarage_0010004: @1 = -1$MDGrgCarHndl(@1,10i) = 0 ; Array of car handles$MDGrgCarTp(@1,10i) = 0   ; Array of car types0004: @2 = 0              ; 1 = Walking0004: @3 = 0              ; used for car handle0004: @4 = 0              ; used for car type0004: $times_in = 0       ; well, see Label MDGarageInside_001:MDGarageCheckInside_0010001: wait  250 ms00D6: if  0 0256:   player $PLAYER_CHAR defined 004D: jump_if_false ££MDGarageCheckInside_00100D6: if  000A4:   actor $PLAYER_ACTOR  0 ()in_cube  1237.611  -823.5489  82.135   1260.113  -799.1196  88.3125 004D: jump_if_false ££MDGarageCheckInside_001

 

That player defined check should be executed before any major block of coding that has references to the player. For the sake of efficiency, it should actually be a subroutine that traps threads until player IS defined. That way it's one gosub line instead of the 6 lines for the loop itself.

 

Also, that thread only uses 4 local vars. So instead of $times_in, you could use @0 to cut down on global vars.

 

This next piece of advice is especially helpful when dealing with larger arrays, but even in this double 10 array, its power is seen. Instead of

 

:MDGarageSave0084: $MDGrgCarTp(9) = $MDGrgCarTp(8)0084: $MDGrgCarTp(8) = $MDGrgCarTp(7)0084: $MDGrgCarTp(7) = $MDGrgCarTp(6)0084: $MDGrgCarTp(6) = $MDGrgCarTp(5)0084: $MDGrgCarTp(5) = $MDGrgCarTp(4)0084: $MDGrgCarTp(4) = $MDGrgCarTp(3)0084: $MDGrgCarTp(3) = $MDGrgCarTp(2)0084: $MDGrgCarTp(2) = $MDGrgCarTp(1)0084: $MDGrgCarTp(1) = $MDGrgCarTp(0)0084: $MDGrgCarTp(0) = @40084: $MDGrgCarHndl(9) = $MDGrgCarHndl(8)0084: $MDGrgCarHndl(8) = $MDGrgCarHndl(7)0084: $MDGrgCarHndl(7) = $MDGrgCarHndl(6)0084: $MDGrgCarHndl(6) = $MDGrgCarHndl(5)0084: $MDGrgCarHndl(5) = $MDGrgCarHndl(4)0084: $MDGrgCarHndl(4) = $MDGrgCarHndl(3)0084: $MDGrgCarHndl(3) = $MDGrgCarHndl(2)0084: $MDGrgCarHndl(2) = $MDGrgCarHndl(1)0084: $MDGrgCarHndl(1) = $MDGrgCarHndl(0)0084: $MDGrgCarHndl(0) = @30362: remove_actor $PLAYER_ACTOR from_car_and_place_at  1237.611  -823.5489  83.1350002: jump ££MDGarageSaved_001

 

...you could have

 

:[email protected] = 9:MDGarageSaveLoop0001: wait  0 ms0062: @6 = @5 - 10084: $MDGrgCarTp(@5) = $MDGrgCarTp(@6)0084: $MDGrgCarHndl(@5) = $MDGrgCarHndl(@6)@5 -=  100D6: if  0001B:  1 > @5004D: jump_if_false ££MDGarageSaveLoop0084: $MDGrgCarTp(0) = @40084: $MDGrgCarHndl(0) = @30362: remove_actor $PLAYER_ACTOR from_car_and_place_at  1237.611  -823.5489  83.1350002: jump ££MDGarageSaved_001

 

 

I wanted to mention that your use of waits is a bit excessive, but when it's excessive, they're wait 0s, so that's probably not so bad.

 

Towards the end of your first thread, you have

:MDGarageWalking_0010002: jump ££MDGarageCheckInside_001:MDGarageSaved_0010002: jump ££MDGarageCheckInside_001

 

To consolidate, you could have

:MDGarageWalking_001:MDGarageSaved_0010002: jump ££MDGarageCheckInside_001

 

...but in all fairness, having a label with only a jump command, you might as well change all jumps to that label to the label it just jumps to anyways. Saves some code space. In this case, for every jump to MDGarageWalking_001 and MDGarageSaved_001, you could just change to jumps to MDGarageCheckInside_001.

 

At the very end of your first thread, you have

 

:MDGarageFull_001 00BC: text_highpriority 'IE24'  5000 ms  10002: jump ££MDGarageCheckInside_001 0002: jump ££MDGarageCheckInside_0010002: jump ££MDGarage_001004E: end_thread

 

The last two jumps there as well as the end_thread are never touched. Your thread will behave the same even if that code was plucked. Saves you 3 more lines.

 

I admit that I've never actually looked through Carpark's code, but your code does nothing to save the car's XYZ, Z angles, colors, etc. Being that your second code attempts to divide the integer by 2^16 while crashing the game, I imaging Carpark used bitcoding to have one integer store all that info into one variable. I could be wrong. But without this code actually creating that data, your 2nd thread has nothing to retrieve.

 

For that reason, I'm going to cut this post short as both of your threads are inoperable and should probably even be made into a single thread. Hopefully the shortcuts I've pointed out are helpful. Speaking of helpful, when immitating existing code, it is unfortunately a requisite that you understand what it's doing. Otherwise, you're just going to frustrate yourself with incomplete code like this. But we're all here to help, so don't give up smile.gif

Share this post


Link to post
Share on other sites
nubbel

Well I understand and agree to most of your points, thanks!

 

 

This next piece of advice is especially helpful when dealing with larger arrays, but even in this double 10 array, its power is seen. Instead of

........

 

 

Well sure, this is what I tried.

But somehow I got error messages. I wasn't able to access an array element while using a local integer variable as array index, this just causes errors confused.gif

 

 

I admit that I've never actually looked through Carpark's code, but your code does nothing to save the car's XYZ, Z angles, colors, etc.

 

Well it seems that you can recreate this from the handle referring to the car. This is what it looks like in the marina carpark code. It saves the handle and the car type. color and position gets received from the handle (when I'm right).

 

But I would suggest we cut talking about my code, since it was a try and has lots of faults and is bad structured.

 

tounge2.gif

Share this post


Link to post
Share on other sites
Demarest

Well sure, this is what I tried.

But somehow I got error messages. I wasn't able to access an array element while using a local integer variable as array index, this just causes errors confused.gif

That's good to know. I did not know that before. Same concept though.

 

 

Well it seems that you can recreate this from the handle referring to the car. This is what it looks like in the marina carpark code. It saves the handle and the car type. color and position gets received from the handle (when I'm right).

Like I said, IF that's how it's done, then the variable was bitcoded to store all of that. Think for a second. Referencing a car handle is NOT going to tell you it's color, position, etc.

 

 

But I would suggest we cut talking about my code, since it was a try and has lots of faults and is bad structured.

Sorry. I thought you posted it for feedback. That's how we learn.

Share this post


Link to post
Share on other sites
nubbel

 

Like I said, IF that's how it's done, then the variable was bitcoded to store all of that. Think for a second. Referencing a car handle is NOT going to tell you it's color, position, etc.

What does this mean, "bitcoded" ?

 

 

Sorry. I thought you posted it for feedback. That's how we learn.

Yes, you are right. But now I see my code has too many issues to talk about. It would be better to begin from scratch. Someone else, who has the knowledge, has to do this xmas.gif

 

Share this post


Link to post
Share on other sites
Quadropheniac90
I was too lazy to read through this whole topic, but I thought everyone knew how to open garages. I opened up the garage of CJ's Garage biggrin.gif but didn't manage to get the interior working. So offtopic: Should I make the interior accesible or something, there's an opcode for that, but then again, I would need to find the interior files, are they defined in the main? I saw some interior names, I'll try and find the garage...

Share this post


Link to post
Share on other sites
Demarest

I see my code has too many issues to talk about. It would be better to begin from scratch. Someone else, who has the knowledge, has to do this  xmas.gif

wow.gif Don't do that! We learn more from our failures than we do our successes. I wasn't trying to discourage you from modding. I was trying to help you become the best you can be! Don't give up now! cryani.gif

 

 

What does this mean, "bitcoded" ?

First and foremost, it should be noted that bitcoding in SA is probably a bad idea. The concept uses additional processing and commands to squeeze more data into a single byte, or in this case, a single variable. Since SA is limited sizewise, it would probably be better to use more variables instead of more resources. If I'm correct in assuming that Patrick used bitcoding, it was likely to cut down on variable quantity so he could actually pump out 40 cars.

 

Bitcoding is like using flags. If you consider an 8-bit byte, you have 8 flags so long as each flag is meant to represent one of two states, usually on and off, true and false, etc. In an 8-bit byte, the flags would represent the following values when set: 128 64 32 16 8 4 2 1. You start by taking a byte/variable and setting it to 0. Then if flag 1 is on/true, you add 1. If flag 2, then 2. If flag 3, then 4. 4, then 8 and so on up the ladder. When you're done (and you don't need 8 full arguments or in the case of a variable, ANY set number of arguments), what you have left is your bitcoded byte/variable. See how it takes time and commands to check each flag? That's the downside. The upside is more data stored into one place. When you load that value, you deconstruct it in reverse. You do this because each value on the scale there is greater than all the values below it combined. For example, 1+2+4+8+16+32+64=127. 127 is less than 128. So if your byte/variable is greater than 128, then you know your 8th flag is on/true. So you set flag 8 to on and subtract 128 from your value. Then you repeat the process with 64 for flag 7, 32 for flag 6, and so on down the line.

 

Keep in mind that the values here are for bits. You can use any values you want when constructing your own variables. If YOUR flag 1 has 10 values, then the variable you're storing in would reserve 1-10 for your first flag. So your 2nd flag would start at 11 and you just add them up like that.

Share this post


Link to post
Share on other sites
V41N

Thanks for the updates guys. I'm finally off work until wed. and hopefully I can have this done by then. I have already outlined everything and started some of the code. I feel very confident that this will be accomplished soon, so long as I can get the arrays working properly. I will let you know when I have something to test or if I run into any problems, but for the most part I'm going to try to get this working on my own (since that is the best way to learn). Thanks again for the help.

Share this post


Link to post
Share on other sites
Y_Less
First and foremost, it should be noted that bitcoding in SA is probably a bad idea.

Actually, bitcoding in SA is a good idea, as it has specific OpCodes designed for it, it was a feature they implemented, so is very easy. There are OpCodes to do it, but they're not in the batabase, and the topic with them has been archived. I'll see if I can google them.

Share this post


Link to post
Share on other sites
Demarest
Awesome. I just assumed that the 200000 byte limit meant we should ease off on adding more lines than we have to. If you find those, post it because it will definitely help smile.gif

Share this post


Link to post
Share on other sites
PatrickW

@ Nubbel: that was a brave attempt, but as demarest said, be sure you fully understand code, before you try to imitate it. The handles to the cars are only stored, for as long as the cars are spawned, it is used to reference all the cars when the players exits the garage. At that point all relevant aspects of the cars are stored in arrays ( model, colors, position ). When the player has left the garage, all cars inside it are destroyed, making the handles useless.

When the player comes near the garage again. The cars are recreated from the data in the arrays, and the handles of the created car are stored for later reference.

 

As dem pointed out, I used bitcoding to put the model and both the colors in a single (32bits) variable. This was done to save on usage of global vars. In my latest ( unreleased version), I've taken the bitcoding a step further, and have even stored the position ( x,y,z,Rz) in a single variable ( not completely true, Z is not stored, but determined afterwards from the groundlevel at the stored X,Y), and that same array also stores the handle when the cars are created, thus needing only two arrays to store all data)

 

On your usage of arrays and on dems suggestion: You can index arrays with global or local variables, but you have to use the proper syntax ( and barton has come up with a real wacky one here)

instead of

 

car_table(@1)

you should use

car_table(@1,40i)

 

The '40' is the size of the array, and the 'i' says that it is a Integer array, other valid values include 'f' for float, 's' for strings.

Read the readme.txt file on this, it contains the complete list.

 

This is something for everyone that tries to modify the SA SCM files using SA builder, read the readme.txt, it contains important changes with respect to the VC version.

 

On the new opcodes for bitcoding that Y_less mentioned. They exist indeed, but would have been little help in this case, as they only allow to adress a single bit at a time in a variable. I have to searched for my original message presenting these, but failed. But here is a listing of the opcodes ( in SA disassembler format ( who's gonna write this in proper SA builder format ??):

 

08b4=2, bit_test_gi08b5=2, bit_test_gg08b6=2, bit_test_gl08b7=2, bit_test_li08b8=2, bit_test_lg08b9=2, bit_test_ll08ba=2, bit_set_gi08bb=2, bit_set_gg08bc=2, bit_set_gl08bd=2, bit_set_li08be=2, bit_set_lg08bf=2, bit_set_ll08c0=2, bit_clear_gi08c1=2, bit_clear_gg08c2=2, bit_clear_gl08c3=2, bit_clear_li08c4=2, bit_clear_lg 08c5=2, bit_clear_ll

 

The first variable indicates the variable which is to be accessed, the second variable indicates the bit[0..31] in that variable on which the command should work.

 

The "set" variants make the indicated bit "1", the "clear" variants make the indicated bit "0".

The "test" variant is a condition-opcode, and must thus be used within a if/jf pair. It will return TRUE if the indicated bit is "1" and FALSE id the bit is "0".

 

The last two letters from each name, indicate the type of parameter that is expected:

1st param: g->global variable, l-> local variable

2nd param: g->global variable, l->local variable, i->imidiate value ( thus e.g. '2' )

 

 

Edited by PatrickW

Share this post


Link to post
Share on other sites
Demarest
Nice. Too bad they only allow literal bits instead of letting you define the capacity of each "bit" for instances like with the Car Park.

Share this post


Link to post
Share on other sites
V41N

[Edit]

 

Ok, I need help

I attempted it, but didn't accomplish it.

 

Edit:

Oh well, I give up... It's obviously not possible with my skill level...

 

Edit Again:

Nope, I just can't give up! biggrin.gif

I found my main problem was with opcodes and I have made a lot of progress.

Hopefully I will have something post-worthy soon.

Edited by NDG474

Share this post


Link to post
Share on other sites
nubbel

I also tried around again, trying to only store 1 car when you drive into a red sphere.

Saving the car and loading it again from the array when you come close to the area works.

But anyhow the Array data deosn't get saved when I save the game and load it again. Then all data is gone sad.gif

 

I used simple Array information:

 

 

0811: @0 = actor $PLAYER_ACTOR car0441: @1 = car @0 model0407: create_coordinate @2 @3 @4 from_car @0 offset 0.0 0.0 0.002CE: @4 = ground_z @2 @3 @4 0174: @5 = car @0 z_angle03F3: get car @0 color @6 @70084: $MDGrgCar1(0,10i) = @1  ; Car type0084: $MDGrgCar1(1)     = @2  ; Car X0084: $MDGrgCar1(2)     = @3  ; Car Y0084: $MDGrgCar1(3)     = @4  ; Car ground_z0084: $MDGrgCar1(4)     = @5  ; Car z_angle0084: $MDGrgCar1(5)     = @6  ; Car color 10084: $MDGrgCar1(6)     = @7  ; Car color 20004: $MDGrgCar1(7)     = 1   ; car exists(1)0004: $MDGrgCar1(8)     = 0   ; car spawned(1)

 

 

restore it like this:

 

 

00A5: @2 = create_car $MDGrgCar1(0) at  $MDGrgCar1(1) $MDGrgCar1(2) $MDGrgCar1(3);0175: set_car @2 z_angle_to  $MDGrgCar1(4)0175: set_car @2 z_angle_to 90.00229: set_car @2 color_to  $MDGrgCar1(5)  $MDGrgCar1(6)

 

 

and delete it when I'm far away:

 

 

01C3: remove_references_to_car  @2

 

 

I used "z_angle_to 90.0" to see if the restore really works.

But the Array isn't saved to the savegame. But why, I guess you don't have to use bitcoding to save something.

 

Share this post


Link to post
Share on other sites
Demarest

That's not really an array though in terms of execution. An array suggests that it contains like data for multiple items.

 

May I assume that prior to your create_car command, you've requested the model and looped to trap the code from proceeding prior to it being ready?

Share this post


Link to post
Share on other sites
Phosgene

Alright guys, please bear with me, I'm a total noob when it comes to modding GTA...I was playing SA a little while ago (PC version), riding around SF killing a cop here and there, generally enjoying the scenery as the police chased me around...got bored, went to save, and it hit me: How feasible would it be to turn the non-operational garages (the one right next to the functional one, and the one toward the rear of the main building) at the Doherty Garage into fully-functional garages? They already have doors, I'm ASSUMING from what I've read in this thread (what little I've understood) that most garages use the same basic interior, etc. While not a huge storage area, this would be "better than nothing" until someone can figure out a way to turn the hangar into a car show (so to speak). Please keep in mind guys, that I'm no modder (the most I've done in any GTA game is adding extra vehicle spawns to SA...had to have a mountain bike outside CJ's house blush.gif ) but I AM willing to learn if it's fairly simple (can't teach an old dog new tricks, I'm afraid). Thanks for your help/patience/criticism/advice/flames.

 

colgate.gif

Share this post


Link to post
Share on other sites
nubbel

 

That's not really an array though in terms of execution. An array suggests that it contains like data for multiple items.

 

I really don't have a clue what you mean ^^ . The $MDGrgCar1 is an Array that stores the car type, color, x, y, z and stuff.

It IS an array rah.gif

 

 

May I assume that prior to your create_car command, you've requested the model and looped to trap the code from proceeding prior to it being ready?

 

Yup, sure. As I said, it works quite well in the game without loading the savegame. So I park the car, it gets saved, I go away, the car gets removed, I return back, the car is restored from the array.

I know that it works, because when I comment out the code that removes the car, then everytime I go away and return back 1 car is spawned from the Array and they pile up smile.gif

 

Code: GARAGE3.txt

Edited by nubbel

Share this post


Link to post
Share on other sites
Demarest

From what I've read, external scripts don't survive the loading process. Did you put your script in MAIN?

 

As for the array, you could just have one array that keeps track of every global in the game and then just address it by it's item number when you need it. The power in arrays is usually in for loops so you can address the same characteristic/item of different things.

Share this post


Link to post
Share on other sites
nubbel
From what I've read, external scripts don't survive the loading process. Did you put your script in MAIN?

Directly above "-Mission 0-", so this might be the wrong place?

Share this post


Link to post
Share on other sites
Demarest

From what I've read, MB decompiles and puts all scripts into one for display. So by putting it just before Mission 0, you ARE putting it into an external script.

 

Here's the bottom of the MAIN section and beginning of the first external script

:MAIN_63700D6: if  00038:   $157 ==  1 ;; integer values004D: jump_if_false ££MAIN_6410004: $157 =  0 ;; integer values:MAIN_6410002: jump ££MAIN_392:INT_103A4: name_thread 'INT'

You can see by the label names which are which.

 

Thanks to Craig for giving me a copy of the original code so I could answer questions like this.

Share this post


Link to post
Share on other sites
nubbel

Thanks for this answer!

What I am asking myself is, when I put my code(s) under the last MAIN lable, will it still be seen as an external script ?!? Do I have to rename my lable like MAIN_XYZ ?!?

 

Greatings, nubbel

Share this post


Link to post
Share on other sites
Demarest

Excellent question! There's only one way to find out. And since we know what will happen if YOUR code is in an external script, I think it makes for a conclusive test bed smile.gif

 

Just to be safe though, you could put it anywhere in MAIN so long as it doesn't get in the way of other code. How will you know? Any label block that ends in a jump will never progress forward. That's a good place. Or find a create label and go to that label. Just before it would be a safe bet.

Share this post


Link to post
Share on other sites
nubbel

Hm, I tried different places following your suggestions, but the array is still not saved to the savegame confused.gif

Is it maybe because I use a thread (create_thread) ?

Share this post


Link to post
Share on other sites
Demarest
Is it maybe because I use a thread (create_thread) ?

No, it should still work fine by the way you're describing it. Care to link to a TXT file of your code up through and including

 

:MAIN_63700D6: if  00038:   $157 ==  1;; integer values004D: jump_if_false ££MAIN_6410004: $157 =  0;; integer values:MAIN_6410002: jump ££MAIN_392

? If you do, can you also post here just the code you've added?

Share this post


Link to post
Share on other sites
nubbel

Sorry, I do not really understand what you mean (english is not my native language) dontgetit.gif

 

The code I wrote is right here: GARAGE3.TXT

 

I put the 3 create_thread's just to all the others. And i put my code to different places. First directly above "-Mission 0-", then directly above ":INT_1", then under the first jump I found after the first ":MAIN_"-Lable.

These 3 places didn't work confused.gif (didn't work = array not saved to savegame, but saved during actual game session)

 

I would upload TXT's of everything you want if that helps any how, but I think I just did not understand you right ?!? dozingoff.gif

Edited by nubbel

Share this post


Link to post
Share on other sites
Demarest
The code I wrote is right here: GARAGE3.TXT

I was asking if you could link to a text file that contains ALL of the SCM code through

 

:MAIN_63700D6: if  00038:   $157 ==  1;; integer values004D: jump_if_false ££MAIN_6410004: $157 =  0;; integer values:MAIN_6410002: jump ££MAIN_392

 

...INCLUDING your added code. If I can see all of it together, maybe I can spot why it's not behaving properly.

Share this post


Link to post
Share on other sites
Killer_Waffle

did anyone get further with converting the marina car park

to SA?

Share this post


Link to post
Share on other sites
Ockie

The info in this thread is great, I have a question though. I would like to create a couple of parking spaces at some safe houses that don't have garages and the info here should help. What I need to know is what program do I need to find the coodinates for designating the dimensions of the garage/space.

 

Thanks

Share this post


Link to post
Share on other sites
Ockie

Thanks for the link Guill. Downloading program now.

Share this post


Link to post
Share on other sites
darkad1

So?

I am no modder at all. I can't do jack!!

I really want to have a car available at Madd Doggs mansion. (mine now)

I need something i can download and put into the SA folder, like other mods.

I really want a mod to do this, now!

 

Or, if not a garage, i don't mind having a car spawn (cheetah) where the garages are, like the infurnus in the mansion in VC.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

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