Beiträge von Loganpunkt

    So ;)
    Ein zweites Tutorial.
    Fangen wir an.
    Als erstes brauchen wir 2 Includes.
    #include <zcmd>
    #include <dini>
    Na ? War doch nicht so schwer.


    Jetzt definieren wir 2 Sachen ;)
    #undef MAX_VEHICLES
    #define MAX_VEHICLES 5 // Erstmal 5 das könnt ihr beliebig ändern



    So nun machen wir noch ein enum wo wir alles speichern und aufbewahren.


    enum vInfo
    {
    vModel, // Vehicle Model
    Float:vPosx, // Vehicle X Position
    Float:vPosy, // Vehicle Y Position
    Float:vPosz, // Vehicle Z Position
    Float:vPosa, // Vehicle A Position
    vColor1, // Vehicle Farbe ID 1
    vColor2, // Vehicle Farbe ID 2
    vvw, // Virtuelle Welt vom Fahrzeug
    vPlate[10], // Nummernschild. Nicht nötig aber warum nicht?
    }


    new VehicleInfo[][vInfo] = //
    {
    {540,-2937.5,-2927.5, 19.2819, 268.0262,1,1,0,"Platte - 0"}, // Das ist ID 0 , wird nie benutzt aber lass es hier ;)
    {540,-2947.5,-2927.5, 19.2819, 268.0262,1,1,0,"Platte - 1"}, // ID 1
    {540,-2957.5,-2927.5, 19.2819, 268.0262,1,1,0,"Platte - 2"}, // ID 2
    {540,-2967.5,-2927.5, 19.2819, 268.0262,1,1,0,"Platte - 3"}, // ID 3
    {540,-2977.5,-2927.5, 19.2819, 268.0262,1,1,0,"Platte - 4"} // ID 4
    };


    So nun unter OnGameModeInit schreiben wir jetzt


    LoadVehicles(); // Läd alle Fahrzeuge wenn der Server startet


    Das können wir aber nicht so stehen lassen also erstellen wir uns ein Stock.


    stock LoadVehicles()
    {
    for(new i = 1; i < sizeof(VehicleInfo); i++) // Läd die Autos
    {
    if( !dini_Exists( CarFile(i) ) ) // Wenn die Datei nicht existiert.
    {
    dini_Create(CarFile(i)); // Wird erstellt
    printf("%s created!", CarFile(i)); // Die Fahrzeug ID wird in die Console geschrieben
    new iStr[10]; // Für das Nummernschild
    dini_IntSet(CarFile(i), "model", VehicleInfo[i][vModel]); // Hier wird das Model gesetzt.
    dini_FloatSet(CarFile(i), "x", VehicleInfo[i][vPosx]); // Hier die X Position
    dini_FloatSet(CarFile(i), "y", VehicleInfo[i][vPosy]); // Die Y Position
    dini_FloatSet(CarFile(i), "z", VehicleInfo[i][vPosz]); // Die Z Position
    dini_FloatSet(CarFile(i), "a", VehicleInfo[i][vPosa]); // Die A Position
    dini_IntSet(CarFile(i), "color1", VehicleInfo[i][vColor1]); // Farbe 1
    dini_IntSet(CarFile(i), "color2", VehicleInfo[i][vColor2]); // Farbe 2
    dini_Set(CarFile(i), "plate", "Platte"); // Nummernschild
    CreateVehicle(VehicleInfo[i][vModel],VehicleInfo[i][vPosx], VehicleInfo[i][vPosy],VehicleInfo[i][vPosz],VehicleInfo[i][vPosa], VehicleInfo[i][vColor1],VehicleInfo[i][vColor2], 500000); //Auto wird erstellt. Die 500000 ist der Respawntimer
    format(iStr, sizeof(iStr), "Platte - %d", i); //
    SetVehicleNumberPlate(i, iStr); // Hier wird das Nummernschild gesetzt mit der ID vom Fahrzeug.
    }
    else
    {
    LoadVehicle(i); // Wenn die Datei doch existiert. Wird das hier geladen
    }
    }
    }
    // NOTE: Wenn ihr das jetzt ausführt bekommt ihr jedemenge Errors



    stock LoadVehicle(i) // Wenn die .ini Datei existiert wird das hier geladen
    {
    // Diese ganzen Zeilen hier werden alles laden.
    new iStr[10];
    VehicleInfo[i][vModel] = dini_Int(CarFile(i), "model");
    VehicleInfo[i][vPosx] = dini_Float(CarFile(i), "x");
    VehicleInfo[i][vPosy] = dini_Float(CarFile(i), "y");
    VehicleInfo[i][vPosz] = dini_Float(CarFile(i), "z");
    VehicleInfo[i][vPosa] = dini_Float(CarFile(i), "a");
    VehicleInfo[i][vColor1] = dini_Int(CarFile(i), "color1");
    VehicleInfo[i][vColor2] = dini_Int(CarFile(i), "color2");
    myStrcpy(VehicleInfo[i][vPlate],dini_Get(CarFile(i), "plate"));
    CreateVehicle(VehicleInfo[i][vModel],VehicleInfo[i][vPosx], VehicleInfo[i][vPosy],VehicleInfo[i][vPosz],VehicleInfo[i][vPosa], VehicleInfo[i][vColor1],VehicleInfo[i][vColor2], 500000);
    format(iStr, sizeof(iStr), "Platte - %d", i);
    SetVehicleNumberPlate(i, iStr);
    SetVehicleToRespawn(i); // Das Auto wird respawnt
    }


    So und jetzt der CarFile Stock:


    stock CarFile(vID)
    {
    new fn[20];
    format(fn, sizeof(fn), "Cars/Car%d.txt", vID);
    return fn;


    }


    Und zuletzt:


    stock myStrcpy(dest[], src[])
    {
    new i = 0;
    while ((dest[i] = src[i])) i++;
    }


    Danke ich hoffe es gefällt euch und es ist nützlich.
    Ihr könnt nun immer was zu dem Enum hinzufügen.


    Credits:
    Yoran (Tutorial)
    NeonReflexe(Übersetzer)

    Hey Leute ich wollte fragen ob mir jemand ein cooles gta wbb style machen könnte.
    Vlt oben aufm banner GTA V style und der hintergrund schwarz bzw. dunkelgrau.
    Als Text oben im Banner "It's Roleplay" würde mir das einer machen ;) ?


    Wäre cool. (wenn möglich bitte kostenlos)


    LG

    1. Video auf Youtube.


    Externer Inhalt
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
    [/size]