Beiträge von el76

    Bin mir grad nicht sicher ob ich verstanden habe was du meinst, aber
    der Wert für scope ist standartmäßig ein "String" und mit dem Define kannst du dem String auch eine Zahl zuweisen.


    Als Beispiel stelle ich mal einen Auszug aus einer Config hier rein, in der ich auf bestehende Configs zurück greife und diese erweitere, bzw. ein paar Parameter überschreibe.



    #define private 0
    #define protected 1
    #define public 2


    #define TEast 0
    #define TWest 1
    #define TGuerrila 2
    #define TCivilian 3
    #define TSideUnknown 4
    #define TEnemy 5
    #define TFriendly 6
    #define TLogic



    class CfgPatches
    {
    class PLD_vehicles
    {
    units[] =
    {
    "PLD_hatchback","PLD_SkodaRed","PLD_Skodablue","PLD_Skodagreen","PLD_s1203",
    "PLD_VWGolf","PLD_civic","PLD_SUV","PLD_Volhablack","PLD_Volhablue","PLD_Volhagrey","PLD_sedan","PLD_Ladawhite","PLD_Ladared",
    "PLD_hilux_red","PLD_hilux_tan","PLD_hilux_white","PLD_LandRover_red",
    "PLD_monaco","PLD_Roadrunner_green","PLD_Roadrunner_yel","PLD_cuda","PLD_440cuda","PLD_barracuda","PLD_hemicuda70","PLD_hemicuda71",PLD_fury,
    "PLD_Mackr",
    "PLD_LadaPolice","PLD_SUV_Police","PLD_CVI_Patrol","PLD_CVPI_Trooper_Patrol","PLD_CVPI_TrooperSL_Patrol","PLD_CVPI_HighwaySL_Patrol","PLD_sahco","PLD_jailbus",
    "PLD_MH6J_Police"
    };
    weapons[] = {};
    requiredVersion = 0.10;
    requiredAddons[] = {"CAWheeled2", "CACharacters2", "CAWeapons", "PLD_data", "PLD_weapons"};
    };
    };




    class CfgvehicleClasses {
    class PLD_vehicles_Class {


    displayname = "PLD-Life Vehicles";
    };
    };


    class CfgVehicles {


    class car {
    class EventHandlers
    {
    init = "_this execVM '\PLD_vehicles\data\script\add_action.sqf';";
    engine = "_this execVM '\PLD_vehicles\data\script\pld_acceleration.sqf';";
    };

    };


    class car_hatchback;
    class PLD_hatchback : car_hatchback {
    scope = public;
    faction = "PLDCiv";
    vehicleClass = "PLD_Vehicles_Class";
    displayname = "VW Scirocco";
    picture = "pld_vehicles\data\images\pld_hatchback_ca.paa";
    // statement="[this] execVM ""\PLD_vehicles\data\script\action_lock.sqf""";


    PLD_weight = 980;
    PLD_cost = 6000;
    PLD_trunk = 100;


    };


    class SkodaRed;
    class PLD_SkodaRed : SkodaRed {
    scope = public;
    faction = "PLDCiv";
    vehicleClass = "PLD_Vehicles_Class";
    displayname = "Skoda 105 (red)";
    picture = "pld_vehicles\data\images\pld_skodared_ca.paa";


    PLD_weight = 915;
    PLD_cost = 9000;
    PLD_trunk = 150;


    };


    Die funzt einwandfrei so wie es hier steht.
    Kann also entweder 2 oder public dort hin schreiben.

    Zu deiner Konfig:


    1.)
    model = "box.p3d";


    Wie sieht dein Arbeitsverzeichnis aus ?


    z.B.:


    Du erstellst auf p: einen Ordner z.B. FP_building
    Darin packst du deine p3d-Datei und deine config.cpp.


    Danach müßte der Eintrag von oben so aussehen:


    model = "\FP_building\box";


    Wenn du am Ende die pbo-Datei erstellst mit BinPBO,
    mußt du den Ordner bei Addon Source directory eintragen.


    Dazu fällt mir aber noch, daß ich wohl mal ein paar Screenshots von den Einstellungen für BinPBO machen muß...:p



    2.)


    scope = 2;


    Damit das Spiel das versteht mußt du erstmal definieren, was mit 2 gemeint ist in diesem Fall.


    #define true 1
    #define false 0
    #define private 0
    #define protected 1
    #define public 2


    Das ist die Zuordnung und muß ganz am Anfang stehen oder du läßt das weg
    und schreibst es dort direkt hin:


    scope = public;



    Mit #define kann man Werte vordefinieren, damit man nicht jedesmal das ganze als Text schreiben muß. Ist allerdings nur eine Vereinfachung für config-Dateien in den mehrere Objekte definiert werden.


    Das wäre soweit das erste was mir aufgefallen ist, muß aber nicht heißen das es daran lag oder du müßtest nochmal kurz beschreiben, was du bis dato gemacht hast.

    Zu den LOD's:


    Solltest du mal kurz überfliegen:


    http://community.bistudio.com/wiki/LOD


    Da steht auch zu jeder LOD die Bedingungen die erfüllt sein müssen.
    Erschreck aber nicht bei den ganzen LODs.
    Die wichtigsten sind:


    Resolution-LOD => 0.000 reicht am Anfang erstmal, alle anderen können später erstellt werden.


    Geometry-LOD => Kollisionsmodell

    ShadowVolume
    => So einfach wie möglich gestalten, wird für die Berechnung der Schatten benutzt (Bedingungen beachten !).
    Ist diese nicht vorhanden, wwerden die Resolution LOD's genommen. Erstelle ich meist am Ende erst.


    LandContact-LOD => Nur bei Fahrzeugen wichtig. Einzelne Punkte markieren den Bodenkontakt.

    RoadWay-LOD
    => Bei Gebäuden wichtig. Hier werden alle Flächen definiert die begehbar sein sollen.


    Den Rest kannst du erstmal außen vor lassen, es sei denn du willst ein Fahrzeug basteln. Das würde ich zum Einstieg aber vorerst nicht empfehlen.





    P.S.: Fire-LOD kann man erstellen, muß man aber nicht. Wenn die Fire-LOD nicht da ist, nimmt die das Spiel die Geometry-LOD.

    Hier mal eine simple config.cpp für ein Gebäude


    #define true 1
    #define false 0


    #define private 0
    #define protected 1
    #define public 2


    class CfgPatches {
    class Land_parkhouse {
    units[] = {};
    weapons[] = {};
    requiredVersion = 0.1;
    requiredAddons[] = {"CAstructuresHouse"};
    };
    };


    class CfgVehicles {
    class HouseBase; // External class reference

    class House : HouseBase {
    class DestructionEffects; // External class reference
    };
    class Ruins; // External class reference

    class Land_parkhouse : House {
    scope = 2; // Setzt man den Wert auf 2, erscheint das Objekt im Editor
    armor = 1000;
    model = "\PLD_objects\parkhouse"; //Name des p3d-Modell ohne das .p3d drin
    ladders[] = {};


    };


    };




    Land_parkhouse -> Bei Gebäuden muß das Land_ davor

    Ich versuch mal eine ganz einfache Konfig mit Kommentaren zu erstellen.
    Gebäude sind grundsätzlich nicht so schwer. Erst wenn noch Animationen z.B. Türen oder Leitern hinzu kommen, wird es aufwendiger.

    Denn dann brauchst du im Model erstmal die Memory-LOD in der du z.B. Rotationsachsen definerst. Dann wird noch eine Model.cfg benötigt, in der du die ganze Animationen deklarierst (Kann ja mal die vom Dodge Charger hier reintellen).

    Noch etwas zu den LODs, was mir so spontan einfällt

    - Geometry-LOD: Kollisionsmodel, hier muß dem Modell auch eine Masse zugewiesen werden.
    - Shadow-LOD: Modell für die Schattenberechnung, hat einige Besonderheiten die erfüllt werden müssen z.B. nur dreieckige Polygone, etc...
    - Roadway-LOD: Für alle Horizontalen od. geneigten Fläche die begehbar sein sollen muß diese erstellt werden.