Dodawanie funkcji 4697 11

O temacie

Autor Mr Prezesinho

Zaczęty 18.04.2010 roku

Wyświetleń 4697

Odpowiedzi 11

Mr Prezesinho

Mr Prezesinho

Użytkownicy
posty162
Propsy1
  • Użytkownicy
1.Jak w temacie: Czy jest możliwość dodania własnej funkcji?
2.Jeśli 1 okaże się niemożliwością, czy jest efekt zmieniający czasowo atrybuty postaci?

Czekam i z góry dziękuję :D
 
89% graczy uważa, że najważniejsza jest grafika, jeśli uważasz, że te sygnatury nie mają sensu wklej to do podpisu.


maciejh

maciejh

Rzeka
posty779
Propsy258
ProfesjaScenarzysta
  • Rzeka
Co masz na myśli pisząc nowe funkcje?
 

Mr Prezesinho

Mr Prezesinho

Użytkownicy
posty162
Propsy1
  • Użytkownicy
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)
 
89% graczy uważa, że najważniejsza jest grafika, jeśli uważasz, że te sygnatury nie mają sensu wklej to do podpisu.


inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Dodawanie funkcji
#3 2010-04-18, 16:52(Ostatnia zmiana: 2010-04-18, 17:18)
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ś.

Mr Prezesinho

Mr Prezesinho

Użytkownicy
posty162
Propsy1
  • Użytkownicy

Mr Prezesinho

Dodawanie funkcji
#4 2010-04-18, 18:17(Ostatnia zmiana: 2010-04-18, 18:19)
No właśnie ją zdeklarowałem i kiedy ustawiam skilla regeneracji to on się nie wyłącza :facepalm:

Kilka razy edytowałem tą funkcję, zobacz jeszcze raz i przeczytaj dopisek.
Avallach
 

EDIT// A gdyby użyć już gotowej funkcji ApplyOverlayMDSTimed. Tylko nie wiem jak to ze sobą połączyć. Wypróbuję twoje rozwiązanie.

EDIT2// Ehh sry za doubl#msgote author=Rasarus link=topic=9763.msg92622#msg92622 date=1271607471]No właśnie ją zdeklarowałem i kiedy ustawiam skilla regeneracji to on się nie wyłącza :facepalm:

Kilka razy edytowałem tą funkcję, zobacz jeszcze raz i przeczytaj dopisek.
Avallach
[/quote]
 

EDIT// A gdyby użyć już gotowej funkcji ApplyOverlayMDSTimed. Tylko nie wiem jak to ze sobą połączyć. Wypróbuję twoje rozwiązanie.

EDIT2// Ehh sry za doubla chciałem zedytować. My mistake:)
 
89% graczy uważa, że najważniejsza jest grafika, jeśli uważasz, że te sygnatury nie mają sensu wklej to do podpisu.



paladinho

paladinho

Użytkownicy
posty59
  • Użytkownicy
A skoro jesteśmy w temacie czy jest funkcja podmieniająca np. teksturę głowy?
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
A skoro jesteśmy w temacie czy jest funkcja podmieniająca np. teksturę głowy?
Trzeba podmienić wszystkie parametry ciała na raz, np
Mdl_SetVisualBody (self, "hum_body_Naked0",0,1,"Hum_Head_Bald", 89,  1, DMB_ARMOR_M);Za głowę odpowiadają dwa ostatnie parametry, 89 i 1 - są to kolejno tekstura twarzy i włosów.

paladinho

paladinho

Użytkownicy
posty59
  • Użytkownicy

paladinho

Dodawanie funkcji
#8 2010-04-20, 19:08(Ostatnia zmiana: 2010-04-20, 20:39)
A jeśli chciałbym zmienić mesh i texturę podczas zakładania hełmu i pozniej chcę zmienić texturę z powrotem na tę, która była wcześniej (mam nadzieję, że piszę zrozumiale:)). Czy dałoby się napisać funkcję zmiany visual na ten przypisany w skrypcie postaci bez wywalenia błędu:)


edit// A tak na marginesie dałoby się zmieniać tylko model głowy z np. pony na bald bez konieczności zmiany tekstury?
 

Mr Prezesinho

Mr Prezesinho

Użytkownicy
posty162
Propsy1
  • Użytkownicy
Też jestem zainteresowany zmianą mesha głowy.
Dodam jeszcze swój problem:
Chciałem zrobić nowy model głowy. Po prostu bald z nową fryzurą. I tu wynika problem. Kiedy próbuję to wyimportować jako morph mesh nie mogę zapisać obu obiektów. Kiedy wreszcie mi się to udaje fryz znika. I co tu robić?  :roll:
 
89% graczy uważa, że najważniejsza jest grafika, jeśli uważasz, że te sygnatury nie mają sensu wklej to do podpisu.


Mr Prezesinho

Mr Prezesinho

Użytkownicy
posty162
Propsy1
  • Użytkownicy
Odświeżam. Interesuje mnie funkcja zmieniająca sam model głowy, bez tekstur i ciała.
 
89% graczy uważa, że najważniejsza jest grafika, jeśli uważasz, że te sygnatury nie mają sensu wklej to do podpisu.


inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Dodawanie funkcji
#11 2010-06-12, 16:12(Ostatnia zmiana: 2010-06-12, 16:13)
Poprzeglądaj sobie klasę oCNpc, tam odpowiednie wartości są zapisane w zmiennych body_visualName i head_visualName. Dzięki temu można napisać samodzielnie funkcję która pobiera aktualne, a następnie zmienia cały wygląd z powrotem na ten z pobranych zmiennych, tylko głowę bierze z argumentu.


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