Beiträge von Sho0ti

    Guten Tag,


    Mein MySQL Log spuckt diesen Fehler aus.


    SQL
    [12:27:51] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Personalausweiss")
    [12:27:51] [ERROR] cache_get_field_content_int - invalid datatype


    Was bedeutet dieser Fehler und wie kann ich ihn beheben ?
    Jeffry:

    Guten abend,


    Ich er erstellt die Tabelle Accounts perfekt aber nicht die Scheine ?
    Wo liegt mein Fehler ?


    Code:


    CreateTables()
    {
    new query[1024],query1[1024];
    // Spielerdaten
    format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `script_accounts` (");
    format(query, sizeof(query), "%s `ID` int(11) NOT NULL PRIMARY KEY,", query);
    format(query, sizeof(query), "%s `Name` varchar(64),", query);
    format(query, sizeof(query), "%s `Passwort` varchar(128) NOT NULL,", query);
    format(query, sizeof(query), "%s `InternetProtocol` varchar(128) NOT NULL,", query);
    format(query, sizeof(query), "%s `Eingeloggt` int(2) NOT NULL DEFAULT '0',", query);
    format(query, sizeof(query), "%s `Admin` int(2) NOT NULL DEFAULT '0',", query);
    format(query, sizeof(query), "%s `Tutorial` int(2) NOT NULL DEFAULT '0',", query);
    format(query, sizeof(query), "%s `Level` int(2) NOT NULL DEFAULT '0',", query);
    format(query, sizeof(query), "%s `Geld` int(2) NOT NULL DEFAULT '0',", query);
    format(query, sizeof(query), "%s `Bank` int(2) NOT NULL DEFAULT '0',", query);
    format(query, sizeof(query), "%s `Skin` int(2) NOT NULL DEFAULT '0'", query);
    format(query, sizeof(query), "%s) ENGINE=InnoDB DEFAULT CHARSET=latin1;", query);
    // Spieler Scheine
    format(query1, sizeof(query1), "CREATE TABLE IF NOT EXISTS `script_scheine` (");
    format(query1, sizeof(query1), "%s `ID` int(11) NOT NULL PRIMARY KEY,", query);
    format(query1, sizeof(query1), "%s `Name` varchar(64),", query);
    format(query1, sizeof(query1), "%s `Autoschein` int(2) NOT NULL DEFAULT '0',", query);
    format(query1, sizeof(query1), "%s `Motorradschein` int(2) NOT NULL DEFAULT '0',", query);
    format(query1, sizeof(query1), "%s `Flugschein` int(2) NOT NULL DEFAULT '0',", query);
    format(query1, sizeof(query1), "%s `Waffenschein` int(2) NOT NULL DEFAULT '0',", query);
    format(query1, sizeof(query1), "%s `Zollschein` int(2) NOT NULL DEFAULT '0'", query);
    format(query1, sizeof(query1), "%s) ENGINE=InnoDB DEFAULT CHARSET=latin1;", query);
    // Allgemeines
    mysql_tquery(Handle, query);
    mysql_tquery(Handle, query1);
    return 1;
    }


    Jeffry:

    Jeffry: Manniac:


    so sieht mein Speichern aus.


    Spoiler anzeigen
    stock SpielerSpeichern(playerid)
    {
    new query[256];
    if(SpielerInfo[playerid][pEingeloggt] != 0)return 1;
    mysql_escape_string(Spielername(playerid), Spielername(playerid));
    format(query, sizeof(query), "UPDATE script_accounts SET Geld = '%i', Level= '%i' WHERE Name = '%s'", GetPlayerMoney(playerid), GetPlayerScore(playerid), Spielername(playerid));
    mysql_tquery(Handle, query);
    return 1;
    }

    Jeffry:


    Danke nun funktioniert alles :)


    Nun meine Frage beim LoadPlayer wird die Virable von Eingeloggt auf "1" gestellt, und wenn der Spieler sich ausloggt auf null.


    Bevor er den Spieler speichert will ich abfragen ob der Spieler auch eingeloggt ist.


    ist dies richtig wenn ich das so mache ?


    if(SpielerInfo[playerid][pEingeloggt] != 0)return 1;

    Jeffry:


    Nun will er mein Passwort (123456) nicht erkennen ...


    if(dialogid == DIALOG_LOGIN)
    {
    if(!response){return Kick(playerid);}
    format(key, 50, "%s", inputtext);
    mysql_escape_string(Spielername(playerid), Spielername(playerid)), mysql_escape_string(key, key);
    format(query, sizeof(query), "SELECT * FROM script_accounts WHERE Name = '%s' AND Passwort = '%s'", Spielername(playerid), key);
    mysql_tquery(Handle, query, "OnPasswordResponse", "i", playerid);
    }


    Ja das ist auf einem Tutorial denn link editiere ich sofort.

    Danke Jeffry: funktioniert nun.


    aber wenn ich auf den Server joine erstellt er keinen Account.


    if(dialogid == DIALOG_REGISTER)
    {
    if(!response)
    {
    return Kick(playerid);
    }
    format(key, 50, "%s", inputtext);
    mysql_escape_string(Spielername(playerid), Spielername(playerid)), mysql_escape_string(key, key);
    format(query, sizeof(query), "INSERT INTO (Name, Passwort) VALUES ('%s',MD5('%s')", Spielername(playerid), key);
    mysql_tquery(Handle, query);
    SendClientMessage(playerid, -1, "Dein Account wurde erstellt.");
    GivePlayerMoney(playerid, 15000),SetPlayerScore(playerid, 1);
    }

    Jeffry:


    Guten Tag,


    Meine Tabellen von Script aus werden nicht in der Datenbank eingetragen.


    CreateTables()
    {
    new query[1024];
    format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `script_accounts` (");
    format(query, sizeof(query), "%s `ID` int(11) NOT NULL PRIMARY KEY,", query);
    format(query, sizeof(query), "%s `Name` varchar(64),", query);
    format(query, sizeof(query), "%s `Passwort` varchar(128) NOT NULL,", query);
    format(query, sizeof(query), "%s `IP` varchar(128) NOT NULL,", query);
    format(query, sizeof(query), "%s `Admin` int(2) NOT NULL DEFAULT '0',", query);
    format(query, sizeof(query), "%s) ENGINE=InnoDB DEFAULT CHARSET=latin1;", query);
    mysql_tquery(Handle, query);
    return 1;
    }


    Unter OnGameModeInit ist, "CreateTables();" vorhanden.


    Wo liegt der Fehler ?

    Guten Tag,


    Und zwar wollte ich mir ein neuen PC zulegen.
    Ich habe nun ein zusammen gestellt, meine Frage ist:
    Sind die Systeme gut und kann ich in Zukunft damit Spielen ?


    Klick mich


    Mfg

    Mach anstatt


    for(new i;i<MAX_PLAYERS;i++)
    {


    zu


    for(new i=0;i<GetMaxPlayers();i++)
    {


    da müsste eig.. dein Problem gelöst sein :)
    Wenn nicht, makier mich nochmal dann.