Deuren (GTA2)
Hoofdpagina > GTA2 > Modding > Deuren
DOORs zijn garagedeuren die openen en sluiten onder vaste omstandigheden. In GTA2 zijn ze alleen gebruikt in missies en bij het PARK
-commando om voertuigen in garages te laten verdwijnen, maar je kunt ze ook gebruiken om gebieden voor enkel bepaalde voertuigen of spelers toegankelijk te maken.
DECLARE_DOOR_INFO
Allereerst moet het uiterlijk van de deur ingesteld worden. In ieder .sty-bestand vind je enkele reeksen tiles die bruikbaar zijn als deur. Van deze reeksen kun je de eerste en laatste tile aangeven in het DECLARE_DOOR_INFO
-commando, samen met de snelheid van de animatie. Je kunt zo twee verschillende animaties instellen, door twee van deze commando's te gebruiken. Let op: de volgorde van de twee commando's is belangrijk, hierover later meer.
DECLARE_DOOR_INFO ( start_frame , eind_frame , snelheid )
start_frame | De eerste tile van de animatie, dus hoe de deur eruitziet als hij gesloten is. |
---|---|
eind_frame | De laatste tile van de animantie, dus hoe de deur eruitziet als hij geopend is. |
snelheid | De snelheid van de animatie. De standaard waarde is 2. |
Dit commando moet voor LEVELSTART
DOOR_DATA
DOOR_DATA naam = stijl ( X , Y , Z ) ( X.x , Y.y , Z.z , breedte , diepte ) face gr_id open_type sluit_type vertraging flip reverse
naam | Unieke naam voor deze deur | ||
---|---|---|---|
stijl | SINGLE of DOUBLE voor een deur van respectievelijk één of twee blocks breed. Bij DOUBLE wordt er een extra deur aan de rechterkant van de coördinaten geplakt. Als de voorkant van de deur naar boven wijst, wordt de dubbele deur dus naar rechts verlengt. Wijst de deur naar onder, dan wordt deur naar links verlengt, etc.
| ||
X , Y , Z | De coördinaten van de deur, zonder decimalen. | ||
X.x , Y.y , Z.z , breedte , diepte | Het gebied waarop de deur moet controleren op personages of voertuigen die door de deur mogen. De coördinaten geven het exacte middelpunt van dit gebied aan, de breedte en diepte de afmetingen van het gebied met één decimaal. Zet dit alles op 0.0 om alleen op de block direct voor de deur te controleren, zoals in Grand Theft Auto. | ||
face | TOP , BOTTOM , LEFT of RIGHT , om te bepalen op welke zijde van het block de deur geplaatst moet worden.
| ||
gr_id | Welke animatie uit DOOR_INFO er gebruikt moet worden: 0 voor het eerste commando, 1 voor het tweede.
| ||
Open_type | Waarvoor de deur open moet gaan: | ANY_PLAYER
|
voor iedere speler |
ANY_CAR
|
Voor iedere auto | ||
ONE_CAR
|
Voor één bepaalde auto, geef de naam van de auto op achteraan de code | ||
ONE_MODEL
|
Voor één bepaald type auto, geef de naam van dit model op achteraan de code | ||
ONE_CHAR_ON_FOOT
|
Voor één bepaald personage, geef de naam van het personage op achteraan de code | ||
ANY_PLAYER_ONE_CAR
|
Voor iedere speler in één bepaalde auto, geef de naam van de auto op achteraan de code | ||
sluit_type | Wanneer de deur moet sluiten: | CLOSE_NEVER
|
Nooit |
CLOSE_TIME_DELAY
|
Na een tijdslimiet, geef het aantal cycles op achteraan de code | ||
CLOSE_WHEN_CLEAR
|
Wanneer de deur vrij is | ||
CLOSE_WHEN_OPEN_RULE_FAILS
|
Wanneer de conditie in open_type niet geldt. | ||
vertraging | Het aantal cycles dat de deur moet wachten voordat hij opent of sluit. | ||
flip | NOT_FLIPPED of FLIP_RIGHT . FLIP_RIGHT spiegelt de rechter deur.
| ||
reverse | NOT_REVERSED of REVERSED . REVERSED plaatst een tweede deur achter de eerste.
|
Ook dit commando moet voor LEVELSTART
, maar na de DECLARE_DOOR_INFO
-commando's.
Voorbeelden
Een voorbeeld van een enkele en dubbele deur met verschillende animaties.
DECLARE_DOOR_INFO ( 56 , 63 , 2 ) DECLARE_DOOR_INFO ( 969 , 976 , 2 ) DOOR_DATA doora = DOUBLE ( 79 , 117 , 2 ) ( 80.0 , 117.5 , 2.0 , 4.0 , 3.0 ) TOP 0 ONE_MODEL CLOSE_WHEN_CLEAR 25 NOT_FLIPPED NOT_REVERSED COPCAR DOOR_DATA doorb = SINGLE ( 96 , 117 , 2 ) ( 97.0 , 117.5 , 2.0 , 4.0 , 3.0 ) RIGHT 1 ANY_PLAYER CLOSE_WHEN_CLEAR 10 NOT_FLIPPED NOT_REVERSED
Opmerkingen
- De animatie van de deur is slechts decoratie: ook wanneer de deur open staat worden alleen personages of voertuigen doorgelaten wanneer ze volgens het script mogen passeren. Personages of voertuigen zonder permissie botsen dan tegen een onzichtbare muur op.
- Bots lijken niet goed overweg te kunnen met deuren, zelfs als permissie hebben om deuren te passeren via ONE_CHAR_ON_FOOT.
- De tiles 408 tot 415 in ste.sty tonen een hek dat zijwaarts opengaat, in tegenstelling tot alle andere deuren die naar boven openen. Alhoewel de voorkant van dit hek correct weergegeven kan worden met een dubbele deur door een zijde te spiegelen met FLIP_RIGHT, kan de achterkant niet worden gespiegeld. Als je het hek gebruikt zul je de achterkant dus moeten verbergen met een dak of iets dergelijks.
Mapping | Editor (Epic) · Gebouwen · Wegen · Water & animaties · Slopes · Flat tiles · Collision info · Rand van een level · Zones · Level ingame zetten | ||
---|---|---|---|
Scripting | Declareren: | Basisscript · Script Compiler (MIS Pad) · Codelijsten · Commando's · Voertuigen · Objecten · Geluiden · Personages · Groepen · Deuren | |
Programmeren: | IF · WHILE · COUNTERs · Subroutines · THREAD TRIGGERs · EXEC · PARK · Kill Frenzies · PHONEs · Singleplayerscript · Missies · Jesus saves | ||
Beide | Belichting · Car shops · Cranes & crushers · Gangs · Metro · Multiplayerlevels | ||
Bestandstypes | .gci · .gmp · .gxt · .mis · .mmp · .pal · .scr · .seq · .sty · .tmp | ||
Overig | Texting · Physics (Lijst) · Texturing · Voertuigen maken · Plattegrond · Terminologie · Levels installeren |