Deze tutorial is op aanvraag van Correcthost, dit is mijn eerste tutorial dus als jullie nog fouten vinden meld ze dan a.u.b!
Inleiding:
In deze tutorial wil ik graag uitleggen hoe je een (kleine) cutscene maakt. Ik maak de cutscene in een stripped main.scm, oftewel een lege main.scm. Daarom leg ik eerst nog wat andere dingen uit over de lege main.scm. Ook gebruik ik mijn eigen stuk land van Platform Training, jullie kunnen het natuurlijk gewoon in SA doen.
- Een lege main.scm (Let op: Je download nu eigenlijk Map Cleaner van Steve-M maar in de .zip is een map genaamd ''extra'' hierin staat de lege scm.
Laten we beginnen:
Ten eerste moet je Sannybuilder geïnstalleerd hebben samen met GTA SA natuurlijk. Daarbij moet je ook de GXT Editor en Place Manager in aparte mappen hebben staan waar je ze snel en gemakkelijk kan terugvinden.
Wanneer je dit allemaal klaar hebt kunnen we echt beginnen.
Start Sannybuilder. Nu klik je op het kleine gele mapje bovenin:
Zoek de lege main.scm op en open hem, het kan zijn dat Sannybuilder vraagt naar je SA map maar dit is alleen het geval wanneer je hem voor het eerst gebruikt. Ook moet je in het scherm waar je de main.scm opzoekt bij ''bestandstypen'' compiled scripts selecteren:
Als het goed is heb je hem nu geopend, als eerste gaan we een code aanpassen. Zoek de volgende code op:
01F0: set_max_wanted_level_to 6
Verander de 6 naar 0, hierdoor is je maximum wanted level 0 sterren.
Nu gaan we aanpassen waar je spawnt, zoek deze code op:
$7 = 0.0
$6 = 0.0
$5 = 30.0
Dit zijn variables die coördinaten bevatten, je ziet ook verder in het script deze code:
$PLAYER_CHAR = Player.Create(#NULL, $7, $6, $5)
Je wordt dus op die coördinaten gespawnt, om een lang verhaal kort te houden:
Verander de coördinaten achter de variables naar jou gewenste start positie. De $7 staat voor de X, de $6 voor Y en de $5 voor Z.
Je kunt deze coördinaten verkrijgen door de Place Manager te gebruiken, start de place manager en start GTA SA op. Vervolgens ga je naar je gewenste start positie toe en keer je terug naar Windows, klik dan in de place manager op ''Add place''. Nu zullen de coördinaten verschijnen. Nu kun je de coördinaten overschrijven of kopiëren uit het ''places configuratie bestand''. Vergeet niet de komma's in de coördinaten te veranderen naar punten!!
Maar er is nog een probleem, helemaal onderaan staat dit:
Deze code geeft aan dat wanneer je een new game start gelijk in een hydra spawnt. Dat moeten we natuurlijk niet hebben. Verwijder alle codes die ik in mijn vorige code box liet zien zodat je deze overhoud:
Nu worden we op de juiste plek gespawnt, we kunnen geen wanted level krijgen en we worden niet in een hydra gespawnt. Nu gaan we met de cutscene beginnen.
Nu gaan we een sphere maken. Een sphere is zo'n rode ronde cirkel waar je in moet lopen om een missie te starten.
Zet onder deze code:
:MAIN_383
fade 1 1000
wait 100
Deze code:
03BC: $108 = create_sphere_at x y z radius 3.0
Je ziet een variable staan, $108. Deze mag je naar een willekeurig getal noemen. Daarna komen de x, y en z, deze mag je natuurlijk zelf invullen maar zorg er wel voor dat hij op een redelijke plaats staat. Dan staat er nog ''radius 3.0'', dit is de grote van de sphere, zet dit op 2.0.
Klik nu bovenin op dit knopje en vervolgens op het SA logo ernaast:
Als het goed is heb je dit als resultaat:
Zet nu voor de jump in deze code 2 schuine streepjes neer:
:MAIN_441
wait 2500
//jump @MAIN_441
Vervolgens zet je hieronder :MAIN_420:
:MAIN_441
wait 2500
//jump @MAIN_441
:MAIN_420
We gaan nu uitbreiden zodat de sphere wordt verwijderd, het beeld verduistert en vervolgens de cutscene start.
Het script kijkt of de speler vlakbij een plek is, zo ja dan:
Wordt de sphere verwijderd
Wordt het beeld donker
Wordt de ''widescreen'' ingesteld
Kan de speler niet meer bewegen
Wordt de camera verplaatst
en wordt het beeld weer normaal
Alles spreekt nu eigenlijk voor zich behalve de camera, namelijk deze 2 codes:
Camera.SetPosition(x, y, z, 0.0, 0.0, 0.0)
Camera.PointAt(x, y, z, 2)
De eerste code geeft aan waar de camera zich bevindt en de tweede code geeft aan waar de camera zich op richt. De x, y en z in beide codes spreken voor zich. De eerste code, waar de camera hangt en de tweede code waar hij naartoe kijkt. Dat kan op een actor, of ander punt zijn.
Nu willen we graag instellen hoe lang de camera op een ander punt staat en richt. Dit kunnen we doen door een ''wait'' aan te passen. Als het goed is heb je nu ongeveer deze code:
Verander nu de 1000 van de allerlaatste ''wait'' in bijvoorbeeld 10000. Nu zal de camera 10 seconden (10000ms) op dat ene punt hangen en op dat ene punt staren. Je kunt natuurlijk de 10000 ook in een lager of hoger getal invullen.
Klik nu weer bovenin op compile knopje en weer op het San Andreas logo, nu kun je het begin van je cutscene bekijken! Maar wanneer de ''wait'' ophoudt crasht het spel. Dit komt omdat er verder geen script meer is en de camera nog niet goed staat.
We gaan nu text toevoegen aan onze cutscene, hier hebben we de GXT Editor nodig die je, als het goed is, hebt gedownload. Start de Editor op en zoek en open de american.gxt hij zou normaal in de text map moeten staan in de GTA SA map. Klik nu onder ''table name'' de MAIN aan en klik op ''entry'' en vervolgens add...:
Geef nu je entry een naam en type in het grote vak rechts je tekst. Vervolgens klik je op je entry onder ''entry name''. Sla nu het bestand op en ga weer terug naar Sannybuilder.
Eenmaal in Sannybuilder zoek je weer de code van de cutscene, verwerk nu deze code:
00BB: show_text_lowpriority GXT 'TUT' time 5000 flag 1
In de code die ik je net gaf staat ''TUT'', dit moet je veranderen naar de naam van je entry. Je kunt ook meerdere teksten achter elkaar zetten door simpelweg de regel opnieuw onder de code te zetten. Maar let op, in de staat 5000, oftewel 5 seconden. Stel dat je bij allebei de codes 6000 neerzet dan duurt het in totaal 12 seconden. Maar de wait gaat maar tot 10 seconden. Dus moet je de wait ook aanpassen in lengte.
Nu gaan we ervoor zorgen dat de camera naar een andere punt springt. We voegen deze code toe:
De code geeft aan dat de widescreen wordt uitgeschakeld, de camera wordt goed gezet en dat de speler weer kan lopen. Dit is naar mijn weten alleen maar mogelijk in een thread, dus die gaan we even maken.
Goedemorgen GTAForum,
Deze tutorial is op aanvraag van Correcthost, dit is mijn eerste tutorial dus als jullie nog fouten vinden meld ze dan a.u.b!
Inleiding:
In deze tutorial wil ik graag uitleggen hoe je een (kleine) cutscene maakt. Ik maak de cutscene in een stripped main.scm, oftewel een lege main.scm. Daarom leg ik eerst nog wat andere dingen uit over de lege main.scm. Ook gebruik ik mijn eigen stuk land van Platform Training, jullie kunnen het natuurlijk gewoon in SA doen.
Veel plezier en succes met het volgen van de tut!
Wat heb je nodig?
- GTA San Andreas
- Sannybuilder 3.04
- GTA SA GXT Editor
- GTA SA Place Manager
- Een lege main.scm (Let op: Je download nu eigenlijk Map Cleaner van Steve-M maar in de .zip is een map genaamd ''extra'' hierin staat de lege scm.
Laten we beginnen:
Ten eerste moet je Sannybuilder geïnstalleerd hebben samen met GTA SA natuurlijk. Daarbij moet je ook de GXT Editor en Place Manager in aparte mappen hebben staan waar je ze snel en gemakkelijk kan terugvinden.
Wanneer je dit allemaal klaar hebt kunnen we echt beginnen.
Start Sannybuilder. Nu klik je op het kleine gele mapje bovenin:
Zoek de lege main.scm op en open hem, het kan zijn dat Sannybuilder vraagt naar je SA map maar dit is alleen het geval wanneer je hem voor het eerst gebruikt. Ook moet je in het scherm waar je de main.scm opzoekt bij ''bestandstypen'' compiled scripts selecteren:
Als het goed is heb je hem nu geopend, als eerste gaan we een code aanpassen. Zoek de volgende code op:
Verander de 6 naar 0, hierdoor is je maximum wanted level 0 sterren.
Nu gaan we aanpassen waar je spawnt, zoek deze code op:
Dit zijn variables die coördinaten bevatten, je ziet ook verder in het script deze code:
Je wordt dus op die coördinaten gespawnt, om een lang verhaal kort te houden:
Verander de coördinaten achter de variables naar jou gewenste start positie. De $7 staat voor de X, de $6 voor Y en de $5 voor Z.
Je kunt deze coördinaten verkrijgen door de Place Manager te gebruiken, start de place manager en start GTA SA op. Vervolgens ga je naar je gewenste start positie toe en keer je terug naar Windows, klik dan in de place manager op ''Add place''. Nu zullen de coördinaten verschijnen. Nu kun je de coördinaten overschrijven of kopiëren uit het ''places configuratie bestand''. Vergeet niet de komma's in de coördinaten te veranderen naar punten!!
Maar er is nog een probleem, helemaal onderaan staat dit:
Deze code geeft aan dat wanneer je een new game start gelijk in een hydra spawnt. Dat moeten we natuurlijk niet hebben. Verwijder alle codes die ik in mijn vorige code box liet zien zodat je deze overhoud:
Nu worden we op de juiste plek gespawnt, we kunnen geen wanted level krijgen en we worden niet in een hydra gespawnt. Nu gaan we met de cutscene beginnen.
Nu gaan we een sphere maken. Een sphere is zo'n rode ronde cirkel waar je in moet lopen om een missie te starten.
Zet onder deze code:
Deze code:
Je ziet een variable staan, $108. Deze mag je naar een willekeurig getal noemen. Daarna komen de x, y en z, deze mag je natuurlijk zelf invullen maar zorg er wel voor dat hij op een redelijke plaats staat. Dan staat er nog ''radius 3.0'', dit is de grote van de sphere, zet dit op 2.0.
Klik nu bovenin op dit knopje en vervolgens op het SA logo ernaast:
Als het goed is heb je dit als resultaat:
Zet nu voor de jump in deze code 2 schuine streepjes neer:
Vervolgens zet je hieronder :MAIN_420:
We gaan nu uitbreiden zodat de sphere wordt verwijderd, het beeld verduistert en vervolgens de cutscene start.
Even op een rijtje wat er nu gebeurt:
Alles spreekt nu eigenlijk voor zich behalve de camera, namelijk deze 2 codes:
De eerste code geeft aan waar de camera zich bevindt en de tweede code geeft aan waar de camera zich op richt. De x, y en z in beide codes spreken voor zich. De eerste code, waar de camera hangt en de tweede code waar hij naartoe kijkt. Dat kan op een actor, of ander punt zijn.
Nu willen we graag instellen hoe lang de camera op een ander punt staat en richt. Dit kunnen we doen door een ''wait'' aan te passen. Als het goed is heb je nu ongeveer deze code:
Verander nu de 1000 van de allerlaatste ''wait'' in bijvoorbeeld 10000. Nu zal de camera 10 seconden (10000ms) op dat ene punt hangen en op dat ene punt staren. Je kunt natuurlijk de 10000 ook in een lager of hoger getal invullen.
Klik nu weer bovenin op compile knopje en weer op het San Andreas logo, nu kun je het begin van je cutscene bekijken! Maar wanneer de ''wait'' ophoudt crasht het spel. Dit komt omdat er verder geen script meer is en de camera nog niet goed staat.
We gaan nu text toevoegen aan onze cutscene, hier hebben we de GXT Editor nodig die je, als het goed is, hebt gedownload. Start de Editor op en zoek en open de american.gxt hij zou normaal in de text map moeten staan in de GTA SA map. Klik nu onder ''table name'' de MAIN aan en klik op ''entry'' en vervolgens add...:
Geef nu je entry een naam en type in het grote vak rechts je tekst. Vervolgens klik je op je entry onder ''entry name''. Sla nu het bestand op en ga weer terug naar Sannybuilder.
Eenmaal in Sannybuilder zoek je weer de code van de cutscene, verwerk nu deze code:
in de cutscene code:
In de code die ik je net gaf staat ''TUT'', dit moet je veranderen naar de naam van je entry. Je kunt ook meerdere teksten achter elkaar zetten door simpelweg de regel opnieuw onder de code te zetten. Maar let op, in de staat 5000, oftewel 5 seconden. Stel dat je bij allebei de codes 6000 neerzet dan duurt het in totaal 12 seconden. Maar de wait gaat maar tot 10 seconden. Dus moet je de wait ook aanpassen in lengte.
Nu gaan we ervoor zorgen dat de camera naar een andere punt springt. We voegen deze code toe:
We krijgen dus dit:
De camera verplaatst zich nu langzaam naar de nieuwe plek. Bij deze code:
zijn de eerste x, y en z de coördinaten van waar de camera eerst stond en de tweede x, y en z zijn de coördinaten waar de camera naartoe gaat.
Nu plaats je nog een wait onderaan en gaan we naar het laatste gedeelte. Hoe zetten we de camera weer goed?
Dat kan door de volgende code:
De code geeft aan dat de widescreen wordt uitgeschakeld, de camera wordt goed gezet en dat de speler weer kan lopen. Dit is naar mijn weten alleen maar mogelijk in een thread, dus die gaan we even maken.
Zoek deze code op:
Dus waar je de sphere hebt gemaakt. Vervolgens zet je eronder:
Nu hebben we een thread gemaakt, maar nu nog het einde. Ga helemaal naar beneden naar het einde van je script en zet er dit neer:
Nu is de thread gemaakt en moet de cutscene werken!
Dit is mijn hele code tot nu toe:
Ik hoop dat jullie er iets van geleerd hebben en bedankt voor het lezen!
Vragen, commentaar enz. zijn allemaal welkom!
Grtz RD