Jump to content

Waar een tweede missie invoegen?


Recommended Posts

Geplaatst:

Waar moet je een tweede missie invoegen (voor de al gemaakte missie) dus in volgorde:

  1. Missie 2
  2. Missie 1

Mijn script (zo kun je aangeven waar hij moet komen):

$PLAYER_CHAR = Player.Create(#NULL, 2488.56, -1666.84, 13.38)
$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group 
Camera.SetBehindPlayer
set_weather 0 
wait 0 
Player.SetClothes($PLAYER_CHAR, "PLAYER_FACE", "HEAD", Head)
Player.SetClothes($PLAYER_CHAR, "JEANSDENIM", "JEANS", Legs)
Player.SetClothes($PLAYER_CHAR, "SNEAKERBINCBLK", "SNEAKER", Shoes)
Player.SetClothes($PLAYER_CHAR, "VEST", "VEST", Torso)
Player.Build($PLAYER_CHAR)
Player.CanMove($PLAYER_CHAR) = True
fade 1 0 
select_interior 0 
0629: change_integer_stat 181 to 4 
016C: restart_if_wasted_at 2027.77 -1420.52 15.99 angle 137.0 town_number 0 
016D: restart_if_busted_at 1550.68 -1675.49 14.51 angle 90.0 town_number 0 
0180: set_on_mission_flag_to $ONMISSION // Note: your missions have to use the variable defined here 
$DEFAULT_WAIT_TIME = 250 
03E6: remove_text_box 
create_thread @MODEL 

:MAIN_305
wait $DEFAULT_WAIT_TIME 
00BF: $TIME_HOURS = current_time_hours, $TIME_MINS = current_time_minutes 
jump @MAIN_305 
end_thread 

:MODEL
thread 'MODEL' 
Model.Load(#GREENWOO)
Model.Load(#BAT)
Model.Load(#LAPD1)
038B: load_requested_models 

:MODEL_28
if or
  not Model.Available(#GREENWOO)
  not Model.Available(#BAT)
  not Model.Available(#LAPD1)
else_jump @MODEL_65 
wait 0 
jump @MODEL_28 

:MODEL_65
$ICON_SPHERE_CJ = Marker.CreateIconAndSphere(15, 2512.068, -1672.87, 13.38)

:MODEL_87
wait 0 
00EC:   actor $PLAYER_ACTOR 0 near_point 2512.068 -1672.87 radius 1.0 1.0 
else_jump @MODEL_87 
Marker.Disable($ICON_SPHERE_CJ)
0674: set_car_model #GREENWOO numberplate "_GROVE_" 
$GREENWOOD = Car.Create(#GREENWOO, 2466.246, -1652.976, 13.4)
Car.Angle($GREENWOOD) = 270.0
Car.Health($GREENWOOD) = 250
$1 = Marker.CreateAboveCar($GREENWOOD)
01B2: give_actor $PLAYER_ACTOR weapon 5 ammo 10 // Load the weapon model before using this 
01B9: set_actor $PLAYER_ACTOR armed_weapon_to 5 

:MODEL_209
wait 0 
  Actor.InCar($PLAYER_ACTOR, $GREENWOOD)
else_jump @MODEL_209 
Marker.Disable($1)
$POLICE_X = 1535.874 
$POLICE_Y = -1666.701 
$POLICE_Z = 13.04 
$POLICE = Marker.CreateIconAndSphere(0, $POLICE_X, $POLICE_Y, $POLICE_Z)

:MODEL_279
wait 0 
if 
  Car.Wrecked($GREENWOOD)
else_jump @MODEL_310 
wait 0 
jump @MODEL 

:MODEL_310
if 
01AE:   car $GREENWOOD sphere 0 near_point $POLICE_X $POLICE_Y radius 5.0 5.0 stopped 
Marker.Disable($POLICE)
else_jump @MODEL_279 
wait 0 
10@ = Actor.Create(Cop, #LAPD1, 1542.645, -1673.012, 13.56)
Actor.WeaponAccuracy(10@) = 75
Actor.Health(10@) = 100
01B2: give_actor 10@ weapon 5 ammo 1000 // Load the weapon model before using this 
01B9: set_actor 10@ armed_weapon_to 5 
05E2: AS_actor 10@ kill_actor $PLAYER_ACTOR 

:MODEL_417
wait 0 
  Actor.Dead(10@)
else_jump @MODEL_417 
0394: play_music 1 
01E3: show_text_1number_styled GXT 'M_PASS' number 150 time 5000 style 1  // MISSION PASSED!~n~~w~$~1~
Player.Money($PLAYER_CHAR) += 150
Model.Destroy(#GREENWOO)
Model.Destroy(#BAT)
Model.Destroy(#LAPD1)
Marker.Disable($MARKER)
end_thread

Geplaatst:

De missie die je als laatste wilt spelen, plaats je onderaan je script, helemaal onderaan dus. Als je ook nog een Startthread hebt gebruikt, dan moet je die 2 threath's onder elkaar zetten en de 2 missies onder elkaar. Denk er wel aan als je de missies 1 voor 1 wilt laten opkomen zeg maar, dat je dan een check loop moet maken om te checken wanneer missie 1 gehaald is, en dan thread 2 inschakelen.

Greetz,

Black Force

Geplaatst:

Ik raad je, als je meerdere missies wilt gaan maken, toch echt aan om de Rockstar Missiestructuur te gebruiken. Daar wordt alles al gecheckt, of je de missies al gehaald hebt enzo. Stukken makkelijker, al is het even pittige stof om doorheen te bijten, daarna is het én overzichtelijker én makkelijker. ;)

Geplaatst: (bewerkt)

Ik snap die tutorial niet helemaal. Mijn vragen zijn:

1. Waar moet je beginnen met die sniffer thread?

2. Hoe en waar moet je de missies invoegen?

Bewerkt: door Donald F. Duck
Geplaatst:

Alles bij elkaar kan iets er zo uitzien:

        // This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 04.08.2007
DEFINE OBJECTS 2
DEFINE OBJECT PICKUPSAVE

DEFINE OBJECT SANNY BUILDER 3.01      

DEFINE MISSIONS 3
DEFINE MISSION 0 AT @INITIAL
DEFINE MISSION 1 AT @MISSION_1
DEFINE MISSION 2 AT @TUT_MISSION_2
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 0

{$VERSION 3.1.0023}
var
$PLAYER_CHAR: Player
end // var 
03A4: name_thread 'MAIN' 
//fade 0 0                                                 
01F0: set_max_wanted_level_to 6 
0111: toggle_wasted_busted_check 0 
00C0: set_current_time_hours_to 8 minutes_to 0 

$x_player_spawn = 2514.1223                          
$y_player_spawn = -1680.303                     
$z_player_spawn = 13.4446
$rz_player_spawn = 76.9169
04E4: unknown_refresh_game_renderer_at $x_player_spawn $y_player_spawn 
03CB: set_rendering_origin_at $x_player_spawn $y_player_spawn $z_player_spawn 
0053: $PLAYER_CHAR = create_player #NULL at $x_player_spawn $y_player_spawn $z_player_spawn 
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group 
$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)
Camera.SetBehindPlayer
Actor.Angle($PLAYER_ACTOR) = $rz_player_spawn                     
01B6: set_weather 0 
0001: wait 0 ms 
01E8: create_forbidden_for_cars_cube_cornerA 3000 -2000 150.0 cornerB -3000 2000 0.0 
Player.SetClothes($PLAYER_CHAR, "BBALLJACKRSTAR", "BBJACK", Torso)
Player.SetClothes($PLAYER_CHAR, "JEANSDENIM", "JEANS", Legs)
Player.SetClothes($PLAYER_CHAR, "SNEAKERBINCBLK", "SNEAKER", Shoes)
Player.SetClothes($PLAYER_CHAR, "PLAYER_FACE", "HEAD", Head)
070D: rebuild_player $PLAYER_CHAR 
01B4: toggle_player $PLAYER_CHAR can_move 1 
04BB: select_interior 0 
062A: change_float_stat 165 to 999.0  // Energy
062A: change_float_stat 23 to 999.0   // muscle
062A: change_float_stat 21 to 0.0   // fat
062A: change_float_stat 22 to 999.0   //stamina
062A: change_float_stat 160 to 999.0  //driving skills
062A: change_float_stat 229 to 999.0  //bike skills
062A: change_float_stat 223 to 999.0  // flyinh skills
062A: change_float_stat 230 to 999.0  // cycling skills
0629: change_integer_stat 181 to 4   // city unlocked
0629: change_integer_stat 68 to 0    //respect
0180: set_on_mission_flag_to $ONMISSION // Note: your missions have to use the variable defined here 
016C: restart_if_wasted_at $x_player_spawn $y_player_spawn $z_player_spawn angle $rz_player_spawn town_number 0 
0004: $DEFAULT_WAIT_TIME = 250
03E6: remove_text_box 
0417: start_mission 0  // Initial 
//0001: wait 2000 ms 
fade 0 0 
09BA: show_entered_zone_name 0 
wait 0 
0169: set_fade_color_RGB 0 0 0 
wait 2000                             
03B7: toggle_process_cut_scene_only 1 
016A: fade 1 time 1000 

// put your create_thread commands here
00D7: create_thread @TUT_MISSIONS_SNIFFER

:MAIN_LOOP
0001: wait $DEFAULT_WAIT_TIME ms
00BF: $TIME_HOURS = current_time_hours, $TIME_MINS = current_time_minutes

if and
00E1:   player 0 pressed_key 8 
00E1:   player 0 pressed_key 9 
jf @MAIN_LOOP

05C2: AS_actor $PLAYER_ACTOR show_the_finger 
0002: jump @MAIN_LOOP 


// ==========================================================
// ==================== THREADS  ============================
// ==========================================================

:TUT_MISSIONS_SNIFFER
//---------------------------------------------------
// This thread is to create monitor and destroy the 
// mission starter marker for the tutorial missions
//---------------------------------------------------
thread "TUT_SNIFF"
$MARKER_SWEET_HOUSE = Marker.CreateIconAndSphere(42, $X_SWEET_HOUSE, $Y_SWEET_HOUSE, $Z_SWEET_HOUSE)
repeat
 wait $DEFAULT_WAIT_TIME 
 if and
   player.Defined($PLAYER_CHAR)
   $ONMISSION == 0 
 then
   if and
     00FF:   actor $PLAYER_ACTOR sphere 0 in_sphere $X_SWEET_HOUSE $Y_SWEET_HOUSE $Z_SWEET_HOUSE radius 1.0 1.0 2.0 on_foot 
     Player.Controllable($PLAYER_CHAR)
     $TUT_MISSIONS_PASSED == 0
   then
     $ONMISSION = 1
     00BA: show_text_styled GXT 'INTRO_1' time 1000 style 2  // Martineza 1
    start_mission 1  
   end

   if and
     00FF:   actor $PLAYER_ACTOR sphere 0 in_sphere $X_SWEET_HOUSE $Y_SWEET_HOUSE $Z_SWEET_HOUSE radius 1.0 1.0 2.0 on_foot 
     Player.Controllable($PLAYER_CHAR)
     $TUT_MISSIONS_PASSED == 1
   then    
     $ONMISSION = 1
     00BA: show_text_styled GXT 'INTRO_1' time 1000 style 2  // Martineza 1
    start_mission 2  
   end


 end 
until $TUT_MISSIONS_PASSED == 2
marker.Disable($MARKER_SWEET_HOUSE)
end_thread 



// =========================================================
// =============   MISSIONS   ==============================
// =========================================================

//-------------Mission 0---------------
:INITIAL
$TUT_MISSIONS_PASSED = 0    

$X_SWEET_HOUSE = 2512.8228               
$Y_SWEET_HOUSE = -1673.5497 
$Z_SWEET_HOUSE = 13.5111

end_thread

//-------------Mission 1---------------
// Mission wrapper
:MISSION_1
thread 'TUT 1' 
gosub @MISSION_1_MAIN 
if wasted_or_busted 
then 
 gosub @MISSION_1_FAIL 
end
gosub @MISSION_1_CLEANUP 
end_thread 

//-------------------------------------
:MISSION_1_MAIN
//HIER JE EERSTE MISSIE!!!  

//-------------------------------------
:MISSION_1_PASSED
Player.Money($PLAYER_CHAR) += 10000
$TUT_MISSIONS_PASSED += 1
01E3: show_text_1number_styled GXT 'M_PASS' number 10000 time 5000 style 1 // MISSION PASSED!~n~~w~$~1~
return

//-------------------------------------
:MISSION_1_FAIL
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1  // ~r~MISSION FAILED!
return 

//-------------------------------------
:MISSION_1_CLEANUP
$ONMISSION = 0 
mission_cleanup 
return 



//-------------Mission 2---------------
// Mission wrapper
:TUT_MISSION_2
thread 'TUT ' 
gosub @TUT_MISSION_2_MAIN 
if wasted_or_busted 
then 
 gosub @TUT_MISSION_2_FAIL 
end
gosub @TUT_MISSION_2_CLEANUP 
end_thread 

//-------------------------------------
:TUT_MISSION_2_MAIN
//HIER JE TWEEDE MISSIE!        

//-------------------------------------
:TUT_MISSION_2_PASSED
Player.Money($PLAYER_CHAR) += 10000
$TUT_MISSIONS_PASSED += 1
01E3: show_text_1number_styled GXT 'M_PASS' number 10000 time 5000 style 1 // MISSION PASSED!~n~~w~$~1~
return

//-------------------------------------
:TUT_MISSION_2_FAIL
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1  // ~r~MISSION FAILED!
return 

//-------------------------------------
:TUT_MISSION_2_CLEANUP
$ONMISSION = 0 
mission_cleanup 
return

Op de plek waar "//HIER JE EERSTE MISSIE!!!" en "//HIER JE TWEEDE MISSIE! " staat, moet jij dus jouw codes plaatsen. Als je wilt weten wat waar gebeurd, moet je de tutorial lezen. ;) Succes ! :Y

Geplaatst:

Hij bedoelt :puh: oops :puh: Wel dat op een bepaald stuk in die code die ze gepost heeft dat er door staat "//HIER JE EERSTE MISSIE!!!" en "//HIER JE TWEEDE MISSIE! " op die plaats moet jij jouw missie code plakken , dus zonder de DEFINES en Createplayer etc.. alleen jouw missie code..

Tom :cya:

Geplaatst:

Heb je je tweede missie al gemaakt? Zo ja, geef die code dan ook even. Zo nee, maak die dan eerst, op dezelfde manier als dat je de eerste missie gemaakt hebt. Als je de code voor de tweede missie gepost hebt, zal ik ze in de structuur zetten en dan wordt vanzelf duidelijk hoe het moet.

Geplaatst: (bewerkt)

Okee, maar het duurt wat langer, want ik ben mijn main.scm kwijt met de eerste missie... :( Maar ik zal nog eens goed zoeken.

Edit: Hm... Ik kan hem niet vinden... En als ik die code in dat andere topic kopieer, klopt de missie niet helemaal...

Bewerkt: door Donald F. Duck

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

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

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...