GTAGames.nl advertentie

Kill Frenzies scripten (GTA2)

Van WikiGTA - De Nederlandse Grand Theft Auto Walkthrough!

Jump to: navigation, zoeken

Main Page > GTA2 > Modding Tutorial > Kill Frenzies


Kill Frenzies zijn in principe kleine missies die gestart worden met een trigger wanneer je op een Kill Frenzie-icoon stapt of in een bepaald voertuig gaat zitten. Gelukkig hebben Kill Frenzies een eigen template code, wat betekent dat je niet alles zelf hoeft te scripten.

Er zijn twee soorten Kill Frenzies: Kill Frenzies te voet, en Kill Frenzies in een voertuig. Kill Frenzies te voet zijn te herkennen aan de bekende groene PickUp met een doodshoofd. Kill Frenzies in een voertuig kun je daarentegen pas ontdekken wanneer je instapt. Voertuig-Kill Frenzies vereisen iets meer scriptwerk, aangezien je dan ook een wagen en vaak ook een wapen moet scripten.

Inhoud

Algeneme Kill Frenzie commando's

Om te beginnen moet je een aantal dingen scripten die je voor iedere Kill Frenzie opnieuw kunt gebruiken, namelijk een TIMER, die bijhoudt hoeveel tijd je nog hebt om de Kill Frenzie te voltooien, een ONSCREEN_COUNTER, die de tijd je nog hebt laat zien en een SAVED_COUNTER, die bijhoudt hoeveel Kill Frenzies er gepasseerd zijn. Verder moet je het spel vertellen hoeveel Kill Frenzies er zijn, hoeveel je er gehaald hebt en hoeveel je er niet gehaald hebt. Deze informatie zie je wanneer je GTA2 pauzeert.


TIMER_DATA kf_timer_name
ONSCREEN_COUNTER kf_onscreen_counter_name 
SAVED_COUNTER kf_saved_counter_name
DECLARE_TOTAL_SECRETS ( 2 ) //Dit is het aantal Kill Frenzies. In deze tutorial maken we er twee.
SAVED_COUNTER kill_frenzies_passed = 0 
SAVED_COUNTER kill_frenzies_failed = 0 
DECLARE_SECRETS_PASSED_FLAG ( kill_frenzies_passed )
DECLARE_SECRETS_FAILED_FLAG ( kill_frenzies_failed )

Een Kill Frenzy toevoegen

Allereest moet het script ruimte voor de Kill Frenzy reserveren. Kill Frenzies worden in het script BONUSes genoemd. Geef iedere Kill Frenzy de volgende code:

BONUS kf_naam
kf_naam De naam van deze kill frenzy. Je hebt deze naam later nodig.

Objecten

Vervolgens heeft de Kill Frenzy een Kill Frezny-icoon of een voertuig nodig. Je kunt deze scripten met de gewone OBJ_DATA- en CAR_DATA-commando's:

OBJ_DATA kf_icoon_naam = ( X.x , Y.y , Z.z ) richting KILL_FRENZY
CAR_DATA kf_voertuig_naam = ( X.x , Y.y , Z.z ) kleur richting voertuig

Als de Kill Frenzy in het voertuig een wapen nodig heeft, kun je deze geven met het GIVE_WEAPON-commando. Tanks, Armed Land Roamers en Fire Trucks hebben automatisch hun standaard wapen.

GIVE_WEAPON ( kf_voertuig_naam , voertuig_wapen )

Subroutine

Onder deze codes voeg je een subroutine toe:

FORWARD kf_subroutine_naam:
//Hier komt de THREAD_TRIGGER

kf_subroutine_naam:
//Hier komen de  KF_TEMPLATEs
RETURN

THREAD_TRIGGER

Om de Kill Frenzie te kunnen starten wanneer de speler het icoon oppakt of in de auto stapt voeg je een THREAD_TRIGGER toe:

THREAD_TRIGGER kf_thread_trigger_naam = THREAD_WAIT_FOR_CHAR_IN_AREA ( speler , X.x , Y.y , Z.z , breedte , diepte , kf_subroutine_naam: )
THREAD_TRIGGER kf_thread_trigger_naam = THREAD_WAIT_FOR_CHAR_IN_CAR ( speler , kf_voertuig_naam , kf_subroutine_naam: )
kf_thread_trigger_naam Een unieke naam.
Speler De naam van de player_ped.
X.x , Y.y , Z.z De coördinaten van het Kill Frenzy icoon.
breedte , diepte De afmetingen van het gebied waarin het icoon zich bevindt. Gebruik 0.2 , 0.2 als standaard afmetingen van het icoon.
kf_voertuig_naam De naam van het voertuig van de Kill Frenzie
kf_subroutine_naam: De naam van de subroutine die je eerdere gemaakt hebt. Vergeet de : niet.

START_BASIC_KF_TEMPLATE

In de subroutine komen de specificaties van de Kill Frenzy. Deze staan in drie commando's: twee KF_TEMPLATEs en een BONUS_CHECK. De eerste KF_TEMPLATE ziet er zo uit:

START_BASIC_KF_TEMPLATE ( kf_thread_trigger_naam , tekst_ID , kf_icoon_naam/kf_voertuig_naam , speler , wapentype )
kf_thread_trigger_naam Naam van de THREAD_TRIGGER die je eerder gemaakt hebt.
tekst_ID Het ID van de tekst die de opdracht geeft.
kf_icoon_naam/kf_voertuig_naam De naam van het icoon of voertuig waarmee de Kill Frenzie start
speler De naam van de player_ped
wapentype Het wapen waarmee deze Kill Frenzy gedaan moet worden. Voer hier "NO_WEAPON" in als er geen wapen nodig is.

START_BONUS_CHECK

Om het doel, de tijd en wat andere variabelen te bepalen gebruik je een van de zes volgende START_BONUS_CHECKs:

Bonusnaam = START_BONUS_CHECK ( zone , tijd , hoeveelheid , score , type , exclusive_modus , beschadigingstype , aanvalsvoertuig , gangnaam )
Bonusnaam = START_BONUS_CHECK ( zone , tijd , hoeveelheid , score , type , exclusive_modus , beschadigingstype , aanvalsvoertuig , gang name ,  uiterlijk  )
Bonusnaam = START_BONUS_CHECK ( zone , tijd , hoeveelheid , score , type , exclusive_modus , beschadigingstype , aanvalsvoertuig , voetgangersbestemming   )
Bonusnaam = START_BONUS_CHECK ( zone , tijd , hoeveelheid , score , type , exclusive_modus , beschadigingstype , aanvalsvoertuig , voetgangersbestemming , uiterlijk  )
Bonusnaam = START_BONUS_CHECK ( zone , tijd , hoeveelheid , score , type , exclusive_modus , beschadigingstype , aanvalsvoertuig , doelwitvoertuig )
Bonusnaam = START_BONUS_CHECK ( zone , tijd , hoeveelheid , score , type , exclusive_modus , beschadigingstype , aanvalsvoertuig , doelwitvoertuig , uiterlijk )
kf_naam De naam die je eerder aan de Kill Frenzy hebt gegeven
Zone In welke zone de speler de Kill Frenzy moet spelen. Geef NO_ZONE wanneer de zone niet uitmaakt.
Tijd Hoeveel tijd de speler heeft om de Kill Frenzy te voltooien. 30 is één seconde, 1800 is één minuut
Hoeveelheid Hoeveel voertuigen of voetgangers de speler overhoop moet schieten om de Kill Frenzy te halen.
Score De extra beloning die de speler krijgt voor het voltooien van de Kill Frenzy. Dit lijkt niet gebruikt te worden in GTA2, en staat daarom altijd op '0'.
type Wat het doelwit is: voetgangers (CHAR) of wagens (CAR).
exclusive_modus Of de speler wel of niet andere punten kan halen. (EXCLUSIVE / NOT_EXCLUSIVE)
beschadigingstype Hoe de speler zijn doelwitten moet uitschakelen. Zie de lijst hoeveelheid behaald moet worden. Zie de beschadigingstypes in de lijst onderaan de pagina.
aanvalsvoertuig In welk voertuigmodel de speler moet zitten tijdens de Kill Frenzy. Neem NONE wanneer het voertuig niet uitmaakt.
Gangnaam De naam van de gang die het doelwit is. Gebruik de naam die je aan de gang gegeven hebt in het SET_GANG_INFO commando.
Voetgangers_bestemmingen De bestemming van het voetgangers-doelwit. Zie de lijst doelwitten onderaan de pagina.
uiterlijk Het uiterlijk van de voetganger of de kleur van de wagen

DO_BASIC_KF_TEMPLATE

De laatste instellingen voeg je toe met de DO_BASIC_KF_TEMPLATE. Om onduidelijke reden moeten een aantal instellingen in zowel de START_BONUS_CHECK als de DO_BASIC_KF_TEMPLATE worden opgegeven. Verzeker jezelf ervan dat deze instellingen gelijk zijn!


DO_BASIC_KF_TEMPLATE ( bonusnaam , timernaam , tijd , on_screen_counternaam , saved_counternaam, hoeveelheid, tekst , player , beloning , beloninghoeveelheid )
kf_naam De naam die je eerder aan de Kill Frenzy hebt gegeven
timernaam De naam die je eerder aan de TIMER hebt gegeven
Tijd Hoeveel tijd de speler heeft om de Kill Frenzy te voltooien. 1 is één seconde.
on_screen_counternaam De naam die je eerder aan de ON_SCREEN_COUNTER hebt gegeven
Hoeveelheid Hoeveel voertuigen of voetgangers de speler overhoop moet schieten om de Kill Frenzy te halen.
Tekst_ID Het ID van de tekst die de opdracht geeft.
speler De naam van de player_ped
Beloning Welke beloning de speler krijgt bij het voltooien van de Kill Frenzie. Kies uit NOTHING (niets), SCORE (geld), LIVES (levens) of MULT (multiplier)
beloninghoeveelheid De quantiteit van de beloning.

Codelijsten

Wapen Code Damage type
Vuist NO_WEAPON BY_PUNCH
Pistol PISTOL BY_GUN
S-Uzi machine gun MACHINE_GUN BY_GUN
Rocket launcher ROCKET_LAUNCHER BY_ROCKET_LAUNCHER
Electrogun ELECTRO_GUN BY_ELECTRO_WEAPON
Molotov cocktails MOLOTOV BY_MOLOTOV
Grenades GRENADE BY_GRENADE
Shotgun SHOTGUN BY_SHOTGUN
Electro baton ELECTRO_BATON Nvt.
Flame thrower FLAME_THROWER BY_FLAMETHROWER
Silenced S-Uzi machine gun SILENCED_MACHINE_GUN BY_GUN
Dual pistol DUAL_PISTOL BY_GUN
Vehicle bomb CAR_BOMB BY_CAR_BOMB
Vehicle oil slick CAR_OIL Nvt.
Vehicle mines CAR_MINE BY_EXPLOSION
Vehicle machine guns CAR_MACHINE_GUN BY_GUN
Vehicle rocket launcher TANK_ROCKET_LAUNCHER BY_ROCKET_LAUNCHER
Vehicle water canon WATER_CANNON BY_WATER_CANNON
Vehicle flame thrower CAR_FLAMETHROWER BY_FLAMETHROWER
Armed Land Roamer machine gun JEEP_GUN BY_GUN
Instant vehicle bomb CAR_BOMB_INSTANT BY_CAR_BOMB
Explosies Nvt. BY_EXPLOSION
Verdrinking Nvt. BY_DROWNING
Vuur Nvt. BY_FIRE
Ieder wapen Nvt. BY_ANY_WEAPON
Ieder geweer Nvt. BY_GUN
Ieder wapen te voet Nvt. BY_ANY_FOOT_WEAPON
Doelwit Code
politie ANY_LAW_ENFORCEMENT
Ziekenbroeders ANY_EMERGENCY_SERVICE_MAN
Gangleden ANY_GANG_MEMBER
Elvis ANY_ELVIS

Voorbeeld

Hieronder staat een voorbeeldscript van twee complete Kill Frenzies. In de eerste Kill Frenzy is het doel om tien voertuigen binnen 30 seconden op te blazen met een rocket launcher, en in de tweede is het doel om 30 voetgangers binnen een minuut te vermoorden met een Fire Truck met vehicle flame thrower.

ONSCREEN_COUNTER onscreen_counter_kill_frenzy 
SAVED_COUNTER saved_counter_kill_frenzy
TIMER_DATA timer_kill_frenzy
 
DECLARE_TOTAL_SECRETS ( 2 ) 
SAVED_COUNTER kill_frenzies_passed = 0 
SAVED_COUNTER kill_frenzies_failed = 0 
DECLARE_SECRETS_PASSED_FLAG ( kill_frenzies_passed ) 
DECLARE_SECRETS_FAILED_FLAG ( kill_frenzies_failed ) 
 
OBJ_DATA icon_kill_frenzy_1 = ( 102.0 , 92.0 , 2.0 ) 0 KILL_FRENZY
CAR_DATA kf_firetruck = ( 114.5 , 92.5 , 2.0 ) 1 270 FIRETRUK
GIVE_WEAPON ( kf_firetruck , CAR_FLAMETHROWER )
 
BONUS kill_frenzy_1
BONUS kill_frenzy_2 
 
FORWARD do_kill_frenzy_1:
FORWARD do_kill_frenzy_2: 
 
THREAD_TRIGGER thr_kill_frenzy_1 = THREAD_WAIT_FOR_CHAR_IN_AREA ( grnplayer , 102.0 , 92.0 , 2.0 , 0.2 , 0.2 , do_kill_frenzy_1: )
THREAD_TRIGGER thr_kill_frenzy_2 = THREAD_WAIT_FOR_CHAR_IN_CAR ( grnplayer , kf_firetruck , do_kill_frenzy_2: )


//vernietig 10 voeruigen met een rocket launcher in 30 sec

do_kill_frenzy_1: 
START_BASIC_KF_TEMPLATE ( thr_kill_frenzy_1 , 1804 , icon_kill_frenzy_1 , grnplayer , ROCKET_LAUNCHER ) 
kill_frenzy_1 = START_BONUS_CHECK ( no_zone , 900 , 10 , 0 , CAR , not_exclusive , BY_ROCKET_LAUNCHER , NONE , NONE )
DO_BASIC_KF_TEMPLATE ( kill_frenzy_1 , timer_kill_frenzy , 30 , onscreen_counter_kill_frenzy , saved_counter_kill_frenzy , 10 , 1804 , grnplayer , SCORE , 50000 ) 
RETURN


//vermoord 30 peds met een fire truck with flame thrower in 60 sec

do_kill_frenzy_2: 
START_BASIC_KF_TEMPLATE ( thr_kill_frenzy_2 , 1804 , kf_firetruck , grnplayer , CAR_FLAMETHROWER ) 
kill_frenzy_2 = START_BONUS_CHECK ( no_zone , 1800 , 30 , 0 , CHAR , not_exclusive , BY_FLAMETHROWER , NONE , NO_OCCUPATION )
DO_BASIC_KF_TEMPLATE ( kill_frenzy_2 , timer_kill_frenzy , 60 , onscreen_counter_kill_frenzy , saved_counter_kill_frenzy , 30 , 1804 , grnplayer , SCORE , 50000 ) 
RETURN
Modding tutorials van Grand Theft Auto 2
Mapping Map Editor · Gebouwen · Wegen · Water & animaties · Slopes · Flat tiles · Collision info · Rand van een level · Zones · Level ingame zetten
Scripting Declareren: Basisscript · Script Compiler · Codelijsten · Commando's · Voertuigen · Objecten · Geluiden · Personages · Deuren
Programmeren: IF · WHILE · COUNTERs · Subroutines · THREAD TRIGGERs · Kill Frenzies · PHONEs · 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 · Plattegrond · Terminologie · Levels installeren
Deze pagina is online te bekijken via "http://nl.wikigta.org/wiki/Kill_Frenzies_scripten_%28GTA2%29"

GTAGames.nl advertentie
Views
Inloggen
In andere talen

Advertentie