Beiträge von 123marvin123

    Ich verstehe Kones schon gut! 3 Themen aufzumachen ist ganz einfach unnötig.
    Ein Thema reicht, außerdem wird BlackAce nicht gesund wenn ihr ihm irgendein Geschenkt macht.


    Arbeite dich ein - man lernt nie aus aber man lernt auch nicht von heute auf morgen. Man sollte aber daran festhalten, immer mehr und neues zu entdecken. Schau dir also Tutorials an und arbeite dich ein. Datenbanken haben viele Vorteile im Vergleich zu Dateisystemen.


    Okay, hast du für mich ein verständliches Tutorial, wie man ein Login / Register System mit MySql erstellen kann?
    Ich hatte schon eins, aber da du ja gesagt hast das das mit dem mysql_GetInt etc. unvorteilhaft ist möchte ich es neu machen.

    • Da fehlt ein for() in der ersten Funktion.
    • Egal ob das Auto nun erstellt wird oder nicht, fc1 wird weiterhin hochgezählt (Ergebnis: 200 Autos wurden anscheinend erstellt).
    • Diese mysql_GetFloat, mysql_GetInt, ... sind Schwachsinn und uneffizient. Verwende sie nicht!
    • Schleifen mit fester Zahl zum Erstellen von Autos durch Datenbanken zu erstellen ist Blödsinn. Hole dir die Reihen aus der Datenbank und erstelle dann eine Schleife mit der Anzahl der Datensätze.


    Danke für die Antwort, da ich aber ein Anfänger in Sachen MySql bin weiß ich nicht ganz genau was und wie ich jetzt vorgehen sollte?

    Hallo,


    Ich wollte mal ein paar Dinge in MySql ausprobieren, da ich eigentlich fast nie mit MySql arbeite und somit kein Plan davon habe ;)
    Also:

    stock LoadFraktionCars()
    {
    new string[5],fc1;
    {
    for(new fc = 0; fc <200; fc++)
    {
    format(string,sizeof(string),"%d",fc);
    FraktionsAutos[fc][FX] = mysql_GetFloat("frakcars", "PosX", "IDtoGet", string);
    FraktionsAutos[fc][FY] = mysql_GetFloat("frakcars", "PosY", "IDtoGet", string);
    FraktionsAutos[fc][FZ] = mysql_GetFloat("frakcars", "PosZ", "IDtoGet", string);
    FraktionsAutos[fc][FA] = mysql_GetFloat("frakcars", "PosA", "IDtoGet", string);
    FraktionsAutos[fc][fcolor1] = mysql_GetInt("frakcars", "fcolor1", "IDtoGet", string);
    FraktionsAutos[fc][fcolor2] = mysql_GetInt("frakcars", "fcolor2", "IDtoGet", string);
    FraktionsAutos[fc][Fraktion] = mysql_GetInt("frakcars", "Fraktion", "IDtoGet", string);
    FraktionsAutos[fc][VehicleID] = mysql_GetInt("frakcars", "ModelID", "IDtoGet", string);
    FraktionsAutos[fc][vehobj] = CreateVehicle(FraktionsAutos[fc][VehicleID],FraktionsAutos[fc][FX],FraktionsAutos[fc][FY],FraktionsAutos[fc][FZ],FraktionsAutos[fc][FA],FraktionsAutos[fc][fcolor1],FraktionsAutos[fc][fcolor2],-1);
    fc1++;
    }
    }
    return printf(" '%d' Fraktionsfahrzeug(e) wurden geladen & erstellt.",fc1);
    }


    stock SaveFraktionsCars()
    {
    new string[5];
    for(new fc = 0; fc <200; fc++)
    {
    if(FraktionsAutos[fc][erstellt] == 0)continue;
    if(FraktionsAutos[fc][VehicleID] >= 400 && FraktionsAutos[fc][VehicleID] <= 611)
    {
    format(string,sizeof(string),"%d",fc);
    mysql_SetInt("frakcars", "ModelID",FraktionsAutos[fc][VehicleID], "IDtoGet", string);
    mysql_SetFloat("frakcars", "PosX",FraktionsAutos[fc][FX], "IDtoGet", string);
    mysql_SetFloat("frakcars", "PosY",FraktionsAutos[fc][FY], "IDtoGet", string);
    mysql_SetFloat("frakcars", "PosZ",FraktionsAutos[fc][FZ], "IDtoGet", string);
    mysql_SetFloat("frakcars", "PosA",FraktionsAutos[fc][FA], "IDtoGet", string);
    mysql_SetInt("frakcars", "fcolor1",FraktionsAutos[fc][fcolor1], "IDtoGet", string);
    mysql_SetInt("frakcars", "fcolor2",FraktionsAutos[fc][fcolor2], "IDtoGet", string);
    mysql_SetInt("frakcars", "Fraktion",FraktionsAutos[fc][Fraktion], "IDtoGet", string);
    }
    }
    return 1;
    }
    stock CreateFraktionsCar(fraktid,vehmodel,color1,color2,Float:x,Float:y,Float:z,Float:a)
    {
    for(new fc = 0; fc <200; fc++)
    {
    if(FraktionsAutos[fc][erstellt] == 1)continue;
    FraktionsAutos[fc][erstellt] = 1;
    FraktionsAutos[fc][FX] = x;
    FraktionsAutos[fc][FY] = y;
    FraktionsAutos[fc][FZ] = z;
    FraktionsAutos[fc][FA] = a;
    FraktionsAutos[fc][fcolor1] = color1;
    FraktionsAutos[fc][fcolor2] = color2;
    FraktionsAutos[fc][Fraktion] = fraktid;
    FraktionsAutos[fc][VehicleID] = vehmodel;
    FraktionsAutos[fc][vehobj] = CreateVehicle(vehmodel,x,y,z,a,color1,color2,-1);
    return 1;
    }
    return 1;
    }


    Wenn ich meinen Server starte, steht dann schon im Serverlog folgendes:


    [22:42:25] '200' Fraktionsfahrzeug(e) wurden geladen & erstellt.


    Obwohl die Datenbank leer ist. Meine Datenbank sieht so aus:


    Und wenn ich ein Auto InGame erstellt habe, wird es in MySql nicht gespeichert :/

    Hallo,


    Ich hab ein Problem mit SqlLite. Ich hab noch nie mit SqlLite gearbeitet.
    Ich wollte ein Login System machen aber er speichert nicht ab wenn man sich registriert:

    stock Register(playerid,pw[])
    {
    new query[128];
    format(query, sizeof(query), "INSERT INTO `Accounts` (`Name`, `Passwort`, `Geld`, `Adminlevel`, `Level`) VALUES('%s','%s','0', '0', '0')", SpielerName(playerid), pw);
    db_query(Database,query);
    SendClientMessage(playerid,Grün,"Du bist nun erfolgreich Registriert!");
    return 1;
    }