Thalie http://thalie.pilsfree.cz/forum/ |
|
Scripts 2hard4me http://thalie.pilsfree.cz/forum/viewtopic.php?f=1&t=8586 |
Page 1 of 1 |
Author: | Zeerit [ 14:27 27. Nov 2015 ] |
Post subject: | Scripts 2hard4me |
Řekl jsem si, že si trochu zablbnu a i když nemám žádné předchozí zkušenosti, zkusím vytvořit nový kouzlo. Pokouším se vytvořit obdobu kouzla polymorph self/shapechange. Pomocí různých uprav, kopií existujících věci, pokusu a omylu, jsem se dostal poměrně daleko, ale zasekl jsem se při úpravě samotného scriptu. Úprava spells.2da a polymorph.2da byla celkem easy, šoupl jsem to do haku a nahrál ho do modulu, ale když ve scriptu přepíšu původní formu na moji nově vytvořenou napíše mi to u ní: ERROR: VARIABLE DEFINED WITHOUT TYPE Nějaký nápad co s tím ? |
Author: | kokosak [ 14:31 27. Nov 2015 ] |
Post subject: | Re: Scripts 2hard4me |
Bys měl asik definovat proměnné spolu s jejich typem? ![]() |
Author: | pavad [ 14:35 27. Nov 2015 ] |
Post subject: | Re: Scripts 2hard4me |
Dej sem kod (predpokladam ze nebude prilis slozity) - jinak jde o hadani. Lec pravdu ma kokos - nekde mas promennou bez definovaneho typu. |
Author: | Zeerit [ 15:03 27. Nov 2015 ] |
Post subject: | Re: Scripts 2hard4me |
Kod jsem vzal z Shapechange (NW_S0_ShapeChg) #include "x2_inc_spellhook" void main() { /* Spellcast Hook Code Added 2003-06-23 by GeorgZ If you want to make changes to all spells, check x2_inc_spellhook.nss to find out more */ if (!X2PreSpellCastCode()) { // If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell return; } // End of Spell Cast Hook //Declare major variables int nSpell = GetSpellId(); object oTarget = GetSpellTargetObject(); effect eVis = EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_3); effect ePoly; int nPoly; int nMetaMagic = GetMetaMagicFeat(); int nDuration = GetCasterLevel(OBJECT_SELF); //Enter Metamagic conditions if (nMetaMagic == METAMAGIC_EXTEND) { nDuration = nDuration *2; //Duration is +100% } //Determine Polymorph subradial type if(nSpell == 415) { nPoly = POLYMORPH_TYPE_RED_DRAGON; } else if (nSpell == 416) { nPoly = POLYMORPH_TYPE_FIRE_GIANT; } else if (nSpell == 417) { nPoly = POLYMORPH_TYPE_BALOR; } ePoly = EffectPolymorph(nPoly); //Fire cast spell at event for the specified target SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_SHAPECHANGE, FALSE)); //Apply the VFX impact and effects ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, GetLocation(oTarget)); DelayCommand(0.4, AssignCommand(oTarget, ClearAllActions())); // prevents an exploit DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, ePoly, oTarget, TurnsToSeconds(nDuration))); } Když ale změním ono POLYMORPH_TYPE_RED_DRAGON na něco novýho tak mi to hodí chybu. pavad wrote: Lec pravdu ma kokos - nekde mas promennou bez definovaneho typu. kokosak wrote: Bys měl asik definovat proměnné spolu s jejich typem? ![]() Mhm,neke, jak ? ![]() |
Author: | Decka [ 18:16 27. Nov 2015 ] |
Post subject: | Re: Scripts 2hard4me |
Kupodivu mi ten tvůj script po překopírování chyby nehlásí a to ani po výměně té konstanty za jinou. ![]() |
Author: | Zeerit [ 18:32 27. Nov 2015 ] |
Post subject: | Re: Scripts 2hard4me |
A jakou formu jsi tam zkusil vytvořit ? |
Author: | Decka [ 18:41 27. Nov 2015 ] |
Post subject: | Re: Scripts 2hard4me |
Ani nevim, prostě jsem tam hodil nějakou z tech konstant, které jsou ve hře pro polymorph definovány. Ono ti to asi padá jen když to vyměníš za nějakou tvoji proměnu, kterou si definoval v nějakém tom 2da že, ale ty standartní by ti měly fungovat. |
Author: | Zeerit [ 20:08 27. Nov 2015 ] |
Post subject: | Re: Scripts 2hard4me |
Jasně ty normální fungujou, jen se mi nedáří tam právě přidat nic novýho. |
Author: | Decka [ 20:45 27. Nov 2015 ] |
Post subject: | Re: Scripts 2hard4me |
No tak místo toho názvu ( POLYMORPH_ZEERIT..) co tam zadáváš z toho 2da proměn tam zadej hodnotu řádku ( nebo ID nebo co to tam je - prostě integer). Jde o to, že tu konstantu jsi opravdu nedefinoval a proto ti to píše, že jsi ji nedefinoval. |
Author: | pavad [ 21:14 27. Nov 2015 ] |
Post subject: | Re: Scripts 2hard4me |
Zeerit wrote: Jasně ty normální fungujou, jen se mi nedáří tam právě přidat nic novýho. Zeerite, veskere ty CAPS psane stringy (jsou to ve skutecnosti - a presneji receno - INT konstanty) "POLYMORF_TYPE_RED_DRAGON" a podobne jsou definovany v nejakych jinych skriptech (dohledat je muzes pres nazvy inkludovanych fajlu: #include; ovsem pocitej ze z jednoho odkazovaneho souboru budes nasledne odkazovan na dalsi a az pak mozna najdes co hledas).Pokud si ale definujes nejaky svuj retezec jako konstantu (CONST pokud si jeste vybavuji nwn skripty), tak pokud soubor s nim neni inkludovany pres #nazev_souboru, tak o nem skript kouzla nic nevi. Fakticky zkus misto toho "POLYMORF_TYPE_NEVIM_CO" primo napsat INT hodnotu (coz je vlastne ten radek co zminoval vyse Decka). Edit: Nebo muzes v souboru skriptu polymorf.nss (nebo jak se to jmenuje) definovat onu konstantu "POLYMORF_ZEERIT" pozadovanou hodnotou... |
Author: | Zeerit [ 22:51 27. Nov 2015 ] |
Post subject: | Re: Scripts 2hard4me |
Cool, dík oběma za info, nějak to přelouskám a pokusím se z toho něco vyčíst ![]() |
Author: | Zeerit [ 10:18 28. Nov 2015 ] |
Post subject: | Re: Scripts 2hard4me |
Fajn, to bylo jednoduchý, funguje ![]() |
Page 1 of 1 | All times are UTC + 1 hour [ DST ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |