Page 1 of 2
OPRAVENO - Stěna ohně
Posted: 23:49 13. Mar 2014
by Nalkanar
Testováno v aréně, soupeř neuspěl v obouch záchrannách a přesto nebyl sražen.
Potvory to dnes sráželo celkem normálně.
Re: Stěna ohně
Posted: 11:08 14. Mar 2014
by pavad
Nalkanar wrote:
Testováno v aréně, soupeř neuspěl v obouch záchrannách a přesto nebyl sražen.
Potvory to dnes sráželo celkem normálně.
Opraveno v pristim update.
Re: Stěna ohně
Posted: 22:50 18. Mar 2014
by Nalkanar
Update pro pavada:
Ozkoušeno, stále při neúspěchu nesráží, při úspěchu sráží.
Re: Stěna ohně
Posted: 00:52 19. Mar 2014
by sandoftime
Nalkanar wrote:Update pro pavada:
Ozkoušeno, stále při neúspěchu nesráží, při úspěchu sráží.
to je snad v pořádku ne?
Re: Stěna ohně
Posted: 00:55 19. Mar 2014
by KaTo
sandoftime wrote:Nalkanar wrote:Update pro pavada:
Ozkoušeno, stále při neúspěchu hodu na sražení nesráží, při úspěchu hodu na sražení sráží.
to je snad v pořádku ne?
Viz edit Nalkova příspěvku výše.
Re: Stěna ohně
Posted: 01:02 19. Mar 2014
by pavad
Nalkanar wrote:Update pro pavada:
Ozkoušeno, stále při neúspěchu nesráží, při úspěchu sráží.
Opravil jsem tu podminku - lec stale jsem neprisel na duvod proc nekdy neni souper srazen (i kdyz by mel byt).
Prosim, pokud opet PC nebude srazeno kdyz byt ma - ozvete se mi.
Re: Stěna ohně
Posted: 01:13 19. Mar 2014
by Myrpa
A opravuješ správnej script?
není to spíš sp_wallfire?
(spells.2da r.191)
Re: Stěna ohně
Posted: 01:14 19. Mar 2014
by Mourisson1
Vzhledem k tomu že se mezi opravama něco mění, tak zřejmě jo

Re: Stěna ohně
Posted: 01:21 19. Mar 2014
by Myrpa
Code: Select all
// * Used to route the saving throws through this function to check for spell countering by a saving throw.
// Returns: 0 if the saving throw roll failed
// Returns: 1 if the saving throw roll succeeded
// Returns: 2 if the target was immune to the save type specified
// Note: If used within an Area of Effect Object Script (On Enter, OnExit, OnHeartbeat), you MUST pass
// GetAreaOfEffectCreator() into oSaveVersus!! \
int MySavingThrow(int nSavingThrow, object oTarget, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus = OBJECT_SELF, float fDelay = 0.0);
A co ta Note? V tom scriptu necháváš oSaveVersus OBJECT_SELF.
Re: Stěna ohně
Posted: 01:41 19. Mar 2014
by Shaman88
Myrpa wrote:Code: Select all
// * Used to route the saving throws through this function to check for spell countering by a saving throw.
// Returns: 0 if the saving throw roll failed
// Returns: 1 if the saving throw roll succeeded
// Returns: 2 if the target was immune to the save type specified
// Note: If used within an Area of Effect Object Script (On Enter, OnExit, OnHeartbeat), you MUST pass
// GetAreaOfEffectCreator() into oSaveVersus!! \
int MySavingThrow(int nSavingThrow, object oTarget, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus = OBJECT_SELF, float fDelay = 0.0);
A co ta Note? V tom scriptu necháváš oSaveVersus OBJECT_SELF.
Jo to by tam mělo být, aby fungovaly bonusy ze spell focusu.
Re: Stěna ohně
Posted: 01:45 19. Mar 2014
by Myrpa
Ještěže nedělám spelly! Ta fce vrací FALSE, když je target immuní a hod se neprovádí, 0, když failne a 1, když savne!!! To jsou fakt moc pěkně napsané metody. Zas budu tři dny údivem koktat.
Edit: čímžpádem tam musí být kontrola přímo proti nule.
Chjo, že jsem nešel spát dřív a díval se na to, teď nebudu spát.
Re: Stěna ohně
Posted: 08:15 19. Mar 2014
by pavad
Shaman88 wrote:Myrpa wrote:Code: Select all
// * Used to route the saving throws through this function to check for spell countering by a saving throw.
// Returns: 0 if the saving throw roll failed
// Returns: 1 if the saving throw roll succeeded
// Returns: 2 if the target was immune to the save type specified
// Note: If used within an Area of Effect Object Script (On Enter, OnExit, OnHeartbeat), you MUST pass
// GetAreaOfEffectCreator() into oSaveVersus!! \
int MySavingThrow(int nSavingThrow, object oTarget, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus = OBJECT_SELF, float fDelay = 0.0);
A co ta Note? V tom scriptu necháváš oSaveVersus OBJECT_SELF.
Jo to by tam mělo být, aby fungovaly bonusy ze spell focusu.
Ten popis co fce vraci neni platny. Fce nikdy nevraci 2 - viz nwn lexikon.
Jinak ke stene ohne jsou rovnou 3 skripty. Jeden ktery se vola kdyz se kouzlo kouzli, ktery vytvori AoE, dalsi dva jsou zavesene na heartbeat a kontroluji zda nekdo vchazi anebo opousti AoE.
Dal jsem podminku primo na FALSE.
Cimzto se omlouvam hracum, lec snaha otestovat skript sam, regulernim zpusobem na test serveru, nebyla uspesna (*).
(*) Zkousel jsem vcera tohle testovat v testovacim modulu urcenem pro testserver. Lec po desitkach minut otevirani, par rychlych upravach skriptu a nasledne po 25 minutach skladani modulu dohromady mi nwntoolset vyhodil error a spadnul. Takze hodina a pul snahy v mistech kde slunce nesviti. :/
Re: Stěna ohně
Posted: 08:18 19. Mar 2014
by pavad
Myrpa wrote:A opravuješ správnej script?
není to spíš sp_wallfire?
(spells.2da r.191)
Viz vyse - neni. To je skript co vytvori AoE. Spravny skript (na pobyt v AoE) je "nw_s0_wallfirec.nss".
Nomenklaturni pozn: NwN ty skripty typicky pojmenovava "jmeno_hlavniho_skriptu.nss" a pro ten check na AoE pouziva nazvy "jmeno_hlavniho_skriptuA.nss" a "jmeno_hlavniho_skriptuB.nss", ale nekdy dojde k prenosu A->B, B->C. Verim, Myrpo, ze se Ti po precteni teto poznamky koktani samym ulekem vytrati.

Jestli ne, mam par dalsich speku ze sekce spell-scripts.

Re: Stěna ohně
Posted: 09:03 19. Mar 2014
by Myrpa
Není porovnání s FALSE blbě? Ta fce MySavingThrow je přetížená a vrací FALSE a 0 pro dva různé protichůdné případy. FALSE pro immune, 0 pro fail.
Re: Stěna ohně
Posted: 09:17 19. Mar 2014
by pavad
Myrpa wrote:Není porovnání s FALSE blbě? Ta fce MySavingThrow je přetížená a vrací FALSE a 0 pro dva různé protichůdné případy. FALSE pro immune, 0 pro fail.
Oni to FALSE pro immune omlouvaji objasnenim, ze je to schvalne - protoze pokud je cil immuni, tak jej stejne nejde srazit, takze se proste (nwn logika) pusti pracny skript ktery na konci narazi na prekazku totalni imunity - a tim skonci (ne, optimalizaci nehledej).
Edit: POdle toho co ja vim, tak promenna FALSE by mela byt inherentne rovna nule, nebo uz mam vidiny? Dam tam porovnani s nulou, pro jistotu...