Hali!

Nos, arra gondoltam, csinlok egypr j topicot, mondjuk az albbi tmakrkben: "Ki mit evett reggelire?", "A szke nket szereted jobban, avagy a barnkat?", esetleg "Szerinted Micimack tnyleg imdja a mzet?". Azutn arra gondoltam, hogy mgse :) Ezek tl komoly tmk lennnek a frumhoz, teht inkbb a Heroes 4 szkriptelsi rejtlyeibe mlyednnk el kiss :)

Az albbiak nagy rsze a magyar nyelv H4 Complete-hez kapott helpbl valak, csak pp kiss (?) trtam nmileg rthetbb formba, meg az ottani... hmmm, maradjunk annyiban, hogy nmi kvnnivalt hagy pldkat dolgoztam t olyanra, hogy mkdjenek is :)



*** H4 SZKRIPTELS ***

1.) Mi a franc az a szkript?

A szkript nem ms, mint egy ltalunk rt miniprogram, amivel bizonyos dolgokat ltre lehet hozni / be lehet lltani, stb... (Az eredeti szveg szerint: a trkp-szerkeszt szkriptrendszere lehetv teszi, hogy esemnyek ltrehozsval gazdagthasd a kivlasztott plya jtkmenett. A szkriptelt esemnyekkel llthatod be a gyzelmi s vesztsi feltteleket, megvltoztathatod a kaland objektumok tulajdonost, adomnyozhatsz vagy ppen elvehetsz nyersanyagot a jtkostl, kirathatsz egy szveget, s mg sok egyebet megvalsthatsz vele.)

A H4-ben fellelhet komplex rendszernl egyszerbb, beptett szkriptek vannak a H3-ban is, mint pl. az egyszer kk event goly, amire rlpve ltalban egy zenetet kapott a jtkos s/vagy szrnyek estek a nyakba, esetleg valamilyen rejtett jutalom (varzstrgy, nyersanyag, morlnvekeds, varzslat, stb...) ttte a markt. De ilyen szkriptek a hutokba beptett lehetsgek tmege, amikor meghatrozhatjuk, hogy az adott hut milyen tpus kldetst adjon (pl. hozd el ezt s ezt), vagy az adott hs milyen feltteleknek feleljen meg (pl. attack minimum 10), s mindezrt milyen jutalmat kapjon; illetve ilyen szkriptek voltak a globlisan bellthat idhz kttt esemnyek (Timed Events, ami ugye egy szveget rt ki s/vagy nyersanyagot adomnyozott / vett el), s a vrakban bellthat, idhz kttt esemnyek  is (amik az elzeken tl pleteket tudtak felpteni az adott vrban, illetve a lnytoborz helyek egyedszmt nveltk meg).

Sajnos a H4-ben nem llnak rendelkezsnkre ezek az elre beptett, egyszerbb lehetsgek, ott mindent neknk kell rszletesen belltanunk, minden egyes utastst neknk kell megadnunk (mg egy egyszer szvegkiratshoz is ltalban kln parancs kell), de cserbe szinte korltlan szabadsgot kapunk. Mondjuk szvsz szerencssebb lett volna meghagyni a H3 szkript-lehetsgeit IS, hogy az alap dolgokat sokkal egyszerbben tudjuk megvalstani, s ezek MELL betenni az egsz szabadon szkriptelhet rendszert; de ht nem gy trtnt. Taln majd a H5-ben :))) Mindenesetre nagyon nem kell tle megijedni, ez azrt nem olyan bonyolult, mint a WoW, br ktsgtelen, hogy amiket ott meg lehet valstani (tetszleges lnyek toborozhatak egy adott vrban; rzsaszn, 20.000 Hp-vel rendelkez titn, s trsai; a jtk egyes elemeinek teljes talaktsa), azok nem llnak mind a rendelkezsnkre.



2.) A szkriptek fajti

A plya szkriptjeinek egy j rszt, fajtk szerint csoportostva a plyaszerkeszt Hadjrat / Trkp tulajdonsgai / Esemnyek menben tallhatjuk / hozhatjuk ltre. Ngy f csoportja van:
 
2.1. Idhz kttt esemnyek: Ezek olyan esemnyek, amik egy bizonyos napon vltdnak ki. Nagyon hasonlt a H3 Timed Events menpontjban megadhatkhoz, csak ppen H4-ben ez akrmi lehet.

2.2. Elhozhat esemnyek: Ezeket az esemnyeket egy msik szkriptelt esemny vltja ki. Tulajdonkppen ide kell benyomni minden olyan esemnyt, ami a msik 3 csoportba nem fr mr bele, illetve azt, amit a kivlt objektum szkriptjei kz nem tudunk valami miatt bepteni.

2.3. Folyamatos esemnyek: Ezek olyan esemnyek, amik egy bizonyos jtkakci vagy esemny (pldul egy vros bevtele, egy kldets teljestse stb.) vlt ki. A szkript folyamatosan figyeli a jtkot, s akkor aktivizldik, amikor a belltott felttel teljesl (pl. jtkos elfoglalja az adott vrost, stb...).

2.4. Helyhez kttt esemnyek: Ezek akkor aktivldnak, amikor a jtkos serege elhalad a trkp egy bizonyos pontjra lehelyezett "Esemny" kalandobjektum felett. (A j reg H3 event golyja kiss felturbzott mdon :)



3.) Kvetkezzk az sszes lehetsges szkript-tpus!

Termszetesen az albbiak kzl nem mindegyiket lehet elhvni az egyes szkriptelt objektumoknl (pl. egy egysghez rendelt szkriptek kztt hiba is keressk az plet ptse vlaszthat esemnyt :))) Rszletezs, pldk majd a kvetkez fejezetekben!


plet ptse: Vroshoz rendelhet, felpti a belltott plete(ke)t. Volt ilyen funkci a H3-ban is, csak ott idhz lehetett csupn ktni, itt viszont brmi kivlthatja ezt az esemnyt.

Egyedszm nvelse / cskkentse: Megnveli / lecskkenti a toborozhat lnyek szmt a krdses lakhelyen (nvelni H3-ban is lehetett, de itt szrnyfszekhez is hozzrendelhetjk).

Tulajdonos vlts: Az objektum j tulajdonosa a megadott jtkos lesz. Az objektum lehet egy vros / bnya / szrnylakhely, de lehet akr egy plyra lehelyezett sereg / szrny / hs is. Az adott objektum egyszeren egy msik jtkos irnytsa al kerl (azaz ms lesz a szne). Az eredeti tulajdonos lehet maga a jtkos, lehet egy computer irnytotta jtkos, de lehet semleges is. A nagy klnbsg az, hogy amg a H3-ban a hsnek oda kellett kutyagolnia a "csatlakoz"-ra belltott sereghez, s harcot kezdemnyeznie vele, addig itt az objektum brhol lehet a plyn, s a kivlt ok is brmi lehet (pl. a fels szinten egy hut teljestsrt az als szinten 6 fekete srkny a mienk lesz).

Kaland objektum trlse: Eltvolt (felrobbant) egy bizonyos objektumot a trkprl (pl. az eddig tban lv falszakaszt). Az ehhez a szkripthez rendelt "Bomba" kalandobjektum(ok) jelzi(k), mely objektumo(ka)t tvoltjuk el. Az egyik leggyakoribb szkript.

Veresg felttel lersnak trlse: Trli a plya Veresgfelttel szvegt egy adott jtkos szmra.

Veresg szvegnek trlse: Trli azt a szveget, amit a jtkos veresg esetn kap. 

Veresg felttelnek szvege: Egy plya veresg felttelhez berhatunk egy szveget. 

Veresg zenet: Lehetv teszi, hogy megadjuk a veresg esetn kirt szveget. 

Gyzelmi felttel lersnak trlse: Trli a plya Gyzelmi felttel szvegt.

Gyzelmi zenet trlse: Trli azt a szveget, amit a jtkos gyzelem esetn kap.

Gyzelem felttelnek szvege: Egy plya gyzelem felttelhez berhatunk egy szveget.

Gyzelmi zenet: Lehetv teszi, hogy megadjuk a gyzelem esetn kirt szveget. (A fenti csoport jl hasznlhat pldul ahhoz, hogy mondjuk a kezdeti gyzelmi felttelnek megadott vros elfoglalsa utn kiiratjuk, hogy "Jaj bocsi, mg ezt a vrost is el kne foglalnod", s az jabb vros lesz az j gyzelmi felttel.)

ltalnos gyzelmi felttel kikapcsolsa: Egy bizonyos jtkos szmra kikapcsolja a norml gyzelmi felttelt (teht csak a specilis felttel teljestsvel nyerhet, gy, hogy mindenkit legyalul a plyrl, nem).

ltalnos gyzelmi felttel bekapcsolsa: Lehetv teszi egy kivlasztott jtkos szmra, hogy a norml gyzelmi felttelek mellett jtsszon. 

Csata: Ltrehoz egy sereget, ami rgtn harcba bocstkozik a megjellt jtkos seregvel, azaz megegyezik azzal, mikor a H3-ban az eventbl, vagy artifactbl elugrottak az azt rz lnyek.

Felttelhez kttt utasts: Ltrehoz egy felttelt tartalmaz szkriptet. Pl.: "Ha a jtkos ez a vros, adjunk neki 10.000 aranyat."

Tmads nvelse / cskkentse: Megnveli / lecskkenti a krdses hs tmadrtkt vglegesen, vagy a kvetkez csata elejig (H3-ban a plusz attack skill).

Maximlis letpontok nvelse / cskkentse: Megnveli / lecskkenti a krdses hs letpontjait egy bizonyos mennyisggel vglegesen, vagy csak egy adott csatra.

Maximlis Varzspontok nvelse / cskkentse: Megnveli / lecskkenti a krdses hs maximlis varzspontjainak szmt (kicsit hasonlt, amikor H3-ban a Knowledge nvekedett).

Aktulis Varzspontok nvelse / cskkentse: Megnveli / lecskkenti a krdses hs aktulis varzspontjait egy bizonyos mennyisggel (ilyen is volt a H3-ban).

Morl nvelse / cskkentse: Megnveli / lecskkenti a krdses hadsereg morljt egy bizonyos mennyisggel. (+- Morale)

Szerencse nvelse / cskkentse: Megnveli / lecskkenti a krdses hadsereg szerencsjt egy bizonyos mennyisggel. (+- Luck)

Gyorsasg nvelse / cskkentse: Megnveli / lecskkenti a krdses hs gyorsasg karakterisztikjt (azaz a csatamezn val mozgsi sebessgt) egy bizonyos mennyisggel.

Aktulis mozgskpessg nvelse / cskkentse: Megnveli / lecskkenti a krdses hadsereg mozgspontjainak szmt (H3: mozgsnvel csizma hatsa pl.).

Kperny zenet: Kir egy szveget a jtkos szmra (ki hitte volna? :)

Varzstrgy adomnyozsa / elvtele: Egy vagy tbb varzstrgyat kap a krdses sereg / ill. vesz el a krdses seregtl.

Teremtmny adomnyozsa / elvtele: Egy bizonyos szm teremtmnyt adomnyoz az adott hadseregnek / ill. vesz el az adott hadseregtl (H3 csatlakoz lnyei).

Nyersanyag adomnyozsa / elvtele: Egy bizonyos mennyisg nyersanyagot adomnyoz az adott hadseregnek / ill. vesz el az adott seregtl. (Resource)

Kpzettsg adomnyozsa: Egy kivlasztott msodlagos kpzettsget (pl. Idzs) adomnyoz az adott hsnek.

Kpzettsg nvelse: Megnveli a krdses hs egyik ltez kpzettsgnek szintjt (pl. megnveli az Idzst Expert fokozatra). 

Varzslat adomnyozsa: Egy kivlasztott varzslatot adomnyoz az adott hsnek (mr ha meg tudja tanulni egybknt, azaz teljesti a varzslat megtanulshoz szksges elfeltteleket).

Tapasztalat nvelse: XP!

Tapasztalati szint nvelse: Megnveli a krdses hs szintjt egy konkrt rtkkel (szintlps).

res szkript: Nem hajt vgre semmit (ltalban akkor hasznlatos, ha egy elgaz szkriptet runk, aminek az egyik gn trtnik valami, a msik gn meg minden marad gy, ahogy volt).

Gyzelem: Ennek hatsra egy bizonyos jtkos azonnal megnyeri a jtkot (a specilis gyzelmi felttelek teljeslshez rdemes hozzrendelni).

Veresg: Ennek hatsra egy bizonyos jtkos azonnal elveszti a jtkot (pldul ha meghal egy adott hse, szintn folyamatos esemnyhez rdemes rendelni). 

Feltett krds: Lehetv teszi, hogy egy eldntend (igen/nem) krdst tehess fel, s szkriptet rendelj minden egyes vlaszhoz (azaz ha igen: akkor ez trtnik, ha nem: akkor meg amaz).

Szkript eltvoltsa: Eltvoltja a megjellt szkript esemnyt, hogy mg egyszer ne hajtdjon vgre (pl. a sok egyforma letett event goly egyikbe lps, aktivlds utn az sszes tbbit trli).

Mvelet sor: Segtsgvel szkriptek sorozatt hozhatjuk ltre, melyek a megadott sorrend szerint fognak vgrehajtdni. Ez a leggyakrabban hasznlt alap szkript!

Logikai vltoz: Ltrehozhatunk egy Igaz/Hamis vltozt (pl. az adott hs zld jtkos-e, vagy nem).

Numerikus vltoz: Segtsgvel ltrehozhatunk egy vltozt, mellyel nyomon kvethetnk, szmolhatunk egy bizonyos akcit (pldul egy hadsereg hnyszor haladt t egy fontos csomponton, illetve simn megadhatunk egy tetszleges vltozt, pl. Boszorknyhall= 1). 

Esemny kivltsa: Lehetv teszi, hogy aktivlj egy korbban ltrehozott (elhozhat) esemnyt.



4.) Logikai kifejezsek:
 
Belltottsg: Leellenrzi, hogy a krdses hadsereg egy bizonyos belltottsg kvetje-e (azaz pl. a sereg let, vagy Rend sereg-e). 

A jtkos bizonyos belltottsg: Megnzi, hogy a krdses jtkos egy bizonyos belltottsgot kvet-e (azaz kezdetben pl. az letet vlasztotta-e), maga a sereg milyensge lnyegtelen. 

Bizonyos hs: Leellenrzi, hogy a krdses hs egy bizonyos seregben van-e. 

A jtkosnl van-e egy bizonyos hs: Leellenrzi, hogy a krdses jtkosnl van-e egy bizonyos hs (teht nem az adott seregben, hanem csak gy, globlisan, a jtkosnl). 

Bizonyos hs halott: Megnzi, hogy a krdses hs meghalt-e (teht nem brtnbe kerlt, hanem pp hulla).

Bizonyos hs brtnben van: Leellenrzi, hogy a nevezett hs brtnben raboskodik-e (azaz mr legyztk csatban).

A jtkos bizonyos szn: Megnzi, a krdses jtkos a megadott szn-e.

A jtkos a szmtgp: Megnzi, hogy a krdses jtkost a szmtgp jtssza-e.

A jtkos kiesett: Leellenrzi, hogy a krdses jtkos teljesen le lett-e gyzve (nincs a plyn egysge, vra, hse). 

A jtkos nem a szmtgp: Megnzi, hogy a krdses jtkost nem a szmtgp jtssza-e. 

A jtkos bizonyos vros tulajdonosa: Leellenrzi, hogy a jtkos birtokban van-e egy megnevezett vros. 

Adott varzstrgyat birtokol-e: Megnzi, hogy egy hadsereg birtokban van-e egy bizonyos varzstrgy.

Adhat-e kpzettsg: Leellenrzi, hogy a krdses hs vagy hsk kaphatnak-e bizonyos kpzettsgeket.

Igaz (TRUE): Leellenrzi, hogy egy felttel igaz-e. 

Hamis (FALSE): Leellenrzi, hogy egy felttel hamis-e.

Nagyobb, mint: Leellenrzi, hogy egy felttel nagyobb-e a msiknl (pl. a hsnl lv fekete srknyok szma nagyobb-e 9000-nl :).

Nagyobb vagy egyenl: Leellenrzi, hogy egy kifejezs nagyobb, vagy egyenl-e a msiknl (pl. az adott jtkos aranymennyisge nagyobb v. egyenl 10.000-nl).

Kisebb, mint: Leellenrzi, hogy a kifejezs kisebb-e, mint a msik.

Kisebb vagy egyenl: Leellenrzi, hogy a kifejezs kisebb, vagy egyenl-e, mint a msik. 

Egyenl: Leellenrzi, hogy kt kifejezs egyenl-e egymssal (pl. amennyiben az eltelt napok szma EGYENL 60-nal...).

Nem: Lehetv teszi, hogy egy bizonyos vltozt negljunk, gy egy bizonyos kivtelvel az sszes felttelt ellenrizhessk. (Pl.: itt mindenki tmehet, aki NEM zld jtkos serege.)

S: Segtsgvel felttelek lncolatai hozhatk ltre egyetlen esemnyhez (pl. adott sereg zld S a seregben van a Bubu nev hs).

Vagy: Lehetv teszi, hogy egy opcionlis felttelt is beillessznk, ahol kett kzl az egyik Igaz lehet, de nem felttlenl mindkett (pl. itt mindenki tmehet, ha zld VAGY narancssrga).

Vltoz neve: Ezzel bellthatod a vltoz nevt.



5.) Numerikus kifejezs tpusok:

Aktulis nap: Megmondja, hogy a jtk legelejtl szmtva hnyadik napot rjuk.

Aktulis nap a hten: Megmondja, hogy a ht elejtl szmtva a ht melyik napjt rjuk (pl. ha egy esemny csak keddenknt trtnhet meg, akkor a ht 2. napjn lehet csak aktivizlni).

Aktulis ht: Megmondja, hogy a jtk elejtl szmtva hnyadik hetet rjuk. 

Aktulis ht a hnapban: Megmondja, hogy a hnap elejtl szmtva melyik hetet rjuk. 

Aktulis hnap: Megmondja, hogy a jtk elejtl szmtva hnyadik hnapot rjuk. 

Tapasztalati szint: A hadseregben tartzkod hs, hsk szintjt adja vissza.

Kpzettsg szint: A hadseregben tartzkod hs, hsk krdses kpzettsgnek szintjt adja vissza. 

Szm: Egy megadott szmot jell (pl. az aranymennyisg rtke, azaz szma 5000). 

Nyersanyag mennyisg: Megadja egy birtokunkban lv bizonyos nyersanyag mennyisgt (ehhez kell pl. az elbbi szmot belltani). 

sszeads: Lehetv teszi, hogy kt kifejezst sszeadjunk.

Kivons: Lehetv teszi, hogy kt kifejezst kivonjunk egymsbl. 

Szorzs: Lehetv teszi, hogy kt kifejezst sszeszorozzunk. 

Oszts: Lehetv teszi, hogy kt kifejezst elosszunk egymssal.

Negls: ltala negatvv tehetnk egy kifejezst. 

Jtkos ID: Visszaad egy bizonyos jtkost az elre belltott azonostja alapjn (pl. Fboszorkny1).
 
Vletlen szm: Kidob egy vletlen szmot a minimum s maximum rtk megadsa alapjn (azaz mondjuk egy 1-6-ig terjed szmot, vagy ha szzalkos valsznsget akarunk, 1-100-ig terjedt, stb...). 

Maradk: Megadja azt a szmot, amely egy kifejezs osztsa utn marad. 

A seregben lv lnyek szma: Visszaadja egy hadseregben elfordul bizonyos teremtmnyek szmt (pl. ennyi titn van benne). 

sszes lny a seregben: Megadja, hogy a seregedben hny teremtmny tallhat sszesen, minden tpust idertve. 

sszes hs a seregben: Megadja, hogy a seregedben hny hs harcol.

Vltoz neve: Ezzel bellthatod a vltoz nevt. 



No, ez eddig kicsit (?) taln szraz volt, de a kvetkezkben mr konkrt szkripteket fogunk gyrtani!