Specifická zvěř na specifickém území
#61
Současný stav je ze starých RunUO skript, kdy se většina nastavení řešila kódem napevno. Viz. rozdíl MageAI a BattleMageAI - pokud přidáme do bestiáře switch "KeepDistance" pak bude BattleMageAI zbytečná.
Nevěřte rase která se pořád usmívá. Něco s ní není v pořádku.
Odpovědět
#62
(31.05.2014 v 23:51)Whitey napsal(a): - při tvorbě kouzla přebít hodnoty skillů, ideálně v SpellDef.cs, pod linkou 338. V tom místě definice (která bude obsahovat nový parametr) vytvořila kouzlo. Kouzlo má vlastnost Caster (CasterDefinition) které má proměnné Skills - to je sada skillů která se použije pro dané kouzlo. Pozor, odkazuje přímo na skilly hráče/NPC - musíš vytvořit nový set skillů, upravit hodnoty a pak ho přiřadit do proměnné, jinak budeš upravovat přímo vlastnosti toho NPC.

Tak jsem se k tomu konečně vrátil a už mi chybí jen tenhle bod. Gump v Bestiáři, ukládání a načítání XML už mám hotové. Mám ošetřenou spotřebu many (0), sesílání při nedostatku many a šanci na vykouzlení (95%). Zatím celkem snadné.
Jenom takovej blbej dotaz, to mám sestavit nový kompletní seznam Skills s hodnotama Base stejnýma jako je ta NaturalCastingValue a následně tento seznam přidělit do CasterDescription.Skills? Tyto Skills v CD maj "set" nastaveno na "private", takže stačí zrušit to "private" omezení a pak to prostě přepsat ze SpellDef na daném místě tím novým seznamem skillů? Tímhle způsobem by to snad do Mobile lézt nemělo, aspoň doufám..
Jinak díky za rady..
EDIT: Nějak v tom tápu, to co jsem psal výše asi nepůjde, že..
Odpovědět
#63
Kód:
Skills naturalCastingSkills = new Skills( null );
var skillIDs = SkillInfo.Table.Select( info => info.SkillID );
foreach( int id in skillIDs )
    naturalCastingSkills [id].Base = NaturalCastingValue;
Doporučuji to dát do CreatureContextu - vytvoří se tak jedna sada a nebude se vytvářet při každém kouzle nová.
Místo npc.Skills pak budeš používat npc.Context.Skills.
Nevěřte rase která se pořád usmívá. Něco s ní není v pořádku.
Odpovědět
#64
Díky moc. Jojo, na tohle sestavení nového seznamu jsem ještě dokázal jakž takž přijít, spíš jsem si nebyl jistý tou částí "Místo npc.Skills pak budeš používat npc.Context.Skills". Kouzla si to standardně tahaj z CasterDescription.Skills a já jím nějak musím poslat něco jiného.
Takže akorát nevím, jak (a kam) podstrčit tu novou sadu skillů, abych nemusel upravovat přímo jednotlivá kouzla.. Biggrin
Odpovědět
#65
SpellDef.cs
Linka 336 až 338 vytváří kouzlo (Spell spell).
Pokud kouzlo není null, bude obsahovat definici kouzelníka (spell.Caster).
Definice kouzelníka obsahuje odkaz na skilly (spell.Caster.Skills).
Budeš jim muset upravit "private set" na "set", aby jsi je mohl nastavovat i "z venku".
Pak stačí v té spelldefinici od linky 339 přidat test zda vytvářené kouzlo není kouzlené přirozeně a přiřadit definici skillů (spell.Caster.Skills = npc.Context.NaturalCastingSkills).
Nevěřte rase která se pořád usmívá. Něco s ní není v pořádku.
Odpovědět
#66
Paráda, teď už chápu. Ještě jednou dík a pardon, že s tím tak otravuju, asi je to pro Tebe časově náročnější, než kdybys to měl dělat sám.. Sad Biggrin
Ostatním pardon za zneužití topicu a odběhnutí od tématu. Klidně to tu můžem rozdělit na dvě témata, když budete chtít..
Odpovědět
#67
Nic se neděje, nějak se to naučit musíš.
Já jsem rád že mimo mě ještě někdo skriptuje.
Můžu se víc flákat a přesto to vypadá že se na MW něco děje Smile
Nevěřte rase která se pořád usmívá. Něco s ní není v pořádku.
Odpovědět
#68
Tak to abysme se akorát nějak synchronizovali, já se poslední dobou flákám furt (v práci).. Biggrin
Odpovědět



Skok na fórum: