Nie widziałem jeszcze żadnego takiego tutoriala.
A edycja czarów jest mi koniecznie potrzebna do mojego moda.
O ile chyba w przypadku prostego zwoju teleportacji dałbym sobie radę (myślę) bo wystarczy skopiować i podmienić nazwę waypointa to już inne rzeczy mnie przerastają..
Na przykład chciałbym przedłużyć czas trwania zaklęcia kontrola.
Instance przedmiotu:
INSTANCE ItArScrollControl (C_Item)
{
name = NAME_Spruchrolle;
mainflag = ITEM_KAT_RUNE;
flags = ITEM_MULTI;
value = 90;
visual = "ItAr_Scroll_08.3DS";
material = MAT_STONE;
spell = SPL_CONTROL;
cond_atr[2] = ATR_MANA_MAX;
cond_value[2] = 30;
description = "Kontrola";
//TEXT [0] = NAME_Mag_Circle; COUNT [0] = mag_circle;
//TEXT [1] = NAME_Manakosten; COUNT [1] = ;
//TEXT [2] = ""; COUNT [2] = ;
//TEXT [3] = ""; COUNT [3] = ;
//TEXT [4] = ""; COUNT [4] = ;
TEXT [5] = NAME_Value; COUNT [5] = value;
};
Spodziewałem się, że tutaj wszystko będzie, a tu taka niemiła niespodzianka.
W folderze MAGIC - spell controll
//-------- Spell Commands --------
// SPL_DONTINVEST = 0; // Es können keine weiteren Manapunkte investiert werden. Erst durch CTRL loslassen geht der Spell ab
// SPL_RECEIVEINVEST = 1; // Wirkung durchgeführt, es können weitere Invest kommen, zB.bei Heal nach jedem Pöppel
// SPL_SENDCAST = 2; // Starte den Zauber-Effekt (wie CTRL loslassen), automatischer Abbruch
// SPL_SENDSTOP = 3; // Beende Zauber ohne Effekt
// SPL_NEXTLEVEL = 4; // setze den Spruch auf den nächsten Level
func int Spell_Logic_Control(var int manaInvested)
{
PrintDebugNpc (PD_MAGIC, "Spell_Logic_Control");
if (!Npc_IsInState(other, ZS_Controlled))
{
PrintDebugNpc (PD_MAGIC, "npc is valid...");
PrintDebugNpc (PD_MAGIC, "manainvested 0...starting ZS_PsiDefense on npc");
if (!Npc_IsInState(other, ZS_PsiDefense))
{
B_FullStop (other);
AI_StartState (other, ZS_PsiDefense,1,"" );
};
if (other.flags != NPC_FLAG_IMMORTAL)
{
PrintDebugNpc (PD_MAGIC, "npc is not immortal, sub mana");
// überschreiten die investierten manapunkte level*4, so ist sein wille gebrochen
if ( manaInvested >= other.level*4 )
{
PrintDebugNpc(PD_MAGIC, "controlled success, starting states");
AI_StartState ( self ,ZS_PC_CONTROLLING ,0,"" );
Npc_SetActiveSpellInfo ( self,1 ); // übernommen
return SPL_SENDCAST;
};
return SPL_NEXTLEVEL;
}
else
{
PrintDebugNpc (PD_MAGIC, "npc is immortal");
return SPL_NEXTLEVEL;
};
return SPL_NEXTLEVEL;
}
else
{
PrintDebugNpc (PD_MAGIC, "npc is not valid...");
// other ist kein npc
return SPL_SENDSTOP;
};
return SPL_DONTINVEST;
};
Mógłby ktoś wytłumaczyć mi, co oznaczają poniższe komendy??
//-------- Spell Commands --------
// SPL_DONTINVEST = 0; // Es können keine weiteren Manapunkte investiert werden. Erst durch CTRL loslassen geht der Spell ab
// SPL_RECEIVEINVEST = 1; // Wirkung durchgeführt, es können weitere Invest kommen, zB.bei Heal nach jedem Pöppel
// SPL_SENDCAST = 2; // Starte den Zauber-Effekt (wie CTRL loslassen), automatischer Abbruch
// SPL_SENDSTOP = 3; // Beende Zauber ohne Effekt
// SPL_NEXTLEVEL = 4; // setze den Spruch auf den nächsten Level
Gdzie tu można zmienić czas trwania czaru, określić ile many potrzeba, aby przejąć kontrolę nad postacią itp?
A może powinienem wyedytować ZSy? (zs controlled lub zs pc controllin?)
A może jeszcze coś?
PS.Właśnie się dogrzebałem do plików spells process mana i spells process mana relased teraz już nic z tego nie rozumiem.
Będę bardzo wdzięczny za pomoc. A jeszcze bardziej - za link do tutoriala. Niestety przeszukałem całe forum tutoriale - skrypty i nic nie znalazłem na temat tworzenia/edycji czarów.