Zmiana nieba 7588 21

O temacie

Autor Mr Prezesinho

Zaczęty 13.06.2010 roku

Wyświetleń 7588

Odpowiedzi 21

Mr Prezesinho

Mr Prezesinho

Użytkownicy
posty162
Propsy1
  • Użytkownicy

Mr Prezesinho

Zmiana nieba
2010-06-13, 10:24(Ostatnia zmiana: 2010-06-13, 13:41)
Chciałbym zmienić teksturę nieba w NewWorld.zen na tą z OldWrold.zen, ale dopiero wtedy, gdy bohater powróci z Dworu Irdorath na wyspę Khorinis. Jedyne co znalazłem to notka w Gothic.ini, ale tego raczej nie użyję. Pytanie jest następujące: jak podmienić teksturę nieba dopiero po ponownym wejściu do świata?

2) Aha, póki pamiętam:P Mam jeszcze jeden problem. Otóż kiedy otwieram w spacerze AddonWorld.zen i chcę wstawić tick_tock'a to po zapisaniu pod inną nazwą i podmianie zena tick_tock znika. Kiedy otwieram zena z inną nazwą tick_tock jest, ale po zmianie nazwy na AddonWorld.zen znika. Może wiecie, co jest tego przyczyną?

Edit/// Wstawianie mobów i vobów nie działa na żadnego zena, tj. gdy zapisze pod inną nazwą to działa, ale po podmianie wszystko wraca z powrotem.
 
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
Ustawienia nieba są w engine, ale można je modyfikować przez klasę zCSkyController dostępną przez Ikarusa (ten zestaw skryptów który orcwarrior niedawno dostosował dla g1, oryginalnie jest dla g2nk). Ikarusa ściągasz stąd, a następnie używasz tylko kodu:
MEM_InitGlobalInst();
MEM_SkyController.m_bDarkSky = 1;
możesz dodatkowo próbować zmienić masterState_layer0_texName i masterState_layer1_texName (nazwy tekstur odpowiadające za "warstwy" nieba).

Mr Prezesinho

Mr Prezesinho

Użytkownicy
posty162
Propsy1
  • Użytkownicy

Mr Prezesinho

Zmiana nieba
#2 2010-06-13, 15:20(Ostatnia zmiana: 2010-06-14, 15:14)
Dzięki, na pewno się przyda. Może wiesz, co jest nie tak z moim spacerem?
 
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

Mr Prezesinho

Zmiana nieba
#3 2010-06-14, 15:15(Ostatnia zmiana: 2010-06-14, 15:15)
Dobra szczerze powiem że nie mam pojęcia jak tego użyć. Może z tego zbioru stałych i zmiennych ułożyć funkcje na zasadzie "jeśli jesteś w 7 rozdziale, to niebo zmienia się na layer1" (bo chciałbym zrobić powrót na khorinis i trochę zmienić atmosferę na powojenną - dlatego przyda się zmiana nieba). Dobrze rozumuję?:)

P.S. Myślę, że po upływie doby mogę napisać 2 posta pod rząd:)
 
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
Najpierw ściągnij i "zainstaluj" (dodaj do src) pliki Ikarusa. Następnie np  w inicie (albo startupie, nie pamiętam które jest odpalane za każdym razem) świata daj ten kod:
MEM_InitGlobalInst();
MEM_SkyController.m_bDarkSky = 1;
MEM_SkyController.masterState_layer0_texName = "nazwatekstury_twojego_nieba_1.tga";
MEM_SkyController.masterState_layer0_texName = "nazwatekstury_twojego_nieba_2.tga";
Oczywiście w inicie świata do którego się stamtąd wychodzi musisz dać kod odwrotny.

PrzemoRi

PrzemoRi

Użytkownicy
posty64
Propsy2
  • Użytkownicy
Jeżeli dobrze pamiętam to z tym znikanie nowych rzeczy jak nazwiesz jak oryginalnie może być przez Worlds.vdf
i Worlds_Addon.vdf dlatego na koniec tych dodaj .disabled (w razie czego są w Gothic2/data) bo pewnie z nich kożysta zamiast z twoich a nawet może je nadpisać dlatego powinno być Worlds_Addon.vdf.disabled i Worlds.vdf.disabled
 

Mr Prezesinho

Mr Prezesinho

Użytkownicy
posty162
Propsy1
  • Użytkownicy

Mr Prezesinho

Zmiana nieba
#6 2010-06-19, 12:38(Ostatnia zmiana: 2010-06-19, 18:53)
Av, dzięki, myślę, że zadziała, później sprawdzę.

Cytuj
Jeżeli dobrze pamiętam to z tym znikanie nowych rzeczy jak nazwiesz jak oryginalnie może być przez Worlds.vdf
i Worlds_Addon.vdf dlatego na koniec tych dodaj .disabled (w razie czego są w Gothic2/data) bo pewnie z nich kożysta zamiast z twoich a nawet może je nadpisać dlatego powinno być Worlds_Addon.vdf.disabled i Worlds.vdf.disabled
spokojnie tyle to wiem:P

Dobra może zna ktoś odpowiedź na 2 pytanie?

EDIT// Dobra jest problem. Kiedy chcę wejść do newworld ze zmienionym niebem wywala mnie z gry. Tak samo jest gdy włączam nową grę.
 
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

Mr Prezesinho

Zmiana nieba
#7 2010-06-20, 16:41(Ostatnia zmiana: 2010-06-20, 16:42)
Refresh.

Dodam jeszcze problem ze spackiem. Kiedy chcę dodać voba i zapisać zena nic się w nim nie zmienia. Help
 
89% graczy uważa, że najważniejsza jest grafika, jeśli uważasz, że te sygnatury nie mają sensu wklej to do podpisu.


Silver

Silver

Użytkownicy
posty109
Propsy14
ProfesjaGracz
  • Użytkownicy
Refresh.

Dodam jeszcze problem ze spackiem. Kiedy chcę dodać voba i zapisać zena nic się w nim nie zmienia. Help

do tego nowa gra
 

Mr Prezesinho

Mr Prezesinho

Użytkownicy
posty162
Propsy1
  • Użytkownicy
Nie rozumiesz. Kiedy wstawiam jakieś voby w spacku, zapisuję zena i otwieram go ponownie nic się w nim nie zmienia - nie chodzi o grę tylko o program. Poza tym dodam, że coś mi się powaliło, bo gdy chcę wziąć nową grę to mnie wywala go windowsa.
 
89% graczy uważa, że najważniejsza jest grafika, jeśli uważasz, że te sygnatury nie mają sensu wklej to do podpisu.


xSzymciox

xSzymciox

Użytkownicy
posty28
  • Użytkownicy
Kiedy zapisujesz świat to zapisz go na np. pulpicie potem podmień i tyle.
 
https://www.youtube.com/watch?v=e9bfCxtDNvA


Eldo-Powinnaś?

"W lustrze widzę nas nie siebie"

Caesum

Caesum

Użytkownicy
posty1729
Propsy2216
NagrodyV
Profesjabrak
  • Użytkownicy

Caesum

Zmiana nieba
#11 2010-06-23, 14:07(Ostatnia zmiana: 2010-06-23, 14:08)
W Gothic II\Data zmień nazwę plików Worlds.vdf i Worlds_Addon.vdf na jakąkolwiek inną, np. Worlds.vdf.disabled
 

Mr Prezesinho

Mr Prezesinho

Użytkownicy
posty162
Propsy1
  • Użytkownicy

Mr Prezesinho

Zmiana nieba
#12 2010-06-23, 14:08(Ostatnia zmiana: 2010-06-23, 14:15)
Do xSzymciox  
Nie czytasz dokładnie. Wspomniałem, że podmiana wszystko "zjada". Zapisywanie pod inną nazwą działa, podmiana nie.

Down// Dziwne, kiedyś nie wyłączałem plików w folderze data i podmiana działała, teraz nie. Dzięki Caesum za zwrócenie uwagi na mój błąd, który powinienem był rozpatrzyć na początku ;p  

Teraz pozostaje pytanie: Dlaczego zmiana nieba wywołuje wywalanie z gry?
 
89% graczy uważa, że najważniejsza jest grafika, jeśli uważasz, że te sygnatury nie mają sensu wklej to do podpisu.


Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Cytuj
Teraz pozostaje pytanie: Dlaczego zmiana nieba wywołuje wywalanie z gry?
Bo zrobiłeś coś nie tak? Może źle wywołujesz podmianę, albo w złym miejscu jest tekstura? Napisz dokładnie, co zrobiłeś. No i napisz, czy są jakieś komunikaty podczas wywalania...

Mr Prezesinho

Mr Prezesinho

Użytkownicy
posty162
Propsy1
  • Użytkownicy
FUNC VOID INIT_NewWorld()
{
B_InitMonsterAttitudes ();
B_InitGuildAttitudes();
B_InitNpcGlobals ();
Wld_SendTrigger("PRINTBARS");

B_ENTER_NEWWORLD ();

// ------- Diebesgilde abtöten ------
if (Diebesgilde_Verraten)
&& (Andre_Diebesgilde_aufgeraeumt != TRUE)
{
if (!Npc_IsDead(Cassia))
|| (!Npc_IsDead(Jesper))
|| (!Npc_IsDead(Ramirez))
{
B_KillNpc(VLK_447_Cassia);
B_KillNpc(VLK_446_Jesper);
B_KillNpc(VLK_445_Ramirez);
Andre_Diebesgilde_aufgeraeumt = TRUE;
};
};

// ------ INITS der Unter-Parts ------
INIT_SUB_NewWorld_Part_City_01();
INIT_SUB_NewWorld_Part_Farm_01();
INIT_SUB_NewWorld_Part_Xardas_01();
INIT_SUB_NewWorld_Part_Monastery_01();
INIT_SUB_NewWorld_Part_GreatPeasant_01();
INIT_SUB_NewWorld_Part_TrollArea_01();
INIT_SUB_NewWorld_Part_Forest_01();
INIT_SUB_NewWorld_Part_Pass_To_OW_01();

if (MIS_ReadyForChapter3  == TRUE ) //Joly: muß hier in der INIT ganz zum schluss stehen, nachdem alle NSCs fürs Kapitel insertet wurden!!!
&& (B_Chapter3_OneTime == FALSE)
{
B_Kapitelwechsel (3,NEWWORLD_ZEN);
B_Chapter3_OneTime = TRUE;
};

if (MIS_AllDragonsDead  == TRUE ) //Joly: muß hier in der INIT ganz zum schluss stehen, nachdem alle NSCs fürs Kapitel insertet wurden!!!
&& (B_Chapter5_OneTime == FALSE)
{
B_Kapitelwechsel (5, NEWWORLD_ZEN);
B_Chapter5_OneTime = TRUE;
};
MEM_InitGlobalInst();
MEM_SkyController.m_bDarkSky = 1;
MEM_SkyController.masterState_layer0_texName = "SKYDAY_OLDWORLD_LAYER0_A0-C.tga";
MEM_SkyController.masterState_layer0_texName = "SKYDAY_OLDWORLD_LAYER1_A0-C.tga";


};

A jeśli chodzi o błędy to nie ma ani jednego. Po prostu okno gry znika podczas gdy gra powinna rozpocząć bieg w newworld.zen i tyle.
 
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

Zmiana nieba
#15 2010-06-23, 17:11(Ostatnia zmiana: 2010-06-23, 17:19)
MEM_InitGlobalInst();
MEM_SkyController.m_bDarkSky = 1;
MEM_SkyController.masterState_layer0_texName = "SKYDAY_OLDWORLD_LAYER0_A0-C.tga";
MEM_SkyController.masterState_layer0_texName = "SKYDAY_OLDWORLD_LAYER1_A0-C.tga";

A jeśli chodzi o błędy to nie ma ani jednego. Po prostu okno gry znika podczas gdy gra powinna rozpocząć bieg w newworld.zen i tyle.

Albo to wina Ikarusa (niestety grzebanie w tych obiektach bardzo często kończy się crashami, trzeba się do tego przyzwyczaić ;p ), albo ZenGin oczekuje prawidłowych nazw tekstur.
Na bank źle że dałeś zakończenia -C, mają je tylko pliki tex, a tga nigdy. Nie jestem też pewien co do _A0, to o ile pamiętam służy do enginowej animacji tekstur i też w skład "prawidłowej" nazwy chyba nie wchodzi. Podsumowując, albo "SKYDAY_OLDWORLD_LAYER1_A0.tga" albo po prostu "SKYDAY_OLDWORLD_LAYER1.tga"

Mr Prezesinho

Mr Prezesinho

Użytkownicy
posty162
Propsy1
  • Użytkownicy
Niestety, problem nie leży w sposobie opisania tekstur. Może mógłby ktoś przetestować ikarusa i sprawdzić, czy jest sposób na zmiane nieba. Sam spróbuję coś wykombinować.
 
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
Niestety, problem nie leży w sposobie opisania tekstur. Może mógłby ktoś przetestować ikarusa i sprawdzić, czy jest sposób na zmiane nieba. Sam spróbuję coś wykombinować.
Za niebo odpowiada to co napisałem, zSkyController i nic innego nie znajdziesz. Możesz ewentualnie przejrzeć jego klasę w poszukiwaniu bardziej obiecujących atrybutów, ale na 99% nic lepszego nie ma. Sprawdź z tymi poprawnymi wersjami nazw, ewentualnie bez tego "darksky".

Mr Prezesinho

Mr Prezesinho

Użytkownicy
posty162
Propsy1
  • Użytkownicy
Problem stanowi ta część, bez której jednak nic nie działa :lol:

MEM_InitGlobalInst();

Nie potrafię (pewnie nie ja jedyny) przerobić tej funkcji. Może orc potrafiłby coś z tym zrobić, a może ty av.
 
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

Zmiana nieba
#19 2010-06-23, 20:52(Ostatnia zmiana: 2010-06-23, 21:03)
Problem stanowi ta część, bez której jednak nic nie działa :)

MEM_InitGlobalInst();

Nie potrafię (pewnie nie ja jedyny) przerobić tej funkcji. Może orc potrafiłby coś z tym zrobić, a może ty av.
Po co przerobić :lol: ? Rozumiesz jak ona działa?

Ikarus działa tak, że w jego skrypty nic nie trzeba ingerować, tworzysz co najwyżej własne oparte na jego funkcjach bazowych. MEM_InitGlobalInst to funkcja która po prostu przygotowuje do edycji obiekty engine (oczywiście musisz mieć wersję odpowiednio pod g1 lub g2nk). jest ona po prostu wywołaniem dla każdego dostępnego obiektu engine odpowiedniej funkcji przypisującej do instancji (MEMINT_AssignContentInst).


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