Beiträge von Jeffry

    new FrakAutos[][VehEnum] =
    {
    //ModellID, Frak, X,Y,Z,Farbe1,Farbe2
    {597,-1595.8781,693.9594,-5.4741,180.1654, 198, 1, FRAKTION_HIER},//zeile 123
    {597,-1595.8781,693.9594,-5.4741,179.5844, 198, 1, FRAKTION_HIER}//zeile 123


    };


    stock LoadVehicles()
    {
    new string[3], query[400], bool:added;//02
    for(new i=0; i < sizeof(FrakAutos); i++)
    {
    format(string, sizeof string, "%d", i);
    VehInfo[i][ModellID] = mysql_GetInt("Auto", "ModellID", "ID", string);
    if(VehInfo[i][ModellID] < 400 || VehInfo[i][ModellID] > 611)
    {
    format(query, sizeof(query), "INSERT INTO Auto (ID, ModellID, PosX, PosY, PosZ, PosR, Farbe1, Farbe2, Fraktion) VALUES ('%d', '%d', '%f', '%f', '%f', '%f', '%d', '%d', '%d')", i,
    FrakAutos[i][ModellID],FrakAutos[i][PosX],FrakAutos[i][PosY],FrakAutos[i][PosZ],FrakAutos[i][PosR],FrakAutos[i][Farbe1],FrakAutos[i][Farbe2],FrakAutos[i][Fraktionp]);
    mysql_query(query);
    VehInfo[i][ModellID] = FrakAutos[i][ModellID];
    added = true;
    }
    format(VehInfo[i][Grund], 32, mysql_GetString("Autos", "Grund", "ID", string));
    VehInfo[i][Fraktion] = mysql_GetInt("Auto", "Fraktion", "ID", string);
    VehInfo[i][PosX] = mysql_GetFloat("Auto", "PosX", "ID", string);
    VehInfo[i][PosY] = mysql_GetFloat("Auto", "PosY", "ID", string);
    VehInfo[i][PosZ] = mysql_GetFloat("Auto", "PosZ", "ID", string);
    VehInfo[i][PosR] = mysql_GetFloat("Auto", "PosR", "ID", string);
    VehInfo[i][Abgeschleppt] = mysql_GetInt("Auto", "Abgeschleppt", "ID", string);
    VehInfo[i][inADAC] = mysql_GetInt("Auto", "inADAC", "ID", string);
    VehInfo[i][Preis] = mysql_GetInt("Auto", "Preis", "ID", string);
    VehInfo[i][NewX] = mysql_GetFloat("Auto", "NewX", "ID", string);
    VehInfo[i][NewY] = mysql_GetFloat("Auto", "NewY", "ID", string);
    VehInfo[i][NewZ] = mysql_GetFloat("Auto", "NewZ", "ID", string);
    VehInfo[i][Farbe1] = mysql_GetInt("Auto", "Farbe1", "ID", string);//18
    VehInfo[i][Farbe2] = mysql_GetInt("Auto", "Farbe2", "ID", string);//19
    CreateVehicle(VehInfo[i][ModellID],VehInfo[i][PosX],VehInfo[i][PosY],VehInfo[i][PosZ],VehInfo[i][PosR],VehInfo[i][Farbe1],VehInfo[i][Farbe2],-1);//20

    }
    if(added) SaveVehicles();
    return 1;
    }


    Falls du "PosR" noch nicht in der Datenbank hast, füge das noch hinzu, das hat nämlich noch beim Laden gefehlt.


    Dann kannst du es mal testen.

    stock LoadVehicles()
    {
    new string[3], bool:added;//02
    for(new i=0; i < MAX_VEHICLES; i++)
    {
    format(string, sizeof string, "%d", i);
    format(VehInfo[i][Grund], 32, mysql_GetString("Autos", "Grund", "ID", string));
    VehInfo[i][ModellID] = mysql_GetInt("Auto", "ModellID", "ID", string);
    VehInfo[i][Fraktion] = mysql_GetInt("Auto", "Fraktion", "ID", string);
    VehInfo[i][PosX] = mysql_GetFloat("Auto", "PosX", "ID", string);
    VehInfo[i][PosY] = mysql_GetFloat("Auto", "PosY", "ID", string);
    VehInfo[i][PosZ] = mysql_GetFloat("Auto", "PosZ", "ID", string);
    VehInfo[i][Abgeschleppt] = mysql_GetInt("Auto", "Abgeschleppt", "ID", string);
    VehInfo[i][inADAC] = mysql_GetInt("Auto", "inADAC", "ID", string);
    VehInfo[i][Preis] = mysql_GetInt("Auto", "Preis", "ID", string);
    VehInfo[i][NewX] = mysql_GetFloat("Auto", "NewX", "ID", string);
    VehInfo[i][NewY] = mysql_GetFloat("Auto", "NewY", "ID", string);
    VehInfo[i][NewZ] = mysql_GetFloat("Auto", "NewZ", "ID", string);
    VehInfo[i][Farbe1] = mysql_GetInt("Auto", "Farbe1", "ID", string);//18
    VehInfo[i][Farbe2] = mysql_GetInt("Auto", "Farbe2", "ID", string);//19
    CreateVehicle(VehInfo[i][ModellID],VehInfo[i][PosX],VehInfo[i][PosY],VehInfo[i][PosZ],VehInfo[i][PosR],VehInfo[i][Farbe1],VehInfo[i][Farbe2],-1);//20

    }
    if(added) SaveVehicles();
    return 1;
    }


    Und im VehDaten enum musst du noch Farbe1 und Farbe2 hinzufügen.
    Sind dann alle Warnungen weg?

    Nein, das muss
    CreateVehicle(VehInfo[i][ModellID],VehInfo[i][PosX],VehInfo[i][PosY],VehInfo[i][PosZ],VehInfo[i][PosR],VehInfo[i][Farbe1],VehInfo[i][Farbe2],-1);
    heißen.


    Füge außerdem
    LoadVehicles();
    bei OnGameModeInit ein.


    Und dann mach bitte noch die Fraktion zu dem VehEnum dazu und poste das dann. Ohne das, kann ich es dir nicht komplett machen, da die Fraktionszuweisung fehlt.
    Poste dann das enum und zwei drei Zeilen der Daten.

    Ok, dann sollte es so passen:
    ocmd:key(playerid,params[])
    {
    for(new i=0; i<sizeof(carInfo); i++)
    {
    if(GetPlayerVehicleID(playerid) == carInfo[i][id_x])
    {
    for(new k=0; k<sizeof(keyInfo); k++)
    {
    if(keyInfo[k][k_id] == carInfo[i][db_id])
    {
    if(keyInfo[k][besitzer] == sInfo[playerid][db_id])
    {
    SendClientMessage(playerid,COLOR_RED,"Schlüssel passt!");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Schlüssel passt nicht!");
    return 1;
    }
    }
    }
    break;
    }
    }
    return SendClientMessage(playerid,COLOR_RED,"Schlüssel passt nicht!");
    }

    Das ist zwar immer noch nicht alles, aber ich tippe mal:
    TankVolumen,
    Zu
    Float:TankVolumen,
    Im enum.


    Zwecks dem Spielername Error:
    Ich weiß nicht wie deine Funktionen aussehen, teste es mal so:
    format(string,sizeof(string),"* HQ: Officer %s hat den S.W.A.T - Einsatz erlaubt.",Spielername(playerid));
    Wenn es nicht geht, mach das playerid wieder weg und benenne Spielername einfach du spName um.

    new Spielername[MAX_PLAYER_NAME];
    einfach entfernen. Du hast es auf dieser oder einer vorherigen Ebene im selben Callback bzw. derselben Funktion bereits deklariert.


    Zwecks der anderen Warnung:
    Poste alle Deklarationen und enums im Zusammenhang mit Carlist und Gas.

    Zur Frage:
    Wenn das Fahrzeug ja noch nicht in der Datenbank ist, muss der Code ja wissen, welcher Fraktion er es zuweisen soll. Somit musst du es im enum angeben.


    CreateVehicle:
    VehInfo[i][NewZ] = mysql_GetFloat("Auto", "NewZ", "ID", string);
    Nach dieser Zeile.


    Außerdem fehlt noch das Laden der Farben des Fahrzeugs. Füge diese Sachen noch hinzu.

    Teste es mal so:
    ocmd:key(playerid,params[])
    {
    for(new i=0; i<sizeof(carInfo); i++)
    {
    if(GetPlayerVehicleID(playerid) == carInfo[i][id_x])
    {
    for(new k=0; k<sizeof(keyInfo); k++)
    {
    if(keyInfo[k][k_id] == carInfo[i][db_id])
    {
    if(keyInfo[k][besitzer] == sInfo[playerid][db_id])
    {
    SendClientMessage(playerid,COLOR_RED,"Schlüssel passt!");
    break;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Schlüssel passt nicht!");
    break;
    }
    }
    }
    break;
    }
    }
    return 1;
    }

    So sollte es passen:
    CreateFraktionCar(fID,ModelID,Float:x,Float:y,Float:z,Float:rot,c1,c2)
    {
    new fcarFrakInfo;
    for(new ii=1; ii<sizeof(FrakCars); ii++)
    {
    if(FrakCars[ii][f_CarID] != 0)continue;
    FrakCars[ii][FraktionsID] = fID;
    FrakCars[ii][f_ModelID] = ModelID;
    FrakCars[ii][f_x]= x;
    FrakCars[ii][f_y]= y;
    FrakCars[ii][f_z]= z;
    FrakCars[ii][f_r]= rot;
    FrakCars[ii][f_color1]=c1;
    FrakCars[ii][f_color2]=c2;
    FrakCars[ii][f_CarID] = CreateVehicle(FrakCars[ii][f_ModelID],FrakCars[ii][f_x],FrakCars[ii][f_y],FrakCars[ii][f_z],FrakCars[ii][f_r],FrakCars[ii][f_color1],FrakCars[ii][f_color2],-1);
    printf("Server-Info: Fraktions Fahrzeug mit der ID %i wurde erstellt.",FrakCars[ii][f_CarID]);
    SaveFraktionCars(ii);
    return 1;
    }
    return 1;
    }

    Du hast bei allen "VehInfo[ i ][Fraktion]" stehen.
    Schreib da bitte noch die richtigen Werte dazu, sonst kann ich es nicht übernehmen, da ich nicht weiß, wie die bei dir heißen. ;)


    EDIT:
    Und im enum VehEnum musst du noch einen Teil "Fraktion" hinzufügen. Mach das, und poste dann auch das aktualisierte enum mit den zwei drei Werten dazu.


    Außerdem fehlen beim LoadVehicles noch die Farben, und das CreateVehicle. ;)

    Jetzt erstellst du die LoadVehicles Funktion, den Teil mit dem switch lässt du einfach mal frei.
    Wenn du das hast, poste die Funktion, dann mach ich dir den switch-Teil.


    Also das was unter der Klammer von
    if(!strlen(KassenInfo[i][fName]))
    in LoadKassen steht, frei lassen. Den Rest kannst du ja machen, gleiches Prinzip.

    new FrakAutos[MAX_VEHICLES][VehEnum] =
    zu:
    new FrakAutos[][VehEnum] =


    Und:
    CreateVehicle(FrakAutos[g][ModellID],FrakAutos[g][PosX],FrakAutos[g][PosY],FrakAutos[g][PosZ],FrakAutos[g][PosR],FrakAutos[g][Farbe1],FrakAutos[g][Farbe2]);//250
    zu:
    CreateVehicle(FrakAutos[g][ModellID],FrakAutos[g][PosX],FrakAutos[g][PosY],FrakAutos[g][PosZ],FrakAutos[g][PosR],FrakAutos[g][Farbe1],FrakAutos[g][Farbe2],-1);//250

    In einer der ersten Zeilen in deinem Gamemode steht ein oder ein paar Buchstaben die da nicht hingehören.
    Sowas wie:
    f#include <a_samp>
    ///...
    Das f.