ServerLade Probleme

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 möchte wenn mein Server startet das er ein paar dinge aus der Datenbank ausliest.
    Bei OnGameModeInit steht :
    ServerLaden();


    Und der Stock dazu lautet

    stock ServerLaden()
    {
    ServerDaten[Server][Staatskasse] = mysql_GetInt("server", "Staatskasse","id", 0);
    ServerDaten[Server][Zinsen] = mysql_GetInt("server", "Zinsen", "id", 0);
    ServerDaten[Server][Steuern] = mysql_GetInt("server", "Steuern", "id", 0);
    return 1;
    }


    Dazu habe ich ein Enum und eien Variable erstellt.


    enum ServerDaten
    {
    Staatskasse,
    Float:Zinsen,
    Float:Steuern,
    Prods
    }
    new Server[ServerDaten];




    Folgende Fehler treten auf:


    C:\Users\Timo\Desktop\server\gamemodes\SFRP.pwn(76) : warning 202: number of arguments does not match definition
    C:\Users\Timo\Desktop\server\gamemodes\SFRP.pwn(1430) : error 028: invalid subscript (not an array or too many subscripts): "ServerDaten"
    C:\Users\Timo\Desktop\server\gamemodes\SFRP.pwn(1430) : warning 215: expression has no effect
    C:\Users\Timo\Desktop\server\gamemodes\SFRP.pwn(1430) : error 001: expected token: ";", but found "]"
    C:\Users\Timo\Desktop\server\gamemodes\SFRP.pwn(1430) : error 029: invalid expression, assumed zero
    C:\Users\Timo\Desktop\server\gamemodes\SFRP.pwn(1430) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • Beitrag von Loganpunkt ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • stock ServerLaden()
    {
    Server[Staatskasse] = mysql_GetInt("server", "Staatskasse","id", 0);
    Server[Zinsen] = mysql_GetInt("server", "Zinsen", "id", 0);
    Server[Steuern] = mysql_GetInt("server", "Steuern", "id", 0);
    return 1;
    }

  • C:\Users\Timo\Desktop\server\gamemodes\SFRP.pwn(1430) : error 035: argument type mismatch (argument 4)
    C:\Users\Timo\Desktop\server\gamemodes\SFRP.pwn(1431) : error 035: argument type mismatch (argument 4)
    C:\Users\Timo\Desktop\server\gamemodes\SFRP.pwn(1432) : error 035: argument type mismatch (argument 4)

  • So macht es mehr Sinn:


    stock ServerLaden()
    {
    Server[Staatskasse] = mysql_GetInt("server", "Staatskasse","id", "0");
    Server[Zinsen] = mysql_GetFloat("server", "Zinsen", "id", "0");
    Server[Steuern] = mysql_GetFloat("server", "Steuern", "id", "0");
    return 1;
    }

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • stock ServerLaden()
    {
    Server[Staatskasse] = mysql_GetInt("server", "Staatskasse","id", "0");
    Server[Zinsen] = mysql_GetFloat("server", "Zinsen", "id", "0");
    Server[Steuern] = mysql_GetFloat("server", "Steuern", "id", "0");
    return 1;
    }




    stock mysql_GetFloat(Table[], Field[], Where[], Is[])
    {
    new query[128], Float:sqlfloat;
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return sqlfloat;
    }




    C:\Users\Timo\Desktop\server\gamemodes\SFRP.pwn(1483) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.


  • forward Float:mysql_GetFloat(Table[], Field[], Where[], Is[]);
    stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[])
    {
    new query[128], Float:sqlfloat;
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return sqlfloat;
    }


    Versuche es so.