ceedj Posted June 19, 2005 Share Posted June 19, 2005 So this came out of an idea that digita1mind had, about creating a car chase type cutscene. Well, it's not exactly a cutscene, but it is a car chase! (and four minutes of wanking on the guitar is a good excuse too ) New PEDS Video! (need Windows Media 7 or better, 15.5 MB) The keypresses I assigned are listed in the code. Be careful not to press an key combo for an animation for a Ped if you don't have one created. Also, don't use the handbrake (target) and forward if in a car. Of course, you can change these keypresses to your own set up if you like. The car chase code is not included; if anyone wants it, I'll post it here. ;Create The Following Threads004F: create_thread ££FreezeOn004F: create_thread ££SetWeather004F: create_thread ££Create1PedWait004F: create_thread ££Grp1Anim ;Put this JUST ABOVE Mission 0 (near the end of MAIN):FreezeOn0001: wait 250 ms00D6: if 100E1: key_pressed 0 7; Prev Weapon00E1: key_pressed 0 8; Forward 004D: 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 7; Prev Weapon00E1: key_pressed 0 9; Backward004D: jump_if_false ££FreezeOff01B6: set_weather $WeatherSelect0002: jump ££FreezeOn:SetWeather0001: wait 0 ms0004: $WeatherSelect = 0:SetWeatherWait0001: wait 0 ms00D6: if 100E1: key_pressed 0 7; Prev Weapon00E1: key_pressed 0 13; Camera004D: 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 7; Prev Weapon00E1: key_pressed 0 19; Look Behind004D: jump_if_false ££Delete1PedWait 0050: gosub ££Old1PedCleanup0050: gosub ££Pick1Ped :Delete1PedWait00D6: if 100E1: key_pressed 0 5; Next Weapon00E1: key_pressed 0 19; Look Behind004D: jump_if_false ££Create2PedsWait0050: gosub ££Old1PedCleanup:Create2PedsWait0001: wait 0 ms00D6: if 100E1: key_pressed 0 7; Prev Weapon00E1: key_pressed 0 15; Enter Vehicle004D: jump_if_false ££Delete2PedsWait0050: gosub ££Old2PedsCleanup0050: gosub ££Pick2Peds:Delete2PedsWait00D6: if 100E1: key_pressed 0 5; Next Weapon00E1: key_pressed 0 15; Enter Vehicle004D: jump_if_false ££CreateCarWait0050: gosub ££Old2PedsCleanup:CreateCarWait0001: wait 0 ms00D6: if 100E1: key_pressed 0 7; Prev Weapon00E1: key_pressed 0 18; Crouch004D: jump_if_false ££DeleteCarWait0050: gosub ££OldCarCleanup0050: gosub ££PickCar:DeleteCarWait00D6: if 100E1: key_pressed 0 5; Next Weapon00E1: key_pressed 0 18; Crouch004D: jump_if_false ££CreateCar2Wait0050: gosub ££OldCarCleanup:CreateCar2Wait0001: wait 0 ms00D6: if 100E1: key_pressed 0 7; Prev Weapon00E1: key_pressed 0 17; Fire004D: jump_if_false ££DeleteCar2Wait0050: gosub ££OldCar2Cleanup0050: gosub ££PickCar2:DeleteCar2Wait00D6: if 100E1: key_pressed 0 5; Next Weapon00E1: key_pressed 0 17; Fire004D: jump_if_false ££KillAllWait0050: gosub ££OldCar2Cleanup:KillAllWait0001: wait 0 ms00D6: if 100E1: key_pressed 0 4; Action00E1: key_pressed 0 5; Next Weapon004D: jump_if_false ££Create1PedWait0050: gosub ££KillAllCleanup0002: jump ££Create1PedWait:Old1PedCleanup034F: destroy_actor_with_fade $Grp1Ped10051: return :Old2PedsCleanup034F: destroy_actor_with_fade $Grp2Ped1034F: destroy_actor_with_fade $Grp2Ped20051: return:OldCarCleanup00A6: destroy_car [email protected]: return:OldCar2Cleanup00A6: destroy_car [email protected]: return:KillAllCleanup034F: destroy_actor_with_fade $Grp1Ped1034F: destroy_actor_with_fade $Grp2Ped1034F: destroy_actor_with_fade $Grp2Ped200A6: 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 :Pick2Peds0001: wait 250 ms0050: gosub ££ThePeds0050: gosub ££CreateCoordPed009A: $Grp2Ped1 = create_actor 4 $PedSelect at $Fish $Sock $CatFood020F: set_actor $Grp2Ped1 look_at_player $PLAYER_CHAR0249: release_model $PedSelect0050: gosub ££ThePeds0050: gosub ££CreateCoordPed009A: $Grp2Ped2 = create_actor 4 $PedSelect at $Fish $Sock $CatFood020F: set_actor $Grp2Ped2 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 car0001: 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 5; Next Weapon004D: jump_if_false ££PedSelectBack0002: jump ££NSevenCheck:PedSelectBack 0001: wait 0 ms00D6: if 000E1: key_pressed 0 7; Prev Weapon004D: jump_if_false ££PedSelect0002: jump ££PSevenCheck:PedSelect0001: wait 0 ms00D6: if 000E1: key_pressed 0 4; Action004D: 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 5; Next Weapon004D: jump_if_false ££CarSelectBack0002: jump ££N180Check :CarSelectBack 0001: wait 0 ms00D6: if 000E1: key_pressed 0 7; Prev Weapon004D: jump_if_false ££CarSelect0002: jump ££P180Check:CarSelect0001: wait 0 ms00D6: if 000E1: key_pressed 0 4; Action004D: 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 ££Grp1Anim20372: set_actor_wait_state $Grp2Ped1 19 2000 ms; Hand Guestures 1011C: actor $Grp2Ped1 clear_objective; resets actor for new task:Grp1Anim20001: wait 50 ms00D6: if 100E1: key_pressed 0 16; Sprint00E1: key_pressed 0 17; Fire004D: jump_if_false ££Grp1Anim30372: set_actor_wait_state $Grp2Ped1 31 2000 ms; Hand Guestures 2011C: actor $Grp2Ped1 clear_objective; resets actor for new task:Grp1Anim30001: wait 50 ms00D6: if 100E1: key_pressed 0 16; Sprint00E1: key_pressed 0 15; Enter/Exit004D: jump_if_false ££Grp1Anim40372: set_actor_wait_state $Grp2Ped2 19 2000 ms; Hand Guestures 1011C: actor $Grp2Ped2 clear_objective; resets actor for new task:Grp1Anim40001: wait 50 ms00D6: if 100E1: key_pressed 0 16; Sprint00E1: key_pressed 0 18; Crouch004D: jump_if_false ££Grp1Anim50372: set_actor_wait_state $Grp2Ped2 31 2000 ms; Hand Guestures 2011C: actor $Grp2Ped2 clear_objective; resets actor for new task:Grp1Anim50001: wait 50 ms00D6: if 100E1: key_pressed 0 16; Sprint00E1: key_pressed 0 14; Jump004D: jump_if_false ££Grp1Anim60247: request_model #CELLPHONE:CellWait0001: wait 0 ms00D6: if 00248: model #CELLPHONE available004D: jump_if_false ££CellWait052B: actor $Grp2Ped2 hold_cellphone 10001: wait 3000 ms052B: actor $Grp2Ped2 hold_cellphone 00249: release_model #CELLPHONE011C: actor $Grp2Ped2 clear_objective :Grp1Anim60001: wait 50 ms00D6: if 100E1: key_pressed 0 16; Sprint00E1: key_pressed 0 8; Forward004D: jump_if_false ££Grp1Anim7009C: set_actor $Grp2Ped2 wander_path_to -1; away from player0319: set_actor $Grp2Ped2 wander_state_to 1; run:Grp1Anim70001: wait 50 ms00D6: if 100E1: key_pressed 0 16; Sprint00E1: key_pressed 0 9; Backwards004D: jump_if_false ££Grp1Anim80372: set_actor_wait_state $Grp2Ped1 16 2000 ms; Hail Taxi011C: actor $Grp2Ped1 clear_objective; resets actor for new task :Grp1Anim80001: wait 50 ms00D6: if 100E1: key_pressed 0 16; Sprint00E1: key_pressed 0 19; LookBack004D: jump_if_false ££Grp1Anim04EB: actor $Grp2Ped2 crouch 1 2000 ms; crouch011C: actor $Grp2Ped2 clear_objective; resets actor for new task 0002: jump ££Grp1Anim As always, comments are welcome! I'm actually not against democracy though. I'm against things I think are f*cking stupid. I think this is f*cking stupid. - Sweets Link to comment Share on other sites More sharing options...
GTA3Freak-2001 Posted June 19, 2005 Share Posted June 19, 2005 Wow that was actually pretty awesome, its a strong contender for upstaging Red Vs Blue or even Strangerhood lol. Link to comment Share on other sites More sharing options...
Marklund Posted June 19, 2005 Share Posted June 19, 2005 Holy sh*t that's awsome. Sweet job dude. Link to comment Share on other sites More sharing options...
Nipa Posted June 19, 2005 Share Posted June 19, 2005 OMG it's soo damn funny! I might film a fan-made carchase... that goes through vice city! I might have two cars following the player but I don't really know I could code it... But there was only one stunt by the blue car + red car.. but the blue car's stunt got it's self pwned! Let's see... Car Chase - Perfect Music - Perfect Extras(stunts) - 50% Overall - 97% Well, I mightttttttt get my copy of Vice City.. and start filming like hell! Then I'll need to make some music..... How long did it take for you to make this? Link to comment Share on other sites More sharing options...
ceedj Posted June 19, 2005 Author Share Posted June 19, 2005 (edited) Thanks for the comments guys! @Nipa: I only planned three "stunts" (the car spin, red jump, blue jump), so to have gotten ANY rating on that label is an accomplishment. As for how long it took, about 5 days, 5-8 hours each day. Since I'm feeling especially long winded tonight, here's my workflow for the project, shamelessly cut an pasted from another site I frequent. I used a modified mission script (main.scm) to control the peds and cars. In the chase itself, I created a ped inside a car, and set the follow values to max, so where ever I drove, the ped would follow. I had NO idea of the problems I would run into in shooting this. For starters, the following ped car has a tendancy to back up first, before taking off at full speed. This makes the beginning of a shot look forced, so I have to start off WAY back to get the shot I wanted. Another issue was the in game text. Whenever you cross a certain point on the map, text shows up on screen of where you are, then fades after a short time. It's not croppable, so I had to break the chase into chunks in order to avoid the text on the screen. The length of the chase was a conceit, since I was aiming for fans of the game, who would appreciate the detail of running a course through the city. I paid real close attention to consistancy in the shots, making sure the cars were resonably where they should have been as they travled. The shots themselves are a product of the in game camera, which seems to change views (in that particular mode) based on map movement, and where the car is in relation to the camera. The cars are ALWAYS traveling in the right direction (if you steer properly); it's the camera the moves to a reverse angle or top down, then back to a front view, etc. Can't control it. The other issue with that is the driving itself. All of the blue car driving (with the red car following) is me driving in this crazy view mode. I'm glad some of the frantic nature of the driving shows up in the video, but man was it HARD. I record with FRAPS in little chunks. I wound up with about 4 or 5 shots per leg of the chase, and I think there were seven or eight legs. I've probably dumped hundreds of shots because of a bad angle, car doesn't follow, etc. To sum it up, shooting the basics of the chase took a LONG time (about three 8 hour sessions). I then string together a rough cut of the chase in Sony Vegas, for dumping into SONAR for the music. Again, this was a bit of a conceit, since the length of the chase gave me ample time to solo like an idiot for almost two minutes. Smile After the music is done and I'm happy, I export the music track into Vegas to mix with the enviornment sound (cars, street noise) and the voices. THAT gets dumped to a file, which is dropped into another file with the preview titles and such. A lot of work, but I'm happy with the result, and I guarentee that I will NOT be doing anything this complex in the near future. Give me two peds talking, and I'm a happy guy! Fun Facts: - The race itself is loosely based on the last race in the Sunshine Autos racing strand, but in reverse. - The gentleman who plays Burt is my best friend of 20 something years, who only agreed to do the show after I helped him dig 15 two-foot-deep holes in his front yard for fence posts. That was two weeks ago; still no fence. Thanks again for the kind words. Anyone else? Edited June 19, 2005 by ceedj I'm actually not against democracy though. I'm against things I think are f*cking stupid. I think this is f*cking stupid. - Sweets Link to comment Share on other sites More sharing options...
Bernard Jazz Posted June 19, 2005 Share Posted June 19, 2005 Funny.. Link to comment Share on other sites More sharing options...
imheretostay Posted June 19, 2005 Share Posted June 19, 2005 That was pretty good! Keep making them! 10/10. Link to comment Share on other sites More sharing options...
ceedj Posted June 20, 2005 Author Share Posted June 20, 2005 Thanks very much guys! For anyone else who got a "Bandwidth Exceeded" message (or something similar), it has been fixed. I never expected this kind of a response! I'm actually not against democracy though. I'm against things I think are f*cking stupid. I think this is f*cking stupid. - Sweets Link to comment Share on other sites More sharing options...
pep_gta Posted June 20, 2005 Share Posted June 20, 2005 Already hooked lol and possibilities for this series are endless, great work! Link to comment Share on other sites More sharing options...
Psy Posted June 21, 2005 Share Posted June 21, 2005 Incredible. One of the best and most original mods I think I've ever seen for a GTA game. Nice one dude. Link to comment Share on other sites More sharing options...
RoxRox Posted June 21, 2005 Share Posted June 21, 2005 Is that code to make the other car follow you? If so, it'd be nice if somebody dropped all that into a main.scm and uploaded it, seeing as i (and probably others) have no clue how to add and compile code into main.scm Oh and great movie, very redvsblue-ish, i had an idea similar to this a long time ago, but never persued it. 10/10 Link to comment Share on other sites More sharing options...
ceedj Posted June 21, 2005 Author Share Posted June 21, 2005 Is that code to make the other car follow you? If so, it'd be nice if somebody dropped all that into a main.scm and uploaded it, seeing as i (and probably others) have no clue how to add and compile code into main.scm Oh and great movie, very redvsblue-ish, i had an idea similar to this a long time ago, but never persued it. 10/10 If someone tells me that I can use Barton's Stripped_Complete for the basis of the scm, then I'd be all too happy to do just that, and add a proper ReadMe as well. The car chase part can easily be added to the script above, so I can do that too. Thanks again! I'm actually not against democracy though. I'm against things I think are f*cking stupid. I think this is f*cking stupid. - Sweets Link to comment Share on other sites More sharing options...
JPBBoyce Posted June 24, 2005 Share Posted June 24, 2005 (edited) - Edited October 27, 2013 by JPBBoyce Link to comment Share on other sites More sharing options...
ThaKilla Posted June 24, 2005 Share Posted June 24, 2005 WOW!!!!! That was awsome.. You should register here http://rockstargames.com/upload/ I'm sure R* cant refuse But tht was great... I might make my own (est. 10 months) Link to comment Share on other sites More sharing options...
Nipa Posted June 24, 2005 Share Posted June 24, 2005 (edited) When you are finished with the .scm...... well I might work on a mod where you goto the film studio and you can select chase car, your car, actor, and as soon as you have finished picking chase car + actor, it automaticlly puts the actor into the chase car, and the car follows your car until you press Action + Aim and that's when the REAL car chase happens . Nipa Edited June 25, 2005 by Nipa Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now