Posted: Sun, 5.7.2009, 17.55
ARMA2 BASIC MISSION TEKO PART I
Seuraavaksi tulette näkemään 22:lla .JPG muotoisella kuvalla varustetun oppaan ArmA2 Editoria varten. Teen tässä pienimuotoisessa oppaassa hyvin yksinkertaisen tehtävän, jota voitte soveltaa omiin ensimmäisiin ARMA2 tehtäviinne.
Huomatkaa toki, että tehtävä jonka teen, on hyvin typerä eikä siinä ole päätä saatika häntää. Hyödyntäkää tätä opasta omassa harjoittelussanne soveltavana oppaana ja pyrkikää tekemään myös omia ratkaisuja. Mitä enemmän ongelmia tulee, sitä parempi, sillä ongelmat ja niiden ratkaisu se vasta opettaakin.
Teen tehtävän alusta loppuun ja tämän oppaan sisällöllä teoriassa pitäisi olla mahdollista tehdä ihan kunnollisiakin tehtäviä. Nyt vain mielikuvitus kehiin ja muistakaa että liika yritys on liikaa ja koittakaa vältellä niitä perinteisiä 'tuhoa 1000 shilkaa ja 10000 tunguskaa' tehtäviä, kuten tämä esimerkkitehtävä tahtoo olla.
Aloitus:
Editori on nyt auki ja kartaksi otin Utes. Voit ottaa chernarus jos haluat.
Aloitan sijoittamalla pelaajan. Valitsen listasta Units (F1) (= yksiköt ja pikanäppäin F1). Units valittuna kaksoisklikkaan karttaan siihen kohtaan, mistä haluan pelaajan aloittavan. Aukeaa uusi ikkuna:
Olemme saapuneet 'Insert unit' ikkunaan. Olen kuvaan jo suomennellut joitain olennaisimpia kohtia, on kuitenkin hyvä osata englanninkieliset vastineet sillä niillä yleensä puhutaan epäselvyyksien välttämiseksi.
Kuvassa laitan pelaajan BLUFORin puolelle M1A1 TUSK panssarivaunun ampujaksi (player as gunner), joka on sinällään aika hölmöä sillä olen tekemäs MP tehtävää ja tankissa voi pelata nyt vain ampujana. (kuski ja commander ovat AI), joten muista olla seuraamatta liikaa. Fiksumpaa olisi laittaa kaikki esimerkiksi playable jolloin multiplayerin yksikönvalitsemislistassa voisi valita minkä tahansa viran tankista.
Kun detailit ovat kohdallaan, klikkaamme OK ja teemme tankille waypointin jota tässätapauksessa AI kuski tottelee:
Jälleen olen suomennellut joitain tärkeimpiä kohtia. Emme tarvitse tälle waypointille (8WP) tarkempia määrityksiä kuin mitä ne heti valmiiksi ovat. Painetaan OK.
Tässä kuvassa näemme miten sijoitin waypointin. Waypointteja voi olla putkeen useampiakin.
Nyt teemme vihollisvaunun nimeltään tank1 (seuraa nimiä ja koodinpätkiä TARKOIN!). Olemme myös lukinneet tankin, jotta pelaajat eivät sitä voisi käyttää vaikka vihollinen sieltä loikkaisikin ulos.
Initializationiin olemme pistäneet this setBehaviour "SAFE" Joka muuttaa tankin alussa olevaa käyttäytymistä. Tässätapauksessa tankki on tilassa jossa sillä ei ole tietoa lähestyvästä vaarasta (pelaaja). Tankki voi vaihtoehtoisesti olla myös esim COMBAT, jolloin se on hyvinkin valmiina taisteluun.
Tehtävässämme on tarkoitus tuhota 2 vihollisen tankkia. Nyt pitäisi luoda triggeri ensimmäisen tankin tuhoamisesta aiheutuviin seurauksiin:
Ihmettelette varmaan miksi minulla on Axis a ja Axis b 50 000? Minulle on muodostunut tavaksi asettaa joku järjettömän iso luku axiksiin triggereihin jossa 'Activation' kohdassa on NONE, elikkä triggeriä ei aktivoida sille astumalla. (Minusta tämä selventää editoria kun ei ole pieniä triggerin pylpyräympyröitä ympäriinsä)
Condition kohtaan meidän pitäisi määritellä MITÄ PITÄÄ TAPAHTUA, JOTTA TRIGGERI AKTIVOITUU? Määritämme, että triggeri aktivoituu kun äsken luomamme tank1 tuhoutuu. Eli koodi on: !alive tank1
Kun Conditionin määritykset ovat täyttyneet, aktivoituu OnAct joka siis kertoo mitä triggerin aktivoiminen aiheuttaa.
Ensimmäiseksi haluamme antaa viestin tankin tuhoutumisesta, eli käytämme HINT komentoa. koodi: hint "KIRJOITA HALUAMASI TEKSTI TÄHÄN" Muistathan että koodin pätkät erotellaan ; merkillä! Eli pistä hint pätkän perään ; merkki, esim: hint "Tankki tuhoutui!";
Seuraavaksi määrittelemme tulevia lopetustriggereitä varten muuttujan tankki1=1;. Eli muuttuja tankki1 on yhtäkuin 1, kun tämä triggeri on aktivoitunut (alunperin 0).
Sitten määrittelemme tulevaan brieffiin objektin 1 olevan tehty. Koodina: objekti_1 setTaskState "SUCCEEDED"; objekti_1 on brieffissä määritelty nimi objektille ja "SUCCEEDED" merkkaa tehtävän tehdyksi. Vaihtoehtoisesti setTasState voisi olla vaikkapa "FAILED" jolloin tehtävä epäonnistuisi.
Paina OK!
Esimerkkitehtäväni näyttää nyt tältä. Huomaa, olen tehnyt varoitustriggerin, joka on muuten ihan normaali trigger mutta hint onAct kohdassa kuuluu: hint "Varoitus! Vihollisia lähettyvillä!, 'activation' kohtaan on pistetty BLUEFOR ja axis a + axis b ovat 50. Conditioniin ei ole koskettu.
Kuten kuva kertoo, piiloon olen pistänyt toisen vihollispanssarin, nimeltään tank2. Tankin eteen on tehty aivan normaali Waypoint tulevaa synkronointia varten (ymmärrät kohta). Waypointin tulee olla lähellä tankkia, mieluiten ihan kiinni siinä.
Seuraa kuvan opastusta toisessa waypointissa.
Valitse oikealta listasta synkronointityökalu eli Synchronize (F5) ja vedä sillä tank1:n tuhoutumistriggeristä viiva tank2:n ensimmäiseen waypointtiin (siihen joka on tankissa melkein kiinni, kuten kuvassa näkyy.)
Nyt tank2 ei liiku ensimmäiselta waypointiltaan VASTA KUIN tank1:n tuhoamistriggeri on aktivoitunut. Tällä kaikella aiheutamme sen, että vihun tankki lähtee syöksyyn pelaajia kohti kun pelaajat ovat tuhonneet sen ystävän.
Edited By Raunhofer on 1249127269
Seuraavaksi tulette näkemään 22:lla .JPG muotoisella kuvalla varustetun oppaan ArmA2 Editoria varten. Teen tässä pienimuotoisessa oppaassa hyvin yksinkertaisen tehtävän, jota voitte soveltaa omiin ensimmäisiin ARMA2 tehtäviinne.
Huomatkaa toki, että tehtävä jonka teen, on hyvin typerä eikä siinä ole päätä saatika häntää. Hyödyntäkää tätä opasta omassa harjoittelussanne soveltavana oppaana ja pyrkikää tekemään myös omia ratkaisuja. Mitä enemmän ongelmia tulee, sitä parempi, sillä ongelmat ja niiden ratkaisu se vasta opettaakin.
Teen tehtävän alusta loppuun ja tämän oppaan sisällöllä teoriassa pitäisi olla mahdollista tehdä ihan kunnollisiakin tehtäviä. Nyt vain mielikuvitus kehiin ja muistakaa että liika yritys on liikaa ja koittakaa vältellä niitä perinteisiä 'tuhoa 1000 shilkaa ja 10000 tunguskaa' tehtäviä, kuten tämä esimerkkitehtävä tahtoo olla.
Aloitus:
Editori on nyt auki ja kartaksi otin Utes. Voit ottaa chernarus jos haluat.
Aloitan sijoittamalla pelaajan. Valitsen listasta Units (F1) (= yksiköt ja pikanäppäin F1). Units valittuna kaksoisklikkaan karttaan siihen kohtaan, mistä haluan pelaajan aloittavan. Aukeaa uusi ikkuna:
Olemme saapuneet 'Insert unit' ikkunaan. Olen kuvaan jo suomennellut joitain olennaisimpia kohtia, on kuitenkin hyvä osata englanninkieliset vastineet sillä niillä yleensä puhutaan epäselvyyksien välttämiseksi.
Kuvassa laitan pelaajan BLUFORin puolelle M1A1 TUSK panssarivaunun ampujaksi (player as gunner), joka on sinällään aika hölmöä sillä olen tekemäs MP tehtävää ja tankissa voi pelata nyt vain ampujana. (kuski ja commander ovat AI), joten muista olla seuraamatta liikaa. Fiksumpaa olisi laittaa kaikki esimerkiksi playable jolloin multiplayerin yksikönvalitsemislistassa voisi valita minkä tahansa viran tankista.
Kun detailit ovat kohdallaan, klikkaamme OK ja teemme tankille waypointin jota tässätapauksessa AI kuski tottelee:
Jälleen olen suomennellut joitain tärkeimpiä kohtia. Emme tarvitse tälle waypointille (8WP) tarkempia määrityksiä kuin mitä ne heti valmiiksi ovat. Painetaan OK.
Tässä kuvassa näemme miten sijoitin waypointin. Waypointteja voi olla putkeen useampiakin.
Nyt teemme vihollisvaunun nimeltään tank1 (seuraa nimiä ja koodinpätkiä TARKOIN!). Olemme myös lukinneet tankin, jotta pelaajat eivät sitä voisi käyttää vaikka vihollinen sieltä loikkaisikin ulos.
Initializationiin olemme pistäneet this setBehaviour "SAFE" Joka muuttaa tankin alussa olevaa käyttäytymistä. Tässätapauksessa tankki on tilassa jossa sillä ei ole tietoa lähestyvästä vaarasta (pelaaja). Tankki voi vaihtoehtoisesti olla myös esim COMBAT, jolloin se on hyvinkin valmiina taisteluun.
Tehtävässämme on tarkoitus tuhota 2 vihollisen tankkia. Nyt pitäisi luoda triggeri ensimmäisen tankin tuhoamisesta aiheutuviin seurauksiin:
Ihmettelette varmaan miksi minulla on Axis a ja Axis b 50 000? Minulle on muodostunut tavaksi asettaa joku järjettömän iso luku axiksiin triggereihin jossa 'Activation' kohdassa on NONE, elikkä triggeriä ei aktivoida sille astumalla. (Minusta tämä selventää editoria kun ei ole pieniä triggerin pylpyräympyröitä ympäriinsä)
Condition kohtaan meidän pitäisi määritellä MITÄ PITÄÄ TAPAHTUA, JOTTA TRIGGERI AKTIVOITUU? Määritämme, että triggeri aktivoituu kun äsken luomamme tank1 tuhoutuu. Eli koodi on: !alive tank1
Kun Conditionin määritykset ovat täyttyneet, aktivoituu OnAct joka siis kertoo mitä triggerin aktivoiminen aiheuttaa.
Ensimmäiseksi haluamme antaa viestin tankin tuhoutumisesta, eli käytämme HINT komentoa. koodi: hint "KIRJOITA HALUAMASI TEKSTI TÄHÄN" Muistathan että koodin pätkät erotellaan ; merkillä! Eli pistä hint pätkän perään ; merkki, esim: hint "Tankki tuhoutui!";
Seuraavaksi määrittelemme tulevia lopetustriggereitä varten muuttujan tankki1=1;. Eli muuttuja tankki1 on yhtäkuin 1, kun tämä triggeri on aktivoitunut (alunperin 0).
Sitten määrittelemme tulevaan brieffiin objektin 1 olevan tehty. Koodina: objekti_1 setTaskState "SUCCEEDED"; objekti_1 on brieffissä määritelty nimi objektille ja "SUCCEEDED" merkkaa tehtävän tehdyksi. Vaihtoehtoisesti setTasState voisi olla vaikkapa "FAILED" jolloin tehtävä epäonnistuisi.
Paina OK!
Esimerkkitehtäväni näyttää nyt tältä. Huomaa, olen tehnyt varoitustriggerin, joka on muuten ihan normaali trigger mutta hint onAct kohdassa kuuluu: hint "Varoitus! Vihollisia lähettyvillä!, 'activation' kohtaan on pistetty BLUEFOR ja axis a + axis b ovat 50. Conditioniin ei ole koskettu.
Kuten kuva kertoo, piiloon olen pistänyt toisen vihollispanssarin, nimeltään tank2. Tankin eteen on tehty aivan normaali Waypoint tulevaa synkronointia varten (ymmärrät kohta). Waypointin tulee olla lähellä tankkia, mieluiten ihan kiinni siinä.
Seuraa kuvan opastusta toisessa waypointissa.
Valitse oikealta listasta synkronointityökalu eli Synchronize (F5) ja vedä sillä tank1:n tuhoutumistriggeristä viiva tank2:n ensimmäiseen waypointtiin (siihen joka on tankissa melkein kiinni, kuten kuvassa näkyy.)
Nyt tank2 ei liiku ensimmäiselta waypointiltaan VASTA KUIN tank1:n tuhoamistriggeri on aktivoitunut. Tällä kaikella aiheutamme sen, että vihun tankki lähtee syöksyyn pelaajia kohti kun pelaajat ovat tuhonneet sen ystävän.
Edited By Raunhofer on 1249127269