Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 

Ergebnis 1 bis 12 von 12
  1. Homepage besuchen Beiträge anzeigen #1 Zitieren
    Team Velen
    Registriert seit
    Aug 2015
    Beiträge
    952
     
    Bloodfly91 ist offline

    Aktuelles Leben und Mana mittig im jeweiligen Balken anzeigen lassen

    Hallo,
    es gab glaube ich vor gar nicht so langer Zeit schon mal einen Thread dazu, leider finde ich ihn aber nicht mehr. Ich möchte den aktuellen Wert von Mana und Leben mittig im jeweiligen Balken anzeigen lassen. Das Anzeigen der Werte selbst wäre soweit gar kein Problem. Problem ist aber, dass der Print (ich probiere es mit der LeGo-Funktion Print_Ext) immer unter den Balken sich befindet, also unter den jeweiligen Texturen. Wie verhindere ich, dass das passiert und der Text auf den Texturen angezeigt wird, bestenfalls auch noch genau mittig von diesen? Weiß da jemand eine Lösung?

  2. Beiträge anzeigen #2 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.780
     
    Kirides ist offline
    Zitat Zitat von Bloodfly91 Beitrag anzeigen
    Hallo,
    es gab glaube ich vor gar nicht so langer Zeit schon mal einen Thread dazu, leider finde ich ihn aber nicht mehr. Ich möchte den aktuellen Wert von Mana und Leben mittig im jeweiligen Balken anzeigen lassen. Das Anzeigen der Werte selbst wäre soweit gar kein Problem. Problem ist aber, dass der Print (ich probiere es mit der LeGo-Funktion Print_Ext) immer unter den Balken sich befindet, also unter den jeweiligen Texturen. Wie verhindere ich, dass das passiert und der Text auf den Texturen angezeigt wird, bestenfalls auch noch genau mittig von diesen? Weiß da jemand eine Lösung?
    Das liegt daran, dass die HP Bars später als eine FrameFunction gerendert werden und die Bars immer "ganz oben" angezeigt werden.

    Hier ist der Quellcode von meinem RenderBarValues Patch (gerade erstellt, höhö), mit dem man bei der HP und Mana Leiste jeweils die Zahlenwerte (vom Hero) angezeigt bekommt, sowie die leben von einem Fokus NPC.

    Spoiler:(zum lesen bitte Text markieren)
    Code:
    func void Patch_RenderBarValues_CloseIfOpen(var int viewPtr) {
        if(viewPtr) {
            var zCView view; view = _^(viewPtr);
            if (view.isOpen) {
                ViewPtr_Close(viewPtr);
            };
        };
    };
    
    func void Patch_RenderBarValues_TryShow(var int barPtr, var int viewPtr) {
        var oCViewStatusBar bar; bar = _^(barPtr);
        if (bar.zCView_ondesk) {
            ViewPtr_Open(viewPtr);
            ViewPtr_MoveTo(viewPtr, bar.zCView_vposx, bar.zCView_vposy);
        } else {
            Patch_RenderBarValues_CloseIfOpen(viewPtr);
        };
    };
    
    const string Patch_RenderBarValues_Font = "FONT_OLD_10_WHITE.TGA";
    const int Patch_RenderBarValues_hpView = 0;
    const int Patch_RenderBarValues_hpTextViewPtr = 0;
    
    const int Patch_RenderBarValues_mpView = 0;
    const int Patch_RenderBarValues_mpTextViewPtr = 0;
    
    const int Patch_RenderBarValues_focusHpView = 0;
    const int Patch_RenderBarValues_focusHpTextViewPtr = 0;
    
    func void Patch_RenderBarValues_RenderForBar(var int barPtr, var int viewPtr, var int textViewPtr, var int act, var int max) {
        var oCViewStatusBar bar; bar = _^(barPtr);
        if (!bar.zCView_ondesk) { return; };
    	
        var zCViewText tv; tv = _^(textViewPtr);
        var string text;
        text = IntToString(act);
        text = ConcatStrings(text, " / ");
        text = ConcatStrings(text, IntToString(max));
    	
        tv.text = text;
        tv.posx = Print_ToVirtual((bar.zCView_psizex - Print_GetStringWidth(text, Patch_RenderBarValues_Font)) / 2, bar.zCView_psizex);
        tv.posy = Print_ToVirtual((bar.zCView_psizey - Print_GetFontHeight(Patch_RenderBarValues_Font)) / 2, bar.zCView_psizey);
    
        ViewPtr_Top(viewPtr);
    };
    
    func void Patch_RenderBarValues() {
        var oCViewStatusBar hpBar; hpBar = _^(MEM_Game.hpBar);
        var oCViewStatusBar mpBar; mpBar = _^(MEM_Game.manaBar);
        var oCViewStatusBar focusBar; focusBar = _^(MEM_Game.focusBar);
    
        if (!Patch_RenderBarValues_hpView) {
            MEM_Info("RenderBarValues: Initializing views...");
            Patch_RenderBarValues_hpView = ViewPtr_Create(hpBar.zCView_vposx, hpBar.zCView_vposy, 1, 1);
            ViewPtr_ResizePxl(Patch_RenderBarValues_hpView, hpBar.zCView_psizex, Print_GetFontHeight(Patch_RenderBarValues_Font));
    
            Patch_RenderBarValues_hpTextViewPtr = Print_CreateTextPtr("", Patch_RenderBarValues_Font);
            ViewPtr_AddTextView(Patch_RenderBarValues_hpView, Patch_RenderBarValues_hpTextViewPtr);
    
            Patch_RenderBarValues_mpView = ViewPtr_Create(mpBar.zCView_vposx, mpBar.zCView_vposy, 1, 1);
            ViewPtr_ResizePxl(Patch_RenderBarValues_mpView, mpBar.zCView_psizex, Print_GetFontHeight(Patch_RenderBarValues_Font));
    
            Patch_RenderBarValues_mpTextViewPtr = Print_CreateTextPtr("", Patch_RenderBarValues_Font);
            ViewPtr_AddTextView(Patch_RenderBarValues_mpView, Patch_RenderBarValues_mpTextViewPtr);
    
            Patch_RenderBarValues_focusHpView = ViewPtr_Create(mpBar.zCView_vposx, mpBar.zCView_vposy, 1, 1);
            ViewPtr_ResizePxl(Patch_RenderBarValues_focusHpView, mpBar.zCView_psizex, Print_GetFontHeight(Patch_RenderBarValues_Font));
    
            Patch_RenderBarValues_focusHpTextViewPtr = Print_CreateTextPtr("", Patch_RenderBarValues_Font);
            ViewPtr_AddTextView(Patch_RenderBarValues_focusHpView, Patch_RenderBarValues_focusHpTextViewPtr);
        };
    
        Patch_RenderBarValues_TryShow(MEM_Game.hpBar, Patch_RenderBarValues_hpView);
        Patch_RenderBarValues_TryShow(MEM_Game.manaBar, Patch_RenderBarValues_mpView);
        Patch_RenderBarValues_TryShow(MEM_Game.focusBar, Patch_RenderBarValues_focusHpView);
    
        Patch_RenderBarValues_RenderForBar(MEM_Game.hpBar, Patch_RenderBarValues_hpView, Patch_RenderBarValues_hpTextViewPtr, hero.attribute[ATR_HITPOINTS], hero.attribute[ATR_HITPOINTS_MAX]);
        Patch_RenderBarValues_RenderForBar(MEM_Game.manaBar, Patch_RenderBarValues_mpView, Patch_RenderBarValues_mpTextViewPtr, hero.attribute[ATR_MANA], hero.attribute[ATR_MANA_MAX]);
    	
        if (focusBar.zCView_ondesk) {
            var oCNpc oNpc; oNpc = MEM_CpyInst(hero);
            if (Hlp_Is_oCNpc(oNpc.focus_vob)) {
                oNpc = _^(oNpc.focus_vob);
    
                Patch_RenderBarValues_RenderForBar(MEM_Game.focusBar, Patch_RenderBarValues_focusHpView, Patch_RenderBarValues_focusHpTextViewPtr, oNpc.attribute[ATR_HITPOINTS], oNpc.attribute[ATR_HITPOINTS_MAX]);
            };
        };
    };
    
    func void Patch_RenderBarValues_Init() {
        const int oCGame__Render_AfterUpdatePlayerStatus_G1 = 6545007; // 0063de6f, size:6
        const int oCGame__Render_AfterUpdatePlayerStatus_G2 = 7113181; // 006c89dd, size:6
        HookEngineF(
            MEMINT_SwitchG1G2(oCGame__Render_AfterUpdatePlayerStatus_G1, oCGame__Render_AfterUpdatePlayerStatus_G2),
            6,
            Patch_RenderBarValues);
    };
    
    func void Ninja_RenderBarValues_Init() {
        MEM_InitAll();
        LeGo_MergeFlags( LeGo_Interface | LeGo_HookEngine );
    
        Patch_RenderBarValues_Init();
    };
    Geändert von Kirides (10.09.2021 um 12:39 Uhr) Grund: Update: Zeigt jetzt auch Leben von Fokus NPC an

  3. Beiträge anzeigen #3 Zitieren
    Ehrengarde Avatar von neocromicon
    Registriert seit
    Jan 2019
    Beiträge
    2.484
     
    neocromicon ist offline
    Darf ich teile des Codes für ShowAlwaysImportantsStats verwenden?

  4. Beiträge anzeigen #4 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.780
     
    Kirides ist offline
    Zitat Zitat von neocromicon Beitrag anzeigen
    Darf ich teile des Codes für ShowAlwaysImportantsStats verwenden?
    Ich hab das ding bereits als separaten Patch veröffentlicht, kommt drauf an wofür du den Code verwenden willst

  5. Beiträge anzeigen #5 Zitieren
    Ehrengarde Avatar von neocromicon
    Registriert seit
    Jan 2019
    Beiträge
    2.484
     
    neocromicon ist offline
    Zitat Zitat von Kirides Beitrag anzeigen
    Ich hab das ding bereits als separaten Patch veröffentlicht, kommt drauf an wofür du den Code verwenden willst
    Der Patch kann ebenfalls die HP/MP/Gegner Anzeigen. Ich hatte damals aber auch immer das Problem das die Bar's immer über dem Text wahren Daher lasse ich den Text über den Bar's anzeigen, mit deinem Hook könnte ich aber dieses Problem endlich beheben und so anzeigen lassen wie ich es ursprünglich wollte Daher die frage ob ich die wichtigen Teile, die dafür verantwortlich sind bei mir mit einbauen darf ^^

  6. Beiträge anzeigen #6 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.780
     
    Kirides ist offline
    Zitat Zitat von neocromicon Beitrag anzeigen
    Der Patch kann ebenfalls die HP/MP/Gegner Anzeigen. Ich hatte damals aber auch immer das Problem das die Bar's immer über dem Text wahren Daher lasse ich den Text über den Bar's anzeigen, mit deinem Hook könnte ich aber dieses Problem endlich beheben und so anzeigen lassen wie ich es ursprünglich wollte Daher die frage ob ich die wichtigen Teile, die dafür verantwortlich sind bei mir mit einbauen darf ^^
    jo klar, wenns so läuft wie wollt

  7. Beiträge anzeigen #7 Zitieren

  8. Homepage besuchen Beiträge anzeigen #8 Zitieren
    Team Velen
    Registriert seit
    Aug 2015
    Beiträge
    952
     
    Bloodfly91 ist offline
    Super, vielen Dank!

    Zitat Zitat von Kirides Beitrag anzeigen
    Das liegt daran, dass die HP Bars später als eine FrameFunction gerendert werden und die Bars immer "ganz oben" angezeigt werden.

    Hier ist der Quellcode von meinem RenderBarValues Patch (gerade erstellt, höhö), mit dem man bei der HP und Mana Leiste jeweils die Zahlenwerte (vom Hero) angezeigt bekommt, sowie die leben von einem Fokus NPC.

    Spoiler:(zum lesen bitte Text markieren)
    Code:
    func void Patch_RenderBarValues_CloseIfOpen(var int viewPtr) {
        if(viewPtr) {
            var zCView view; view = _^(viewPtr);
            if (view.isOpen) {
                ViewPtr_Close(viewPtr);
            };
        };
    };
    
    func void Patch_RenderBarValues_TryShow(var int barPtr, var int viewPtr) {
        var oCViewStatusBar bar; bar = _^(barPtr);
        if (bar.zCView_ondesk) {
            ViewPtr_Open(viewPtr);
            ViewPtr_MoveTo(viewPtr, bar.zCView_vposx, bar.zCView_vposy);
        } else {
            Patch_RenderBarValues_CloseIfOpen(viewPtr);
        };
    };
    
    const string Patch_RenderBarValues_Font = "FONT_OLD_10_WHITE.TGA";
    const int Patch_RenderBarValues_hpView = 0;
    const int Patch_RenderBarValues_hpTextViewPtr = 0;
    
    const int Patch_RenderBarValues_mpView = 0;
    const int Patch_RenderBarValues_mpTextViewPtr = 0;
    
    const int Patch_RenderBarValues_focusHpView = 0;
    const int Patch_RenderBarValues_focusHpTextViewPtr = 0;
    
    func void Patch_RenderBarValues_RenderForBar(var int barPtr, var int viewPtr, var int textViewPtr, var int act, var int max) {
        var oCViewStatusBar bar; bar = _^(barPtr);
        if (!bar.zCView_ondesk) { return; };
    	
        var zCViewText tv; tv = _^(textViewPtr);
        var string text;
        text = IntToString(act);
        text = ConcatStrings(text, " / ");
        text = ConcatStrings(text, IntToString(max));
    	
        tv.text = text;
        tv.posx = Print_ToVirtual((bar.zCView_psizex - Print_GetStringWidth(text, Patch_RenderBarValues_Font)) / 2, bar.zCView_psizex);
        tv.posy = Print_ToVirtual((bar.zCView_psizey - Print_GetFontHeight(Patch_RenderBarValues_Font)) / 2, bar.zCView_psizey);
    
        ViewPtr_Top(viewPtr);
    };
    
    func void Patch_RenderBarValues() {
        var oCViewStatusBar hpBar; hpBar = _^(MEM_Game.hpBar);
        var oCViewStatusBar mpBar; mpBar = _^(MEM_Game.manaBar);
        var oCViewStatusBar focusBar; focusBar = _^(MEM_Game.focusBar);
    
        if (!Patch_RenderBarValues_hpView) {
            MEM_Info("RenderBarValues: Initializing views...");
            Patch_RenderBarValues_hpView = ViewPtr_Create(hpBar.zCView_vposx, hpBar.zCView_vposy, 1, 1);
            ViewPtr_ResizePxl(Patch_RenderBarValues_hpView, hpBar.zCView_psizex, Print_GetFontHeight(Patch_RenderBarValues_Font));
    
            Patch_RenderBarValues_hpTextViewPtr = Print_CreateTextPtr("", Patch_RenderBarValues_Font);
            ViewPtr_AddTextView(Patch_RenderBarValues_hpView, Patch_RenderBarValues_hpTextViewPtr);
    
            Patch_RenderBarValues_mpView = ViewPtr_Create(mpBar.zCView_vposx, mpBar.zCView_vposy, 1, 1);
            ViewPtr_ResizePxl(Patch_RenderBarValues_mpView, mpBar.zCView_psizex, Print_GetFontHeight(Patch_RenderBarValues_Font));
    
            Patch_RenderBarValues_mpTextViewPtr = Print_CreateTextPtr("", Patch_RenderBarValues_Font);
            ViewPtr_AddTextView(Patch_RenderBarValues_mpView, Patch_RenderBarValues_mpTextViewPtr);
    
            Patch_RenderBarValues_focusHpView = ViewPtr_Create(mpBar.zCView_vposx, mpBar.zCView_vposy, 1, 1);
            ViewPtr_ResizePxl(Patch_RenderBarValues_focusHpView, mpBar.zCView_psizex, Print_GetFontHeight(Patch_RenderBarValues_Font));
    
            Patch_RenderBarValues_focusHpTextViewPtr = Print_CreateTextPtr("", Patch_RenderBarValues_Font);
            ViewPtr_AddTextView(Patch_RenderBarValues_focusHpView, Patch_RenderBarValues_focusHpTextViewPtr);
        };
    
        Patch_RenderBarValues_TryShow(MEM_Game.hpBar, Patch_RenderBarValues_hpView);
        Patch_RenderBarValues_TryShow(MEM_Game.manaBar, Patch_RenderBarValues_mpView);
        Patch_RenderBarValues_TryShow(MEM_Game.focusBar, Patch_RenderBarValues_focusHpView);
    
        Patch_RenderBarValues_RenderForBar(MEM_Game.hpBar, Patch_RenderBarValues_hpView, Patch_RenderBarValues_hpTextViewPtr, hero.attribute[ATR_HITPOINTS], hero.attribute[ATR_HITPOINTS_MAX]);
        Patch_RenderBarValues_RenderForBar(MEM_Game.manaBar, Patch_RenderBarValues_mpView, Patch_RenderBarValues_mpTextViewPtr, hero.attribute[ATR_MANA], hero.attribute[ATR_MANA_MAX]);
    	
        if (focusBar.zCView_ondesk) {
            var oCNpc oNpc; oNpc = MEM_CpyInst(hero);
            if (Hlp_Is_oCNpc(oNpc.focus_vob)) {
                oNpc = _^(oNpc.focus_vob);
    
                Patch_RenderBarValues_RenderForBar(MEM_Game.focusBar, Patch_RenderBarValues_focusHpView, Patch_RenderBarValues_focusHpTextViewPtr, oNpc.attribute[ATR_HITPOINTS], oNpc.attribute[ATR_HITPOINTS_MAX]);
            };
        };
    };
    
    func void Patch_RenderBarValues_Init() {
        const int oCGame__Render_AfterUpdatePlayerStatus_G1 = 6545007; // 0063de6f, size:6
        const int oCGame__Render_AfterUpdatePlayerStatus_G2 = 7113181; // 006c89dd, size:6
        HookEngineF(
            MEMINT_SwitchG1G2(oCGame__Render_AfterUpdatePlayerStatus_G1, oCGame__Render_AfterUpdatePlayerStatus_G2),
            6,
            Patch_RenderBarValues);
    };
    
    func void Ninja_RenderBarValues_Init() {
        MEM_InitAll();
        LeGo_MergeFlags( LeGo_Interface | LeGo_HookEngine );
    
        Patch_RenderBarValues_Init();
    };

  9. Homepage besuchen Beiträge anzeigen #9 Zitieren
    Team Velen
    Registriert seit
    Aug 2015
    Beiträge
    952
     
    Bloodfly91 ist offline
    Zitat Zitat von Kirides Beitrag anzeigen
    Das liegt daran, dass die HP Bars später als eine FrameFunction gerendert werden und die Bars immer "ganz oben" angezeigt werden.

    Hier ist der Quellcode von meinem RenderBarValues Patch (gerade erstellt, höhö), mit dem man bei der HP und Mana Leiste jeweils die Zahlenwerte (vom Hero) angezeigt bekommt, sowie die leben von einem Fokus NPC.

    Spoiler:(zum lesen bitte Text markieren)
    Code:
    func void Patch_RenderBarValues_CloseIfOpen(var int viewPtr) {
        if(viewPtr) {
            var zCView view; view = _^(viewPtr);
            if (view.isOpen) {
                ViewPtr_Close(viewPtr);
            };
        };
    };
    
    func void Patch_RenderBarValues_TryShow(var int barPtr, var int viewPtr) {
        var oCViewStatusBar bar; bar = _^(barPtr);
        if (bar.zCView_ondesk) {
            ViewPtr_Open(viewPtr);
            ViewPtr_MoveTo(viewPtr, bar.zCView_vposx, bar.zCView_vposy);
        } else {
            Patch_RenderBarValues_CloseIfOpen(viewPtr);
        };
    };
    
    const string Patch_RenderBarValues_Font = "FONT_OLD_10_WHITE.TGA";
    const int Patch_RenderBarValues_hpView = 0;
    const int Patch_RenderBarValues_hpTextViewPtr = 0;
    
    const int Patch_RenderBarValues_mpView = 0;
    const int Patch_RenderBarValues_mpTextViewPtr = 0;
    
    const int Patch_RenderBarValues_focusHpView = 0;
    const int Patch_RenderBarValues_focusHpTextViewPtr = 0;
    
    func void Patch_RenderBarValues_RenderForBar(var int barPtr, var int viewPtr, var int textViewPtr, var int act, var int max) {
        var oCViewStatusBar bar; bar = _^(barPtr);
        if (!bar.zCView_ondesk) { return; };
    	
        var zCViewText tv; tv = _^(textViewPtr);
        var string text;
        text = IntToString(act);
        text = ConcatStrings(text, " / ");
        text = ConcatStrings(text, IntToString(max));
    	
        tv.text = text;
        tv.posx = Print_ToVirtual((bar.zCView_psizex - Print_GetStringWidth(text, Patch_RenderBarValues_Font)) / 2, bar.zCView_psizex);
        tv.posy = Print_ToVirtual((bar.zCView_psizey - Print_GetFontHeight(Patch_RenderBarValues_Font)) / 2, bar.zCView_psizey);
    
        ViewPtr_Top(viewPtr);
    };
    
    func void Patch_RenderBarValues() {
        var oCViewStatusBar hpBar; hpBar = _^(MEM_Game.hpBar);
        var oCViewStatusBar mpBar; mpBar = _^(MEM_Game.manaBar);
        var oCViewStatusBar focusBar; focusBar = _^(MEM_Game.focusBar);
    
        if (!Patch_RenderBarValues_hpView) {
            MEM_Info("RenderBarValues: Initializing views...");
            Patch_RenderBarValues_hpView = ViewPtr_Create(hpBar.zCView_vposx, hpBar.zCView_vposy, 1, 1);
            ViewPtr_ResizePxl(Patch_RenderBarValues_hpView, hpBar.zCView_psizex, Print_GetFontHeight(Patch_RenderBarValues_Font));
    
            Patch_RenderBarValues_hpTextViewPtr = Print_CreateTextPtr("", Patch_RenderBarValues_Font);
            ViewPtr_AddTextView(Patch_RenderBarValues_hpView, Patch_RenderBarValues_hpTextViewPtr);
    
            Patch_RenderBarValues_mpView = ViewPtr_Create(mpBar.zCView_vposx, mpBar.zCView_vposy, 1, 1);
            ViewPtr_ResizePxl(Patch_RenderBarValues_mpView, mpBar.zCView_psizex, Print_GetFontHeight(Patch_RenderBarValues_Font));
    
            Patch_RenderBarValues_mpTextViewPtr = Print_CreateTextPtr("", Patch_RenderBarValues_Font);
            ViewPtr_AddTextView(Patch_RenderBarValues_mpView, Patch_RenderBarValues_mpTextViewPtr);
    
            Patch_RenderBarValues_focusHpView = ViewPtr_Create(mpBar.zCView_vposx, mpBar.zCView_vposy, 1, 1);
            ViewPtr_ResizePxl(Patch_RenderBarValues_focusHpView, mpBar.zCView_psizex, Print_GetFontHeight(Patch_RenderBarValues_Font));
    
            Patch_RenderBarValues_focusHpTextViewPtr = Print_CreateTextPtr("", Patch_RenderBarValues_Font);
            ViewPtr_AddTextView(Patch_RenderBarValues_focusHpView, Patch_RenderBarValues_focusHpTextViewPtr);
        };
    
        Patch_RenderBarValues_TryShow(MEM_Game.hpBar, Patch_RenderBarValues_hpView);
        Patch_RenderBarValues_TryShow(MEM_Game.manaBar, Patch_RenderBarValues_mpView);
        Patch_RenderBarValues_TryShow(MEM_Game.focusBar, Patch_RenderBarValues_focusHpView);
    
        Patch_RenderBarValues_RenderForBar(MEM_Game.hpBar, Patch_RenderBarValues_hpView, Patch_RenderBarValues_hpTextViewPtr, hero.attribute[ATR_HITPOINTS], hero.attribute[ATR_HITPOINTS_MAX]);
        Patch_RenderBarValues_RenderForBar(MEM_Game.manaBar, Patch_RenderBarValues_mpView, Patch_RenderBarValues_mpTextViewPtr, hero.attribute[ATR_MANA], hero.attribute[ATR_MANA_MAX]);
    	
        if (focusBar.zCView_ondesk) {
            var oCNpc oNpc; oNpc = MEM_CpyInst(hero);
            if (Hlp_Is_oCNpc(oNpc.focus_vob)) {
                oNpc = _^(oNpc.focus_vob);
    
                Patch_RenderBarValues_RenderForBar(MEM_Game.focusBar, Patch_RenderBarValues_focusHpView, Patch_RenderBarValues_focusHpTextViewPtr, oNpc.attribute[ATR_HITPOINTS], oNpc.attribute[ATR_HITPOINTS_MAX]);
            };
        };
    };
    
    func void Patch_RenderBarValues_Init() {
        const int oCGame__Render_AfterUpdatePlayerStatus_G1 = 6545007; // 0063de6f, size:6
        const int oCGame__Render_AfterUpdatePlayerStatus_G2 = 7113181; // 006c89dd, size:6
        HookEngineF(
            MEMINT_SwitchG1G2(oCGame__Render_AfterUpdatePlayerStatus_G1, oCGame__Render_AfterUpdatePlayerStatus_G2),
            6,
            Patch_RenderBarValues);
    };
    
    func void Ninja_RenderBarValues_Init() {
        MEM_InitAll();
        LeGo_MergeFlags( LeGo_Interface | LeGo_HookEngine );
    
        Patch_RenderBarValues_Init();
    };
    Zwar etwas spät und vermutlich bin ich gerade einfach nur doof, doch bei mir werden mit dem Skript keine Werte auf den Balken angezeigt in Gothic 2. Ich verwende ansonsten eigentlich nur zwei weitere Skripte, die mit den Balken zu tun haben, die sollten aber normalerweise keine Probleme machen sicherheitshalber hatte ich sie beide sogar mal vollständig deaktiviert. Es müsste doch lediglich die Patch_RenderBarValues_Init in der Startup aufgerufen werden, oder?

  10. Homepage besuchen Beiträge anzeigen #10 Zitieren
    Team Velen
    Registriert seit
    Aug 2015
    Beiträge
    952
     
    Bloodfly91 ist offline
    Zitat Zitat von Bloodfly91 Beitrag anzeigen
    Zwar etwas spät und vermutlich bin ich gerade einfach nur doof, doch bei mir werden mit dem Skript keine Werte auf den Balken angezeigt in Gothic 2. Ich verwende ansonsten eigentlich nur zwei weitere Skripte, die mit den Balken zu tun haben, die sollten aber normalerweise keine Probleme machen sicherheitshalber hatte ich sie beide sogar mal vollständig deaktiviert. Es müsste doch lediglich die Patch_RenderBarValues_Init in der Startup aufgerufen werden, oder?
    Problem gelöst. Ich habe gerade LeGo auf die 2.8.0 aktualisiert, eigentlich aus einem anderen Grund, dabei habe ich aber festgestellt, dass die Werte nun angezeigt werden.

  11. Beiträge anzeigen #11 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Bedenke dabei noch, das Prefix “Patch_” überall zu entfernen.

  12. Homepage besuchen Beiträge anzeigen #12 Zitieren
    Team Velen
    Registriert seit
    Aug 2015
    Beiträge
    952
     
    Bloodfly91 ist offline
    Zitat Zitat von mud-freak Beitrag anzeigen
    Bedenke dabei noch, das Prefix “Patch_” überall zu entfernen.
    Gut, dass du das erwähnst. Das hätte ich wohl tatsächlich vergessen. Gestern noch die ganze Zeit dran gedacht, dann aber irgendwie wieder völlig ausgeblendet...

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
Impressum | Link Us | intern
World of Gothic © by World of Gothic Team
Gothic, Gothic 2 & Gothic 3 are © by Piranha Bytes & Egmont Interactive & JoWooD Productions AG, all rights reserved worldwide