A co można rozumieć przez zwrot "nowe funkcje"? Jeżeli mamy NPC_ChangeAttribute chcę dodać coś na kształt NPC_ChangeAttributeTimed (tak jak w przypadku overlay#msgote author=Rasarus link=topic=9763.msg92613#msg92613 date=1271602328]A co można rozumieć przez zwrot "nowe funkcje"? Jeżeli mamy NPC_ChangeAttribute chcę dodać coś na kształt NPC_ChangeAttributeTimed (tak jak w przypadku overlayów)
Oczywiście, po prostu ją deklarujesz i piszesz co ma robić. Ta twoja wymagałaby osobno zrobionego tickTocka który by liczył czas, to sobie zrobisz sam.
func void NPC_ChangeAttributeTimed (var c_npc self, var int atr, var int value, var int time)
{
self.attribute[atr] = self.attribute[atr] + value;
NPC_CAT_NPC = self;
NPC_CAT_atr = atr;
NPC_CAT_value = value;
NPC_CAT_time = time;
Wld_SendTrigger ("TICK_TOCK");
};
func void NPC_ChangeAttributeTimed_count () //ta funkcja musi być wywoływana co sekundę przez ticktock
{
NPC_CAT_time_passed = NPC_CAT_time_passed + 1;
if NPC_CAT_time_passed >= NPC_CAT_time;
{
NPC_CAT_NPC.attribute[NPC_CAT_atr] = NPC_CAT_NPC.attribute[NPC_CAT_atr] - NPC_CAT_value;
Wld_SendUntrigger ("TICK_TOCK");
NPC_CAT_time_passed = 0;
};
};
//wymagane globalne zmienne:
var c_npc NPC_CAT_NPC;
var int NPC_CAT_atr;
var int NPC_CAT_value;
var int NPC_CAT_time;
Oczywiście funkcje
zewnętrzne co to innego, i ich przez skrypty z samej definicji nie zrobisz - odsyłam do g2ext i pisania własnych dll#msgote author=Rasarus link=topic=9763.msg92613#msg92613 date=1271602328]A co można rozumieć przez zwrot "nowe funkcje"? Jeżeli mamy NPC_ChangeAttribute chcę dodać coś na kształt NPC_ChangeAttributeTimed (tak jak w przypadku overlayek.
@down - pisałem ją na bieżąco z wysyłaniem, zobacz to co jest dopisane, szczególnie z triggerami - musisz sam zrobić ticktocka w spacerze. Poza tym chciałeś po prostu coś co tymczasowo zwiększa wartość atrybutu, nic o żadnym talencie regeneracji nie pisałeś.