Edycja czarów 2286 0

O temacie

Autor StarFighter

Zaczęty 24.07.2010 roku

Wyświetleń 2286

Odpowiedzi 0

StarFighter

StarFighter

Użytkownicy
posty65
  • Użytkownicy
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. :|
 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry