Modded Class. Wie funktionierts?

  • Hallo,


    ich würde gerne eine Klasse erweitern, um genau zu sein würde ich gerne die PlayerBase Klasse erweitern.

    In der Klasse möchte ich gerne meinen Controller als Feld anhängen (ShzSpawner).


    In dem Beitrag (guide-dayz-standalone-scripting-enforce-scripting)

    hatte ich das keyword "modded" gefunden was dazu da sein soll um vorhandene Klassen zu überschreiben.


    Ich krieg das aber leider nicht hin und finde nirgendswo einen Lösungsansatz wie dieses keyword richtig benutzt wird.

    Ich erhalte beim Ausführen die Fehlermeldung:


    Compiler Error

    Can't compile mission init script'!"

    $CurrentDir:.\\Missions\\dayzOffline.ChernarusPlus\init.c(118): Unknown type 'PlayerBase'


    Anbei mein Code:


    Missions Script (init.c)

    Code
    #include "$CurrentDir:.\\Missions\\dayzOffline.ChernarusPlus\\scripts\\PlayerBase.c"

    Alles andere unverändert.


    PlayerBase Überschreibung (.../dayzOffline.ChernarusPlus/scripts/PlayerBase.c):


    Selbst bei einer leeren Datei kommt derselbe Fehler:

    Code
    modded class PlayerBase
    {
    
    }


    Workaround wäre wahrscheinlich die PlayerBase Klasse zu extenden und meine Klasse zu typcasten, würde es aber schöner finden dieses keyword zu benutzen. :/

    In der Api (DayZ Enforce Script Api) hatte ich leider auch nichts zu dem keyword finden können.


    Jemand nen Plan wie man das Keyword benutzt? :saint:


    Lg, Shadowzrow

  • Hab es glaube ich selber jetzt herrausgefunden.


    Man benötigt eine richtige Struktur und kann (leider) nicht einfach so in seiner Mission herrumbauen,

    auch wenn man nur für Singleplayer Coop eine Mission bauen möchte.


    Per Pbo Manager sieht man das die PlayerBase Klasse im World Module sitzt welches ich zuvor in der Mission ändern wollte.

    Die Mission ist ein anderes Module ist und deswegen kommt denke ich mal auch der Error das er den Typ nicht finden kann.


    Das ganze kann man dort einschauen:

    Code
    .../Steam/steamapps/common/DayZ Tools/Bin/Workbench/dta/scripts.pbo


    Man findet dann die Klasse nach dem entpacken unter:

    Code
    .../scripts/4_World/Entities/ManBase/PlayerBase.c


    Kann aber auch alles Quatsch sein. Noch keine Zeit zum schreiben gehabt. :S


    Anbei ein gutes Video:

    https://www.youtube.com/watch?v=ZQaytVeEwKo


    In der Beschreibung dort ist ein Template was man herunterladen kann und die Struktur verdeutlicht.


    Hoffe ich konnte anderen helfen, die auch in der Lernphase sind und über solche Probleme stolpern. :saint:


    Lg, Shadowzrow