Auto erstellen und Speichern

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


    ich stelle das mal unter Segenswünsche da ich mein Server auf MYSQL umstelle aus diversen Gründen die ich nicht alle aufzählen kann/mag
    mittlerweile habe ich es geschafft das Account System mit MYSQL speichern zu lassen aller Dings habe ich Probleme mit dem Speichern von Autos, Häusern etc.
    da dieses System um Spieler in MYSQL zu speichern anders ist wie Fahrzeuge in MYSQL zu speichern denk ich ist es eher ein kleines Problem
    mit dem System wie man Autos speichert auch so umzubauen das man Häuser speichert aber dies kann ich dann schon selbst evtl :P
    Ich möchte jetzt das mit einer Hilft bzw. zeigt wie ich das mache das wenn
    mit /auto [Modelid] (Beispiel /auto 560 = Sultan) ein FZG erstelle und das es in der Datenbank unter "autos" gespeichert wird
    ich hoffe ihr könnt mir helfen.


    mfg Dedi

  • Split ist zwar definiert wird aber nicht benutzt bzw. nicht mehr
    benutze hauptsächlich strtok
    //edit:
    ich bedanke mich bei denen die mir gerne helfen wollen, aber leider kann ich morgen (mittwoch) evtl. nicht online sein und jetzt muss ich off morgen Lehrgang X(



    Einmal editiert, zuletzt von Tomi93 ()

  • Hier habe mich mal rangesetzt, wenn probleme auftreten melden.
    P.S nicht getestet.
    new Fahrzeuge;


    dcmd_veh(playerid,params[])
    {
    new mid,c1,c2;
    if(sscanf(params,"ddd",mid,c1,c2)) return SendClientMessage(playerid,COLOR_XXXX,"Benutze: /veh [ModelID] [Color1] [Color2]");
    if(Fahrzeuge<MAX_VEHICLES)
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    CreateVehicle(mid,x,y,z+10,0,c1,c2,-1);
    CarInfo[Fahrzeuge][Model]=mid;
    CarInfo[Fahrzeuge][X]=x;
    CarInfo[Fahrzeuge][Y]=y;
    CarInfo[Fahrzeuge][Z]=z;
    CarInfo[Fahrzeuge][Angle]=90.0;
    CarInfo[Fahrzeuge][Color1]=c1;
    CarInfo[Fahrzeuge][Color2]=c2;
    SetVehicleToRespawn((Fahrzeuge+1));
    new query[120];
    format(query, sizeof(query), "INSERT INTO autos (VehicleID) VALUES ('%d')",Fahrzeuge);
    mysql_query(query);
    Fahrzeuge++;
    }
    return 1;
    }


    stock SaveFahrzeuge()
    {


    if(Fahrzeuge==0)
    {
    print("Keine Daten vorhanden");
    return 1;
    }


    new idx,vid=1;
    new cmdstr[200];


    while(idx<Fahrzeuge)
    {
    format(cmdstr,sizeof(cmdstr),"UPDATE autos SET Model=%d WHERE VID=%d",VehicleInfo[idx][Model],vid); mysql_query(cmdstr);
    format(cmdstr,sizeof(cmdstr),"UPDATE autos SET X=%f WHERE VID=%d",VehicleInfo[idx][X],vid); mysql_query(cmdstr);
    format(cmdstr,sizeof(cmdstr),"UPDATE autos SET Y=%f WHERE VID=%d",VehicleInfo[idx][Y],vid); mysql_query(cmdstr);
    format(cmdstr,sizeof(cmdstr),"UPDATE autos SET Z=%f WHERE VID=%d",VehicleInfo[idx][Z],vid); mysql_query(cmdstr);
    format(cmdstr,sizeof(cmdstr),"UPDATE autos SET Angle=%f WHERE VID=%d",VehicleInfo[idx][Angle],vid); mysql_query(cmdstr);
    format(cmdstr,sizeof(cmdstr),"UPDATE autos SET Farbe1=%d WHERE VID=%d",VehicleInfo[idx][Farbe1],vid); mysql_query(cmdstr);
    format(cmdstr,sizeof(cmdstr),"UPDATE autos SET Farbe2=%d WHERE VID=%d",VehicleInfo[idx][Farbe2],vid); mysql_query(cmdstr);
    vid++;
    idx++;
    }
    return 1;
    }


    stock LoadFahrzeuge()
    {
    new idx;
    mysql_query("SELECT * from autos ORDER BY vid ASC");
    mysql_store_result();
    Fahrzeuge=mysql_num_rows();
    new Data[1024];
    while(idx<Fahrzeuge)
    {
    new Field[64];
    new rcnt = 0;


    mysql_fetch_row(Data);
    mysql_strtok(Field, "|", Data);


    while (mysql_strtok(Field, "|", "")==1)
    {
    if (rcnt == 0){CarInfo[idx][Model]=strval(Field);}
    if (rcnt == 1){CarInfo[idx][X]=floatstr(Field);}
    if (rcnt == 2){CarInfo[idx][Y]=floatstr(Field);}
    if (rcnt == 3){CarInfo[idx][Z]=floatstr(Field);}
    if (rcnt == 4){CarInfo[idx][Angle]=floatstr(Field);}
    if (rcnt == 5){CarInfo[idx][Farbe1]=strval(Field);}
    if (rcnt == 6)
    {
    CarInfo[idx][Farbe2]=strval(Field);
    CreateVehicle(CarInfo[idx][Model],CarInfo[idx][X],CarInfo[idx][A],CarInfo[idx][Z],CarInfo[idx][Angle],CarInfo[idx][Farbe1],CarInfo[idx][Farbe2],-1);
    SetVehicleToRespawn((idx+1));
    }
    rcnt++;
    }
    idx++;
    }
    if(Fahrzeuge==0)
    print("Tabelle ist leer");
    else
    printf("%d Autos geladen und gefunden",Fahrzeuge);


    return 1;
    }

  • Danke aber,
    wenn ichs einfüge kommt das Raus

    I:\RoA 0.3\gamemodes\sql.pwn(6460) : error 017: undefined symbol "mysql_query"
    I:\RoA 0.3\gamemodes\sql.pwn(7298) : error 017: undefined symbol "mysql_query"
    I:\RoA 0.3\gamemodes\sql.pwn(7299) : error 017: undefined symbol "mysql_store_result"
    I:\RoA 0.3\gamemodes\sql.pwn(7300) : error 017: undefined symbol "mysql_num_rows"
    I:\RoA 0.3\gamemodes\sql.pwn(7307) : error 017: undefined symbol "mysql_fetch_row"
    I:\RoA 0.3\gamemodes\sql.pwn(7308) : error 017: undefined symbol "mysql_strtok"
    I:\RoA 0.3\gamemodes\sql.pwn(7310) : error 017: undefined symbol "mysql_strtok"


    Im Anhang meine Include


    mfg Dedi


    //edit: könntest du mir evtl. deine Include geben? oder die irgendwie so umbauen das es mit meiner geht?
    oder haben die Includen gleiche Funktion nur die Stocks haben andere Namen?


    //edit2: also hab da mal rumprobiert und habe einach vor
    mysql_
    noch
    samp_
    eingefügt dann waren die Errors weg allerdings solang
    LoadFahrzeuge();
    aktiv war startet der Server erst gar nicht
    wenn es inaktiv ist wirft der mir bei /veh Unknown Command raus



    3 Mal editiert, zuletzt von Tomi93 ()

  • ich frag mich dann aber nur noch ob dann auch mein Account System noch funktioniert das ist ja eig. das von ModernTopia und LARP und Selfmade dazwischen ^^
    kommen schon die ersten Errors aber ich kümmre mich morgen darum muss off habe Morgen Prüfung X(
    und mysql_strtok undef symbol kommt immernoch :(



    Einmal editiert, zuletzt von Tomi93 ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • hab ich ja xD
    aber z.B.
    Gibt es:

    SQL
    samp_mysql_select_db


    Gibt es nicht:

    SQL
    mysql_select_db


    darum meinte ich ja das mach ich morgen(heute)^^ aber ich brauche defination von

    SQL
    mysql_strtok


    //edit:
    habe nun die samp_mysql_strtok genommen und ind die neue Include rein und das samp_ weg
    jetzt kann ich Server starten aber GM = Unknown keine Befehle gehen Login system geht nicht mehr warum?
    Liegt das an dem mysql_strtok:native mysql_strtok(dest[], separator[], src[]);oder am Plugin?



    Einmal editiert, zuletzt von Tomi93 ()

  • ähm.. sry habe es vergessen zu ändern aber ich habe es schon unter mysql_connect eingebaut :/
    aber immer noch GM = Unknown ich probiere jetzt schon die ganze zeit rum aber irgendwas stört


    //edit: kennt einer einen GM der evtl. das Gleiche System hat muss kein RPG sein auch Stunt etc. nur um es zu lernen
    //edit2: kann mir vll. einer den Grund Baustein geben wie ich auch Accounts erstell den mit dem neuen System geht mein komplettes Account System nicht und beim Laden sollte es in
    SpielerStats[Playerid][sKey] geladen werden
    versteht ihr was ich meine?



    5 Mal editiert, zuletzt von Tomi93 ()