Stránka 1 z 1

Detekcia v skripte...

Napsal: 11.2.2007 11:58
od Valiant
Zdravím :lol:

Tak by ma zaujímalo, ako ošetriť skript, v ktorom potrebujem detekovať, či ktokoľvek z partie, resp. PC použil Wand Of Fire. Pretože môj skript detekuje len použitie kúzla Fireball alebo Sunfire, nemusí fungovať pri hráčoch, ktorí hrajú sólo, a nehrajú za mága, čiže tieto kúzla nemusia ovládať. Tým pádom by celý môj pôvodný skript padol, a cutscéna by nefungovala... :-(

Poradťe niekto... Dík ;-)

Napsal: 11.2.2007 12:37
od Vlasák
Valiant: no... buď bys musel změnit celou koncepci a testovat u těch zasažených, zda jsou zraněni ohnivým zraněním.

Anebo bys musel změnit tu hůlku ohně - buď aby střílela skutečně ta kouzla a "nesimulovala" je;

nebo aby vytvořila tam, kam je zacíleno, neviditelnou/nesmrtelnou potvoru, která se po krátkém čase zabije. Ta však bude sloužit k tomu, že ji budeš moct detekovat pomocí Exists či Range (což dokonce jaksi simuluje to "byl efekt hůlky seslán sem do dosahu?");

anebo každému efektu hůlky přidáš efekt opět na krátkou chvíli Scripting State Modifier [282] - tím nastavíš nějaký scripting state na nějakou hodnotu nositeli té hůlky a pak jen prodetekuješ celou partu (tj. potenciální nositele té hůlky) pomocí scriptové podmínky CheckStat, zda mají daný scripting state nastavený.
Anebo udělat tu modifikaci scripting state cíli kouzla, ale tam je třeba dodržet, aby to bylo stejně plošné jako ten fireball. Což opět simuluje působnost kouzla. U scriptingstate je ale problém, že ho některé mody (Detectable spells) používají, takže když už, chtělo by to využít state, který už v DS je přiřazen ohnivým kouzlům (je-li vůbec takový).

Ony možná budou i další a jednodušší způsoby, teď narychlo mě víc nenapadá. Mezi posledními dvěma těžko volit, oba jsou zhruba nastejno.

Jak pro scripting state, tak neviditelné potvory je dobré se mrknout na tutorial, kde je používám oboje:
http://www.blackwyrmlair.net/Tutorials/nonlethal.php

Napsal: 11.2.2007 16:06
od Valiant
A toto by nefungovalo??

Kód: Vybrat vše

0x40C2 HasItemEquipedReal(S:ResRef*,O:Object*)
Returns true only if the specified object has the specified item equipped and it is in use.
Proste len detekovať, či PC použil tento predmet...

Napsal: 11.2.2007 16:10
od Razfallow
Valiant píše:A toto by nefungovalo??

Kód: Vybrat vše

0x40C2 HasItemEquipedReal(S:ResRef*,O:Object*)
Returns true only if the specified object has the specified item equipped and it is in use.
Proste len detekovať, či PC použil tento predmet...
Bohužel tohle nefunguje.

Napsal: 23.2.2007 17:58
od Valiant
Len tak pre upozornenie ostatnych modderov: neurobte taku chybu ako ja pri tvorbe neviditelnej nedetekovatelnej postavy, zejej pridelite animaciu BIRD. Tato animacia je neznicitelna, nedokaze ju nic zranit, a tym padom moja detekcia HitBy bola zbytocna... Akonahle som postave pridelil animaciu napr. CAT, tak to hned fungovalo...

To len tak na margo veci...