Mysql Fahrzeug Laden Problem [Wichtig]

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Community,


    Ich will Fahrzeuge aus meiner mysql DB laden.. aber es will nicht so wie ich will..




    Ich hoffe ihr könnt mir da weiter Helfen


    PS: Ich kenne mich noch nicht so gut aus mit mysql..

    Einmal editiert, zuletzt von xuNsHiNe ()

  • ich finde mysql einfach eine gute dateiverarbeitung da mann auch via remove zugreifen kann.. auch via handy z.b. wenn mann im urlaub


    Kann mir einer helfen?


    //Edit1; Schreibfehler
    //Edit2: Kann mir einer erklären wie ich z.b. ein fahrzeug auslesse und es aleine update?

    2 Mal editiert, zuletzt von xuNsHiNe ()

  • Ich würde die Cars generell nicht per MySQL laufen lassen. Ich lasse meine Cars entweder über die Filterscripts laufen oder über den Gamemode


    Was ist denn das für eine Aussage?
    Nach möglichkeit sollte man ALLES mit MySQL verwalten, zumal es ja trotzdem entweder im GameMode oder in einem FilterScript sein muss.
    MySQL ist keine 3. Instanz...


    @ Thread
    Das sind doch eigentlich low level errors? Also recht einfache...
    Du hast viele Variabeln doppelt definiert, kannste also löschen.
    Und der rest steht doch da was verstehste denn an denen nicht?


    //Edit
    Auslesen mit
    SELECT zeug WHERE ID = irgendwas
    Dazu musst du in der Tabelle eine ID Spalte anlegen die für jedes Fahrzeug unterschiedlich ist.
    Dann kannst du auch UPDATE zeug WHERE ID = Irgendwas benutzen

  • stock LoadFahrzeuge()
    {
    new str[512];
    mysql_query("SELECT * FROM `autohaus_autos`");
    mysql_store_result();
    //new query[256];
    //new VehicleID, ModelID,Color1,Color2,Price; new Float:X,Float:Y,Float:Z,Float:R;
    while(mysql_fetch_row(str))
    {
    sscanf(str, "p<|>ddffffdddd",VehicleID,ModelID,X,Y,Z,R,Color1,Color2,Price,Delete);
    VehicleID = CreateVehicle(ModelID,X,Y,Z,R,Color1,Color2,-1);//696
    }
    mysql_free_result();
    printf("DEBUG: %s",str);
    return 1;
    }





    //Edit1: Wie kann ich sscanf in mein enum reinladen?
    //Edit2: Schreibfehler behoben

    2 Mal editiert, zuletzt von xuNsHiNe ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • enum fInfo
    {
    VehicleID,
    ModelID,
    Float:X,
    Float:Y,
    Float:Z,
    Float:R,
    Color1,
    Color2,
    Price,
    Delete
    };
    new FractionCars[MAX_VEHICLES][fInfo];


    INSERT INTO `autohaus_autos` (`VehicleID`, `ModelID`, `X`, `Y`, `Z`, `R`, `Color1`, `Color2`, `Price`, `Delete`) VALUES ('%


    Ich hoffe du meinst dass


    //Edit1: Schreibfehler

    Einmal editiert, zuletzt von xuNsHiNe ()

  • lass die spalte "VehicleID" aus der MySQL-Tabelle raus, die ist irreführend, da die VehicleID erst beim Erstellen des Fahrzeugs erzeugt wird:



    stock LoadFahrzeuge()
    {
    new
    i,
    str[512];
    mysql_query("SELECT * FROM `autohaus_autos`");
    mysql_store_result();
    while(mysql_fetch_row(str))
    {
    sscanf(str, "p<|>dffffdddd",ModelID,X,Y,Z,R,Color1,Color2,Price,Delete);
    FractionCars[i++][VehicleID] = CreateVehicle(ModelID,X,Y,Z,R,Color1,Color2,-1);//696
    }
    mysql_free_result();
    printf("DEBUG: %s",str);
    return 1;
    }

    Keine Scripting-Fragen per PM!

  • C:\Users\Marcel\Desktop\MySQL-Skript.pwn(694) : warning 213: tag mismatch
    C:\Users\Marcel\Desktop\MySQL-Skript.pwn(694) : warning 213: tag mismatch
    C:\Users\Marcel\Desktop\MySQL-Skript.pwn(694) : warning 213: tag mismatch
    C:\Users\Marcel\Desktop\MySQL-Skript.pwn(694) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Warnings.


    Immer in dieser Zeile


    FractionCars[i++][VehicleID] = CreateVehicle(ModelID,X,Y,Z,R,Color1,Color2,-1);//696


    Debug sagt 0 da gibt er erst garnix wieder


    wie meinst du dass mit der vehicle id? also ich habe ein befehl /addcar da werden die autos erstellt und wo muss ich da jetzt vehicleid machen? weil ich habe jetzt vehicle id komplett gelöscht

    Einmal editiert, zuletzt von xuNsHiNe ()

  • die vehicleID bekommst du, wenn du das Fahrzeug erstellst, und kannst dann über diese id auch auf das Fahrzeug zugreifen.


    SQL
    FractionCars[i++][VehicleID] = CreateVehicle(ModelID,X,Y,Z,R,Color1,Color2,-1);//696


    wie sind denn ModellID, X, Y, Z usw. definert?

    Keine Scripting-Fragen per PM!


  • dann müsstest du hier



    FractionCars[i++][VehicleID] = CreateVehicle(ModelID,X,Y,Z,R,Color1,Color2,-1);//696


    aber errors bekommen, denn du hast ja ModelID usw. nicht als einzelne variablen sondern innerhalb eines enums erstellt.

    Keine Scripting-Fragen per PM!

  • FractionCars[i++][VehicleID] = CreateVehicle(ModelID,X,Y,Z,R,Color1,Color2,-1);//692




    C:\Users\Marcel\Desktop\MySQL-Skript.pwn(692) : error 017: undefined symbol "VehicleID"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    wenn ich im enum vehicleid wieder eintrage imemr noch tag missmach 4x


    //Edit1: Kann ich nicht einfach mysql auslesen und in enum umwandeln um im enum abfragen?

  • //Edit1: Kann ich nicht einfach mysql auslesen und in enum umwandeln um im enum abfragen?


    Kannst du, aber dann MUSS die anzahl in sscanf auch der in deinem enum entsprechen.
    Probier es mal so:
    stock LoadFahrzeuge()
    {
    new
    i,
    str[512]
    ;
    mysql_query("SELECT * FROM `autohaus_autos`");
    mysql_store_result();
    while(mysql_fetch_row(str))
    {
    sscanf(str, "e<p<|>dffffdddd>",FractionCars[i]);
    printf("DEBUG: %s",str);
    FractionCars[i][VehicleID] = CreateVehicle(FractionCars[i][ModelID],FractionCars[i][X],FractionCars[i][Y],FractionCars[i][Z],FractionCars[i][R],FractionCars[i][Color1],FractionCars[i][Color2],-1);
    i++;
    }
    mysql_free_result();
    return true;
    }

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen