Carsystem MySQL

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • C:\Users\Dustin\Desktop\Samp Scripting\gamemodes\reallife.pwn(1061) : warning 202: number of arguments does not match definition

    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.



    loadPlayerCars(playerid);

    hab es auch schon mit loadPlayerCars(playerid,carid);


    dann kommt jedoch


    C:\Users\Dustin\Desktop\Samp Scripting\gamemodes\reallife.pwn(1061) : error 017: undefined symbol "carid"

    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.




    Zitat




    Dein Insert INTO Query ist völliger Quatsch, sollte das eventuell ein Update sein?

    Hab es mehr oder weniger copy&pasted (selbst eingegeben etc.)

    Kann ich dir leider nicht genau sagen ist von MrMonat :

    Externer Inhalt www.youtube.com
    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.

  • Hab es mehr oder weniger copy&pasted (selbst eingegeben etc.)

    Jetzt nichts für ungut oder so, aber du hast das komplett falsch abgetippt und benannt, wtf :D


    Du kannst doch sogar in der Beschreibung dir den Quellcode downloaden und anschauen/nutzen.


    Was bei dir loadPlayerCars heißt (was ein absolut Quatsch-Name für die Funktion ist), sieht bei ihm so aus:


    C
    saveCarToDB(playerid,carid)
    {
        new query[128];
        format(query,sizeof(query),"INSERT INTO autos (besitzer,model,x,y,z,r) VALUES ('%i','%i','%f','%f','%f','%f')",sInfo[playerid][db_id],cInfo[carid][model],cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z],cInfo[carid][c_r]);
        mysql_function_query(dbhandle,query,true,"carSavedToDB","i",carid);
        return 1;
    }

    Fallen dir Unterschiede im Query und im Namen auf? :D


    //Edit: Jetzt hab ich erstmal den Anfang des Threads gelesen, die Syntax hat Maho vorgegeben. Das ist super verwirrend für Neulinge von der Standard-Syntax abzuweichen, generell ist das bad practice, wenn es keinen krassen Vorteil bietet.



    Schau dir nochmal in Ruhe seinen Quellcode an (hier für dich mal der Direktlink https://pastebin.com/wvdygCFN)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    Einmal editiert, zuletzt von Kaliber ()

  • Nebenbei möchte ich noch erwähnen das es besser ist wenn du als Besitzer die p_id Speicherst, weil wenn du den SpielerNamen speicherst, nach einen namechange ist es nicht mehr dein Fahrzeug, p_id währe sinnvoller finde ich 😉

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!


  • Kaliber  Maho werde ich mir in ca 15min genauer anschauen bin grade Unterwegs


    /edit Kaliber

    Jetzt blicke ich gar nicht mehr durch :D


    er hat auch die loadPlayerCars funktion sieht so aus:

    1. loadPlayerCars(playerid)
    2. {
    3. new query[128];
    4. format(query,sizeof(query),"SELECT * FROM autos WHERE besitzer='%i'",sInfo[playerid][db_id]);
    5. mysql_function_query(dbhandle,query,true,"OnPlayerCarsLoad","i",playerid);
    6.     return 1;
    7. }

    meine sieht so aus


    Code
    loadPlayerCars(playerid,carid)
    {
        new query[200];
        mysql_format(handle, query, sizeof(query), "INSERT INTO autos SET besitzer=%d, model='%d', x='%f', y='%f', z='%f', r='%f'",PlayerInfo[playerid][p_id],cInfo[carid][model],cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z],cInfo[carid][c_r]); //966
        mysql_tquery(handle, query);
        return 1;
    }

    Ahhhhh ich glaub jetzt rall ich es falls falsch einfach drauf hinweisen ist jetzt einfach ein test :D


    Sollte mein Funktion so aussehen?



    Code
    loadPlayerCars(playerid,carid)
    {
        new query[200];
        mysql_format(handle, query, sizeof(query), "SELECT * FROM autos WHERE besitzer=%d, model='%d', x='%f', y='%f', z='%f', r='%f'",PlayerInfo[playerid][p_id],cInfo[carid][model],cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z],cInfo[carid][c_r]); //966
        mysql_tquery(handle, query);
        return 1;
    }

    Einmal editiert, zuletzt von RaPTiiC ()

  • Fast...


    C
    loadPlayerCars(playerid) 
    { 
    new query[200]; 
    mysql_format(handle, query, sizeof(query), "SELECT * FROM autos WHERE besitzer=%d",PlayerInfo[playerid][p_id]); //966 
    mysql_tquery(handle, query, "OnPlayerCarsLoad","i",playerid);
    return 1; 
    }

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Bekomme 2 Warnings jedoch nicht da durch habe bisschen was bearbeitet etc.


    Code
    saveCarToDB(playerid, carid)
    {
        new query[200];
        mysql_format(handle, query, sizeof(query), "INSERT INTO autos (besitzer,model,x,y,z,r) VALUES('%i','%i','%f','%f','%f','%f')",PlayerInfo[playerid][db_id],cInfo[carid][model],cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z],cInfo[carid][c_r]); //Tag Mismatch
        mysql_tquery(handle, query);
        return 1;
    }

    Also mit den zwei Warnings passiert leider nichts bspw. /createcar [playerid [modelid] wird ausgeführt

    Werden zur Datenbank hinzugefügt

    Sieht so aus

    pasted-from-clipboard.png


    Jedoch wenn ich Disconnecte und Neu connecte oder ein GMX ausführe wird bisher kein Fahrzeug gespawnt :D

  • Maho

    So?


    Code
    loadPlayerCars(playerid)
    {
        new query[200];
        mysql_format(handle, query, sizeof(query), "SELECT * FROM autos WHERE besitzer=%d",PlayerInfo[playerid][p_id]); //966
        mysql_tquery(handle, query, "OnPlayerCarsLoad","i",playerid);
        print("loadPlayerCars");
        return 1;
    }
  • Maho

    So?


    Code
    loadPlayerCars(playerid)
    {
        new query[200];
        mysql_format(handle, query, sizeof(query), "SELECT * FROM autos WHERE besitzer=%d",PlayerInfo[playerid][p_id]); //966
        mysql_tquery(handle, query, "OnPlayerCarsLoad","i",playerid);
        print("loadPlayerCars");
        return 1;
    }

    Ja und OnPlayerCarsLoad auch am besten

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!


  • Nach dem Einloggen vor einem gmx extra noch ein Fahrzeug erstellt sehen die Logs derzeit nur so aus


    [MySQL] Verbindungsaufbau...

    [MySQL] Die Verbindung zur Datenbank wurde erfolgreich hergestellt! Handle: 1


    ============================================================

    Das Script Revive the Generation wurde Erfolgreich geladen!

    ============================================================


    Number of vehicle models: 1

    loadPlayerCars

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • bei einem gmx sind diese leider komplett weg

    Super.


    ...wie sieht die Datenbank aus?

    Was sagen die Querys?

    Hast du irgendwas geprintet?


    Du solltest immer Informationen liefern, einfach nur sagen ja, bla bla geht nicht, da kann man dir meist nicht helfen.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • pasted-from-clipboard.png

    So sieht die Datenbank aus


    Wo kann ich sehen was die Querys "sagen"?


    geprintet habe ich das hier:

    Code
    loadPlayerCars(playerid)
    {
        new query[200];
        mysql_format(handle, query, sizeof(query), "SELECT * FROM autos WHERE besitzer=%d",PlayerInfo[playerid][p_id]); //966
        mysql_tquery(handle, query, "OnPlayerCarsLoad","i",playerid);
        print("loadPlayerCars");
        return 1;
    }

    und das

    Logs spucken das aus:

    [MySQL] Verbindungsaufbau...

    [MySQL] Die Verbindung zur Datenbank wurde erfolgreich hergestellt! Handle: 1


    ============================================================

    Das Script Revive the Generation wurde Erfolgreich geladen!

    ============================================================


    Number of vehicle models: 1

    loadPlayerCars



    Kaliber

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