Ostatnie wiadomości

@frN i @Gother Dobra, rozgryzłem. frN mnie naprowadził, że parsowałem wyłącznie plik Gothic.src.

Rozwiązanie było głupio proste. Zamiast parsować przez Spacera po prostu trzeba było puścić GothicStarter_mod.exe znajdujący się w folderze Gothic\system. Jako początkujący modder z ostrożności wolałem parsować przez Spacera bo wiedziałem, że przed parsowaniem trzeba usunąć pliki OU.csl i OU.bin a w przypadku parsowania przez GothicStarter_mod.exe nie wiedziałem czy nie trzeba czego analogicznie usuwać by się nie duplikowało.

Temat do zamknięcia. Oczywiście dziękuję obu Panom i leci po propsie.
Po pierwsze nie wiem czemu robisz sobie taką krzywdę i używasz spacera do parsowania skryptów, po drugie parsujesz tylko gothic.src (gothic.dat) czyli nie parsujesz w ogóle visualfx/particlefx to nic dziwnego, że nie ma twoich zmian w grze.
@frN W Spacerze biorę "Reparse Scriptfiles" i zaznaczam "Gothic.src".
Jak parsujesz skrypty? Bo to raczej wygląda na to, że parsujesz tylko gothic.dat, a pozostałych już nie.
Co do umieszczenia we właściwym folderze i tekstur w formacie TEX to powinno się zgadzać
Spoiler
MFX_MagicCloud.tga i LIGHTNING_BIG_A0.TGA są w Gothic\_work\DATA\TEXTURES\Effects\Magic

MFX_MAGICCLOUD-C.TEX i LIGHTNING_BIG_A0-C.TEX są w Gothic\_work\DATA\TEXTURES\_COMPILED

LIGHTNING_BIG_A0.TGA i LIGHTNING_BIG_A0-C.TEX to są rzeczy oryginalnie występujące w Gothic 1 i ich nie ruszałem.

Tekstury więc występują także w wersji skompilowanej i z tego co widzę to we właściwych lokacjach.

DX11, texturepacków czy innych dodatków, które mogłyby wpływać na tekstury czy efekt, który próbuję dodać nie używam. Dla jasności, plik Textures.vdf w folderze Gothic\Data mam zmieniony na Textures.vdf.disabled, więc to nie to.

Tak jak mi poradziłeś spróbowałem dokleić Wld_PlayEffect("spellFX_INCOVATION_RED",  self, self, 0, 0, 0, FALSE ); do sprawdzonych dialogów ale też się nie udało. Dla porównania dokleiłem do nich potem efekt z trzęsieniem ziemi Wld_PlayEffect("FX_EarthQuake",  self, self, 0, 0, 0, FALSE ); i efekt z trzęsieniem ziemi działał zaś ten z czerwoną falą nie działał.

Wydaje mi się, że problemem jest to, że pliki VISUALFX.DAT i PARTICLEFX.DAT w moim modzie czegoś tak jakby nie zasysały. Już tłumaczę co mam na myśli.

Porównałem pliki VISUALFX.DAT z Gothica II i mojego moda do Gothica 1. W tym z Gothica II jest taki wycinek odnoszący się do "INVOCATION" (Piranie w plikach przekręcają ten wyraz też na "INCOVATION")

    0AT                    INVOCATION_RED
˙˙˙˙   ˙10252
    0A                   EFIXED
˙˙˙˙   ˙10253
    0A   č  }            BIP01
˙˙˙˙   ˙10254
    0A           (w        REDAMBIENCE
˙˙˙˙   ˙10255
    0At                    SFX_Circle
˙˙˙˙   ˙10256
    0A                   mINVOCATION_GREEN
˙˙˙˙   ˙10257
    0A   č               FIXED
˙˙˙˙   ˙10258
    0A           xf        BIP01
˙˙˙˙   ˙10259
    0AA                    POISON
˙˙˙˙   ˙10260
    0A                    SFX_Circle
˙˙˙˙   ˙10261
    0A   č  PR            INVOCATION_BLUE
˙˙˙˙   ˙10262
    0A                    FIXED
˙˙˙˙   ˙10263
    0Ao                    BIP01
˙˙˙˙   ˙10264
    0A                   "REDAMBIENCE
˙˙˙˙   ˙10265
    0A   č  0             SFX_Circle
˙˙˙˙   ˙10266
    0A                    INVOCATION_VIOLET
˙˙˙˙   ˙10267
    0AR                    FIXED
˙˙˙˙   ˙10268
    0A                   {BIP01
˙˙˙˙   ˙10269
    0A   č  8             CATACLYSM
˙˙˙˙   ˙10270
    0A           `0        SFX_Circle
˙˙˙˙   ˙10271
    0Ae                    INVOCATION_WHITE
˙˙˙˙   ˙10272
    0A                   NFIXED

oraz

     pA  Ř”     [  q   Ž  R      SPELLFX_INCOVATION_RED
     pA    ž     \  ö   Ş  R      SPELLFX_INCOVATION_GREEN
     pA  řD¨     ]  ő   ň  R      SPELLFX_INCOVATION_BLUE
     pA    ˛      ^ ř   :  R      SPELLFX_INCOVATION_VIOLET
     pA  ŘĽ     _  ú   ‚  R      SPELLFX_INCOVATION_WHITE

Tego czegoś nie ma w VISUALFX.DAT mojej modyfikacji, więc tak jakby ten VISUALFX.DAT z mojej modyfikacji czegoś nie "zassał". To jest fragment zassany z Visualfxinst.d


To samo z w przypadku PARTICLEFX.DAT. Plik PARTICLEFX.DAT z Gothica II zawiera fragment, którego brak w pliku PARTICLEFX.DAT z mojego moda.

     pA    ű     ‹ö  w   R *     INVOCATION
     `@       %   ÷  !  -R       INVOCATION_RED
     pA    '      'ű  s   ¤S 1     INVOCATION_WHITE
     pA    -      śű  }   ŔS 1     INVOCATION_BLUE
     pA    3      ü  t   ÜS 1     INVOCATION_GREEN
     pA    9      ‘ü  y   řS 1     INVOCATION_VIOLET

Więc jak mówiłem tak jakby pliki VISUALFX.DAT i PARTICLEFX.DAT w moim modzie czegoś nie zasysały.

Więc chodzi ci o efekt czarowania magów nad okiem innosa w słonecznym kręgu, przy czym chcesz aby był czerwony. Źle zrozumiałem gdy wmieszałeś w to poszukiwaczy.
W takim razie efekt wizualny będzie działać w G1. Wrzuciłem:
Wld_PlayEffect("spellFX_INCOVATION_RED",  self, self, 0, 0, 0, FALSE );do dialogu Diego i jest:
https://zapodaj.net/plik-Gl1y6XjZJY
https://zapodaj.net/plik-klLuEFAwy8

Czemu u ciebie nie działa? Może tekstury nieskompilowane, w niewłaściwym folderze jednak.
Może masz poinstalowane jakieś dodatkowe addony typu directx 11 (sam directx nie lubi się z niektórymi efektami cząsteczkowymi).
Na początku polecam zobaczyć czy efekt odpali się w sprawdzonym skrypcie jak u mnie.
@Gother Nie do końca zrozumiałem.

Próbuję dodać tę czerwoną falę z rutyny a nie efekty zniekształcenia ekranu występujące podczas rozmowy z poszukiwaczem.
Gothic 2 posiadał w mojej ocenie ciekawszą animację dobijania postaci, więc próbowałem ją przenieść. Efekt ten udało mi się osiągnąć metodą prób i błędów. Poniżej zamieszczam małą instrukcję. Jest to prosty poradnik napisany z myślą o takich parweniuszach jak ja lub o niedzielnych graczach, którzy chcieliby po prostu sobie dodać tą rzecz do gry.


Być może nie wszystkie pliki są niezbędne ale tutaj już się nie wypowiem bo nie wiem.

Do dzieła!


1. Po pierwsze musisz mieć wypakowane animacje.
Spoiler
Jeżeli ich nie masz to możesz to zrobić przykładowo za pomocą programu Gothic VDFS tool. Link do niego masz choćby tutaj https://themodders.org/index.php?topic=31909.0

Trzeba rozpakować plik anims.VDF znajdujący się w folderze Gothic\Data.

Wypakuj te rzeczy i wklej do folderu głównego folderu Gothica. W twoim folderze Gothic\_work\DATA\ANIMS powinny się wówczas pojawić pliki z animacjami.

Po wypakowaniu pliku tych plików zmień nazwę pliku anims.VDF znajdującego się w folderze Gothic\Data na anims.VDF.disabled



2. Otwórz plik Humans.MDS znajdujący się w Gothic\_work\DATA\ANIMS


3. Interesuje nas ten fragment pliku Humans.MDS

// Todesstoß - Entfernung zwischen Bip01 Angreifer und Bip01 Opfer ca. 200 cm
ani ("t_1hSFinish" 1 "" 0.1 0.1 M. "Hum_1hSFinish_M03.asc" F 1 139 FPS:10)
{
*eventSFX (35 "FIG_SwordFinal" EMPTY_SLOT )

}

aniAlias ("t_2hSFinish" 1 "" 0.1 0.1 M. "t_1hSFinish" F)


// Dead Anis für t_1hSFinish
ani ("t_Wounded_2_Dead" 1 "s_Dead" 0.1 0.1 M. "Hum_Wound2Dead_M01.asc" F 1 139 FPS:10 CVS:0.1)
{
// *eventSFX (36 "FIG_DummyDie" EMPTY_SLOT )
}
ani ("t_WoundedB_2_DeadB" 1 "s_DeadB" 0.1 0.1 M. "Hum_WoundB2DeadB_M01.asc" F 1 139 FPS:10 CVS:0.1)
{
// *eventSFX (36 "FIG_DummyDie" EMPTY_SLOT )



4. Podmieniasz wskazany w punkcie 3 fragment na to:

// Todesstoß - Entfernung zwischen Bip01 Angreifer und Bip01 Opfer ca. 200 cm
ani ("t_1hSFinish" 1 "" 0.1 0.1 M. "Hum_1hSFinish_M03.asc" F 1 139 FPS:10)
{
*eventSFX (35 "FIG_SwordFinal" EMPTY_SLOT )

}

aniAlias ("t_2hSFinish" 1 "" 0.1 0.1 M. "t_1hSFinish" F)


// Dead Anis für t_1hSFinish

ani ("t_Wounded_2_Dead" 1 "s_Dead" 0.1 0.1 M. "Hum_Wound2Dead_A01.asc" F 1 89 CVS:0.1)

ani ("t_WoundedB_2_DeadB" 1 "s_DeadB" 0.1 0.1 M. "Hum_WoundB2DeadB_A01.asc" F 1 89 CVS:0.1)



5. Teraz musisz skopiować animacje z Gothica 2 . Chodzi o kilka plików znajdujących się w folderze Gothic II\_work\data\Anims\_compiled Są to następujące pliki:

HUMANS-S_WOUNDED.MAN
HUMANS-S_WOUNDEDB.MAN
HUMANS-T_STAND_2_WOUNDED.MAN
HUMANS-T_STAND_2_WOUNDEDB.MAN
HUMANS-T_WOUNDED_2_DEAD.MAN
HUMANS-T_WOUNDED_2_STAND.MAN
HUMANS-T_WOUNDEDB_2_DEADB.MAN
HUMANS-T_WOUNDEDB_2_STAND.MAN

Możesz po prostu je wyszukać w tym folderze po frazie "wounded". Kopiujesz te pliki i wklejasz je do Gothic\_work\DATA\ANIMS\_COMPILED podmieniając istniejące w tym folderze oryginalne pliki z jedynki.


5. Gotowe! W Gothicu I pojawiły się animacje dobijania z Gothica II.


UWAGA: Przed tą całą podmianką najlepiej zrób sobie kopię zapasową plików z Gothica I, które będziesz podmieniał. Możesz po prostu je wyszukać w tym folderze po frazie "wounded" i skopiować w bezpieczne miejsce.
Efekt z Visualfx. Tego typu zniekształcenia ekranu jak podczas opętania poszukiwaczy czy wypalenia ziela w G1 nie egzystują.
Jesteś pewien, że wciąż chcesz modować tę część?
Hejka. Próbuję przenieść pewien efekt wizualny z Gothic 2 do Gothic 1. Efekt ten ma być związany z rutyną danej postaci - przenoszę z Gothica 2 rutynę "zs_circle", czyli tę rutynę ktorą wykonują poszukiwacze nad okiem Innosa w kamiennym kręgu. Rutyna działa tylko mam problem, że nie działa ten efekt wizualny z czarem.

Poniżej opiszę co dokładnie zrobiłem.


1. Wkleiłem do Visualfxinst.d w Gothic\_work\DATA\scripts\system\VISUALFX to:


///    XXXXXXXXXXXXXXXXXXXXXXXXXXX
///    XX  I N V O C A T I O N  XX
///    XXXXXXXXXXXXXXXXXXXXXXXXXXX

INSTANCE spellFX_INCOVATION_RED (CFx_Base_Proto)
{
visname_S = "INVOCATION_RED";
emtrjmode_s = "FIXED";
emTrjOriginNode = "BIP01";
lightpresetname = "REDAMBIENCE";
    sfxid = "SFX_Circle";
      sfxisambient = 1;
};

INSTANCE spellFX_INCOVATION_GREEN (CFx_Base_Proto)
{
visname_S = "INVOCATION_GREEN";
emtrjmode_s = "FIXED";
emTrjOriginNode = "BIP01";
lightpresetname = "POISON";
    sfxid = "SFX_Circle";
      sfxisambient = 1;
};

INSTANCE spellFX_INCOVATION_BLUE (CFx_Base_Proto)
{
visname_S = "INVOCATION_BLUE";
emtrjmode_s = "FIXED";
emTrjOriginNode = "BIP01";
lightpresetname = "REDAMBIENCE";
    sfxid = "SFX_Circle";
      sfxisambient = 1;
};

INSTANCE spellFX_INCOVATION_VIOLET (CFx_Base_Proto)
{
visname_S = "INVOCATION_VIOLET";
emtrjmode_s = "FIXED";
emTrjOriginNode = "BIP01";
lightpresetname = "CATACLYSM";
    sfxid = "SFX_Circle";
      sfxisambient = 1;
};

INSTANCE spellFX_INCOVATION_WHITE (CFx_Base_Proto)
{
visname_S = "INVOCATION_WHITE";
emtrjmode_s = "FIXED";
emTrjOriginNode = "BIP01";
lightpresetname = "WHITEBLEND";
    sfxid = "SFX_Circle";
      sfxisambient = 1;
};


2. Wkleiłem w PFXMagic.d w Gothic\_work\DATA\scripts\system\PFX to:


PROTOTYPE INVOCATION (C_PARTICLEFX)
{
     ppsvalue = 30;
     ppsscalekeys_s = "1 1 2 2 2 3 3 4 4 5";
     ppsissmooth = 1;
     ppsfps = 3;
     shptype_s = "CIRCLE";
     shpfor_s = "WORLD";
     shpoffsetvec_s = "0 0 0";
     shpdistribtype_s = "RAND";
     shpdim_s = "120";
     shpscalekeys_s = "1 2 3 4 5 6 7 8 9 10";
     shpscaleissmooth = 1;
     shpscalefps = 3;
     dirmode_s = "RAND";
     dirfor_s = "object";
     diranglehead = 90;
     dirangleheadvar = 45;
     dirangleelev = 90;
     dirangleelevvar = 45;
     velavg = 0.100000001;
     lsppartavg = 1500;
     lsppartvar = 300;
     flygravity_s = "0 0.00008 0";
     visname_s = "MFX_MAGICCLOUD.TGA";
     visorientation_s = "VELO";
     vistexisquadpoly = 1;
     vistexanifps = 25;
     vistexaniislooping = 2;
     vistexcolorstart_s = "255 0 0";
     vistexcolorend_s = "255 0 0";
     vissizestart_s = "20 20";
     vissizeendscale = 20;
     visalphafunc_s = "ADD";
     visalphastart = 255;
     trltexture_s = "LIGHTNING_BIG_A0.TGA";
};

INSTANCE INVOCATION_RED  (INVOCATION)
{
vistexcolorstart_s = "255 0 0";
    vistexcolorend_s = "255 0 0";
};

INSTANCE INVOCATION_WHITE  (INVOCATION)
{
vistexcolorstart_s = "255 255 255";
    vistexcolorend_s = "255 255 255";
};

INSTANCE INVOCATION_BLUE  (INVOCATION)
{
vistexcolorstart_s = "0 0 255";
    vistexcolorend_s = "0 0 255";
};

INSTANCE INVOCATION_GREEN  (INVOCATION)
{
vistexcolorstart_s = "0 200 200";
    vistexcolorend_s = "0 200 200";
};

INSTANCE INVOCATION_VIOLET  (INVOCATION)
{
vistexcolorstart_s = "200 0 255";
    vistexcolorend_s = "255 0 200";
};

3. Pliki z teksturami MFX_MAGICCLOUD.TGA, LIGHTNING_BIG_A0.TGA, MFX_MAGICCLOUD-C.TEX i LIGHTNING_BIG_A0-C.TEX znajdują się na właściwym miejscu

4. Wstawiłem też rutynę. Rutyna ładnie działa z małym acz znaczącym zastrzeżeniem...

// ************************************
// ZS_Circle für Auge Innos Beschwörung
// ************************************


func void ZS_Circle ()
{
B_SetPerception(self);

// ------ PercTime überschreiben ------
Npc_SetPercTime (self, 0.3);


AI_StandUp (self);
AI_SetWalkmode (self,NPC_WALK); // Walkmode für den Zustand
AI_GotoWP (self, self.wp); // Gehe zum Tagesablaufstart
AI_AlignToWP (self);
};

func int ZS_Circle_Loop ()
{
var int randy;

if (self.guild == GIL_DEMON)
{
randy = Hlp_Random (1000);

if (Npc_GetStateTime(self) > randy)
{
Wld_PlayEffect("FX_EarthQuake",  self, self, 0, 0, 0, FALSE );
Npc_SetStateTime (self, 0);
Wld_PlayEffect("spellFX_INCOVATION_RED",  self, self, 0, 0, 0, FALSE );
AI_PlayAni (self,"T_PRACTICEMAGIC5");
};
};

return LOOP_CONTINUE;
};

func void ZS_Circle_End ()
{

};

5. I teraz przechodzimy do sedna: NPC, któremu przypisano rutynę wykonuje magiczny gest ciałem, efekt trzęsienia ziemi występuje też ładnie ale... no właśnie. Nie ma tego czerwonego efektu od czaru. i w tym właśnie tkwi problem.

Oczywiście zreparsowałem plik Gothic.src.

Bardzo prosiłbym o jakieś wskazówki jak rozwiązać ten problem.
Do góry