Lantyz Geplaatst: 7 augustus 2005 Rapport Geplaatst: 7 augustus 2005 Deze tutorial is verhuisd! Klik op de link hieronder voor een meer uitgebreide en overzichtelijke versieGTA2 modding op WikiGTADeze 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
Lantyz Geplaatst: 7 augustus 2005 Auteur Rapport Geplaatst: 7 augustus 2005 --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: 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: Nee? Je kreeg ***FATAL ERROR***? Dat is zo goed als onmogelijk met maar drie regels, maar goed... 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 vervangenZoek 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 1ste.scr = Script level 2Bil.scr = Script level 3Maak 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 bestandZet 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 ladenSTYFile: Welk .sty-bestand het spel voor dit level moet ladenSCRFile: Welk .scr-bestand het spel voor dit level moet ladenDescription: 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
Lantyz Geplaatst: 8 augustus 2005 Auteur Rapport Geplaatst: 8 augustus 2005 --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.
Lantyz Geplaatst: 8 augustus 2005 Auteur Rapport Geplaatst: 8 augustus 2005 --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
Lantyz Geplaatst: 9 augustus 2005 Auteur Rapport Geplaatst: 9 augustus 2005 --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
Lantyz Geplaatst: 9 augustus 2005 Auteur Rapport Geplaatst: 9 augustus 2005 --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
Lantyz Geplaatst: 10 augustus 2005 Auteur Rapport Geplaatst: 10 augustus 2005 --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
Lantyz Geplaatst: 6 september 2005 Auteur Rapport Geplaatst: 6 september 2005 --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 )
Lantyz Geplaatst: 8 september 2005 Auteur Rapport Geplaatst: 8 september 2005 --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! ), 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'
Lantyz Geplaatst: 9 september 2005 Auteur Rapport Geplaatst: 9 september 2005 --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.
Lantyz Geplaatst: 26 september 2005 Auteur Rapport Geplaatst: 26 september 2005 --Het metro-systeem-- Voor de verandering is het scripting gedeelte van een onderdeel nu 'ns stukken eenvoudiger dan het mapping gedeelte. 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.
Recommended Posts