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 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 Mods
    10. GTA Vice City

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

      1. Guides & Strategies
      2. Help & Support
      3. GTA 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

Sign in to follow this  
digita1mind

Creating cut-scenes in GTA-VC??

Recommended Posts

digita1mind

Does anybody have references or tutorials on how to create cut-scenes in GTA-Vice City? whatsthat.gif

 

Has anyone attempted to create cut-scenes? Where would I be able to learn more about this process, because there are some really interesting Machinima possibilities here. What's the best program to use?

 

A well choreographed car chase, similiar to "Gone in 60 Seconds" would be very cool in Vice City! Thanks. biggrin.gif

Share this post


Link to post
Share on other sites
DexX

its more or less the ultimate thing to do, and to my knowledge hasnt been done yet. btw, your topic-title as it reads right now implies you've done it, im gonna change that real quick..

Share this post


Link to post
Share on other sites
ceedj

Actually, a car chase wouldn't be that hard to do. You would need to:

 

Create an driver for the car

Create the car

Create a car for the player to drive

Command the actor to enter the car and follow.

 

This would need be to done in a modified scm and also using Racer_S' CamHack. The problem you MIGHT run into is deciding where to set the camera, since you'll need to see your player and getting into the car to start the scene. Straightaways would be easier than corners, for obvious reasons. Make a lot of quick cuts and WHAMMO! Car chase!

 

I may do a small film to show you what I mean...

 

EDIT: I wonder if there is a way to override the "follow" posistion of the camera on the car when you are driving. It would be handy to have a different starting posistion, say at the front of the car. Although driving forwards backwards can be fun. wink.gif

Edited by ceedj

Share this post


Link to post
Share on other sites
Y_Less
You can set exactly where the camera is and where it points for a static camera in SCM. Or you could have it follow another invisible object which is somewhere near your car (an old trick from Half Life).

Share this post


Link to post
Share on other sites
Y_Less
You can set exactly where the camera is and where it points for a static camera in SCM. Or you could have it follow another invisible object which is somewhere near your car (an old trick from Half Life).

Share this post


Link to post
Share on other sites
ceedj
You can set exactly where the camera is and where it points for a static camera in SCM. Or you could have it follow another invisible object which is somewhere near your car (an old trick from Half Life).

Sure, but that would defeat the purpose of the CamHack, wouldn't it?

 

Not sure about the car/camera thing. I'll have to check it later (no gamepad at work, sadly). I hope I'm not confusing VC with SA... blink.gif

Share this post


Link to post
Share on other sites
digita1mind

Thanks for the tips everyone!

 

I'm a bit new to scripting and map editing for VC, so I don't quite know whats available in the modding community for tools and other editing resources. I've just downloaded "MooMapper" and "BW's Vice Mission Builder v0.22" for VC and have been trying to find some online tutorials to get me started.

 

I was able to do a bit of research on the "Racer_S" camhack, but I haven't tried playing around with it yet. It seems like a cool utility for generating cinematic camera angles.

 

I've also opened the 'main.scm' in the '/data' directory of VC, but really don't have an idea of the code I'm looking at. I guess I'll have to study it more and download examples to perform the trial and error.

 

Ceedj, would you be able to make up a quick tutorial, or even a modded script that I could learn from. I have some awesome ideas for a cut-scene, but really don't know how to begin. Thanks again for your feedback.

 

I hope to hear from you soon. I'll be up for a good portion of the night, so feel free to respond. Thanks.

 

Phil

[email protected]

 

 

 

 

 

Share this post


Link to post
Share on other sites
ceedj

Hi Phil,

 

Here's a small smattering of code for a chase vid I'm working on right now.

 

Firstly, get Bartons ViceBuilder 1.3 or better. Hard to find, but it's out there.

 

Secondly, study, study, STUDY! Study how the differnt parts of the scm work. I can't count the number of things I've learned just by reading the original code.

 

Here's a couple of small examples:

 

Variables are very VERY tricky, if you don't know how to use them right. Case in point, last night I was trying to get the game to store a car color value. In my script, I use $CarSelect to temporarily store the model of the car as part of the selection routine. When the car is created, I use a local variable (since I'm dumping it's charateristics in the same thread anyway) so it turns out to be [email protected] = create_car blah blah blah. My problem was using $CarSelect in this code:

 

get_car $CarSelect colors [email protected] [email protected]

 

when I should have been using

 

get_car [email protected] colors [email protected] [email protected]

 

Another small example: make sure when definining variables that you use the PROPER OPCODE. The FINDOPC text file that comes with the mission builder is invaluable, as it has a ton of simple little opcodes like [email protected] = 5 and $90 = 45.0 , etc. The point is, make sure you use the right opcode. I can't count the number of crashes I've had from using a integer opcode when I should have been using a float. Same with the +=, -+, etc. USE THE PROPER OPCODE.

 

The only reason I'm saying this is because I don't use the builder in the traditional way - just type the argument and data. I don't know, I just feel more comfortable doing it by hand (so to speak, like I code most web pages), knowing that if something screws up, it's probably something in my code. I think if you just put in the arguments, the builder will sort it out; it's just easier for me to track down bugs (the car colors one was a NASTY one).

 

Anyway, with all that said, this little mod doesn't use the CamHack (although I plan to use it for shorter, closeup shots); it uses the in game cinematic camera. To use it, once you have it installed (see below), use the following keys:

 

Press PREV WEAP + Sprint to create a ped. Press NEXT/PREV WEAP to browse the peds, press ACTION to choose. (NEXT WEAP + SPRINT to delete)

 

Press PREV WEAP + Crouch to create car #1 (your car). Use the same process as above. To get a specific color, bounce back between NEXT and PREV WEAP until you find the color you want, then press ACTION to choose. (NEXT WEAP + CROUCH to delete)

 

Press PREV WEAP + FIRE to create car #2 (the peds car). Again, same as above. Both cars will have immunities set (bulletproof, fireproof, damageproof, etc), HOWEVER, the car can still be rolled, and if it winds up upsidedown, it will still explode. (NEXT WEAP + FIRE to delete)

 

Press NEXT WEAP + ACTION to delete EVERYTHING. You'll have to start over. Handy if you've parked a couple of cars up a tree and they won't blow up.

 

Press PREV WEAP + FORWARD (usually arrow key up) to freeze the game clock. Press PREV WEAP + BACKWARD (usually arrow key down) to unfreeze. Helpful in getting mulitple takes without dealing with a natural time flowing lighting shift.

 

Press PREV WEAP + CAMERA to change the weather. Press again to scroll through. I recommend using this with the clock freeze, otherwise the weather will reset to normal after a short time.

 

Anyway, here's the code:

 

; First, add these lines near the beginning of the script (find the rest of the create threads, add this below)004F: create_thread ££FreezeOn004F: create_thread ££SetWeather004F: create_thread ££Create1PedWait ;Then, add this code BEFORE MISSION 0 (if you are using a stripped scm, which you should):FreezeOn0001: wait 250 ms00D6: if 100E1: key_pressed 0 700E1: key_pressed 0 8004D: jump_if_false ££FreezeOn00BF: [email protected] = current_time_hours, [email protected] = current_time_minutes:FreezeOff0001: wait 900 ms00C0: set_current_time [email protected] [email protected]: force_weather $WeatherSelect00D6: if 100E1: key_pressed 0 700E1: key_pressed 0 9004D: jump_if_false ££FreezeOff01B6: set_weather $WeatherSelect0002: jump ££FreezeOn:SetWeather0001: wait 0 ms0004: $WeatherSelect = 0:SetWeatherWait0001: wait 0 ms00D6: if 100E1: key_pressed 0 700E1: key_pressed 0 13004D: jump_if_false ££SetWeatherWait0001: wsit 250 ms0008: $WeatherSelect += 100D6: if 00038: $WeatherSelect == 6004D: jump_if_false ££ChooseWeather0038: $WeatherSelect == 0:ChooseWeather00D6: if  00256:   player $PLAYER_CHAR defined004D: jump_if_false ££ChooseWeather0169: set_fade_color 5 5 5016A: fade 0 () 500 ms0001: wait 1500 ms01B6: set_weather $WeatherSelect016A: fade 1 (back) 500 ms0002: jump ££SetWeatherWait:Create1PedWait0001: wait 0 ms00D6: if 100E1: key_pressed 0 700E1: key_pressed 0 19004D: jump_if_false ££Delete1PedWait       0050: gosub ££Old1PedCleanup0050: gosub ££Pick1Ped :Delete1PedWait00D6: if 100E1: key_pressed 0 500E1: key_pressed 0 19004D: jump_if_false ££CreateCarWait0050: gosub ££Old1PedCleanup:CreateCarWait0001: wait 0 ms00D6: if 100E1: key_pressed 0 700E1: key_pressed 0 18004D: jump_if_false ££DeleteCarWait0050: gosub ££OldCarCleanup0050: gosub ££PickCar:DeleteCarWait00D6: if 100E1: key_pressed 0 500E1: key_pressed 0 18004D: jump_if_false ££CreateCar2Wait0050: gosub ££OldCarCleanup:CreateCar2Wait0001: wait 0 ms00D6: if 100E1: key_pressed 0 700E1: key_pressed 0 17004D: jump_if_false ££DeleteCar2Wait0050: gosub ££OldCar2Cleanup0050: gosub ££PickCar2:DeleteCar2Wait00D6: if 100E1: key_pressed 0 500E1: key_pressed 0 17004D: jump_if_false ££KillAllWait0050: gosub ££OldCar2Cleanup:KillAllWait0001: wait 0 ms00D6: if 100E1: key_pressed 0 400E1: key_pressed 0 5004D: jump_if_false ££Grp1Anim0050: gosub ££KillAllCleanup0002: jump ££Create1PedWait:Old1PedCleanup034F: destroy_actor_with_fade $Grp1Ped10051: return:OldCarCleanup00A6: destroy_car [email protected]: return:OldCar2Cleanup00A6: destroy_car [email protected]: return:KillAllCleanup034F: destroy_actor_with_fade $Grp1Ped100A6: destroy_car [email protected]: destroy_car [email protected]: return:Pick1Ped0001: wait 250 ms0050: gosub ££ThePeds0050: gosub ££CreateCoordPed009A: $Grp1Ped1 = create_actor 4 $PedSelect at $Fish $Sock $CatFood020F: set_actor $Grp1Ped1 look_at_player $PLAYER_CHAR0249: release_model $PedSelect0051: return:PickCar0050: gosub ££TheCars0050: gosub ££CreateCoordCar00A5:  [email protected] = create_car $CarSelect at  [email protected]  [email protected]  [email protected]: set_car  [email protected] z_angle_to 3150229: set_car [email protected] color_to [email protected] [email protected]: release_model $CarSelect01C3: remove_references_to_car  [email protected];; Like turning a car into any random car02AC: set_car [email protected] immunities 1 1 1 1 10001: wait  400 ms0051: return :PickCar20050: gosub ££TheCars0050: gosub ££CreateCoordCar00A5:  [email protected] = create_car $CarSelect at  [email protected]  [email protected]  [email protected]: set_car  [email protected] z_angle_to 3150229: set_car [email protected] color_to [email protected] [email protected]: release_model $CarSelect01C3: remove_references_to_car  [email protected];; Like turning a car into any random car02AC: set_car [email protected] immunities 1 1 1 1 10001: wait  400 ms0051: return :ThePeds0004: $PedSelect = 10002: jump ££ShowPed:PedSelectForward 0001: wait 0 ms00D6: if 000E1: key_pressed 0 5004D: jump_if_false ££PedSelectBack0002: jump ££NSevenCheck:PedSelectBack 0001: wait 0 ms00D6: if 000E1: key_pressed 0 7004D: jump_if_false ££PedSelect0002: jump ££PSevenCheck:PedSelect0001: wait 0 ms00D6: if 000E1: key_pressed 0 4004D: jump_if_false ££PedSelectForward009b: destroy_actor $Tmp1Ped0051: return:NSevenCheck00D6: if 00038: $PedSelect == 6004D: jump_if_false ££NPed0008: $PedSelect += 2 :NPed0008: $PedSelect += 100D6: if 00038: $PedSelect == 107004D: jump_if_false ££ShowPed0004: $PedSelect = 10002: jump ££ShowPed:PSevenCheck00D6: if 00038: $PedSelect == 9004D: jump_if_false ££PPed000C: $PedSelect -= 2 :PPed000C: $PedSelect -= 100D6: if 00038: $PedSelect == 0004D: jump_if_false ££ShowPed0004: $PedSelect = 1060002: jump ££ShowPed :ShowPed 0001: wait 250 ms00D6: if  00256:   player $PLAYER_CHAR defined004D: jump_if_false ££ShowPed04C4: create_coordinate $Fish $Sock $CatFood from_actor $PLAYER_ACTOR offset 0.0 2.0 0.00247: request_model $PedSelect038B: load_requested_models:ShowPed200D6: if 00248: model  $PedSelect available004D: jump_if_false ££ShowPed2009b: destroy_actor $Tmp1Ped009A: $Tmp1Ped = create_actor 4 $PedSelect at $Fish $Sock $CatFood020F: set_actor $Tmp1Ped look_at_player $PLAYER_CHAR0001: wait 250 ms0249: release_model $PedSelect0002: jump ££PedSelectForward:CreateCoordPed0001: wait 250 ms00D6: if  00256:   player $PLAYER_CHAR defined004D: jump_if_false ££CreateCoordPed04C4: create_coordinate $Fish $Sock $CatFood from_actor $PLAYER_ACTOR offset 0.0 2.0 0.00247: request_model $PedSelect038B: load_requested_models:CreatePed00D6: if 00248: model  $PedSelect available004D: jump_if_false ££CreatePed0051: return:TheCars0004: $CarSelect = 1300002: jump ££ShakeItUp:CarSelectForward 0001: wait 0 ms00D6: if 000E1: key_pressed 0 5004D: jump_if_false ££CarSelectBack0002: jump ££N180Check :CarSelectBack 0001: wait 0 ms00D6: if 000E1: key_pressed 0 7004D: jump_if_false ££CarSelect0002: jump ££P180Check:CarSelect0001: wait 0 ms00D6: if 000E1: key_pressed 0 4004D: jump_if_false ££CarSelectForward03F3: get_car [email protected] color [email protected] [email protected]: destroy_car [email protected]: return:N180Check00D6: if 00038: $CarSelect == 179004D: jump_if_false ££NCar0008: $CarSelect += 5 :NCar0008: $CarSelect += 100D6: if 00038: $CarSelect == 237004D: jump_if_false ££ShakeItUp0004: $CarSelect = 1300002: jump ££ShakeItUp:P180Check00D6: if 00038: $CarSelect == 185004D: jump_if_false ££PCar000C: $CarSelect -= 5 :PCar000C: $CarSelect -= 100D6: if 00038: $CarSelect == 129004D: jump_if_false ££ShakeItUp0004: $CarSelect = 2360002: jump ££ShakeItUp:ShakeItUp 0001: wait  250 ms00D6: if  00256:   player $PLAYER_CHAR defined004D: jump_if_false ££ShakeItUp00D6: if  080E0:   NOT   player $PLAYER_CHAR driving004D: jump_if_false ££ShakeItUp0172:  [email protected] = actor $PLAYER_ACTOR z_angle04C4: create_coordinate  [email protected]  [email protected]  [email protected] from_actor $PLAYER_ACTOR offset  0.0  4.0  0.00247: request_model $CarSelect038B: load_requested_models:JustWhatINeeded0001: wait  250 ms00D6: if  00248:   model $CarSelect available004D: jump_if_false ££JustWhatINeeded00A6: destroy_car [email protected]:  [email protected] = create_car $CarSelect at  [email protected]  [email protected]  [email protected]: set_car  [email protected] z_angle_to 3150249: release_model $CarSelect01C3: remove_references_to_car  [email protected];; Like turning a car into any random car0001: wait  400 ms0002: jump ££CarSelectForward:CreateCoordCar0001: wait  250 ms00D6: if  00256:   player $PLAYER_CHAR defined004D: jump_if_false ££CreateCoordCar              00D6: if  080E0:   NOT   player $PLAYER_CHAR driving004D: jump_if_false ££CreateCoordCar0172:  [email protected] = actor $PLAYER_ACTOR z_angle04C4: create_coordinate  [email protected]  [email protected]  [email protected] from_actor $PLAYER_ACTOR offset  0.0  4.0  0.00247: request_model $CarSelect038B: load_requested_models:CreateCar00D6: if 00248: model  $CarSelectavailable004D: jump_if_false ££CreateCar0051: return:Grp1Anim0001: wait 50 ms00D6: if 100E1: key_pressed 0 16; Sprint00E1: key_pressed 0 6 ; Aim004D: jump_if_false ££Grp1Anim2034F: destroy_actor_with_fade $Grp1Ped10129: [email protected] = create_actor 4 $PedSelect in_car  [email protected] driverseat00AE: unknown_set_car [email protected] to_ignore_traffic_lights 200AD: set_car [email protected] max_speed_to 50.000A8: set_car [email protected] to_psycho_driver00AF: set_car [email protected] driver_behaviour_to 4:Grp1Anim20001: wait 50 ms00D6: if 100E1: key_pressed 0 16 ;Sprint00E1: key_pressed 0 15 ;Enter/Exit004D: jump_if_false ££Grp1Anim3011C: actor $Grp1Ped1 clear_objective0372: set_actor $Grp1Ped1 anim 10 wait_state_time 5000 ms     :Grp1Anim30001: wait 50 ms00D6: if 100E1: key_pressed 0 16 ;Sprint00E1: key_pressed 0 18 ;Crouch004D: jump_if_false ££Create1PedWait0372: set_actor_wait_state $Grp1Ped1 08 2000 ms0002: jump ££Grp1Anim

 

 

I haven't gotten a concrete answer on distributing a modded stripped scm (since the stripped file came from Barton's editor). However, if some of the bigwigs around here say that it's ok, then I'll post the modified main.scm here as well.

 

Anyway, create your cars and your ped. Press SPRINT + AIM to put the ped in the car. Get in your car and the ped will follow! Use the CAMERA button to switch views to the Cinematic Camera. It may be tricky driving, but you get some AWESOME shots doing it this way. Use FRAPS to record to your HD. By using the clock freeze, you can take as long as you want to get the shots right!

 

MINOR BUGS:

DON'T USE A KEYPRESS FOR AN ANIMATION (car follow, etc) IF THE OBJECT/ACTOR DOES NOT EXSIST. IF YOU DO, THE GAME WILL CRASH. You have been warned.

 

Ped Car: Will sometimes get "lost." Try going back a bit to find it; if it doesn't show up, wait a few minutes. Still not there? Create another ped and car.

 

Player Car: Be carefull using the PREV/NEXT WEAP keys to look left, right and behind on a normal camera. Pressing fire while pressing these keys will probably kill the peds car, but might also crash the game. If you use the cinematic camera, this shouldn't be an issue.

 

Weather: If you want rain, wait until the clock hits the time of day you want, then change the weather. The first or second selection should be rain; FREEZE the clock! Or the rain will go away after a time (this has been tested - I made it rain for two game days straight!)

 

I think that's all. Try it an post back with your results!

 

rah.gif

Share this post


Link to post
Share on other sites
digita1mind

rah.gif Thanks so much for all the information. This code should definitely get me going in the right direction.

 

Unfortunately, it's about 7:00pm CST, and I need to study a few hours for my final exam I'm taking tomorrow night. I'm currently taking marketing management for my Masters degree at DeVry Keller.

 

If I have some time later this evening, I'll dump your code into Mission Builder and play around with it a bit. I get the sense that you really now how to script in this game. biggrin.gif One of my ideas was to use the REPLAY feature, enabling me to drive according to the normal game camera, and then replay everything with the modded or custom cameras.

 

I watched "Gone in 60 Seconds" last night and am itching to re-create an awesome car chase all throughout Vice City! If you'd like, send me your email address so I can respond more consistantly while I'm at work and at home. Thanks again; You've been an awesome resource! cool.gif

 

Stay tuned as further results become available. rahkstar2.gif

Share this post


Link to post
Share on other sites
ceedj
I get the sense that you really now how to script in this game.

I am but a speck of dirt on the GTA modding landscape. Seriously, I know what to script to suit my own needs. I'm sure it could be cleaned up, but it works for me!

 

BTW, use LOOK BEHIND instead of SPRINT with PRE WEAP to create Peds. I forgot I changed that to aviod interference with driving. suicidal.gif

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • 2 Users Currently Viewing
    0 members, 0 Anonymous, 2 Guests

×
×
  • Create New...

Important Information

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