Detekcia v skripte...

Vytváření nových modů není tak obtížné, zkuste si to taky.

Moderátor: Razfallow

Odpovědět
Uživatelský avatar
Valiant
Sigilan
Příspěvky: 95
Registrován: 6.1.2006 9:49
Bydliště: Levice (hometown), Sliač (worktown), Slovakia
Kontaktovat uživatele:

Detekcia v skripte...

Příspěvek od Valiant » 11.2.2007 11:58

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 ;-)
Kiski aka Valiant, the 3ds Max mage
Slovakia
Tower Of Deception creator

Obrázek

Uživatelský avatar
Vlasák
Sigilan
Příspěvky: 3017
Registrován: 26.9.2005 7:56
Bydliště: Praha
Kontaktovat uživatele:

Příspěvek od Vlasák » 11.2.2007 12:37

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
Infinity forever! - Baldur's Gate II add-on CZ
Fórum plné RPG - RPG fórum


Obrázek

Uživatelský avatar
Valiant
Sigilan
Příspěvky: 95
Registrován: 6.1.2006 9:49
Bydliště: Levice (hometown), Sliač (worktown), Slovakia
Kontaktovat uživatele:

Příspěvek od Valiant » 11.2.2007 16:06

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...
Kiski aka Valiant, the 3ds Max mage
Slovakia
Tower Of Deception creator

Obrázek

Uživatelský avatar
Razfallow
Dabus
Příspěvky: 1373
Registrován: 24.9.2005 22:54
Bydliště: Sigil
Kontaktovat uživatele:

Příspěvek od Razfallow » 11.2.2007 16:10

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.

Kód: Vybrat vše

IF
  Detect([SPAMMER])
THEN
    RESPONSE #100
             ReallyForceSpell(WIZARD_POWER_WORD_KILL,LastSeenBy(Myself))
END
[/size]

Uživatelský avatar
Valiant
Sigilan
Příspěvky: 95
Registrován: 6.1.2006 9:49
Bydliště: Levice (hometown), Sliač (worktown), Slovakia
Kontaktovat uživatele:

Příspěvek od Valiant » 23.2.2007 17:58

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...
Kiski aka Valiant, the 3ds Max mage
Slovakia
Tower Of Deception creator

Obrázek

Odpovědět

Zpět na „Infinity Engine“