GTAGames.nl advertentie

Missie scripten (GTA2)

Van WikiGTA - De Nederlandse Grand Theft Auto Walkthrough!

Jump to: navigation, zoeken

Main Page > GTA2 > Modding Tutorial > Missie scripten


Missies staan in aparte scripts (multiscripts), in een map met dezelfde naam als het hoofdscript (mainscript). Missies krijgen ook de naam van het mainscript, maar met een toevoeging erachter. Deze toevoeging bestaat uit de eerste letter van de gang (die wel verschillend moet zijn), een letter die aangeeft of het een groene, gele of rode missie is en een cijfer dat aangeeft welke missie het is. Als we dezelfde benamingsmethode als de originele scripts aanhouden, dan heeft de voorbeeldmap dus de volgende bestanden:

  • tst.gmp voor het level zelf
  • tst.mis voor het mainscript
  • tst voor de map waarin de missies staan
  • tst_te1 voor de eerste groene missie van de Testgang
  • tst_vm3 voor de derde gele missie van de Voorbeeldgang
  • tst_ph2 voor de tweede rode missie van de Proefgang

Uiteraard kun je ook je eigen benamingsmethode gebruiken, maar als dit goed genoeg is voor de originele levels, waarom dan moeilijk doen?

Wanneer je een missiescript door de compiler wilt halen, kun je gewoon het mainscript selecteren. De compiler zoekt dan automatisch de externe missiescripts op, mits ze in het mainscript opgeroepen worden en de missiescripts in een map staan die op dezelfde locatie als het mainscript te vinden is.

[Bewerk] Voorbeeld

Het script hieronder bevat een complete, eenvoudige missie. Er wordt meerdere keren een COUNTER uit het hoofdscript opgeroepen. Deze counters houden onder andere bij hoeveel missies er gehaald en gefaald zijn, of de speler momenteel een missie doet en zo ja, voor welke gang hij een missie doet. Deze counters zijn dus erg nuttig om in je mainscript te hebben staan.

Het gaat om de eerste groene missie van de Testgang (tst_te1). Bij het aannemen van de missie worden er een Eddy en een Panto gecreëerd. Om te slagen voor de missie moet je in de Eddy stappen. Stap je in de Panto, word je gearresteerd, of verlies je al je health, dan faal je de missie.

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TESTMISSION XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

//Stap in de Eddy voor MISSION PASSED, stap in de Panto voor MISSION FAILED


COUNTER ineddy = 0
COUNTER inpanto = 0
COUNTER wachtopinstappen = 1

CAR_DATA eddypassed
CAR_DATA pantofailed


FORWARD clean_up_tst_easy_phone1_m1:

//------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------

tst_easy_phone1_m1:

	DISPLAY_MESSAGE ( 3843 ) // missietitel: "TESTMISSION!"
	SET flag_on_mission = 1 //Je bent nu met een missie bezig
	SET flag_on_tst_mission = 1 //Je bent nu met een Testgang-missie bezig
	eddypassed = CREATE_CAR ( 220.5 , 95.5 , 1.0 ) 5 270 EDSEL END //Eddy wordt gecreëerd
	pantofailed = CREATE_CAR ( 220.5 , 93.5 , 1.0 ) 7 270 FIAT END //Panto wordt gecreëerd
	DISPLAY_BRIEF ( 3148 ) // Opdrachttekst: "Stap in de Eddy!"
	
WHILE_EXEC ( wachtopinstappen = 1 ) //Volgende commando's gelden zolang je nog niet in één van de wagens zit

	IF ( IS_CHARACTER_IN_CAR  (  player  ,  eddypassed  ) ) //Wanneer de speler in de Eddy stapt...
		SET ineddy = 1
		SET wachtopinstappen = 0
		DISPLAY_BRIEF ( 3148 ) // Commentaar: "Je hebt de Eddy gekozen! Goede keus!"
	ENDIF

	IF ( IS_CHARACTER_IN_CAR  (  player  ,  pantofailed  ) ) //Wanneer de speler in de Panto stapt...
		SET inpanto = 1
		SET wachtopinstappen = 0
		DISPLAY_BRIEF ( 3148 ) // "Je hebt de Panto gekozen! Wat een belabberde smaak heb je!"
	ENDIF


	
	IF ( ineddy = 1 )
		CLEAR_ALL_BRIEFS ( ) //Verwijderd alle teksten.
		DISPLAY_BRIEF ( 3141 ) // Commentaar: "Je goede keus heeft je de missie doen slagen."
		SET flag_passed_tst_easy_phone1_m1 = 1 //Je hebt deze missie gehaald
		++ counter_all_missions_passed //Je hebt een missie gehaald
		DISPLAY_MESSAGE ( 3100 ) // "JOB COMPLETE!"
		ADD_SCORE ( player , 60000 )//Je krijgt de beloning
		ADD_MULTIPLIER ( player , 1 ) //Je krijgt een multiplier
		CHANGE_GANG_CHAR_RESPECT_AND_UPDATE ( Testgang , player , 1 ) //Je krijgt meer respect
		CLEAR_WANTED_LEVEL ( player ) //Wanted level wordt verwijderd
		SET_PHONE_DEAD ( ph_tst_easy_phone1 ) //De telefoon wordt uitgeschakeld
		DISABLE_THREAD_TRIGGER ( thr_tst_easy_phone1_m1 ) //De missie-thread wordt uitgeschakeld
		RETURN 
	ENDIF

	IF ( inpanto = 1 )
		CLEAR_ALL_BRIEFS ( )
		DISPLAY_BRIEF ( 3141 ) // Commentaar: "Je slechte smaak heeft je de missie doen falen."
		SET flag_failed_tst_easy_phone1_m1 = 1 //Je hebt deze missie gefaald
		++ counter_all_missions_failed // Je hebt een missie gefaald
		DISPLAY_MESSAGE ( 3730 ) // "JOB FAILED!"
		RETURN 
	ENDIF	 
ENDWHILE
RETURN


//------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------



// verwijdert alle missie-objecten na afloop missie
				
clean_up_tst_easy_phone1_m1:

	IF ( flag_passed_tst_easy_phone1_m1 = 1 )
		++ flag_tst_missions_passed //De Testgang-missie-gehaald flag wordt verhoogd
		++ flag_all_missions_passed //De missie-gehaald flag wordt verhoogd
		ENDIF
	ENDIF

	IF ( flag_failed_tst_easy_phone1_m1 = 1 )
		++ flag_tst_missions_failed //De Testgang-missie-gefaald flag wordt verhoogd
		++ flag_all_missions_failed //De missie-gefaald flag wordt verhoogd
		SET flag_failed_tst_easy_phone1_m1 = 0 //Deze missie-gefaald flag wordt weer op 0 gezet, anders kan de missie niet meer gespeeld worden.
		CHANGE_GANG_CHAR_RESPECT_AND_UPDATE ( isagang , player , -1 ) //Je krijgt minder respect.
	ENDIF

	IF ( CHECK_DEATHARREST_EXECUTED ( ) ) //Wanneer je Wasted of Busted bent...
		++ flag_tst_missions_failed
		++ flag_all_missions_failed
		SET flag_failed_tst_easy_phone1_m1 = 0
		SET flag_on_mission	= 0
		SET flag_on_tst_mission = 0
		CHANGE_GANG_CHAR_RESPECT_AND_UPDATE ( Testgang , player , -1 ) 
		CLEAR_WANTED_LEVEL ( player )
	ENDIF

	MISSION_HAS_FINISHED ( ) //De missie is voltooid
	
	SET flag_on_mission	= 0 //Je bent niet meer op een missie
	SET flag_on_tst_mission = 0 //Je bent niet meer op een Testgang missie
	
RETURN



MISSIONSTART //In een missie staat er Missionstart ipv. Levelstart

	GOSUB tst_easy_phone1_m1:

	GOSUB clean_up_tst_easy_phone1_m1:

MISSIONEND //Missionend ipv. Levelend.
Modding tutorials van Grand Theft Auto 2
Mapping Map Editor · Gebouwen · Wegen · Water & animaties · Slopes · Flat tiles · Collision info · Rand van een level · Zones · Level ingame zetten
Scripting Declareren: Basisscript · Script Compiler · Codelijsten · Commando's · Voertuigen · Objecten · Geluiden · Personages · Deuren
Programmeren: IF · WHILE · COUNTERs · Subroutines · THREAD TRIGGERs · Kill Frenzies · PHONEs · Missies · Jesus saves
Beide Belichting · Car shops · Cranes & crushers · Gangs · Metro · Multiplayerlevels
Bestandstypes .gci · .gmp · .gxt · .mis · .mmp · .pal · .scr · .seq · .sty · .tmp
Overig Texting · Physics (Lijst) · Texturing · Voertuigen maken · Plattegrond · Terminologie · Levels installeren
Deze pagina is online te bekijken via "http://nl.wikigta.org/wiki/Missie_scripten_%28GTA2%29"

GTAGames.nl advertentie
Views
Inloggen

Advertentie