Jump to content

My First Mission!


Deji

Recommended Posts

When I spend 4 days without internet, what do I get? About 4 different projects! Well this one is one of the fun ones. As well as a bomb mod I'm workin on ;)

I'm planning to start out with just one mission. After I get a bit of practise I'll add a few more and maybe work on a short story. But no rushing, people say I shouldn't even be doing this after only 3 weeks of modding. But people also said that I probably couldn't make something as big as my 'Vigilante Justice' mod is turning out to be and my 'Deji's Fun Mod' already is :rolleyes:

So, I started a mission. I've been refering to the Tenpenny Stories mod (Thanks JAB HacksouL, ToonSkull and 'Dad') as well as the 'Freefall' mission. Why? Because with this mod, you start in that interior.

The level let's you play as Maccer and Paul if I follow up on the story, it will explain where the rest of the band went and why you had to drive all the way to the desert with a 4 door car just to pick up to guys with a friggen hangover! (That mission sucked eh?) I think that since Paul is cooler, that you'll play as him mostly ;) Cause who wants to play as a guy who masturbates constantly!?

I started work on the first cutscene with my can of 'Relentless' and big bag of Skittles. I created the cutscene with the rest of the band members, maccer and paul in the plane. But the camera's in the wrong place, people keep spawning on the roof and I can't get the speech to play!

After about 2 hours of trying to sort it out I got drunk off the skittles (As I do :lol:) and gave up... And went to cause mayhem and destruction in San Andreas :)

Well, if anyone good with these things can help... Here's the current code...

DEFINE MISSIONS 1 //Tells the game that there are a total of __ missions
DEFINE MISSION 0 AT @PAULNMAC //Paul and Maccer
DEFINE EXTERNAL_SCRIPTS 0 // Use -1 in order not to compile AAA script
//DEFINE SCRIPT {NAME}  AT {LABEL} @
DEFINE UNKNOWN_EMPTY_SEGMENT 0
DEFINE UNKNOWN_THREADS_MEMORY 500

{
 use macro (Ctrl+J) "headsa"
 to insert a file header	  
}
{$VERSION 3.0.0000}
var
$PLAYER_CHAR: Player
end // var 
03A4: name_thread 'MAIN' //Names this thread 'Main' 
fade 0 time 0
01F0: set_max_wanted_level_to 6 //Duh
0111: toggle_wasted_busted_check 0 
00C0: set_current_time_hours_to 16 minutes_to 0 //Sets the time to 16:00 (4PM) 
//03CB: set_rendering_origin_at 1541.156 -1675.352 13.3757 1199.0 Seems to crash game when included
023C: load_special_actor 'MACCER' as 1
04E4: unknown_refresh_game_renderer_at 2.612 -33.741 1199.0 //I think its supposed to preload the area 
0053: $PLAYER_CHAR = create_player #NULL at 2.1751 22.9461 1199.02 //Creates the player at the coords with the model #NULL (None)
070D: rebuild_player $PLAYER_CHAR
09C7: change_player $PLAYER_CHAR model_to 290
01F5: $PLAYER_ACTOR = create_player_actor $PLAYER_CHAR 
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group //Groups the Player_char and Player_actor together
0373: set_camera_directly_behind_player //Put's camera in default, behind player position
0173: set_actor $PLAYER_ACTOR Z_angle_to 180.0 //Puts the Z angle to 180 degrees 
01B6: set_weather 1 //Set's the weather to mode 1 (Blue Sky and Clouds) 
0001: wait 0 ms 
01B4: toggle_player $PLAYER_CHAR can_move false
Camera.SetAtPos(0.428 30.1167 1199.5937) 
0629: change_integer_stat 181 to 4 
016C: restart_if_wasted_at 2.384830  33.103397  1199.849976 angle 137.0 town_number 0 
016D: restart_if_busted_at 2.384830  33.103397  1199.849976 angle 90.0 town_number 0 
0180: set_on_mission_flag_to $ONMISSION // Note: your missions have to use the variable defined here 
0004: $DEFAULT_WAIT_TIME = 250
03E6: remove_text_box

//New Game
select_interior 1
start_mission 0

:MAIN_LOOP
0001: wait $DEFAULT_WAIT_TIME ms
00BF: $TIME_HOURS = current_time_hours, $TIME_MINS = current_time_minutes
0860: link_actor $PLAYER_ACTOR to_interior 1
//04D7: set_actor $PLAYER_ACTOR locked 0 
0002: jump @MAIN_LOOP

// put your create_thread commands here

// put your mods (threads) here


//-------------Mission 0---------------

:PAULNMAC
wait 0
thread 'PAULNMAC' 
jump @PAULNMAC_01_108
{if 
wasted_or_busted //If wasted or busted
else_jump @PAULNMAC //_1_105}
//gosub @PAULNMAC_01_600

:PAULNMAC_01_600
wait 0
gosub @PAULNMAC_01_900  //Goes to the mission cleanup thread
end_thread

:PAULNMAC_01_108
wait 0
$ONMISSION = 1 //Sets the mission mode on
//04BB: select_interior 1 Doesn't work!? Only seems to work if put in main_loop
100@ = 0
wait 0
04ED: load_animation "PED" //Requests "PED" for loading
04ED: load_animation "PAULNMAC" //Requests "PAULNMAC" for loading
023C: load_special_actor 'PAUL' as 2 //Requests 'Paul' as 2 or #SPECIAL02 for loading
023C: load_special_actor 'BB' as 3 //Requests the other band member as #SPECIAL03 for loading
0247: load_model #WMYST //Loads the model of the other band member
038B: load_requested_models //Loads the requested models above
jump @PAULNMAC_01_110

:PAULNMAC_01_110
wait 0
03CF: load_wav 43205 as 4 
if or
823D:   not special_actor 2 loaded
823D:   not special_actor 3 loaded 
84EE:   not animation "PED" loaded
84EE:   not animation "PAULNMAC" loaded
83D0:   not wav 4 loaded
//8248:   not model #WMYST available 
else_jump @PAULNMAC_01_120 //Makes sure that all the requested models are loaded and available for use
jump @PAULNMAC_01_108

:PAULNMAC_01_120
wait 0
009A: $BAND1 = create_actor_pedtype 3 model #WMYST at 0.5743 25.3059 1199.5937 //Load the other band member and set him to 'Rand_Tough'
0A1A: actor $BAND1 perform_animation "SEAT_IDLE" IFP_file "PED" 4.0 loopA 0 lockX 0 lockY 0 lockF 1 1000 ms //Makes the other band member perform the sitting down animation and makes him loop it forever
wait 0
009A: $PAULO = create_actor_pedtype 3 model #SPECIAL02 at 2.8407 26.3686 1199.5937 //Load Paul and set him to 'Rand_Tough'
0A1A: actor $PAULO perform_animation "SEAT_IDLE" IFP_file "PED" 4.0 loopA 0 lockX 0 lockY 0 lockF 1 1000 ms //Makes Paul perform the sitting down animation and makes him loop it forever
wait 0
009A: $BAND2 = create_actor_pedtype 3 model #SPECIAL03 at 0.5495 27.5963 1199.5937 //Load the other band member and set him to 'Rand_Tough'
0A1A: actor $BAND2 perform_animation "SEAT_IDLE" IFP_file "PED" 4.0 loopA 0 lockX 0 lockY 0 lockF 1 1000 ms //Makes the other band member perform the sitting down animation and makes him loop it forever
wait 0
0173: set_actor $PLAYER_ACTOR Z_angle_to 270.0
0A1A: actor $PLAYER_ACTOR perform_animation "wank_loop" IFP_file "PAULNMAC" 4.0 loopA 1 lockX 0 lockY 0 lockF 0 -1 ms //Makes the player (Maccer)... Well, have a little private time...
02A3: enable_widescreen true //Turns widescreen on... Ye know, those annoying black bars with hardly any purpose? :P
0920: point_camera 0.428 30.1167 1199.5937 transverse_to 1.8429 26.2425 1199.5937 time 14000 mode 1 //Makes the camera rotate from the first coords to the second ones
016A: fade 1 time 500 //Fades into view
//The above is made with waits at 0 and all the loading and performing anims aren't shown until the camera fades in.
//The animations keep going as its on loop and could only be stopped with a command. Unless there's a wait, the
//code just keeps carrying on. It doesn't stop at any lines. So if we wanted the transverse to end before the fade
//was completed, we'd have to put a wait before the fade and time it right, which is easy in milleseconds :)
wait 500
0949: link_wav 4 to_actor $BAND2
03D1: play_wav 4
wait 30000
jump @PAULNMAC_01_120

:PAULNMAC_01_900
wait 0
0004: $ONMISSION = 0 //Turns the mission mode off 
01BD: $CURRENT_TIME_IN_MS = current_time_in_ms
04BB: select_interior 0 //Restores the interior to the default (Outside)
0860: link_actor $PLAYER_ACTOR to_interior 0 //Because sometimes just the above doesn't work.. :/  
00D8: mission_cleanup //Runs mission_cleanup, kinda like CCleaner if you have it, if not, get it :P Just deletes the unneeded things that were made in the mission. 
0051: return //Returns the script

May look dodgy and have alot of random code about, but that is from me trying to fix it...

The set interior also seems to only work if its placed in the main loop which is stupid... It should work if I put it after the start mission = 1 thing...

Link to comment
Share on other sites

Good Job!

At least you are doing it and that is more than most people.

JAB B)

Yea, it's a big pain in the ass though... I'm spawning them inside a plane which has a low roof so guys are spawning on top, the camera doesn't start where I specify and I cant set the interior upon the mission start... Which is what R* did for theirs :/

But I will start doing the mission and come back to the cutscene later. Maybe redo all the coordinates and make a new actor as maccer instead of the player being maccer. Then I'd make the player invisible and It'd look like you weren't even there still :)

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...