MYSQL Haussystem

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
  • Guten Morgen.


    Versuche ein Haussystem zu schreiben aber habe schon am Anfang folgendes Problem:


    MYSQL-PWN-CODE

    Die Table wird nicht selbst erstellt.
    Kann wer bitte helfen.

  • SQL
    CREATE TABLE IF NOT EXISTS `HAUSER` (
     `ID` int(12) NOT NULL PRIMARY KEY ,
     `IntID` int(11) NOT NULL DEFAULT '0' ,
     `H_X` float NOT NULL DEFAULT '0' ,
     `H_Y` float NOT NULL DEFAULT '0' ,
     `H_Z` float NOT NULL DEFAULT '0' ,
     `H_R` float NOT NULL DEFAULT '0' ,
     `Mieter` int(11) NOT NULL DEFAULT '0' ,
     `Mietpreis` int(11) NOT NULL DEFAULT '0' ,
     `Hauskasse` int(11) NOT NULL DEFAULT '0');

    Versuch das ganze mal so.


    Mehrere Kleinigkeiten:

    • DEAFULT statt DEFAULT
    • NUL statt NULL
    • Komma in der ersten Zeile vergessen
  • Ist mir zuvor am Handy nicht aufgefallen, dass du die Falschen Anführungszeichen nutzt, so passt es:
    CreateHVTable()
    {
    new query[512];
    format(query,sizeof(query),"CREATE TABLE IF NOT EXISTS `HAUSER` (");
    format(query,sizeof(query)," %s `ID` int(12) NOT NULL PRIMARY KEY, ",query);
    format(query,sizeof(query), " %s `IntID` int(11) NOT NULL DEFAULT '0',",query);
    format(query,sizeof(query), " %s `H_X` float NOT NULL DEFAULT '0'," ,query);
    format(query,sizeof(query), " %s `H_Y` float NOT NULL DEFAULT '0'," ,query);
    format(query,sizeof(query), " %s `H_Z` float NOT NULL DEFAULT '0'," ,query);
    format(query,sizeof(query), " %s `H_R` float NOT NULL DEFAULT '0'," ,query);
    format(query,sizeof(query), "%s `Mieter` int(11) NOT NULL DEFAULT '0',",query);
    format(query,sizeof(query), "%s `Mietpreis` int(11) NOT NULL DEFAULT '0',",query);
    format(query,sizeof(query)," %s `Hauskasse` int(11) NOT NULL DEFAULT '0')",query);
    mysql_tquery(handle,query);
    return 1;
    }


    Außerdem hattest du dich bei DEFAULT mal verschrieben.

  • Beitrag von Markuslobicher ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • So wie Sie mir es gemacht haben @Jeffry klappt nun alles ohne Probleme, aber komme nun beim Speichern meiner Häuser nicht weiter.


    Wäre auch sehr nett wenn Sie auch ein Auge auf die anderen Sachen vom Script schauen könnten.



    Pawn_Code:


    PS: @Jeffry Bin da wo Sie den Timer erstellt haben und dann aufrufen.


  • Ja, nach dem gleichen Prinzip wie in dem Tutorial:
    public AlleHauserSpeichern()
    {
    new query[256];
    for(new i=0; i<MAX_PLAYER_HAUS; i++)
    {
    if(Hauser[i][IntID] >= 1 && Hauser[i][IntID] <= 19)
    {
    //Und wir erstellen das Query:
    format(query, sizeof(query), "UPDATE Hauser SET IntID = '%d', H_X = '%f', H_Y = '%f', H_Z = '%f', H_R = '%f', Besitzer = '%d' WHERE ID = '%d'",
    Hauser[i][IntID], Hauser[i][H_X], Hauser[i][H_y], Hauser[i][H_Z], Hauser[i][H_R], Hauser[i][Besitzer], i);
    //handle = die Connection Handle ID die vor mysql_connect steht.
    mysql_tquery(handle, query);
    }
    }
    return 1;
    }


    (Gegebenenfalls %f zu %d ändern, wenn du die Positionen als Integer speicherst.)

  • In mein Public für Hausladen_Data gibt er mir fehler aus und ich weiß einfach nicht wieso.



    Hier Der Publicc:
    Die Fehler sind nach dem else klammer:

    Code
    reallife.p(439) : warning 213: tag mismatch
    reallife.p(441) : warning 202: number of arguments does not match definition
    reallife.p(441) : warning 202: number of arguments does not match definition
    reallife.p(441) : warning 202: number of arguments does not match definition
    reallife.p(441) : warning 202: number of arguments does not match definition



  • Änder mal in deinem Haus Enum die Variablen in Floats um da CreatePickup Floats erwartet.
    H_X,H_Y,H_z,H_R,


    Und dann Zeile 14-17 in Hausladen_Data():
    cache_get_field_content_int
    zu
    cache_get_field_content_float


    Achso und Zeile 26 solltest du auch abändern bzw entfernen hast ja ein darunter deine Limit abfrage:

    Einmal editiert, zuletzt von NiSSaY ()

  • nur leider kommt nach dem else das nicht da steht immer nur:
    reallife.p(439) : warning 213: tag mismatch


    Ich habe mich an das Tutorial von @Jeffry gehalten also ist es richtig gewesen aber auch egal.


    Hier das Public:

  • Mein Haussystem sieht wie folgt aus:





    Code: OnGameModeInit
    CreateHVTable();
    	HausLaden();
    	SetTimer("AlleHauserSpeichern",60000,true);
    
    
    die sachen stehen da drin.

    Haussystem:


    Hausladen Hausdata und der Timer Public: