IF (GTA2)
Hoofdpagina > GTA2 > Modding > IF
Met IF (Engels voor 'als' of 'wanneer') kun je commando's activeren wanneer een bepaalde situatie zich voordoet. Met andere woorden, IF vertolkt het mechanisme "Als X gebeurt, doe dan Y". Met behulp van IF kun je het script bijvoorbeeld laten wachten totdat de speler een opdracht in een missie heeft voltooid.
IF gebruik je op de volgende manier:
IF ( situatie ) //Commando's ENDIF
situatie | De situatie (vaak "expression" genoemd) is de voorwaarde waarop het script moet wachten. Deze voorwaarde wordt ingevoerd als een zogenaamde "check". Zo'n check kan een COUNTER met een bepaalde waarde zijn, of een bepaald commando. |
---|---|
Commando's | Hier voer je alle commando's in die het script moet uitvoeren als de situatie zich voordoet. |
ENDIF | IF moet altijd worden gesloten met ENDIF. De commando's die IF activeert nadat de situatie zich voordoet moeten dus voor ENDIF komen. |
Variabelen
IF kun je op veel verschillende manieren gebruiken. Het is bijvoorbeeld mogelijk om binnen IF een tweede IF te gebruiken:
IF ( situatie1 ) IF ( situatie2 ) //Als de situatie 1 en 2 zich voordoen, worden deze commando's geactiveerd. ENDIF //Als de situatie 1 zich voordoet, worden deze commando's geactiveerd. ENDIF
Merk op dat de tweede IF inspringt. Dit is niet noodzakelijk om het script te laten werken, maar maakt het makkelijker om het script te lezen. Denk er aan dat iedere IF zijn eigen ENDIF heeft.
Ook kun je IF uitbreiden met extra specificaties:
IF ( NOT ( situatie ) ) //Als de situatie zich niet voordoet, worden deze commando's geactiveerd. ENDIF
IF ( Voorwaarde ) //Als de situatie zich voordoet, worden deze commando's geactiveerd. ELSE //Als de situatie zich niet voordoet, worden deze commando's geactiveerd. ENDIF
IF ( ( situatie1 ) AND ( situatie2 ) ) //Als de situaties 1 en 2 zich voordoen, worden deze commando's geactiveert. ENDIF
IF ( ( ( situatie1 ) AND ( situatie2 ) ) AND ( situatie3 ) ) //Als de situaties 1, 2 en 3 zich voordoen, worden deze commando's geactiveert. ENDIF
IF ( ( situatie1 ) OR ( situatie2 ) ) //Als de situatie 1 of 2 zich voordoet, worden deze commando's geactiveert. ENDIF
IF ( ( ( situatie1 ) AND ( situatie2 ) ) OR ( situatie3 ) ) //Als de situaties 1 en 2, of situatie 3 zich voordoet, worden deze commando's geactiveert. ENDIF
Uiteraard zijn er nog talloze andere combinaties mogelijk. Let goed op de haakjes wanneer je meerdere situaties in één IF zet: je kunt telkens maar twee situaties bij elkaar zetten met behulp van haakjes.
Dit is dus fout:
IF ( ( situatie1 ) AND ( situatie2 ) AND ( situatie3 ) )
Maar dit is goed:
IF ( ( ( situatie1 ) AND ( situatie2 ) ) AND ( situatie3 ) )
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 |