Ik raad je aan eerst een beetje ervaring op te doen. Je kunt deze tutorial volgen. IF's en threads zijn heel belangrijk voor het schrijven van een missie. Deze tekst, geschreven door PatrickW, geeft je ook een boel informatie. Het is dan wel voor VC, maar er zijn vele overeenkomsten met het SA-script-formaat.
Een missie definieren:
Een missie moet je aan het begin van het script definiëren. Je moet je missie bij dit stuk zetten:
Kijkt en leert. Een goede oefening is trouwens om deze thread te begrijpen.
Het "frame" van een missie:
Het frame van een missie ziet er ongeveer zo uit:
:M_BEGIN
0050: gosub £M_CODE
00D6: if 0
0112: wasted_or_busted
004D: jump_if_false £M_KLAAR
0050: gosub £M_FAIL
:M_KLAAR
0050: gosub £M_OPSCHONEN
004E: end_thread
:M_CODE
;; de echte code van de missie
;; als de missie faalt, moet je deze code gebruiken: 0002: jump £M_FAIL
:M_PASS
;; als je mijn thread gebruikt moet je deze code hier neerzetten: 0004: $m_135_done = 1
0002: jump £M_OPSCHONEN
:M_FAIL
00BA: text_styled 'M_FAIL' 5000 ms 1; MISSION FAILED!
:M_OPSCHONEN
;; opschoondingen hier
;; als je mijn thread gebruikt moet je deze code hier neerzetten: 0004: $m_135_tried = 1
0051: return
De plek in het script voor de missie:
Een nieuwe missie zet je altijd onder laatse missie en boven het eerste externe script (in de normale SA is dat externe script AAA)
Racecheckpoints maak je met opcode 06D5 op deze manier:
06D5: $cpID = create_racing_checkpoint_at X Y Z X2 Y2 Z2 type 0 radius 3.0
X Y Z zijn de coordinaten van dit checkpoint, X2 Y2 Z2 zijn de coordinaten van het volgende checkpoint. Het type kan 0 t/m 4 zijn. Als het 0 is, dan wordt het een rood CP met een pijl naar het volgende CP. Bij 1 wordt het een rood finish-CP. 2 weet ik niet, en 3/4 zouden corona's moeten zijn, dat heb ik zelf niet gecontroleerd.
Vervolgens moet er een stuk code komen dat controleert of de speler door het CP heen is gegaan. Meestal is dat zoiets als dit:
:MissC2a
0001: wait 0
00D6: if 0
00EE: actor $PLAYER_ACTOR 0 ()near_point_in_car X Y radius 7.0 7.0
004D: jf ££MissC2a
-- meer code --
Een raceCP vernietig je weer met 06D6 op deze manier:
06D6: destroy_racing_checkpoint $cpID
OPROEP: heeft iemand nog stukjes code die in dit rubriekje passen?
Voor troubleshooting kun je onderaan in de tutorial die helemaal bovenaan in deze post genoemd wordt kijken.
Deze tutorial is nog onder constructie, ik ga hem nog uitbreiden. Als je nog suggesties/andere dingen hebt, kun je die hier posten. Veel plezier
Mijn 2e tutorial: Het maken van een missie in SA.
Inhoudsopgave:
-- Introductie
-- Een missie definiëren
-- Een missie starten
-- Het "frame" van een missie
-- De plek in het script voor de missie
-- Handige stukjes code
Introductie:
Ik raad je aan eerst een beetje ervaring op te doen. Je kunt deze tutorial volgen. IF's en threads zijn heel belangrijk voor het schrijven van een missie. Deze tekst, geschreven door PatrickW, geeft je ook een boel informatie. Het is dan wel voor VC, maar er zijn vele overeenkomsten met het SA-script-formaat.
Een missie definieren:
Een missie moet je aan het begin van het script definiëren. Je moet je missie bij dit stuk zetten:
Kijkt en leert. Een goede oefening is trouwens om deze thread te begrijpen.
Het "frame" van een missie:
Het frame van een missie ziet er ongeveer zo uit:
De plek in het script voor de missie:
Een nieuwe missie zet je altijd onder laatse missie en boven het eerste externe script (in de normale SA is dat externe script AAA)
In de normale SA:
Handige stukjes code:
Racecheckpoints:
Racecheckpoints maak je met opcode 06D5 op deze manier:
X Y Z zijn de coordinaten van dit checkpoint, X2 Y2 Z2 zijn de coordinaten van het volgende checkpoint. Het type kan 0 t/m 4 zijn. Als het 0 is, dan wordt het een rood CP met een pijl naar het volgende CP. Bij 1 wordt het een rood finish-CP. 2 weet ik niet, en 3/4 zouden corona's moeten zijn, dat heb ik zelf niet gecontroleerd.
Vervolgens moet er een stuk code komen dat controleert of de speler door het CP heen is gegaan. Meestal is dat zoiets als dit:
Een raceCP vernietig je weer met 06D6 op deze manier:
OPROEP: heeft iemand nog stukjes code die in dit rubriekje passen?
Voor troubleshooting kun je onderaan in de tutorial die helemaal bovenaan in deze post genoemd wordt kijken.
Deze tutorial is nog onder constructie, ik ga hem nog uitbreiden. Als je nog suggesties/andere dingen hebt, kun je die hier posten. Veel plezier