(Vinkki 2 lisätty)
Tähän threadiin aion lisäillä omien testailujen seurauksena erilaisia vinkkejä tehtäväeditointiin ja niiden skriptaamiseen. Virheitä sattuu kaikille ja päivitysten myötä hommat muuttuu, joten jos huomaat jotain mitä et saa joko toimimaan tai jokin lakkaa päivitysten myötä toimimasta, ilmoittele täällä tai irkissä minulle niin tutkitaan ja hutkitaan hommat kuntoon. Näissä vinkeissä oletetaan edes jonkinlainen perustietämys ARMA2:n editorin ja skriptauksen saloista, joten niihin on turha puuttua tässä. Lukekaa Rauenhoferin erinomainen peruspaketti jos perusteet ovat hukassa.
Vinkki 1:
Eri ryhmille eri markerit (toimii myös mp!)
Elikkä ensimmäisenä vinkkinä tehtäväntekijöillä tapa, jolla saat vaikkapa ryhmä A:lle näkymään vain ryhmä A:n kohteen ja ryhmä B:lle vain ryhmä B:n kohteen. Tässäkin on jälleen vain mielikuvitus rajana siitä, mihin tätä voi soveltaa. Mutta itse asiaan:
Luo kaksi ryhmää (riittää että molemmissa on 1 mies), laita jokaisen ensimmäisen ryhmän jäsenen init-fieldiin:
Code: Select all
ryhma_a = group this;
Code: Select all
ryhma_b = group this;
Syy miksi tuo "group this" lisätään jokaiselle ryhmän jäsenelle on, että jos MP-missionissa onkin AI disabloituna ja kukaan pelaaja ei ole ryhmänjohtaja niin markerit jäävät näkymättä.
Sitten paukutellaan markerit kartalle. Itse teen tämän tässä vinkissä niinpäin, että laitan ekana "Empty" markerit jotka sitten myöhemmin erikseen muutetaan toiseksi tyypiksi, mutta tietenkin voit omassa tehtävässäsi tehdä homman täysin toisinpäin, eli pistät kaikki oikeina tyyppeinä näkyviin ja sitten skriptanpätkässä teetkin homman toisinpäin. Lue tämä vinkki loppuun asti ennenkuin kyselet asiasta!
Eli lisätään ryhmälle A kohdemarkeri, annetaan sille nimeksi "obj_a" ja tekstiksi laitetaan "Ryhmä A kohde". Valitse markerin tyypiksi "Empty". Seuraavassa vielä kuva teille lukutaidottomille:
tee toinen markeri ryhmälle B, nimeä "obj_b", tekstiksi "Ryhmä B kohde" ja tyyppi on edelleen "Empty".
Seuraavaksi tallenna tehtävä user missionina ja nokka kohti hakemistoa jossa sijaitsee ko. tehtävä. Lisää tehtävähakemistoon init.sqf ja lisää seuraavanlainen koodi:
Code: Select all
if (group player == ryhma_a) then {"obj_a" setMarkerTypeLocal "Destroy"};
if (group player == ryhma_b) then {"obj_b" setMarkerTypeLocal "Destroy"};
Ensimmäinen if-lause tarkistaa onko pelaaja ryhmän A jäsen ja jos on niin muutetaan obj_a markerin tyyppi. Sama toistetaan toisen ryhmän kohdalla.
MP Missionin tekijät HUOM! muistakaa ehdottomasti käyttää setMarkerTypeLocal eikä pelkkä setMarkerType. Jos käytät tuota ei-local versiota, näkyvät markerit kaikille sitä mukaa kun tietyssä ryhmässä on pelaajia.
Siitä sitten väsäämään tällaisella pienellä mausteella varustettuja tehtäviä.
Edit 15.7.2009: Sieltähän se Kuokkanen jo osasi huomauttaa muutamasta epäkohdasta. Eli entäpä jos kukaan ei ole groupin leaderina? Toisena oli testata toi .sqs muuttaminen .sqf ja toimihan se niinkin, sqs kun on jo vanhentunutta ja sitä pitänee välttää. Vähän ollaan ruosteessa tässä mutta eiköhän se siitä taas kohta lähde.[/color]