Jump to content

GTA2 Scripting Tutorial


Recommended Posts

Geplaatst:

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

Geplaatst:

--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:

tutcompiler7sh.jpg

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:

tutcompilersucces7oq.jpg

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

tutcompilererror7zb.jpg

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.

  1. 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!
  2. 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.

Script_Compiler.zip

Geplaatst:

--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èmekleurig

12 - Cyanblauw

13 - Beige

14 - Donkerblauw

15 - Diep Blauw

16 - Donkergroen

17 - Donkerrood

18 - roestbruin

19 - Goudkleurig

20 - Groen

21 - Grijs

22 - Lichtbruin

23 - Olijfgroen

24 - Oranje

25 - Vaal blauw

26 - Rose

27 - Lila

28 - Rood

29 - Roestbruin

30 - Zilver

31 - Hemelblauw

32 - Turks Blauw

33 - Witgrijs

34 - Wit

35 - Geel

36 - G4-Bankvan kleur

Wagens

ALFA - Romero

ALLARD - Wellard

AMDB4 - Aniston BD4

APC - Pacifier

BANKVAN - G4 Bank Van

BMW - Beamer

BOXTRUCK - Box Truck

BUG - Bug

BUICK - Bullwark

BUS - Bus

COPCAR - Cop Car

DART - Minx

EDSEL - Eddy

EDSELFBI - Special Agent Car

FIAT - Panto

FIRETRUK - Fire Truck

GRAHAM - Shark

GTRUCK - Garbage Truck

GT24640 - GT-A1

GUNJEEP - Armed Land Roamer

HOTDOG - Hot Dog Van

ICECREAM - Icecream Van

ISETLIMO - Dementia Limousine

ISETTA - Dementia

JEEP - Land Roamer

JEFFREY - Jefferson

LIMO - Strech Limousine

LIMO2 - Sports Limousine

MEDICAR - Medicar

MERC - Benson

MESSER - Schmidt

MIURA - Miara

MONSTER - Big Bug

MORGAN - Morton

MORRIS - Maurice

PICKUP - Pickup

RTYPE - A-Type

SPIDER - Arachnid

SPRITE - Spritzer

STINGRAY - Stinger

STRATOS - Meteor

STRATOSB - Meteor

STYPE - B-Type

STYPECAB - Taxi Xpress

SWATVAN - SWAT Van

T2000GT - Michelli Roadster

TANK - Tank

TANKER - Trailer; Tanker

TAXI - Taxi

TBIRD - T-Rex

TOWTRUCK - Towtruck

TRANCEAM - Trance-AM

TRUKCAB1 - Truck Cab

TRUKCAB2 - Truck Cab SX

TRUKCONT - Trailer; Container

TRUKTRNS - Trailer; Packer

TVVAN - TV Van

VAN - Van

VESPA - U-Jerk Truck

VTYPE - Z-Type

WBTWIN - Rumbler

XK120 - Jagular XK

ZCX5 - Furore GT

Voetgangersbestemmingen

NO_OCCUPATION - Geen bestemming

DUMMY - gewone ped

PSYCHO - ped die alles en iedereen aanvalt

MUGGER - Zakkenroller

BANK_ROBBER - Bankrover

CRIMINAL_TYPE1 - Ped die ‘CRIMINAL_TYPE2’ aanvalt

CRIMINAL_TYPE2 - Ped die ‘CRIMINAL_TYPE1’ aanvalt

TANK_DRIVER - Tankchauffeur

DRONE - Missie ped

REFUGEES - vluchteling

NO_OCCUPATION - geen bestemming

ANY_LAW_ENFORCEMENT - agenten

ANY_EMERGENCY_SERVICE_MAN - ziekenbroeders

ANY_GANG_MEMBER - Gangleden

ANY_ELVIS - Elvis

Geluiden

WIND - Wind

NIGHT_CLUB - Nightclub

BAR - Bar

GENERATOR_RUMBLE - Generatorgezoem

WORKSHOP - Werkplaats

CHURCH_SINGING - kerkzang

TEMPLE_CHANT - tempelzang

INDUSTRIAL_HIGHT - Industriële geluiden

HUMAN_ABATTOIR - Menselijk abattoir

FUNNY_FARM - boerderij

BANK_ALARM - Bankalarm

INDUSTRIAL_LOW - Zachte industriële geluiden

PORTA_LOO - ?

WATERFALL - Waterval

CRICKETS - krekels

PRISON - gevangenis

PRISON_ALARM - gevangenis alarm

GANG_DUMPED - ?

SMUG_LAUGH - Vrolijke lach

PRISON_YARD - Gevangenis, buitenkant

PRISON_RIOT - Gevangenisrel

GANG_LOCKED_IN_BUS - Gang opgesloten in een bus

SHOPPING_MALL - winkelcentrum

CLOCK_TOWER - Klokketoren

YEEHA_BOMB - Yeehaa!

BOWLING_ALLAY - Bowlingbaan

CROWD_NOISE - menigte

FAN_NOISE - ventilator

GENERATOR_LOSE_POWER - defecte generator

SCREAM - scream

BOMB_TICK - tikkende bom

BOMB_TICK_SHIT - mislukte bom

DETECTED_MUMBLE - gemompel

KRISHNA_CHANT - Krishna zang

CRYING - gehuil

ROCKET_LAUNCH_FAIL_CLICK - *click!*

ROCKET_FAIL_LAUGH - lach

POISONED - vergiftigde ped

POWER_PLANT - energie centrale

MUMBLE - gemompel

JAZZ_CLUB - Jazz Club

COUNTRY_CLUB - Country Club

BAR_2 - Bar

STRIP_CLUB - Strip Club

TEMPLE_2 - tempel zang

GARAGE_OPEN - openende Garage

GARAGE_CLOSE - sluitende Garage

LET_ME_OUT - ?

Objecttypes

BIN - vuilnisbak

BIN_LID - deksel van vuilnisbak

BLOOD - Bloed

BRIEFCASE - koffer

CAR_SHOP - Carshop

CONE - pion

FOOTY - voetbal

MINE - Vehicle Mine

OIL - Vehicle Oil Slick

PHONE - Telefoon

GREEN_PHONE - Groene telephone

RED_PHONE - Rode telephone

YELLOW_PHONE - Gele telephone

RED_FOOTPRINTS - Bloederige voetstap

RUBBISH - afval

TRAFFIC_LIGHT - stoplicht

INVISIBLE_TARGET - onzichtbaar doel voor Tanks

FBI_BLOCK - wegblokkade

POWERGEN - Generator

POWERGEN_DEAD - Gesloopte generator

INVISIBLE_DESTRUCTIBLE - onzichtbare wegblokkade

INVISIBLE_DEAD - Gesloopte onzichtbare wegblokkade

TUNNEL_BLOCKER - Treintunnel blokkade

REMOTE - RC Badge

KILL_FRENZY - Kill Frenzy bagde

BONUS_TOKEN - GTA2 Bonus badge

BOMB - Bom

COLLECT_00 - Pistol

COLLECT_01 - S-Uzi Machinegun

COLLECT_02 - Rocket Launcher

COLLECT_03 - Electrogun

COLLECT_04 - Molotov Cocktails

COLLECT_05 - Grenades

COLLECT_06 - Shotgun

COLLECT_07 - Elektrostick -> Onbruikbaar

COLLECT_08 - Flame Thrower

COLLECT_09 - Silenced S-Uzi Machinegun

COLLECT_10 - Dual Pistol

COLLECT_15 - Vehiclebomb

COLLECT_16 - Vehicle Oilslick

COLLECT_17 - Vehicle Mines

COLLECT_18 - Vehicle Machineguns

COLLECT_19 - Vehicle Rocket Launcher

COLLECT_20 - Vehicle Water Canon

COLLECT_21 - Vehicle Flame Thrower

COLLECT_22 - Vehicle Machineguns- Jeep

COLLECT_23 - Instant Vehicle Bomb

COLLECT_28 - Power-Up – Multiplyer +1

COLLECT_29 - Power-Up – Life +1

COLLECT_30 - Power-Up - Health

COLLECT_31 - Power-Up - Armour

COLLECT_32 - Power-Up – Get Outta Jail Freecart

COLLECT_33 - Power-Up – Cop Bribe

COLLECT_34 - Power-Up – Unvulnaribility*

COLLECT_35 - Power-Up – Double Damage

COLLECT_36 - Power-Up – Fast Reload

COLLECT_37 - Power-Up - Electrofingers

COLLECT_38 - Power-Up – Respect!

COLLECT_39 - Power-Up - Invisibility

COLLECT_40 - Power-Up - Instant Gang

MOVING_COLLECT_00 - Pistol

MOVING_COLLECT_01 - S-Uzi Machinegun

MOVING_COLLECT_02 - Rocket Launcher

MOVING_COLLECT_03 - Electrogun

MOVING_COLLECT_04 - Molotov Cocktails

MOVING_COLLECT_05 - Grenades

MOVING_COLLECT_06 - Shotgun

MOVING_COLLECT_07 - Elektrostick

MOVING_COLLECT_08 - Flame Thrower

MOVING_COLLECT_09 - Silenced S-Uzi Machinegun

MOVING_COLLECT_10 - Dual Pistol

MOVING_COLLECT_15 - Vehiclebomb

MOVING_COLLECT_16 - Vehicle Oilslick

MOVING_COLLECT_17 - Vehicle Mines

MOVING_COLLECT_18 - Vehicle Machineguns

MOVING_COLLECT_19 - Vehicle Rocket Launcher

MOVING_COLLECT_20 - Vehicle Water Canon

MOVING_COLLECT_21 - Vehicle Flame Thrower

MOVING_COLLECT_22 - Vehicle Machineguns- Jeep

MOVING_COLLECT_23 - Instant Vehicle Bomb

MOVING_COLLECT_28 - Power-Up – Multiplyer +1

MOVING_COLLECT_29 - Power-Up – Life +1

MOVING_COLLECT_30 - Power-Up - Health

MOVING_COLLECT_31 - Power-Up - Armour

MOVING_COLLECT_32 - Power-Up – Get Outta Jail Freecart

MOVING_COLLECT_33 - Power-Up – Cop Bribe

MOVING_COLLECT_34 - Power-Up – Unvulnaribility*

MOVING_COLLECT_35 - Power-Up – Double Damage

MOVING_COLLECT_36 - Power-Up – Fast Reload

MOVING_COLLECT_37 - Power-Up - Electrofingers

MOVING_COLLECT_38 - Power-Up – Respect!

MOVING_COLLECT_39 - Power-Up - Invisibility

MOVING_COLLECT_40 - Power-Up - Instant Gang

Uiterlijken

0 - Agent

1 - Groene SWAT-cop

2 - Rode SWAT-cop

3 - Gele SWAT-cop

4 - Soldaat

5 - Redneck #1

6 - Redneck #2

7 - SRS Scientist

8 - Zaibatsu

9 - Hare Krishna

10 - Russian

11 - Loony

12 - Elvis

13 - Yakuza

14 - Brandweerman

15 - Groene ped

16 - Ziekenbroeder

17 - Zakkenroller

18 - Blauwe ped

19 - Lichtblauwe ped

20 - Rode ped

21 - Ped

22 - Gevangene

23 - Vergiftigde ped

24 - vergiftigde ped

25 - Playerped

26 - naakte ped

27 -> - Andere peds

Beschadigingstypes

BY_EXPLOSION - Door explosies

BY_DROWNING - Door verdrinking

BY_PUNCH - Door slaan

BY_GUN - Door gewoon wapen

BY_CAR_BOMB - Door een autobom

BY_FIRE - Door vuur

BY_FLAMETHROWER - Door Flame Thrower

BY_GRANADE - Door grenades

BY_MOLOTOV - Door Molotov Cocktails

BY_ROCKET_LAUNCHER - Door Rocket Launcher

BY_ELECTRO_WEAPON - Door Electrogun

BY_SHOTGUN - Door shotgun

BY_WATER_CANNON - Door Water Cannon

BY_ANY_WEAPON - Door ieder wapen

BY_ANY_FOOT_WEAPON - Door ieder wapen te voet

Wapens

Verwissel deze lijst niet met de Powerups!

PISTOL - Pistol

MACHINE_GUN - S-Uzi Machinegun

ROCKET_LAUNCHER - Rocket Launcher

ELECTRO_GUN - Elektrogun

MOLOTOV - Molotov Cocktails

SHOTGUN - Shotgun

SILENCED_MACHINE_GUN - Silenced S-Uzi Machinegun

FLAME_THROWER - Flame Thrower

DUAL_PISTOL - Dual Pistol

GRENADE - Grenades

MICROWAVE - Electrofingers

NO_WEAPON - Geen wapen

CAR_BOMB - Vehicle bomb

CAR_MACHINE_GUN - Vehicle Machineguns

CAR_OIL - Vehicle Oilslicks

CAR_FLAMETHROWER - Vehicle Flamethrower

CAR_MINE - Vehicle Mines

WATER_CANNON - Water Cannon

TANK_GUN - Tank Rocket Launcher

JEEP_GUN - Vehicle Macineguns Jeep

Waarschuwing: - Gebruik de Vehicle Weapons alleen met de wagens waarvoor ze bestemd zijn! Geef een Tank dus nooit een Water Cannon, of een Armed Landroamer nooit een Rocket Launcher!

CarCrusher beloningen

#1 - S-Uzi Machinegun

#2 - Rocket Launcher

#3 - Electrogun

#4 - Molotov Cocktails

#5 - Grenades

#6 - Shotgun

#7 - Electrobaton

#8 - Flame Thrower

#9 - Silenced S-uzi Machinegun

#10 - Health

#11 - Armor

#12 - Get Outta Jail Free Card

#13 - Copbribe

#14 - Invulnaribilaty*

#15 - Double Damage

#16 - Fast Reload

#17 - Electrofingers

#18 - Respect!

#19 - Invisibility

GangIDs

0 - Grote paarse pijl, merkwaardige Respect-o-meter.

1 - Loonies

2 - Zaibatsu Corporation

3 - Yakuza

4 - Rednecks

5 - SRS Scientists

6 - Hare Krishna

7 - Russian Mafia

8 - Geen pijl of respect-o-meter.

Geplaatst:

--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ördinaten

Richting: In welke richting het object moet staan. Wanneer je een wapen of powerup plaatst, is de richting gewoonlijk '0'.

Objecttype: Welk object, wapen of powerup je hier neer wilt zetten. De code hiervan vind je in de lijst 'objecttypes'.

Munitie: Wanneer je een wapen plaatst, vul je hier in hoeveel munitie je krijgt wanneer je het wapen oppakt. Wanneer je een object of powerup plaatst, laat je deze waarde weg.

Dit commando moet voor LEVELSTART.

Voorbeeld: Wanneer je één Instant Vehicle Bomb op 119, 54, 2 wilt hebben, dan is het commando:

OBJ_DATA instantboem = ( 119.5 , 54.5 , 2.0 ) 0 COLLECT_23 1

En wil je een koffer op 107, 67, 3, met een hoek van 45 graden, dan is het commando:

OBJ_DATA koffervoorgebouw = ( 107.5 , 67.5 , 3.0 ) 45 BRIEFCASE

--Generators--

Vaak wil je een wapen of powerup in je map plaatsen die om de zoveel tijd opnieuw verschijnt. Vooral in multiplayermaps zul je dit vaak tegenkomen. Dit doen we met generators. Generators zijn iets ingewikkelder dan gewone OBJ_DATA commando's, en bestaan uit twee delen. Het eerste deel ziet er als volgt uit:

GENERATOR Naam = ( X.x , Y.y , Z.z ) richting objecttype timermin timermax munitie

Naam: De naam die je aan je generator geeft

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

Richting: De richting in graden

Objecttype: De code van je wapen of powerup

Timermin: De minimum wachttijd voordat het wapen/ de powerup gegenereerd wordt. 1800 Is één minuut

Timermax: De maximum wachttijd voordat het wapen/ de powerup gegenereerd wordt. 1800 staat voor één minuut

Munitie: De munitie die je krijgt wanneer het een wapen betreft.

Dit deel van het commando moet voor LEVELSTART.

Elke generator moet geactiveerd worden met het tweede deel van het commando. Dit tweede deel gaat als volgt:

SWITCH_GENERATOR ( generatornaam , ON/OFF )

Generatornaam: De naam die je opgegeven hebt bij 'naam' bij het eerste deel van het commando.

ON/OFF: Simpel; ON = Generator aan, OFF = Generator uit.

Dit gedeelte van het commando moet na LEVELSTART

Voorbeeld: Als je een Shotgun met 15 patronenwilt op 131,98,2, welke tenminste elke twee minuten regenereert, dan wordt het commando:

GENERATOR shotgundak = ( 131.5 , 98.5 , 2.0 ) 0 COLLECT_06 3000 3600 15

LEVELSTART

SWITCH_GENERATOR ( shotgunroof , ON )

LEVELEND

Geplaatst:

--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ördinaten waarop de auto staat.

Kleur: De kleur die de auto moet hebben. Je vindt alle kleuren in de codelijst 'Kleuren'.

Richting: De richting van de auto in graden.

Wagen: Welke wagen er moet staan. Je vindt alle wagens in de codelijst 'wagens'.

Deze code moet voor LEVELSTART.

Voorbeeld: Wil je een rode Stinger op de coördinaten 146.5 , 158.5 , 2.0, met zijn neus naar het noorden, dan is het commando:

CAR_DATA parkeerplaats = ( 146.5 , 158.5 , 2.0 ) 35 180 STINGRAY

Geplaatst:

--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ördinaten. Op deze coördinaten is het geluid het sterkst, daaromheen vervaagt het.

Geluid: Welk geluid het moet zijn. De geluiden kun je vinden in de codelijst 'Geluiden'.

PLAY_INSTANT/PLAY_FOREVER: Of het geluid zich moet herhalen of niet. PLAY_INSTANT = Één keer afspelen, PLAY_FOREVER = Herhalen.

Dit commando moet voor LEVELSTART.

Voorbeeld: Wil je het herhalende geluid van een waterval op 121.5 , 56.5 , 4.0, dan is het commando:

SOUND waterval = ( 121.5 , 56.5 , 4.0 ) WATERFALL PLAY_FOREVER

Geplaatst:

--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ördinaten. Bij de standaard carshops is dit dus het midden van de inrit.

Shoptype: Welke carshop het moet zijn. Er zijn vijf verschillende carshops, namelijk : MACHINEGUN_SHOP, BOMB_SHOP, MINES_SHOP en OILSLICK_SHOP. De oplettende lezer ziet dat dat maar vier codes zijn. De vijfde shop, Max Paynt, heeft als code simpelweg het nummer van de kleur die de shop moet sprayen.

Voorbeeld: Wil je een Smith & Heston's op 178, 163, 2, een Gold Mines op 180, 163, 2, een zwarte Max Paynt at 182, 163, 2, een Hell Oil op 184, 163, 2 en een Red Army Surplus op 186, 163, 2, dan zijn de commando's:

OBJ_DATA machinegunshopa = ( 178.5 , 163.5 , 2.0 ) 0 CAR_SHOP MACHINEGUN_SHOP
OBJ_DATA minesshopa = ( 180.5 , 163.5 , 2.0 ) 0 CAR_SHOP MINES_SHOP
OBJ_DATA sprayshopa = ( 182.5 , 163.5 , 2.0 ) 0 CAR_SHOP 2
OBJ_DATA oilslickshopa = ( 184.5 , 163.5 , 2.0 ) 0 CAR_SHOP OILSLICK_SHOP
OBJ_DATA bombshopa = ( 186.5 , 163.5 , 2.0 ) 0 CAR_SHOP BOMB_SHOP

Opmerking: Carshops zijn onzichtbaar. Wanneer je ze gewoon ergens in je map zet, zonder gebouw heeft dat twee nadelen: Ten eerste ziet het er nogal merkwaardig uit wanneer je wagen ineens van kleur veranderd, en ten tweede zal niemand de shops kunnen vinden! Het is dus aan te raden er een herkenbaar gebouw overheen te zetten

  • 4 weken later...
Geplaatst:

--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ördinaten waar je de kraan gemapped hebt (Door twee blocks op elkaar te zetten). Let op: De Z-coördinaten hoef je niet in te voeren.

Richting: De richting die de arm van de kraan op moet wijzen in de startpositie.

NO_HOMECRANE: Dit geeft aan dat de kraan zich niet druk hoeft te maken over andere hijskranen.

Dit commando hoort voor LEVELSTART te staan.

Voorbeeld: Wanneer je een Basic Crane op 76.5 , 53.5 wilt hebben, met zijn arm naar het westen, dan wordt het commando:

CRANE_DATA hijskraana = ( 76.5 , 53.5 ) 270 NO_HOMECRANE

--First Crane--

Ook deze kraan is niet bijster inteligent. Het enige wat een First Crane doet is auto's binnen zijn bereik oppakken en in een crusher gooien. Daar heeft hij dit commando voor nodig:

CRANE_DATA Naam = ( X.x , Y.y ) richting NO_HOMECRANE FIRST ( X.x , Y.y 2) doelrichting

Naam: De naam van de kraan. Geef hem een duidelijke naam: Je hebt hem nog een keer nodig.

( X.x , Y.y ): De coördinaten van de kraan.

Richting: De richting die de arm van de kraan op moet wijzen in de startpositie.

( X.x , Y.y 2): De coördinaten van de crusher.

Doelrichting: De richting in graden wanneer de arm boven de crusher hangt

Deze code staat voor LEVELSTART.

Voorbeeld: Wanneer je een First Crane wil op 134.5 , 33.5, met het noorden als startpositie, en een crusher ten zuiden van de kraan op 134.5 , 41.5, dan wordt het commando:

CRANE_DATA zaibatsucranea = ( 134.5 , 33.5 ) 0 NO_HOMECRANE FIRST ( 134.5 ,  41.5 ) 180

--Second Crane--

De naam zegt het al: Een Second Crane treedt in werking zodra zijn First Crane klaar is. Het enige wat hij daarna doet is autowrakken oppakken en op een lopende band zetten. Dit doet hij met behulp van dit commando:

CRANE_DATA naam = ( X.x , Y.y ) richting First-Crane-naam SECOND ( X.x , Y.y 2) doelrichting

Naam: De naam van de Second Crane.

( X.x , Y.y ): De coördinaten van de hijskraan.

Richting: De richting die de arm van de kraan op moet wijzen in de startpositie.

First-Crane-naam: De naam van de First Crane.

( X.x , Y.y 2): De coördinaten van het punt op de lopende band waar de kraan het wrak moet neerzetten.

Doelrichting: De richting in graden wanneer de arm boven het punt hangt waar hij het wrak moet neerzetten.

Dit commando hoort voor LEVELSTART

Voorbeeld: Wanneer je een Second Crane wilt op de coördinaten 140.5 , 33.5 Naar het zuiden wijzend, met bovengenoemde kraan als First Crane, en een lopende band op 143.5 , 33.5, dan wordt het commando:

CRANE_DATA zaibatsucraneb = ( 140.5 , 33.5 ) 0 zaibatsucranea SECOND ( 143.5 , 33.5) 90

--First & Second Crane--

Het laatste type hijskraan kan wagens van een vastgelegd punt optillen en op een ander vastgelegd punt neerzetten, mits dat punt vrij is. Het commando luidt als volgt:

CRANE_DATA Naam = ( X.x , Y.y ) richting First-Crane-naam FIRST ( X.x , Y.y 2) doelrichting SECOND ( X.x , Y.y 3) doelrichting2

Naam: De naam van de hijskraan.

( X.x , Y.y ): De coördinaten van de hijskraan

Richting: De richting die de arm van de kraan op moet wijzen in de startpositie.

First-Crane-naam: De naam van de vorige hijskraan in het systeem. Wanneer die er niet is, laat je dit weg.

( X.x , Y.y 2): De coördinaten waar de wagen opgepakt moet worden.

Doelrichting: De richting in graden wanneer de arm boven ( X.x , Y.y 2) hangt.

( X.x , Y.y 3): De coördinaten waar de wagen neergezet moet worden.

Doelrichting2: De richting in graden wanneer de arm boven ( X.x , Y.y 3) hangt.

Dit commando moet voor LEVELSTART.

Voorbeeld: Wanneer je een First & Second Crane wilt hebben op 123.5 , 57.5, wijzend naar het oosten, zonder First Crane, die auto's oppakt van 124.5 , 57.5 en ze weer neerzet op 123.5 , 53.5 krijgt het commando:

CRANE_DATA hijskraanc = ( 123.5 , 57.5 ) 90 FIRST ( 124.5 , 57.5 ) 0 SECOND ( 123.5 , 53.5 ) 180

--Het Carcrusher systeem--

Het carcrusher systeem maakt, zoals nu duidelijk is, alleen gebruik van de First Crane en de Second Crane. Maar naast deze hijskranen heb je nog meer nodig om het systeem te laten werken.

--De Crusher--

Met het volgende commando script je de crusher zelf:

CRUSHER naam= ( X.x , Y.y )

Naam: De naam van de crusher

( X.x , Y.y ): De coördinaten van het middelpunt van de crusher. Crushers zijn 3 x 3 Blocks groot.

Deze code gaat voor LEVELSTART.

Voorbeeld: Veel simpeler dan dit zul je codes niet vaak tegenkomen, maar toch maar een voorbeeld... Wil je een crusher op 93.5 , 105.5, dan wordt het commando:

CRUSHER crushera= ( 93.5 , 105.5 )

--Lopende banden--

Het systeem heeft ook twee lopende banden nodig. Deze heb je tijdens het mappen al gemaakt en geanimeerd, als het goed is. Ze kunnen echter alleen echt dingen verplaatsen wanneer ze een script hebben. Dat script maak je als volgt:

CONVEYOR Naam = ( X.x , Y.y , Z.z ) ( X.x , Y.y 2) X Y

Naam: De naam van de lopende band.

( X.x , Y.y , Z.z ): Het exacte middelpunt van de lopende band. Het is heel belangrijk dat dit echt precies het midden is. Wanneer je bredere lopende banden maakt, vergt dit wel eens wat hoofdrekenwerk.

( X.x , Y.y 2): De lengte en breedte van de lopende band

X: De beweging van de lopende band langs de X-as. 1 is oplopend, 0 is stilstaand en -1 is aflopend

Y: De beweging van de lopende band langs de Y-as. 1 is oplopend, 0 is stilstaand en -1 is aflopend

Dit commando hoort voor LEVELSTART

Voorbeeld: Wil je een lopende band van negen Blocks lang, en één breed, met het midden op 45.5 , 78.5 , 2.0, rollend naar het oosten, dan wordt het commanco:

CONVEYOR banda = ( 45.5 , 78.5 , 2.0 ) ( 1.0 , 9.0 ) 1 0

--Destructors--

Dan zijn er nog twee Destructors nodig. Destructors zijn onzichtbaar, en verwijderen objecten uit het spel wanneer deze binnen bereik zijn. In het geval van een carcrusher systeem verwijderd de eerste het autowrak nadat deze het gebouw binnen rolt. De tweede verwijderd de beloning wanneer deze niet tijdig wordt opgepakt en dus het laatste gebouw inrolt. Destructors moeten altijd ergens onder 'verstopt' zitten, omdat het er natuurlijk vrij merkwaardig uitziet wanneer objecten in het niets verdwijnen.

Destructors maak je als volgt:

DESTRUCTOR Naam = ( X.x , Y.y , Z.z ) ( X.x , Y.y 2)

Naam: De naam van de Destructor

( X.x , Y.y , Z.z ): De Coördinaten van het exacte middelpunt. Wederom is dit erg belangrijk.

( X.x , Y.y 2): De lengte en breedte van de destructor.

Dit commando gaat voor LEVELSTART.

Voorbeeld: Wanneer je een Destructor van 1 x 1 Block wilt op 123.5 , 56.5, 2.0, dan wordt het commando:

DESTRUCTOR destructora = ( 123.5 , 56.5, 2.0 ) ( 1.0 , 1.0 )

In principe werkt het car-crusher systeem nu, maar er ontbreekt nog één detail: De carcrusher weet niet welke beloning hij waar en voor welke wagen moet geven. Dit lossen we op met drie commando's.

--De Generator--

Om te beginnen plaats je een generator (Eenzelfde zoals we al eerder gedaan hebben tijdens het plaatsen van terugkomende wapens) op het beginpunt van de tweede lopende band. Deze generator gaat de beloningen genereren. Het is belangrijk dat je hem niet aanzet, zoals we tot nu toe altijd wel gedaan hebben. Alleen de generator plaatsen is voldoende. Het maakt overigens niet uit welk objecttype je de generator geeft. Met de Timermin en de Timermax kun je regelen hoe lang het moet duren voordat de wapens verschijnen.

--Scanners--

Scanners scannen het autowrak wanneer deze door hen heen rolt en gaan na welke beloning er moet komen. Ook scanners zijn onzichtbaar. De ideale plek voor een scanner is direct voor de destructor op de eerste lopende band.

Een scanner plaats je als volgt:

DECLARE_CRANE_POWERUP ( Crane-Naam , Generatornaam , X , Y , Z )

Crane-Naam: Naam van de kraan die het wrak op de lopende band legt.

Generatornaam: Naam van de generator die de beloningen genereert.

X , Y , Z: De coördinaten van de Scanner. Het coördinaat achter de komma kun je weglaten.

Dit commando gaat voor LEVELSTART

Voorbeeld: Wanneer je een Scanner op 34 , 78 , 3, met hijskraan 'zaibatsucraneb' en generator 'zaibatsugenerator' wilt, dan wordt het commando:

DECLARE_CRANE_POWERUP ( zaibatsucraneb , zaibatsugenerator , 34 , 78 , 3 )

Het is trouwens misschien wel grappig om te weten dat een scanner niet alleen wrakken scant, maar ook complete auto's.

--Beloningenlijst--

Ten slotte moet je nog aangeven welke wagen bij welke beloning hoort. Dit doe je met het volgende commando:

DECLARE_POWERUP_CARLIST ( AUTO1 , AUTO2 , ... , AUTO18 , AUTO19 )

( AUTO1 , AUTO2 , ... , AUTO18 , AUTO19 ): In de codelijst 'CarCrusher beloningen' zie je welke auto welke beloning krijgt. De eerste wagen krijgt een Pistol, de 16e Fast Reload. Wapens komen altijd in een set van drie, met 5 ammo elk, PowerUps komen gewoon per één. Wagens die niet genoemd worden in dit commando krijgen automatisch een Machine Gun

Ook dit commando moet voor LEVELSTART

Overigens zitten er nog wat merkwaardige feiten aan dit commado vast, die je misschien al opgevallen zijn. Om te beginnen is het dus niet zo dat je bepaalt welke beloning je voor een auto krijgt, maar juist andersom: De beloningen staan vast. Je bepaalt welke auto je moet zoeken voor een bepaalde beloning (Nutteloos om te weten, maar toch wel grappig).

Vervolgens krijg je met AUTO2 een Machine Gun als beloning, terwijl je die ook krijgt als je die auto helemaal niet in het script genoemd had. Waarom staat de Machine Gun überhaupt tussen de vaststaande beloningen? :?

Maar het meest merkwaardige is nog wel de beloning die je krijgt bij AUTO7: De ElectroStick, of ElectroBaton. Dit wapen komt niet voor in de originele levels, en lijkt een wapen te zijn wat er op het laatste moment is uitgehaald. Het is een soort Electrogun waarbij je niet hoeft te richten. Helaas heeft het wapen geen effect; Je kunt er niemand kwaad mee doen.

Wanneer je dit rare wapen niet in je map wilt hebben, kun je het oplossen door bij AUTO7 een auto in te stellen die helemaal niet in de map voorkomt, of een auto die een kraan niet kan optillen.

Als je alles hebt gedaan wat hier staat zou je een operationeel car-crusher-systeem moeten hebben! Voor de zekerheid geef ik hieronder nog even een voorbeeld van een complete carcrusher:

CRANE_DATA crushera = ( 40.5 , 23.5 ) 0 NO_HOMECRANE FIRST ( 40.5 , 21.5 ) 180
CRANE_DATA crusherb = ( 44.5 , 21.5 ) 283 crushera SECOND ( 43.5 , 21.5 ) 0
CRUSHER crusherc = ( 40.5 , 21.5 )
CONVEYOR crusherd = ( 39.5 , 24.5 , 3.0 ) ( 6.0 , 1.0 ) -1 0
DESTRUCTOR crushere = ( 36.5 , 24.5 , 3.0 ) ( 1.0 , 1.0 )
CONVEYOR crusherg = ( 43.5 , 21.0 , 3.0 ) ( 1.0 , 6.0 ) 0 1
GENERATOR crusherf = ( 42.5 , 24.5 , 3.0 ) 0 COLLECT_06 1 2 5
DESTRUCTOR crusherh = ( 43.5 , 23.0 , 3.0 ) ( 1.0 , 1.0 )
DECLARE_CRANE_POWERUP ( crusherb , crusherf , 43 , 22 , 3 )
DECLARE_POWERUP_CARLIST ( ALFA , DART , EDSEL , FIAT , GRAHAM , JEFFREY , GT24640 , MORGAN , MORRIS , SPIDER , STINGRAY , STYPE , STYPECAB , VESPA , WBTWIN , XK120 , MIURA , EDSELFBI , ISETTA )

Geplaatst:

--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ördinaten van het middelpunt of 'hoofdkwartier' van de gang. naar dit punt wijst de pijl.

Respect: De hoeveelheid respect die je verliest bij het vermoorden van een ganglid, in een waarde van -100 tot 100. De standaardwaarde is 1.

Gangcar: Welke wagen de gangcar als gangcar moet hebben. Zie de wagenlijst.

Gangcarkleur: Welke kleur de gangcar moet hebben.

Deze code gaat voor LEVELSTART

Voorbeeld: Wanneer je een Zaibatsugang wilt hebben met middelpunt 244.5 , 108.5 , 2,0, dan wordt de code:

SET_GANG_INFO ( zaibatsugang , 8 , PISTOL , MACHINE_GUN , ROCKET_LAUNCHER , 3 , 110.5 , 75.5 , 3.0 , 1 , VTYPE , 2 )

Wanneer je alle gangs hebt ingesteld, heb je nog een code nodig die de Respect-o-Meter mogelijk maakt. Dit commando vertelt wat er moet gebeuren wanneer je één ganglid van een bepaalde gang vermoordt. Dat commando luidt als volgt:

SET_GANG_KILL_REACTION ( Gang1 , Gang2 , Respect )

Gangnaam1: De gangnaam van de gang waarbij je een lid doodt.

Gangnaam2: De gangnaam van de gang die je daarom meer respecteerdt.

Respect: De hoeveelheid respect die je erbij krijgt, in een waarde van -100 tot 100. De standaardwaarde is wederom 1.

Deze code moet na LEVELSTART.

Voorbeeld: Wanneer de Loonies blij zijn met de dood van een Zaibatsulid,

De Zaibatsu blij is met de dood van een Yakuzalid en

de Yakuza blij is met de dood van een Loonie, dan worden de commando's:

SET_GANG_KILL_REACTION ( Zaibatsugang , Looniegang , 1 )
SET_GANG_KILL_REACTION ( Yakuzagang , Zaibatsugang , 1 )
SET_GANG_KILL_REACTION ( Looniegang , Yakuzagang , 1 )

Dat waren alle eigenschappen van de gangs, nu moeten de details van de zones nog worden ingesteld. Dat doen we met het volgende commando:

MAP_ZONE Zonenaam = ( autototaal , goede auto's, slechte auto's , politiewagens , voetgangerstotaal , zakkenrollers , autodieven , Elvis-chains, Gangleden , Agenten , Gangcars )

'kee, een stukje wiskunde ter verduidelijking. Dit commando werkt met totaalwaardes en aandelen. Je moet twee totaalwaardes invullen: Één voor de wagens, en één voor de voetgangers. Deze totaalwaarde mag je zelf kiezen, zolang het maar tussen de 1 en de 1000 ligt. Vervolgens moet je bij elke groep (goede en slechte wagens, agenten, gangleden, etc.) aangeven welk aandeel zij hebben van dat totaal, net als bij een breuk. Voorbeeldje: Wanneer je als totaalwaarde van wagens '500' instelt, en bij politiewagens '100', dan is één op de vijf wagens een politiewagen (Meer blauw op straat! :puh: ), omdat 100 op 500 gelijk staat aan 1/5. Ikzelf zet de waarde vaak gewoon op 1000, dan kun je de aandelen verdelen in promille.

Of, als je dat handiger vind, gewoon met 100. Als je dan 20 invoert bij 'goede auto's', dan is 20% van alle wagens een goede auto.

Autototaal: De waarde van het totaal aantal auto's in 1 tot 1000. Des te hoger de waarde, des te meer wagens rijden er rond

Goede auto's: Het aandeel goede auto's van het totaal

Slechte auto's: Het aandeel slechte auto's van het totaal

(Er is ook een middenklasse auto's. De waarde die overblijft wordt opgevuld door middelmatige auto's)

Politiewagens: Het aandeel politiewagens

Voetgangerstotaal: De waarde van het totaal aantal voetgangers in 1 tot 1000. Des te hoger de waarde, des te meer voetgangers lopen er rond.

Zakkenrollers: Het aandeel zakkenrollers

Autodieven: Het aandeel autodieven

Elvis-chains: Het aandeel Elvis Chains

Gangleden: Het aandeel Gangleden

Agenten: Het aandeel agenten

Gangcars: Het aandeel gangcars

(Vergeet geen aandeel voetgangers over te laten; Dit worden gewone voetgangers)

Deze code moet voor LEVELSTART.

Voorbeeld: Wil je een nette buurt, met veel goede wagens en weinig criminaliteit, dan zou het commando er zo uit kunnen zien:

MAP_ZONE starfishisland = ( 1000 , 600, 200 , 100 , 1000 , 20 , 20 , 100, 0 , 100 , 0 )

Wil je echter een buurt die aan een gang ten onder gaat, terwijl ongure types heersen in de stegen en er bijna geen sportwagen op straat te vinden is, dan wordt het commando meer zoals deze:

MAP_ZONE Littlehaiti = ( 1000 , 150, 300 , 10 , 1000 , 200 , 100 , 10, 500 , 10 , 400 )

Als het goed is moet je nu een aantal ongure gangs hebben die je map onveilig maken!

Opmerkingen:

  • Gangs die meer dan één zone hebben hebben voor elke informationzone een aparte MAP_ZONE commando nodig.
  • Je hoeft de gangs niet per sé een echte gangcar te geven. Je kunt ook een normale wagen kiezen. Let er echter wel op dat je geen wagens met een vastgestelde functie kunt gebruiken, zoals Cop Cars, Tanks, Fire Trucks, etc. Controleer bovendien of het icoon op de wagen past, het ziet er niet altijd even mooi uit.
  • Het is ook mogelijk om meer of minder dan drie gangs te creëren.
  • Het MAP_ZONE commando kan je ook voor gebieden zonder gang gebruiken. De gangcars en gangleden zet je dan op '0'

Geplaatst:

--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ïnstaleerd hebt.

e - English, Engels

f - French, Frans

g - German, Duits

i - Italian, Italiaans

s - Spanish, Spaans

Heb je GTA2 in het Engels geïnstalleerd, dan kun je alleen de bestanden 'e' en 'e_bob' openen. Het bestand met één letter als naam is het bestand waar alle in-game teksten in staan van alle levels, en in het '_bob'-bestand vind je alle teksten uit de GTA2 manager terug.

Open één van de twee bestanden. Laten we voor het gemak maar gelijk van de ingame teksten uitgaan, voor de Engelse versie dus 'e'. Een tweetal laadbalkjes verschijnen, en vervolgens zie je een lange lijst met teksten. Voor elke tekst zie je een uniek nummer. Dit nummer wordt het 'ID' of 'keyname', of iets in die richting genoemd. Dit nummer gebruik je wanneer je een tekst wil oproepen in je script.

--Een tekst aanpassen--

Een tekst aanpassen is heel simpel. Klik op een tekst. In de tekstregel onder de lijst zie je de betreffende tekst verschijnen. In die regel kun je gewoon je tekst tikken. Wanneer je een missietekst schrijft, kun je met een aantal symbolen wat extra functies gebruiken. Een woord tussen twee #-symbolen wordt een andere kleur, De eerste letter van een gang met een uitroepteken erachter wordt het hoofd van die gang, dat de missie vertelt (y! is bijvoorbeeld Johnny Zoo).

Wanneer je tekst klaar is, druk je op Enter, en je tekst wordt ingevoegd. Om het aangepaste .gxt betand op te slaan, druk je op 'save' en tik je het bestand waaronder je het wilt opslaan in. Wanneer je een origineel bestand vervangt, denk er dan wel altijd aan om een backup te maken!

--Gebiedsnamen--

Je kunt de verschillende gebieden in je map een naam geven. Open hiervoor eerst de Map Editor. Geef het gebied dat je een naam wilt geven een eigen Navigation-zone.

Zoek nu in de GXT editor de gebiedsnamen op. Deze zijn te vinden onder de IDs B01 t/m B25, m01 t/m m44, s01 t/m s09 en w01 t/m w03.

Denk eraan dat je de gebiedsIDs gebruikt van het level dat je gaat vervangen! Hieronder een lijst met welke IDs bij welk level horen.

Level 1 (17 zones)

m31 t/m m44 en w01 t/m w03

Level 2 (24 zones)

m16 t/m m30 en s01 t/m s09

Level 3 (39 zones)

m01 t/m m015 en B01 t/m B025

In mijn voorbeeld pas ik level 1 aan, mijn eerste zone krijgt dus het ID m31. Verander de naam in druk op Enter.

Geef nu in de MapEditor de Navigation-zone het ID als naam.

Sla beide bestanden op en zet ze in GTA2/data, start het spel en bewonder je eerste gebiedsnaam. :)

  • 3 weken later...
Geplaatst:

--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 één goederenwagon op het station trak10, dan wordt het commando:

SET_STATION_INFO ( trak10 , 4 , 0 , 1 )

Alle stations waar geen trein moet starten krijgen het volgende commando:

SET_STATION_INFO ( platform , NO_TRAIN )

Opmerkingen:

  • Treinen kunnen volgens de officiële script handleiding maximaal vier wagons trekken. Het is echter mogelijk treinen met negen wagons te scripten.
  • Dat is behoorlijk lang; ga er vanuit dat een trein met vier wagons en één locomotief ongeveer 10 blocks lang is.
  • Denk eraan dat iedere trein tenminste één passagierswagon heeft, anders kun je niet instappen!
  • De wagons worden altijd in dezelfde volgorde geplaats: Passagierswagon-Trailer-Goederenwagon.
  • Het is mogelijk om meerdere treinen op één traject te zetten, maar houd er rekening mee dat ze niet op elkaar knallen bij de stations!
  • Ik ben er momenteel nog niet achter of het mogelijk is meer dan twee treinen per traject te scripten. Het is echter niet ondenkbaar dat er een limiet op het aantal treinen per spoor zit.

Gast
Dit onderwerp is gesloten.
  • Recent actief   0 leden

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