Wieder MySQL-Warnings, die ich loswerden möchte...

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, ich habe ein Problem mit meinem Create-Fautosystem. Da gibt es mehrere Fehler, und ich hoffe ganz einfach das ihr mir helfen könnt auch wenn man nach einen Komma kein und schreibt :D

    Mein Problem ist folgendes:

    Wenn ich F-Autos mit einem Befehl erstelle, dann wird das erstens nicht richtig in die Datenbank gespeichert.
    Das heißt ID 0 des Fahrzeuges wird nicht gesetzt. Ich erstelle 3 Fautos, nur zwei gehen in die Datenbank, das kann eine falsche Einstellung zur folge haben.
    Der zweite Punkt ist das Laden der Fautos, Fautos werden dann zwar nach einem GMX geladen, jedoch kommen da Warnings in die MySQL Log. So ungefair
    wieder über 100mal in einer Sekunde. Ich weiß mir nicht zu helfen, ich weiß auchnicht was diese Warnings bedeuten, aufjedenfall hat mir ein Kumpel son bisschen geholfen und meinte es würde so gehen, jedoch stimmt dies nicht ganz. Hier die MySQL-Warnings.




    Hinweis: Ein Bild über die Datenbankstuktur ist im Anhang zu finden.


    Hier der Scriptlicheteil, beim Laden der Fautos.
    public FCarLoad(i)
    {
    new num_fields, num_rows;
    cache_get_data(num_rows,num_fields,db);
    if(num_rows != 1)return 1;
    Fahrzeug[i][Carkey] = cache_get_field_content_int(0,"id",db);
    Fahrzeug[i][Fraktion] = cache_get_field_content_int(0,"Fraktion",db);
    Fahrzeug[i][modelid] = cache_get_field_content_int(0,"modelid",db);
    Fahrzeug[i][Colour1] = cache_get_field_content_int(0,"Farbe1",db);
    Fahrzeug[i][Colour2] = cache_get_field_content_int(0,"Farbe2",db);
    Fahrzeug[i][Paintjob] = cache_get_field_content_int(0,"Paintjob",db);
    Fahrzeug[i][HP] = cache_get_field_content_int(0,"HP",db);
    Fahrzeug[i][posx] = cache_get_field_content_float(0,"posx",db);
    Fahrzeug[i][posy] = cache_get_field_content_float(0,"posy",db);
    Fahrzeug[i][posz] = cache_get_field_content_float(0,"posz",db);
    Fahrzeug[i][posa] = cache_get_field_content_float(0,"posa",db);
    Fahrzeug[i][Abgeschlossen] = cache_get_field_content_int(0,"Abgeschlossen",db);
    Fahrzeug[i][Interior] = cache_get_field_content_int(0,"Interior",db);
    Fahrzeug[i][VirtualWorld] = cache_get_field_content_int(0,"VirtualWorld",db);
    cache_get_field_content(0,"Nummernschild",Fahrzeug[i][Nummernschild],db,50);
    Fahrzeug[i][Spoiler] = cache_get_field_content_int(0,"Spoiler",db);
    Fahrzeug[i][Wheels] = cache_get_field_content_int(0,"Wheels",db);
    Fahrzeug[i][Nitro] = cache_get_field_content_int(0,"Nitro",db);
    Fahrzeug[i][Roof] = cache_get_field_content_int(0,"Roof",db);
    Fahrzeug[i][Hood] = cache_get_field_content_int(0,"Hood",db);
    Fahrzeug[i][Sideskirt] = cache_get_field_content_int(0,"Sideskirt",db);
    Fahrzeug[i][Lamps] = cache_get_field_content_int(0,"Lamps",db);
    Fahrzeug[i][Exhaust] = cache_get_field_content_int(0,"Exhaust",db);
    Fahrzeug[i][Stereo] = cache_get_field_content_int(0,"Stereo",db);
    Fahrzeug[i][Hydraulics] = cache_get_field_content_int(0,"Hydraulics",db);
    Fahrzeug[i][VentRight] = cache_get_field_content_int(0,"VentRight",db);
    Fahrzeug[i][VentLeft] = cache_get_field_content_int(0,"VentLeft",db);
    Fahrzeug[i][FrontBumper] = cache_get_field_content_int(0,"FrontBumper",db);
    Fahrzeug[i][RearBumper] = cache_get_field_content_int(0,"RearBumper",db);
    Fahrzeug[i][Preis] = cache_get_field_content_int(0,"KaufPreis",db);
    Fahrzeug[i][FraktionsRang] = cache_get_field_content_int(0,"FraktionsRang",db);
    Fahrzeug[i][Vehicle] = CreateVehicleEx(Fahrzeug[i][modelid],Fahrzeug[i][posx],Fahrzeug[i][posy],Fahrzeug[i][posz],Fahrzeug[i][posa],Fahrzeug[i][Colour1],Fahrzeug[i][Colour2],-1);
    SetVehicleNumberPlate(Fahrzeug[i][Vehicle],Fahrzeug[i][Nummernschild]);
    vFahrzeug[Fahrzeug[i][Vehicle]][Abgeschleppt] = cache_get_field_content_int(0,"Abgeschleppt",db);
    vFahrzeug[Fahrzeug[i][Vehicle]][AbgeschlepptPreis] = cache_get_field_content_int(0,"AbgeschlepptPreis",db);
    cache_get_field_content(0,"AbgeschlepptGrund",vFahrzeug[Fahrzeug[i][Vehicle]][AbgeschlepptGrund],db,50);
    vFahrzeug[Fahrzeug[i][Vehicle]][Neon] = cache_get_field_content_int(0,"Neon",db);
    MotorDown[Fahrzeug[i][Vehicle]] = cache_get_field_content_int(0,"Motorschaden",db);
    vFahrzeug[Fahrzeug[i][Vehicle]][FailGas] = cache_get_field_content_int(0,"FailGas",db);
    vFahrzeug[Fahrzeug[i][Vehicle]][Tank] = cache_get_field_content_int(0,"Tank",db);
    vFahrzeug[Fahrzeug[i][Vehicle]][Neon] = cache_get_field_content_int(0,"Neon",db);
    return 1;
    }


    Hier nochmal beim erstellen.
    stock CreateFraktionsVehicle(vehiclemodelid,fraktid,Float:xpos,Float:ypos,Float:zpos,vworld,interior,Float:angle,respawntime,preis)
    {
    new queryone[450],querytwo[300],mainquery[800];
    for(new fv;fv<MAX_FCARS;fv++)
    {
    if(Fahrzeug[fv][Fraktion] == 0)
    {
    Fahrzeug[fv][Carkey] = fv;
    Fahrzeug[fv][Fraktion] = fraktid;
    Fahrzeug[fv][FraktionsRang] = 0;
    Fahrzeug[fv][modelid] = vehiclemodelid;
    Fahrzeug[fv][Colour1] = FVehicleInfo[fraktid-1][FColor1];
    Fahrzeug[fv][Colour2] = FVehicleInfo[fraktid-1][FColor2];
    Fahrzeug[fv][Paintjob] = -1;
    Fahrzeug[fv][posx] = xpos;
    Fahrzeug[fv][posy] = ypos;
    Fahrzeug[fv][posz] = zpos;
    Fahrzeug[fv][posa] = angle;
    Fahrzeug[fv][Interior] = interior;
    Fahrzeug[fv][VirtualWorld] = vworld;
    Fahrzeug[fv][Spoiler] = 0;
    Fahrzeug[fv][Wheels] = 0;
    Fahrzeug[fv][Nitro] = 0;
    Fahrzeug[fv][Roof] = 0;
    Fahrzeug[fv][Hood] = 0;
    Fahrzeug[fv][Sideskirt] = 0;
    Fahrzeug[fv][Lamps] = 0;
    Fahrzeug[fv][Exhaust] = 0;
    Fahrzeug[fv][Stereo] = 0;
    Fahrzeug[fv][Hydraulics] = 0;
    Fahrzeug[fv][VentRight] = 0;
    Fahrzeug[fv][VentLeft] = 0;
    Fahrzeug[fv][FrontBumper] = 0;
    Fahrzeug[fv][RearBumper] = 0;
    Fahrzeug[fv][Preis] = preis;
    Fahrzeug[fv][HP] = 1000.0;
    Fahrzeug[fv][Tank] = VehicleInfo[vehiclemodelid-400][vtankvolumen];
    format(Fahrzeug[fv][Nummernschild],64,"SA-%s-%i",FVehicleInfo[fraktid-1][FNumbPlate],Fahrzeug[fv][Carkey]);
    Fahrzeug[fv][Vehicle] = CreateVehicleEx(vehiclemodelid,xpos,ypos,zpos,angle,Fahrzeug[fv][Colour1],Fahrzeug[fv][Colour2],respawntime,false);
    LinkVehicleToInterior(Fahrzeug[fv][Vehicle],Fahrzeug[fv][Interior]);
    SetVehicleVirtualWorld(Fahrzeug[fv][Vehicle],Fahrzeug[fv][VirtualWorld]);
    SetVehicleNumberPlate(Fahrzeug[fv][Vehicle],Fahrzeug[fv][Nummernschild]);
    SetVehicleHealth(Fahrzeug[fv][Vehicle],Fahrzeug[fv][HP]);
    GetVehicleParamsEx(Fahrzeug[fv][Vehicle],engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(Fahrzeug[fv][Vehicle],engine,lights,alarm,VEHICLE_PARAMS_ON,bonnet,boot,objective);
    Fahrzeug[fv][Abgeschlossen] = 1;
    format(queryone,sizeof(queryone),"INSERT INTO `samp_fautos` (`id`,`Fraktion`,`Rang`,`modelid`,`Farbe1`,`Farbe2`,`Paintjob`,`HP`,`posx`,`posy`,`posz`,`posa`,`Interior`,`VirtualWorld`,`Abgeschlossen`,`Abgeschleppt`,`AbgeschlepptPreis`,`AbgeschlepptGrund`,`Nummernschild`,`Spoiler`,`Hood`,`Roof`,`Sideskirt`,`Lamps`,`Nitro`,`Exhaust`,`Wheels`,`Stereo`,`Hydraulics`,`FrontBumper`,`RearBumper`,`VentRight`,`VentLeft`,`KaufPreis`,`Motorschaden`,`Tank`)");
    format(querytwo,sizeof(querytwo),"VALUES ('%d','%d','%d','%d','%d','%d','%d','%f','%f','%f','%f','%f','%d','%d','%d','0','0','NONE','%s','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','0','%f')",
    Fahrzeug[fv][Carkey],Fahrzeug[fv][Fraktion],Fahrzeug[fv][FraktionsRang],Fahrzeug[fv][modelid],Fahrzeug[fv][Colour1],Fahrzeug[fv][Colour2],Fahrzeug[fv][Paintjob],Fahrzeug[fv][HP],Fahrzeug[fv][posx],Fahrzeug[fv][posy],Fahrzeug[fv][posz],Fahrzeug[fv][posa],Fahrzeug[fv][Interior],Fahrzeug[fv][VirtualWorld],Fahrzeug[fv][Abgeschlossen],Fahrzeug[fv][Nummernschild],Fahrzeug[fv][Spoiler],Fahrzeug[fv][Hood],Fahrzeug[fv][Roof],Fahrzeug[fv][Sideskirt],Fahrzeug[fv][Lamps],
    Fahrzeug[fv][Nitro],Fahrzeug[fv][Exhaust],Fahrzeug[fv][Wheels],Fahrzeug[fv][Stereo],Fahrzeug[fv][Hydraulics],Fahrzeug[fv][FrontBumper],Fahrzeug[fv][RearBumper],Fahrzeug[fv][VentRight],Fahrzeug[fv][VentLeft],Fahrzeug[fv][Preis],Fahrzeug[fv][Tank]);
    format(mainquery,sizeof(mainquery),"%s%s",queryone,querytwo);
    mysql_function_query(db,mainquery,false,"","");
    return fv;
    }
    }
    return 1;
    }


    Hinweis: Wenn ihr selber nicht wisst, woran das liegen könnte, dann Antwortet bitte erst gar nicht, dumme Kommentare, sind nicht erwünscht und werden als Spam gemeldet, vielen Dank und liebe Grüße

  • SQL
    [00:20:17] [WARNING] CMySQLResult::GetRowDataByName - field not found ("FraktionsRang")
    [00:20:17] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Neon")
    [00:20:17] [WARNING] CMySQLResult::GetRowDataByName - field not found ("FailGas")


    =
    Du hast bei der Tabelle die Spalten nicht angegeben.
    Such mal in der Tabelle nach FraktionsRang,Neon und FailGas.
    Dir wird auffallen, dass sie nicht existieren.

  • Hallo thetvMt2:
    Vielen Dank für deine Antwort. Dieses Problem konnte ich jetzt Anhand deiner Aussage beheben können, nun habe ich ein weiteres.


    Das weitere Problem:
    Es wird von MYSQL versucht den Datensatz zu ersetzten aber mit INSERT kann das nicht funktionieren...nun möchte ich das eine Neue Zeile in der Datenbank erstellt wird z.B. wie beim Register System->jeder spieler hat seine eigene Zeile aber bis dahin komme ich bei diesem Befehl leider nicht.


    Zudem was noch merkwürdig ist beim 3erstellten Frak car kommt der 2te Eintrag in die DB aber eigentlich müssten 3Autos ingame und 3Einträge in der DB vorhanden sein.


    Der Error ist:

    SQL
    [21:11:42] [ERROR] CMySQLQuery::Execute[LoadNewFrakCar(i)] - (error #1062) Duplicate entry '1' for key 'PRIMARY

    Ich suche (Beta) Server-Tester für meinen Server.
    Bei Intresse bitte bei mir per PN melden.

  • Bitte ersetz das, was ich im expander reingeschrieben hatte. Danach erstell noch ein Feld/Spalte mit "Carkey". Danach sollte es gehen

    Spoiler anzeigen


    public FCarLoad(i)
    {
    .....
    Fahrzeug[i][Carkey] = cache_get_field_content_int(0,"Carkey",db);
    ....


    stock CreateFraktionsVehicle(vehiclemodelid,fraktid,Float:xpos,Float:ypos,Float:zpos,vworld,interior,Float:angle,respawntime,preis)
    {
    .....
    format(queryone,sizeof(queryone),"INSERT INTO `samp_fautos` (`Carkey`,`Fraktion`,`Rang`,`modelid`,`Farbe1`,`Farbe2`,`Paintjob`,`HP`,`posx`,`posy`,`posz`,`posa`,`Interior`,`VirtualWorld`,`Abgeschlossen`,`Abgeschleppt`,`AbgeschlepptPreis`,`AbgeschlepptGrund`,`Nummernschild`,`Spoiler`,`Hood`,`Roof`,`Sideskirt`,`Lamps`,`Nitro`,`Exhaust`,`Wheels`,`Stereo`,`Hydraulics`,`FrontBumper`,`RearBumper`,`VentRight`,`VentLeft`,`KaufPreis`,`Motorschaden`,`Tank`)");
    format(querytwo,sizeof(querytwo),"VALUES ('%d','%d','%d','%d','%d','%d','%d','%f','%f','%f','%f','%f','%d','%d','%d','0','0','NONE','%s','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','0','%f')",
    Fahrzeug[fv][Carkey],Fahrzeug[fv][Fraktion],Fahrzeug[fv][FraktionsRang],Fahrzeug[fv][modelid],Fahrzeug[fv][Colour1],Fahrzeug[fv][Colour2],Fahrzeug[fv][Paintjob],Fahrzeug[fv][HP],Fahrzeug[fv][posx],Fahrzeug[fv][posy],Fahrzeug[fv][posz],Fahrzeug[fv][posa],Fahrzeug[fv][Interior],Fahrzeug[fv][VirtualWorld],Fahrzeug[fv][Abgeschlossen],Fahrzeug[fv][Nummernschild],Fahrzeug[fv][Spoiler],Fahrzeug[fv][Hood],Fahrzeug[fv][Roof],Fahrzeug[fv][Sideskirt],Fahrzeug[fv][Lamps],
    Fahrzeug[fv][Nitro],Fahrzeug[fv][Exhaust],Fahrzeug[fv][Wheels],Fahrzeug[fv][Stereo],Fahrzeug[fv][Hydraulics],Fahrzeug[fv][FrontBumper],Fahrzeug[fv][RearBumper],Fahrzeug[fv][VentRight],Fahrzeug[fv][VentLeft],Fahrzeug[fv][Preis],Fahrzeug[fv][Tank]);
    ....
    }

  • Hallo,
    Warum soll ich eine Spalte hinzufügen die Carkey heißt ?
    Dieses Carkey ist die ID und die ist in der Datenbank definiert.
    Unnötig. Hat übrigens den selben Effekt.

    Ich suche (Beta) Server-Tester für meinen Server.
    Bei Intresse bitte bei mir per PN melden.