Krátky tutoriál o tom ako efektívne využiť spellbook
Bolo mi naznačené, že píšem dementne. Fajn, povedal som si, nie je problém, môžem písať zložito, ak však niekto nepochopí, ja som vás varoval.
Ako prvé vás istotne napadne, čo je to spellbook. Je to custom abilita, ktorá bola použitá v jednej kampaňi Frozen thronu. Je to akýsi adresár, ktorý obsahuje ďalšie kúzla. Ak si otvoríte object editor, sekciu "Abilities", a vyhladáte si spellbook, uvidíte hodnotu "Date Spell list", a tá značí, aké kúzla sa nachádzajú v tomto spellbooku. Tento poznatok má samozrejme využitie sam o sebe, avšak existujú ďalšie dve možnosti, o ktorých by som sa tu rozpísal.
Ad 1): Ukrytie pasívnych schopností
Ak sa hrdina naučí nejakú schopnosť, tak sa mu ukáže aj na lište jeho kúziel. Existuje možnosť ako tomu zabrániť (využitie sa týka iba pasívnych schopností, aktívne by sa stali nepoužiteľnými)
Tento postup zahrňuje aj prácu so spellbookom. Krátky príklad
E: Unit learns a skill
C: learned skill=Devotion Aura
A: Remove Devotion aura from Unit
add SpellBook_devotion to Unit
Player-Disable Spellbook_devotion for player 1(red)
Ihneď ako sa hrdina naučí túto auru, tak mu je odňatá, a získa schopnosť spellbook_devotion, ktorá mu je vzápätí disablnutá. Čo tento disable robí, ako isto viete, znemožní používanie určitej schopnosti hráčovi. Avšak v prípade spellbooku všetky pasívne schopnosti, ktoré obsahuje, sú zcela funkčné.
Nutno povedať, že spellbook_devotion je modifikovaný spellbook, ktorý obsahuje práve devotion auru (ktorá musí byť označená ako schopnosť jednotky, a nie hrdinu).
Ad 2): Pridávanie naučených schopností do jednotného spellbooku
Povedzme, že máme hrdinu s nešpecifikovanými troma schopnostami, ktoré má vnútri spellbooku. Tento istý hrdina sa naučí novú schopnosť, a práve túto novú schopnosť chceme schovať do toho istého spellbooku obsahujúceho tri iné kúzla.
Všimnime si položku v object editore pri spellbooku "Data Base order ID", ak dva či viac spellbookov sa bude v tejto hodnote zhodovať, tak všetky kúzla v jednom z nich budú aj v ostatných a vice versa. To samozrejme využijeme pri našom probléme. Hrdina bude mať pôvodny spellbook s ID=X (nie je podstatná konkrétna hodnota ID, hlavné je, aby boli totožné) a druhý spellbook (ktorý mu pridáme neskôr), ktorý obsahuje požadované pridané kúzlo, a má rovnaký ID. Máme trigger:
E: Unit learns a skill
C: learned skill=Holy Light
A: Remove Holy light from Unit
add SpellBook_light to Unit
Player-Disable Spellbook_light for player 1(red)
Takmer totožný trigger s tým, ktorý som uviedol hore, iste, použil som iné ability, ale skutočný rozdiel je práve v tom ID, ktoré v triggeri nevidno. Povôdný spellbook sa rozšíri o ďalšie kúzlo, a novo naučený spellbook sa vďaka "Disable" stratí z lišty.
Všetko funguje perfektne s 1 levelovými schopnosťami, problém avšak nastane ak chceme použiť viac úrovňové kúzla.
Jedno riešenie je také, že požadovaný spell rozdelíme na toľko spellov, koľko je levelov, a každý upravíme aby mal požadovaný efekt. Z každého spravíme po páre, jeden hero ability, jeden unit ability. K tomu vytvoríme požadovaný počet spellbookov, a každý bude obsahovať práve jeden "level" kúzla (sem pôjdu unit ability). Teraz pôjdeme do Scenario-Player properties, a tam disablneme všetky levely tohto kúzla (iba hero ability, unit ability necháme tak) až na level jedna, ten ostatne enable.
Máme triggery:
E: Unit learns a skill (hero ability)
C: Learned Hero skill=Divine Shield level 1
A: Unit-Remove Divine Shield level 1 from unit
Player- Disable Divine Shield level 1 for player 1 red
Player- Enable Divine Shield level 2 for player 1 red
Add Spellbook_shield1 to unit
Player- Disable spellbook_shield1 for player 1 red
E: Unit learns a skill (hero ability)
C: Learned Hero skill=Divine Shield level 2
A: Unit-Remove Divine Shield level 2 from unit
Player- Disable Divine Shield level 2 for player 1 red
Player- Enable Divine Shield level 3 for player 1 red
Unit-Remove spellbook_shield1 from unit (pridaný riadok)
Add Spellbook_shield2 to unit
Player- Disable spellbook_shield2 for player 1 red
E: Unit learns a skill (hero ability)
C: Learned Hero skill=Divine Shield level 3
A: Unit-Remove Divine Shield level 3 from unit
Player- Disable Divine Shield level 3 for player 1 red
Unit-Remove spellbook_shield2 from unit
Add Spellbook_shield3 to unit
Player- Disable spellbook_shield3 for player 1 red
Samozrejmosťou je aby všetky tri spellbooky mali totožný ID.
Ahoj potřebuju help -> (KamilKastnerhs@email.cz)
- Hrdina se naučí Skill z Shopu
Jak ? trigger ?
TheFurious 16.7.2012 11:20:13
Dobre Restor dobre si to napsal. A ted jestli bych te nohl poprosit, abys to prelozil do reci obycejnych smrtelniku. Trochu vice polopaticky. Z tvojeho clanku jsem pochopil, co jsou spellbooky. Jo super! Vim co jsou spellbooky! Ale ani za boha jsem nepochopil, jak je mam vytvorit. :D
Dejvikk 29.3.2011 18:35:42
?
To nechápu
bagot wc3.cz5.3.2011 14:15:13
A co kdyz mám ve spellbooku jeste jeden spellbook kde chci aby se mi ta chsopnost objevila.
bagot wc3.cz10.12.2010 21:37:18
a chci se zeptat to kdyz dám jednotce nejaký spell
bagot wc3.cz27.10.2010 21:36:28
MyckeyY
Protoze byl kazdý liný to sem napsat: Spelly sou v překladu Kouzla. Jsou to schopnosti jak pasivní tak aktivní jsou to kouzla která se hrdinové učí kdyý dosáhnou určitého levelu.