[G1] Lokalizacja plików z ekwipunkiem 11480 45

O temacie

Autor Riv

Zaczęty 31.08.2014 roku

Wyświetleń 11480

Odpowiedzi 45

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Musisz usunąć zdekompilowaną wersję .3DS.
Wejdź w meshes/_compiled i usuń odpowiednik .mrm

Riv

Riv

Użytkownicy
posty91
Propsy28
ProfesjaNierób
  • Użytkownicy
Tamten miecz już usunąłem, wgrałem paczkę ładniejszych broni.
Cytuj
Mam teraz trochę inne pytania, mianowicie jak można dodać na stałe ten niebieski efekt który się pojawia gdy postać jest niedaleko bariery i jak można ustawić żeby test mode był od początku włączony (bez wpisywania MARVIN)?
 

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Cytuj
jak można dodać na stałe ten niebieski efekt który się pojawia gdy postać jest niedaleko bariery
Wld_PlayEffect, a potem wywoływać go co jakiś czas xd
Cytuj
i jak można ustawić żeby test mode był od początku włączony (bez wpisywania MARVIN)?Ikarusem
Ikarusem

Riv

Riv

Użytkownicy
posty91
Propsy28
ProfesjaNierób
  • Użytkownicy
Znalazłem ten efekt: INSTANCE BARRIERE_PC_WARNING(CFx_Base_Proto)
{
   emTrjOriginNode    = "BIP01 TOE";
   visname_S       = "MFX_lightning_target";   
   emtrjmode_s       = "FIXED";
   emtrjdynupdatedelay    = 0.;
   lightPresetname    = "AURA";
};
Tylko, że nie wiem za bardzo co mam z tym zrobić, czytałem rzeczy o Wld_PlayEffect ale wszystko było do GII ;/
Ściągnąłem Ikarusa, poszperałem w plikach i nie za bardzo się orientuje gdzie mogę uaktywnić ten testmode.
 

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Odtwarzasz efekt tak:
Cytuj
Wld_PlayEffect("BARRIERE_PC_WARNING", hero, hero, 0, 0, 0, FALSE);
A co do Ikarusa, to musisz użyć klas silnikowych ( folder Engine_Classes ), odpowiednio je zdefiniować oraz użyć, przypisać do nich odpowiednie wartości itp.. itd.. Potem wywołać.

Riv

Riv

Użytkownicy
posty91
Propsy28
ProfesjaNierób
  • Użytkownicy
Jestem zielony, więc raczej nie będę umiał tego zrobić w Ikarusie więc może przejdę do kolejnego pytania xd Przy tworzeniu przedmiotu jest linijka:
wear = WEAR_TORSO //w przypadku zbroi
wear = WEAR_HEAD //w przpadku hełmów
I tu moje pytanie. Jak można i czy w ogóle można zrobić tak, że do wear przypiszemy i WEAR_TORSO i WEAR_HEAD jednocześnie, bo mam zbroje z takim hełmem jak przy zbroi paladyna w GII (jeden .asc na zbroje i hełm) i po ubraniu tego pancerza chciałbym żeby zastępował ubraną już zbroje i również ubrany hełm (trochę zakręciłem, ale mam nadzieje, że rozumiecie o co chodzi). 
 

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Jeśli to zbroja, to dajesz WEAR_TORSO.
A jeśli chodzi o hełm, to musisz sprwadzić, czy postać ma założony hełm.
Zrób zmienną o jakiejś nazwie, potem do on_equip KAŻDEGO hełmu przypisz do zmiennej wartość TRUE, a przy on_unEquip wartość FALSE.
Potem do on_equip tej zbroi sprawdzaj, czy zmienna = TRUE, a potem zdejmij w warunku hełm i również zmienna = TRUE. Analogicznie do hełmów. Opisałem to w najłatwiejszy sposób.

Riv

Riv

Użytkownicy
posty91
Propsy28
ProfesjaNierób
  • Użytkownicy
Nie za bardzo umiem programować, więc raczej tego nie zrobię ;d Pojawił się (oczywiście) nowy problem, wgrałem kilka zbroi i jakimś cudem ciała NPC zmieniły się w nie. Pozmieniałem nazwy wszystkich wgranych przeze mnie plików do textures i anims + pousuwałem ich odpowiedniki z folderów _compiled i nie pomogło.
 

Mark56

Mark56

Moderator
som veľký magič
posty1632
Propsy1846
ProfesjaAnimator
  • Moderator
  • som veľký magič
Tak się dzieje jak dodajesz nowe modele ciał. To jest chwilowy vizualny bug. Nie przejmuj sie tym  
 


chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Mark, zapomniałeś dodać, że trzeba zarejestrować nowe .asc zbroi do HumanS.MDS. To naprawi problem. A co do zbroi i hełmów... nie trzeba umieć programować, wystarczy mieć podstawowe pojęcie o zmiennych.

Riv

Riv

Użytkownicy
posty91
Propsy28
ProfesjaNierób
  • Użytkownicy
Podziałało, dzięki wielkie. Mam jeszcze dziwnego buga, gdy ustawie żeby hełm był ubrany od razu na postaci to się buguje i niby jest założony, ale go nie widać, dopiero jak go ściągnę i jeszcze raz ubiorę to działa dobrze.
 

A.K.

A.K.

Użytkownicy
posty159
Propsy161
Profesjabrak
  • Użytkownicy
Zmień mainflag = ITEM_KAT_ARMOR; na mainflag = ITEM_KAT_NF;
 

Riv

Riv

Użytkownicy
posty91
Propsy28
ProfesjaNierób
  • Użytkownicy

Riv

[G1] Kilka pytań
#32 2014-09-04, 16:28(Ostatnia zmiana: 2014-09-04, 16:50)
Dzięki, już wszystko gra. Czy żeby dodać NPC do świata wystarczy dopisać:
Wld_InsertNp (jakis_npc,"waypoint");
do startup.d czy trzeba jeszcze coś zrobić?

Edit: Jest jakiś inny sposób (bez zmiany mainflag) na ten hełm? Bo hełm pokazujący się w zakładce "Broń" w ekwipunku nie wygląda najlepiej ;d
 

A.K.

A.K.

Użytkownicy
posty159
Propsy161
Profesjabrak
  • Użytkownicy
  • Jeśli skrypt NPC jest poprawny i WP istnieje, to raczej wystarczy.

POPRAWKA: Wld_InsertNpc (jakis_npc,"waypoint");

  • Najprościej chyba zrobić dwa hełmy: ARMOR dla gracza i NF dla postaci niezależnych.
 

Riv

Riv

Użytkownicy
posty91
Propsy28
ProfesjaNierób
  • Użytkownicy
No tak, tylko ten problem ze znikającym hełmem na początku miałem z postacią gracza i jak ustawie armor to znowu będzie się bugowało. Co do NPC to w startup.d wklepałem: Wld_InsertNpc (PC_Ezer,"start");
i niestety PC_Ezer się przy miejscu zrzutu nie pojawia, ustawiłem mu także rutynę i jak przywoływuje go komendą to wygląda to tak jakby próbował się ruszyć, ale nie mógł ;d

Tu kawałek skryptu postaci z rutyną:
Fight_tactic         = FAI_HUMAN_MASTER;
daily_routine         = ezerutyna;
self.aivar[AIV_IMPORTANT]         = TRUE;
senses = SENSE_SEE|SENSE_HEAR|SENSE_SMELL;
};

FUNC VOID ezerutyna ()
{
TA_Sleep        (23,00,05,00,"start");
TA_SitAround (05,00,12,00,"start");
TA_Boss (12,00,23,00,"start");

};
 

Splash

Splash

Moderator
posty4208
Propsy3410
ProfesjaNierób
  • Moderator
Nazwa waypointu musi być wpisywana dużymi literami.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

A.K.

A.K.

Użytkownicy
posty159
Propsy161
Profesjabrak
  • Użytkownicy
Co do hełmu, to wpadłem na coś takiego: (Pisane na szybko i do GII, ale może zadziała)
INSTANCE helm (C_Item) //dla gracza
{
name = "Hełm";

mainflag = ITEM_KAT_ARMOR;
flags = 0;

protection [PROT_EDGE] = 20;
protection [PROT_BLUNT] = 20;
protection [PROT_POINT] = 20;
protection [PROT_FIRE] = 0;
protection [PROT_MAGIC] = 0;

value = 100;

wear = WEAR_HEAD;

visual = "HELM.3ds";

visual_skin = 0;
material = MAT_METAL;

on_equip = Ubieram; //Po założeniu podmienia hełm gracza na ten noszony przez BNów

description = name;
TEXT[1] = NAME_Prot_Edge;
COUNT[1] = protection [PROT_EDGE];
TEXT[2] = NAME_Prot_Point;
COUNT[2] = protection [PROT_POINT];
TEXT[5] = NAME_Value;
COUNT[5] = value;
};

INSTANCE helm_d (C_Item) //Tylko dla NPC!
{
name = "Hełm";

mainflag = ITEM_KAT_NF;
flags = 0;

protection [PROT_EDGE] = 20;
protection [PROT_BLUNT] = 20;
protection [PROT_POINT] = 20;
protection [PROT_FIRE] = 0;
protection [PROT_MAGIC] = 0;

value = 0;

wear = WEAR_HEAD;

visual = "HELM.3ds";

visual_skin = 0;
material = MAT_METAL;

on_unequip = Zdejmuje; //Po zdjęciu zmienia znów na normalny

description = name;
TEXT[1] = NAME_Prot_Edge;
COUNT[1] = protection [PROT_EDGE];
TEXT[2] = NAME_Prot_Point;
COUNT[2] = protection [PROT_POINT];
TEXT[5] = NAME_Value;
COUNT[5] = value;
};
FUNC VOID Ubieram()
{
if  (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(PC_HERO)) //tylko jeśli self jest PC_Hero
{
AI_UnequipArmor(self); //Zdejmuje wszystkie pancerze
Npc_RemoveInvItem(self,helm); //wywala hełm z ekwipunku
AI_EquipBestArmor(self); //zakłada najlepszy dostępny pancerz
EquipItem(self,helm_d); //Zakłada hełm BNa (najpierw chyba go tworzy, ale nie jestem pewny. Tak, czy inaczej pojawia się w ekwipunku)
};
};
FUNC VOID Zdejmuje()
{
if  (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(PC_HERO)) //tylko jeśli self jest PC_Hero
{
Npc_RemoveInvItem(self,helm_d); //Wywala hełm BNa
if(!Npc_HasItems(self, helm)) //jeśli bohater nie ma hełmu "helm"...
{
CreateInvItems(self,helm,1);//...tworzy jeden hełm "helm"
};

};
};
Oczywiście nie jest to rozwiązanie idealne. Np. trzeba zmienić warunek sprawdzający istnienie hełmu w ekwipunku, bo w obecnym przypadku, jeśli gracz będzie miał więcej niż jeden hełm, to pozostałe będą znikać (tj. nie pojawi się nowy). Dalej występować też będą błędy z możliwością założenia dziesiątek hełmów - trzeba by wprowadzić odpowiednie zmienne i warunki.
 

Riv

Riv

Użytkownicy
posty91
Propsy28
ProfesjaNierób
  • Użytkownicy
@Splash
Niestety nie pomogło, zmieniłem waypoint na WP_INTRO_FALL3 czyli taki jaki ma Diego na początku i niby działa (więc to może wina tego wp "START"?), ale nadal NPC się buguje i rusza się w miejscu (słychać dźwięk kroków i model tak jakby się trzęsie).
@A.K.
Dzięki za pomoc i gotowy skrypt, ale zrezygnowałem już z hełmu dla gracza na start, hełmy dla NPC zrobię tak jak poleciłeś jako ITEM_KAT_NF. Jeszcze jedno pytanie: Co zrobić żeby hełm nie był pokazywany w okienku lootu po pokonaniu przeciwnika tak jak zbroja? Konieczne do tego jest ITEM_KAT_ARMOR, czy coś innego za to odpowiada?
 

Splash

Splash

Moderator
posty4208
Propsy3410
ProfesjaNierób
  • Moderator
START nie jest waypointem, tylko startpointem, dlatego nie działa.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Riv

Riv

Użytkownicy
posty91
Propsy28
ProfesjaNierób
  • Użytkownicy
Rozumiem. Zacząłem robić własnego waypointa w spacerze wg jakiegoś poradnika z YT ale nie pracuje na G2 tylko G1 i nie mam tam takich flag jak w poradniku. Po utworzeniu daje F3 żeby zaznaczyć tego wp i połączyć z innym robiąc tą drogę, ale gdy tylko na niego klikam to się odznacza.
 


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