[ERROR] cache_get_field_content_int - invalid datatype

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
  • Habe diese Fehlermeldungen bitte um Hilfe
    Wenn ich Spiel beitrete werde ich nach Gender gefragt Alter … und wenn ich wieder reloge werde ich wieder gefragt das heisst es speichert nicht.

    Das sind die stellen die ich mit Suche gefunden habe wenn ich nach cache_get_field_content_in suche es gibt auch mehrere davon aber sind fast alle ähnlich wie die unteren.

    Vielen dank voraus für eure Bemühungen :thumbup:

  • Okay geht klar sorry hab es schnell schnell gemacht...
    hmm und woher weiss ich welche damit ausgelesen werden worauf muss ich da achten?

  • hmm und woher weiss ich welche damit ausgelesen werden worauf muss ich da achten?

    cache_get_field_content_int(x, "das was hier steht");


    Prüfen musst du für das Feld ("das was hier steht"), ob dieses in der entsprechenden Tabelle der Datenbank als "INT" definiert wurde.
    Wenn nicht, dann muss entweder das Feld in der Tabelle angepasst werden, oder es darf nicht cache_get_field_content_int verwendet werden, sondern das entsprechende cache_get_field_content_xxx dazu.

  • cache_get_field_content_int(x, "das was hier steht");
    Prüfen musst du für das Feld ("das was hier steht"), ob dieses in der entsprechenden Tabelle der Datenbank als "INT" definiert wurde.
    Wenn nicht, dann muss entweder das Feld in der Tabelle angepasst werden, oder es darf nicht cache_get_field_content_int verwendet werden, sondern das entsprechende cache_get_field_content_xxx dazu.

    okay vielen dank ich probiere es mal


    EDIT:
    also habe mal nachgeschaut und habe es glaube ich mal gefunden.
    bei uid ist es int 0 das stimmt aber bei gender und age ist es nicht int sondern tinyint und anstatt Standard 0 ist dahinter andere zahl..
    Soll ich jetzt bei script tinyint benutzen oder soll ich es bei mysql Datenbank auf int ändern?

  • bei uid ist es int 0 das stimmt aber bei gender und age ist es nicht int sondern tinyint und anstatt Standard 0 ist dahinter andere zahl..
    Soll ich jetzt bei script tinyint benutzen oder soll ich es bei mysql Datenbank auf int ändern?

    TinyINT ist gewissermaßen auch ein INT, möglicherweise kommt das Plugin damit aber nicht klar.
    Versuche das in der Datenbank auf INT zu ändern, und prüfe ob der Fehler dann weg ist. Wenn nicht, dann suche weiter.

  • TinyINT ist gewissermaßen auch ein INT, möglicherweise kommt das Plugin damit aber nicht klar.Versuche das in der Datenbank auf INT zu ändern, und prüfe ob der Fehler dann weg ist. Wenn nicht, dann suche weiter.

    also habe mal versucht aber hat auch nicht funktioniert alles gleich wie vorher habe sogar die Standards geändert hat auch nix gebracht ich weiss nicht mehr weiter :(

  • Hast du alle cache_get_field_content_int überprüft, in allen deinen Codes?

    ja sieht alles gut aus... ich denke Problem ist irgendwo beim Datenbank also compile usw alles ohne Warnung ohne Error nur bei MySQL_LOG kommt immer die Meldung und ingame sepicherts halt die Accounts nicht...
    Also die Namen Level Häuser Vehicles usw alles wird gespeichert nur Geldstand und Spawnpoint und man muss immer wieder Geschecht Alter angeben obwohl das nur 1 mal abgefragt wird nur beim Register... kp komisch script müsste alles passen

  • Dann reproduziere den Fehler bitte und prüfe dann genau, indem du immer wieder in den Log schaust, wann der Fehler im Log auftritt, sprich nach welcher Aktion ingame.
    Ein Teil davon scheint direkt beim Hochfahren des Servers aufzutreten, das heißt, ein Code, der dort ausgeführt wird, hat ebenfalls einen Fehler.
    Außerdem sieht es so aus, als versuchst du, zwei Verbindungen zur Datenbank herzustellen - das könnte auch auf einen Filterscript deuten.


    Irgendwo passt auf jeden Fall ein cache_get_field_content_int nicht, das musst du finden. Gehe mit STRG+F alle cache_get_field_content_int's durch und prüfe diese in der zugehörigen Tabelle - achte darauf, in der richtigen Tabelle zu prüfen.


    Zusätzlich kannst du auch den MySQL Log Modus für alles einschalten, das bringt dann eventuell noch weitere Informationen, die dir die Suche erleichtern.
    Poste diesen dann gegebenenfalls nochmal.
    OnGameModeInit:
    mysql_log(ALL);

  • Jetzt habe ich etwas rausgefunden das wäre....
    also bei mysql database wenn ich bei User>Spalten>Setup>Standard auf Wie definiert1 mache Speichert es nicht...
    und z.b wenn ich rein gehe bei Users>meinAccount und dort bei Setup auf Wie definiert 0 mache speichert es alles mein spawnpunkt Geld usw...


    Aber Problem ist jetzt wenn ich es bei User>Spalten>Setup>Standard auf Wie definiert 0 mache und dann spiel joine mit neuem Account geht Garnichts kein spawn Garnichts...


    Wie soll ich das machen ??

  • Das Problem liegt nicht beim Speichern, sondern beim Laden.
    Es wird - wie gesagt - versucht, ein nicht-INT-Feld mittels cache_get_field_content_int auszulesen.


    An diesen Einstellungen solltest du daher nichts verbiegen.

    das heisst liegt es an script?

  • Siehe Post #4.


    Ob der Code falsch ist, oder das Feld in der Datenbank, kann ich nicht sagen, ohne zu wissen, welche Daten drin stehen.
    Wenn du den Code selbst geschrieben hast, solltest du das aber wissen.
    Ansonsten wende dich an den Ersteller des Codes.


    Mache ansonsten das, was ich in Post #10 beschrieben habe.

  • das mit dem mysql_log(ALL); checke ich nicht wie wo soll ich das machen?

    OnGameModeInit

    Einfach ganz als erstes darin einfügen.



    und was bringt mir das?

    Es werden nicht nur die Fehler ausgegeben, sondern alles, was das Plugin macht. Somit lässt sich gegebenenfalls erkennen, durch welches Query-Result der Fehler erzeugt wird.
    Dadurch kann die Suche dann eventuell eingegrenzt werden.


  • public OnGameModeInit()
    mysql_log(ALL);
    {
    new string[128];
    connectionID = mysql_connect(MYSQL_HOSTNAME, MYSQL_USERNAME, MYSQL_DATABASE, MYSQL_PASSWORD);
    if(mysql_errno(connectionID))
    {
    print("[ERROR] - Unable to establish a connection with the MySQL server...");
    SendRconCommand("exit");
    return 0;
    }
    radioConnectionID = mysql_connect(MYSQL_HOSTNAME, MYSQL_USERNAME, MYSQL_DATABASE, MYSQL_PASSWORD);


    so??

  • jetzt kommt aber unable to compile weil undefiend Symbol ALL muss ich es noch definieren? wenn ja so?


    #define mysql_log(ALL) oder nur #define ALL

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