GTAGames.nl gebruikt cookies

cookie wet
Voor een goede werking van GTAGames.nl dien je cookies toe te staan. Hierdoor kunnen we onder andere controleren of je bent ingelogd, statistieken bijhouden zodat we weten welke pagina's dienen worden verbeterd en gerelateerde advertenties plaatsen zodat we de rekeningen kunnen blijven betalen.
Tevens kan je dankzij cookies Grand Theft Auto filmpjes van onder andere Rockstar Games, Vimeo en YouTube bekijken en berichten delen met je vrienden via onder andere Facebook en Twitter.

Meer informatie over alle cookies en je privacy op GTAGames.nl

Springen naar inhoud


GTAGames.nl advertentie Phost.nl cPanel webhosting

GTA2 Scripting Tutorial


  • Dit onderwerp is gesloten Dit onderwerp is gesloten
10 reacties op dit onderwerp

#1 Lantyz

Lantyz
  • Ereleden
  • PipPipPipPipPipPipPipPip

S · Q · R · L


Geplaatst: 7 augustus 2005 - 17:40

Deze tutorial is verhuisd!
Klik op de link hieronder voor een meer uitgebreide en overzichtelijke versie

GTA2 modding op WikiGTA

Deze forumversie is achterhaald en wordt niet meer aangepast.



Als het goed is heb je een map die klaar is om gespeeld te worden, maar nog geen script heeft. Zo niet, ga dan naar de GTA2 Mapping Tutorial. Met vragen, opmerkingen of suggesties kun je terecht in dit topic.

Om een script te maken voor GTA2 heb je minstens drie dingen nodig:
  • De GTA2 Scriptcompiler
  • Kladblok, of een andere (liefst zo eenvoudig mogelijke) tekstverwerker
  • Heel, heel veel geduld
Daarnaast zou je voor het gemak gebruik kunnen maken van een script editor, maar dit is niet noodzakelijk.

--Een script om te beginnen--

Voordat we kunnen gaan scripten, zou je eerst het één en ander moeten weten van GTA2 scripts. Om te beginnen bestaan ze uit twee delen. Het eerste gedeelte zorgt voor alles wat er moet gebeuren voordat het level begint, en het tweede gedeelte zorgt voor alles wat er moet gebeuren nadat het level is begonnen. De twee gedeeltes zijn van elkaar gescheiden door middel van het commando LEVELSTART. Alles voor LEVELSTART hoort bij het eerste gedeelte, en alles erna hoort bij het tweede gedeelte. Zo simpel als wat.
Aangezien er een LEVELSTART is, is er ook een LEVELEND. Dit commando staat helemaal onderaan je script.

Laten we beginnen met een simpel scriptje zodat we eindelijk onze map kunnen zien. Open kladblok, en begin met het schrijven van de twee commando's die ik je net geleerd heb. Je script ziet er dan als volgt uit:

LEVELSTART

LEVELEND

Op dit punt is je script nog steeds nutteloos. Waarom? Omdat je nog geen personage hebt om mee te spelen! Dus die gaan we er nu inzetten. Dat doen we met het volgende commando:

PLAYER_PED naam = ( X.x , Y.y , Z.z ) uiterlijk richting

Naam: voer hier de naam in die je aan de playerped wilt geven. Alle objecten en andere zaken die je in een GTA2 script plaatst moet je een naam geven. Geen enkele naam mag hetzelfde zijn als die van een ander. Het is verstandig om je objecten herkenbare namen te geven, zodat je ze nog terug kan vinden wanneer je script groter begint te worden.

( X.x , Y.y , Z.z ): De coördinaten waarop je de Playerped wilt hebben in je map. Deze coördinaten kun je aflezen in de GTA2 Mapeditor, helemaal rechtsonder in beeld. Belangrijk: Wanneer je een geschikte lokatie aanklikt in de editor, en die coördinaten in je script zet, verschijnt je object onder de grond! De coördinaten slaan namelijk op het midden van de geselecteerde block. Je moet dus eerst op CTRL + Q drukken om de juiste coördinaten te krijgen (Of 1 optellen bij ze Z-coördinaten). The coördinaten moeten met één decimaal opgeschreven worden (Dus bijvoorbeeld niet 6, maar 6.0). En tenslotte hebben de X- en Y-coördinaten een afwijking van 0.5. Dus wil je je Playerped op 165, 98, 2, dan zijn de coördinaten ( 165,5 , 98,5 , 2,0 ).

Uiterlijk: Hoe je playerped eruit moet zien. Elk uiterlijk heeft een eigen nummer, die staan in de codelijsten

Richting: In welke richting de playerped moet staan, uitgedrukt in graden van 1 tot 359. 0 laat de playerped naar het zuiden kijken (Da's de onderkant, dwaas!)

Deze code moet voor LEVELSTART

Voorbeeld: Wanneer je de standaard playerped, met zijn gezicht naar het westen, op de coördinaten 126,5 , 112,5 , 2 wilt hebben, dan is de code:

PLAYER_PED playera = ( 126.5 , 112.5 , 2.0 ) 25 270

Wanneer je je code hebt gemaakt (Je kunt bovenstaande gebruiken, maar controleer wel of de coördinaten mogelijk zijn in jouw map), kun je deze in je script zetten. Je script wordt dan:

PLAYER_PED playera = ( 126.5 , 112.5 , 2.0 ) 25 270
LEVELSTART

LEVELEND

Nu is je eerste werkende script gereed om om te zetten naar een .scm bestand, hierover meer in het volgende onderdeel.

BIJLAGE: GTA2 ScriptCompiler v9.6, Industrial District bèta scripts & GTA2 Scripting.doc


GTAGames.nl advertentie Phost.nl cPanel webhosting

#2 Lantyz

Lantyz
  • Ereleden
  • PipPipPipPipPipPipPipPip

S · Q · R · L


Geplaatst: 7 augustus 2005 - 18:41

--Je script in het spel zetten--

Je script voorbereiden
Je hebt nu je eerste script, maar het is nog steeds een kladblokbestand! Geen probleem. Sla je script op als een .mis bestand. Het is handig om je script dezelfde naam als je map te geven, dus mijn script heet MapTEST.mis

Om je script te kunnen gebruiken, moet je het eerst omzetten naar een .scm bestand. Dit doen we met de GTA2 Scriptcompiler. Voordat je de compiler gebruikt raad ik je aan een backup te maken van je script, omdat de compiler je bestanden wel 's onbruikbaar maakt wanneer hij een error krijgt. Al je werk is dan verloren, en dat is heel frustrerend wanneer je een vergevorderd script hebt. Open de Compiler en laad je script met File > Load. De compiler zou er nu ongeveer zo uit moeten zien:
Toegevoegde afbeelding

Ga nu naar Run > Parser en de Compiler begint met het omzetten van je script. Wanneer hij klaar is zou het er zo uit moeten zien:
Toegevoegde afbeelding

Nee? Je kreeg ***FATAL ERROR***? Dat is zo goed als onmogelijk met maar drie regels, maar goed... :bonk:
Toegevoegde afbeelding

Niets om je druk om te maken, waarschijnlijk heb je ergens een tikfout in je script gemaakt. Controleer je script om te zien of je ergens een fout in de codes hebt staan. De Compiler vermeld waar hij is blijven hangen bij 'Current token'. In het voorbeeld zit de fout dus rond het symbool '(' in de eerste regel.

Nu, wanneer het script succesvol omgezet is, staan er op de plaats waar je script stond, nu drie bestanden: Je oude .mis bestand, een .scr bestand en nog een .tmp bestand. Alleen het .scr bestand is belangrijk (Opmerking: bij mij noemt windows dit bestand een schermbeveiliging in plaats van een .scm bestand).

Het script in het spel zetten
Er zijn wederom twee manieren om je script in GTA2 te zetten, net als bij de maps. Gebruik je bij het mapping gedeelte de eerste manier, dan moet je die nu ook gebruiken. Gebruikte je de tweede manier, dan gebruik je nu ook de tweede.
  • Een origineel level handmatig vervangen
    Zoek uit welk script je wil vervangen. Dit voorbeeld maakt gebruik van level 1, dus ik moet ook het script van level 1 vervangen. De scripts kun je vinden in de Data, in je GTA2 map.
    wil.scr = Script level 1
    ste.scr = Script level 2
    Bil.scr = Script level 3
    Maak een backup van het script dat je gaat vervangen (In het voorbeeld dus Wil.scr) en hernoem je eigen script Wil.scr. Zet het in de Data map, en dan kun je eindelijk je level starten!

  • Je level instellen met het test1.seq bestand
    Zet je scr-bestand in de data-map, zonder het te hernoemen. Maak nu een backup van het test1.seq bestand, wat je ook in de datamap vind.
    Open het met kladblok. Je ziet voor elk GTA2 level een lijstje gegevens. Zoek het lijstje van het level dat je wilt vervangen. Het lijstje van level 1 ziet er zo uit:

    MainOrBonus = MAIN
    GMPFile = wil.gmp
    STYFile = wil.sty
    SCRFile = wil.scr
    Description = City 1 Map
    MainOrBonus: BONUS betekent dat het een bonuslevel is, MAIN dat het een hoofdlevel is.
    GMPFile: Welk .gmp-bestand het spel voor dit level moet laden
    STYFile: Welk .sty-bestand het spel voor dit level moet laden
    SCRFile: Welk .scr-bestand het spel voor dit level moet laden
    Description: De beschrijving van het level. Dit is niet noodzakelijk om aan te passen.

    Nu gaan we het lijstje aanpassen aan ons level. Het voorbeeld wat ik gebruik heet nog steeds MapTEST, het is een gewoon level, en ik gebruik de tiles van level 1. Mijn lijstje wordt dus:

    MainOrBonus = MAIN
    GMPFile = MapTEST.gmp
    STYFile = wil.sty
    SCRFile = MapTEST.scr
    Description = City 1 Map
    Sla het bestand op, controleer of het in de Data-map staat, en je kunt je level spelen!
In de bijlage vind je de GTA2 Script Compiler.

Bijgevoegde bestanden



#3 Lantyz

Lantyz
  • Ereleden
  • PipPipPipPipPipPipPipPip

S · Q · R · L


Geplaatst: 8 augustus 2005 - 15:57

--De codelijsten--

In deze lijsten kun je alle mogelijke objecten, voertuigen, outfits, geluiden en wat je verder nog kunt verzinnen vinden. Het beste is om deze lijsten uit te printen, zodat je codes makkelijk kunt opzoeken tijdens het scripten.


Kleuren

0 - lichtblauw
1 - zwart
2 - Z-Type blauw
3 - Blauw
4 - Blauwgrijs
5 - Groenbruin
6 - lichtrood
7 - Bruin
8 - Donkerbruin
9 - Zilverblauw
10 - Donkergeel
11 - Cr

#4 Lantyz

Lantyz
  • Ereleden
  • PipPipPipPipPipPipPipPip

S · Q · R · L


Geplaatst: 8 augustus 2005 - 20:32

--Objecten, PowerUps & Wapens--

Dit onderdeel gaat over het plaatsen van objecten, powerups en wapens in je map. Dit gebeurt alledrie met hetzelfde commando. Dit commando ziet er als volgt uit:

OBJ_DATA Naam = ( X.x , Y.y , Z.z ) richting objecttype munitie

Naam: Wederom de naam die je zelf geeft aan het wapen.

( X.x , Y.y , Z.z ): De co

#5 Lantyz

Lantyz
  • Ereleden
  • PipPipPipPipPipPipPipPip

S · Q · R · L


Geplaatst: 9 augustus 2005 - 10:20

--Het plaatsen van wagens--

GTA2 genereert zelf rijdende auto's op de wegen. Geparkeerde auto's moet je wel zelf verzorgen. Dat doen we met het volgende commando:

CAR_DATA Naam = ( X.x , Y.y , Z.z ) kleur richting wagen

Naam: De naam die je aan de wagen geeft.

( X.x , Y.y , Z.z ): De co

#6 Lantyz

Lantyz
  • Ereleden
  • PipPipPipPipPipPipPipPip

S · Q · R · L


Geplaatst: 9 augustus 2005 - 14:43

--Het invoegen van een geluid--

In GTA2 kun je geluiden invoegen, ongeveer op dezelfde manier als objecten. We gebruiken hier het volgende commando voor:

SOUND naam = ( X.x , Y.y , Z.z ) geluid PLAY_INSTANT/PLAY_FOREVER

Naam: De naam die je aan het geluid geeft

( X.x , Y.y , Z.z ): De co

#7 Lantyz

Lantyz
  • Ereleden
  • PipPipPipPipPipPipPipPip

S · Q · R · L


Geplaatst: 10 augustus 2005 - 12:01

--Carshops--

In de GTA2 Mapping Tutorial hebben we een gebouw gemaakt om de Carshops in te zetten. De carshops zelf gaan we er inzetten met wat scriptwerk. Ook dit is niet ingewikkeld: Het werkt hetzelfde als het plaatsen van een object. Sterker nog: Carshops zijn objecten. Vandaar ook dat we weer het OBJ_DATA commando gebruiken, zij het iets aangepast.

OBJ_DATA Naam = ( X.x , Y.y , Z.z ) 0 CAR_SHOP Shoptype

Naam: De naam die je aan de carshop geeft.

( X.x , Y.y , Z.z ): De co

#8 Lantyz

Lantyz
  • Ereleden
  • PipPipPipPipPipPipPipPip

S · Q · R · L


Geplaatst: 6 september 2005 - 10:00

--Cranes & Crushers--

In de Mapping Tutorial staat hoe je een carcrusher kunt mappen. Hier zorgen we ervoor dat de carcrusher ook daadwerkelijk functioneert.
Maar eerst wat uitleg over de hijskranen in GTA2. Het spel kent namelijk, houd je vast, niet minder dan vier verschillende hijskranen. Hieronder zal ik uitleggen hoe de vier kranen werken.

--Basic Crane--

De Basic Crane is de meest eenvoudige hijskraan van de vier. Het enige wat hij doet is het plaatsen van wagens op trailers (Of een wagen van een trailer afhalen, natuurlijk), wanneer deze binnen zijn bereik zijn.
Het commando ziet er als volgt uit:

CRANE_DATA Naam = ( X.x , Y.y ) richting NO_HOMECRANE
Naam: De naam van de kraan

( X.x , Y.y ): De co

#9 Lantyz

Lantyz
  • Ereleden
  • PipPipPipPipPipPipPipPip

S · Q · R · L


Geplaatst: 8 september 2005 - 18:13

--Gangs--

Als je een map hebt die groot genoeg is om wat gangs te herbergen, en je hebt de zones ingesteld, dan kunnen we nu verder met het scripten van de gangs. Zo niet, neem dan even een kijkje bij het onderdeel 'Gangs' in de Mapping Tutorial.

We beginnen met de details van de gang in te voeren:

SET_GANG_INFO ( Gangzonenaam , uiterlijk , wapen1 , wapen2 , wapen3 , gangID , X.x , Y.y , Z.z , Respect , Gangcar , Gangcarkleur )

Gangzonenaam: De naam van de Gangzone die je in de mapeditor hebt ingevoerd.

Uiterlijk: Het uiterlijk van de gangleden. Zie de uiterlijken-lijst.

Wapen1: Het wapen dat de gewapende altijd op zak hebben Gangleden, en gebruiken wanneer je in diskrediet valt. Zie de wapens-lijst.

Wapen2: Het wapen wat de gewapende gangleden erbij krijgen wanneer hun respect voor je verder daalt. Zie de wapens-lijst.

Wapen3: Het wapen dat de gewapende gangleden gebruiken wanneer je het echt helemaal verprutst hebt. Zie de wapens-lijst.

GangID: Het ID nummer van de betreffende gang. Dit bepaalt de kleur, pijl en het icoon van de gang. Zie de Codelijsten.

X.x , Y.y , Z.z: De co

#10 Lantyz

Lantyz
  • Ereleden
  • PipPipPipPipPipPipPipPip

S · Q · R · L


Geplaatst: 9 september 2005 - 12:00

--GTA2 Texting tutorial--

Even een kort onderdeeltje tussendoor over GTA2 texting; het aanpassen van .gxt-bestanden, oftewel het invoegen van je eigen teksten in GTA2.

Om teksten aan te passen heb je een GXT-editor nodig. Er zijn er meerdere in omloop, en ze werken allemaal practisch hetzelfde. Het enige wat de editor moet doen is immers openen, veranderen, en opslaan.
Tot nu toe ben ik alleen editors tegengekomen die niets anders doen dan oorspronkelijke teksten wijzigen. Dit geeft als enige obstakel dat we vastzitten aan een maximum aantal tekstregels (Maar maak je voorlopig geen zorgen; Dat maximum is hoog)

Goed, voor zover de intro. Wanneer je de GXT-editor opent, krijg je waarschijnlijk een leeg venster, met daaronder een lege tekstregel. Druk op de knop 'open' en open, zoals gewoonlijk, de map GTA2\data. In deze map staan 10 .gtx bestanden. Je kunt er maar twee openen, en wel diegene in de taal die je ge

#11 Lantyz

Lantyz
  • Ereleden
  • PipPipPipPipPipPipPipPip

S · Q · R · L


Geplaatst: 26 september 2005 - 14:00

--Het metro-systeem--

Voor de verandering is het scripting gedeelte van een onderdeel nu 'ns stukken eenvoudiger dan het mapping gedeelte. :puh:
Het enige wat we hoeven te scripten zijn de treinen zelf. Dit doen we met het volgende commando:

SET_STATION_INFO ( platform , passagierswagons , opleggers , goederenwagons )

Platform: De naam van de platformzone van het station.

Passagierswagons: Het aantal passagierswagons dat de trein moet hebben.

Opleggers: het aantal opleggers dat de trein moet hebben.

Goederenwagons: het aantal goederenwagons dat de trein moet hebben.

Dit commando gaat voor LEVELSTART.

Voorbeeld:
Wil je een passagierstrein met vier passagierswagons, geen opleggers en


GTAGames.nl advertentie Phost.nl cPanel webhosting

0+ gebruiker(s) lezen dit onderwerp

0 leden, 0+ gasten en 0 anonieme leden