[Mysql] abfragen wie viel Auto ein Spieler hat

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 Brotfische,


    Ich möchte ein System machen das nur bestimmte Anzahl von Fahrzeugen haben kann...
    Nun möchte ich 2 Sachen fragen:
    - Wie kann man in der Datenbank abfragen wie viel Fahrzeuge der Spieler hat?


    und


    - Wie kann man das einstellen das man in Level 1, 2 Autos haben kann in Level 4, 3 Autos usw...


    Datenbank Bild:


    Auto Tabelle:



    Auto Tabelle Struktur:



    User Tabelle:



    User Tabelle Struktur:



    Noch die enum´s:


    enum carEnum{
    id_x,
    model,
    besitzer,
    fraktion,
    Float:c_x,
    Float:c_y,
    Float:c_z,
    Float:c_r,
    db_id,
    Locked[MAX_VEHICLES]
    //usw....
    }
    new cInfo[10000][carEnum];


    enum playerInfo{
    eingeloggt,
    level,
    geld,
    db_id,
    alevel,
    fraktion,
    rang,
    spawnchange,
    prison,
    wanted
    }
    new sInfo[MAX_PLAYERS][playerInfo];



    Ich hoffe es kann mir jemand helfen :)



    -


    Mit freundlichen Grüßen
    German_ScripterHD

  • Nein, bloß nicht. Das ist die neuste, besser geht es nicht! ;)


    Dort wo du prüfen willst:
    new query[128];
    format(query, sizeof(query), "SELECT id FROM tabelle_autos WHERE besitzer = '%d'", sInfo[playerid][db_id]);
    mysql_tquery(handle, query, "OnVehLimitCheck", "d", playerid);


    Und das unten im Gamemode:
    forward OnVehLimitCheck(playerid);
    public OnVehLimitCheck(playerid)
    {
    new rows = cache_num_rows();
    if(rows >= GetMaxAllowedVehs(playerid))
    {
    SendClientMessage(playerid, 0xFF0000FF, "Error: Maximale Anzahl erreicht.");
    return 1;
    }
    //Fahrzeug hier erstellen
    return 1;
    }

  • Super :) fuktioniert


    aber ich verstehe das nicht ganz mit GetMaxAllowedVehs(playerid).
    Wo kann ich einstellen welches level und wie viele Fahrzeuge man gesitzen kann? :D

    stock GetMaxAllowedVehs(playerid)
    {
    switch(sInfo[playerid][level])
    {
    case 1,2,3: return 2;
    case 4..1000: return 3;
    }
    return -1;
    }


    Mit freundlichen Grüßen
    German_ScripterHD

  • Bei den cases kannst du das einstellen. Beim Case schreibst du, wie zum Beispiel beim ersten die Levels hin, und im return danach schreibst du die Anzahl an Fahrzeugen hin, die diese Level besitzen dürfen.




    EDIT: (Post unten)
    German_ScripterHD: Da dein Problem behoben ist, wäre es gut, wenn du den Thread auf erledigt setzt. Danke!

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()