Hilfe bei mysql_GetString

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 möchte gerne alle Serverinformationen aus der Datenbank auslesen sprich Servername, Version und so weiter,
    allerdings verzweifle ich beim auslesen des Strings, die Int´s hab ich hinbekommen ausser das er mir beim ausgeben ein - vor die zahl setzt(denke mal falsche Formatierung) aber mein Hauptproblem ist das auslesen der Strings



    Die Enums:



    Mein ServerInformations stock:



    und OnGamemodeInit:



    und zum guten Schluss mein Fehler:



    Fehler ist in der Zeile im stock




    vielen dank jetzt schonmal für die Hilfe


    Mit Freundlichen Grüßen


    Nico

  • Du hast in deinem Enum, die "Variable" sServername als normale Variable initialisiert und nicht als String / Array.


    enum ServerDaten
    {
    sServername[50],
    sMapname,
    sServerversion1,
    sServerversion2
    }
    new ServerInformationen[ServerDaten];


    Wenn ich das richtig sehe, wirst du das Problem aber überall haben.
    Du willst sicherlich überall Strings drin speichern und keine Zahlen.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Du musst im enum die Werte als Array anlegen, wie BlackAce schon sagte.
    enum ServerDaten
    {
    sServername[32],
    sMapname[32],
    sServerversion1,
    sServerversion2
    }
    new ServerInformationen[ServerDaten];


    Außerdem darf mysql_GetString keinen direkten Wert zurück geben, du musst es so machen:
    stock LoadServerInformationen()
    {
    format(ServerInformationen[sServername], 32, mysql_GetString("Serverinformationen", "Servername", "id", "1"));
    format(ServerInformationen[sMapname], 32, mysql_GetString("Serverinformationen", "Mapname", "id", "1"));
    ServerInformationen[sServerversion1] = mysql_GetInt("Serverinformationen", "Serverversion1", "id", "1");
    ServerInformationen[sServerversion2] = mysql_GetInt("Serverinformationen", "Serverversion2", "id", "1");
    return 1;
    }
    Zudem habe ich den hinteren Teil abgeändert, da du nicht nach dem Name selektieren kannst, wenn du den Name nicht kennst.
    Du musst in deiner Tabelle zusätzlich eine Spalte "id" anlegen, nach der du selektieren kannst (hier: 1).
    Somit sieht deine Tabelle so aus:


    id Servername Mapname Serverversion1 Serverversion2
    1 Mein Server Meine Map 2 1337