mam problem z uruchomieniem regeneracji.
bazując na postach resariusa wstawiłem w folderze B
// ******************
// B_TeachRegenerate
// ******************
var int level_regeneracji;
const int HP_lvl_1 = 5;
var int PerSec;
func int B_TeachRegenerate (var C_NPC slf, var C_NPC oth, var int regenerate)
{
// ------ Kosten festlegen ------
var int kosten;
kosten = B_GetLearnCostTalent(oth, NPC_TALENT_REGENERATE, regenerate);
// EXIT IF...
// Złe parametry
if (slf.attribute[ATR_MANA_MAX] < 100) && (slf.attribute[ATR_HITPOINTS_MAX] < 500)
{
PrintScreen ("Twoja energia życiowa/magiczna jest zbyt niska", -1, -1, _STR_FONT_ONSCREEN, 2);
return FALSE;
};
// Za mała ilość punktów nauki
if (oth.lp < kosten)
{
PrintScreen ("Za mało punktów umiejętności", -1, -1, _STR_FONT_ONSCREEN, 2);
B_Say (slf, oth, "$NOLEARNNOPOINTS");
return FALSE;
};
oth.lp = oth.lp - kosten;
Npc_SetTalentSkill (self, NPC_TALENT_REGENERATE, 1);
Log_CreateTopic (GE_TalentRegenerate,LOG_NOTE);
B_LogEntry (GE_TalentRegenerate,"Ponoć gdy osiągnie się szczyt skupienia można doprowadzić stan swojego ducha do samoregeneracji ciała i duszy.");
};
func void tick_tock ()
{
if (hero.attribute[ATR_HITPOINTS] > 0)
{
PerSec +=1;
};
if (level_regeneracji == 1) && (PerSec == 1)
{
hero.attribute[ATR_HITPOINTS] = (hero.attribute[ATR_HITPOINTS] + HP_lvl_1);
PerSec = 0;
};
if (oth.lp >= kosten) && (slf.attribute[ATR_MANA_MAX] >= 100) && (slf.attribute[ATR_HITPOINTS_MAX] >= 500) && (level_regeneracji == 1)
{
Npc_SetTalentSkill (self, NPC_TALENT_REGENERATE, 1);
hero.attribute[ATR_HITPOINTS] = (hero.attribute[ATR_HITPOINTS] + HP_level_1);
};
if (hero.attribute[ATR_HITPOINTS]>hero.attribute[ATR_HITPOINTS_MAX])
{
hero.attribute[ATR_HITPOINTS] = (hero.attribute[ATR_HITPOINTS_MAX]);
PrintScreen (PRINT_LearnRegenerate, -1, -1, FONT_Screen, 2);
B_LogEntry (GE_TalentRegenerate,"Osiągnąłem stan całkowitego skupienia umysłu. Od teraz moje ciało i dusza współdziałają, by nawzajem się odnowić.");
Wld_SendTrigger("TICK_TOCK");
};
};
w dialogu diega ustawiłem Npc_SetTalentSkill (self, NPC_TALENT_REGENERATE, 1); i nie działa, pytanie dlaczego?
czy i jakie zmienne powinienem wstawić w folderze constans.d i czy to wystarczy? proszę o pomoc.