Beiträge von Kasakow

    Hey leute ich bekomme einen Fehler übermittelt in der mysql_log.txt wenn ich den server restarte:


    Code
    [18:51:34] [ERROR] CMySQLQuery::Execute[()] - (error #2013) Lost connection to MySQL server during query


    Was soll das genau heißen ?
    Und wieso tritt es auf


    public OnGameModeExit()
    {
    //MySQL Verbindungs Trennung
    mysql_close(handle);
    return 1;
    }


    PS: Der server beendet sich beim Restart ;)

    new string[128],inputtext;
    format(string,sizeof(string),"Dieser Befehl (%s) wurde nicht gefunden. Benutze (/help).",inputtext);
    return SCM(p,BLAU,string);


    zu


    new string[128];
    format(string,sizeof(string),"Dieser Befehl (%s) wurde nicht gefunden. Benutze (/help).",cmdtext);
    return SCM(p,BLAU,string);

    public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
    {
    if(issuerid != INVALID_PLAYER_ID) {
    PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
    }
    return 1;
    }


    Mach das ganze mal so :love:

    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    new query[800];
    format(query, sizeof(query), "UPDATE `accounts` SET `Level` = '%d',`Adminlevel` = '%d',`Online` = '%d',`Datum` = '%s',`Geschlecht` = '%i',`Alter` = '%i',`Skin` = '%i',`Fraktion` = '%i',`Fraktionsrang` = '%i',`Leader` = '%i',`MuteZeit` = '%i',`Gemutet` = '%i' WHERE Name='%s'",
    SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pOnline],SpielerInfo[playerid][pDatum],SpielerInfo[playerid][pGeschlecht],SpielerInfo[playerid][pAlter],GetPlayerSkin(playerid),SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pFraktionsrang],SpielerInfo[playerid][pLeader],SpielerInfo[playerid][pMuteZeit],SpielerInfo[playerid][pGemutet],SpielerInfo[playerid][pName]);
    format(query, sizeof(query), "UPDATE `accounts` SET `Gebannt` = '%i',`Ausfuehrender` = '%s',`Grund` = '%s' WHERE Name='%s'",
    SpielerInfo[playerid][pGebannt],SpielerInfo[playerid][pAusfuehrender],SpielerInfo[playerid][pGrund],SpielerInfo[playerid][pName]);
    mysql_query(query);
    printf(query);
    }
    }
    return 1;
    }


    zu


    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    new query[800];
    format(query, sizeof(query), "UPDATE `accounts` SET `Level` = '%d',`Adminlevel` = '%d',`Online` = '%d',`Datum` = '%s',`Geschlecht` = '%i',`Alter` = '%i',`Skin` = '%i',`Fraktion` = '%i',`Fraktionsrang` = '%i',`Leader` = '%i',`MuteZeit` = '%i',`Gemutet` = '%i' WHERE Name='%s'",
    SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pOnline],SpielerInfo[playerid][pDatum],SpielerInfo[playerid][pGeschlecht],SpielerInfo[playerid][pAlter],GetPlayerSkin(playerid),SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pFraktionsrang],SpielerInfo[playerid][pLeader],SpielerInfo[playerid][pMuteZeit],SpielerInfo[playerid][pGemutet],SpielerInfo[playerid][pName]);
    mysql_query(query);
    format(query, sizeof(query), "UPDATE `accounts` SET `Gebannt` = '%i',`Ausfuehrender` = '%s',`Grund` = '%s' WHERE Name='%s'",
    SpielerInfo[playerid][pGebannt],SpielerInfo[playerid][pAusfuehrender],SpielerInfo[playerid][pGrund],SpielerInfo[playerid][pName]);
    mysql_query(query);
    printf(query);
    }
    }
    return 1;
    }

    Du gibst ja am ende WHERE Name = '%s' dass muss du auch am ende angeben so z.B


    stock getPlayerName(playerid){
    new name[24];
    GetPlayerName(playerid, name, 24);
    return name;
    }


    new query[128];
    format(query, sizeof(query), "UPDATE table SET variable = '%s' WHERE Name = '%s' ", string, getPlayerName(playerid));
    mysql_query(query);

    Du verstehst das falsch:


    %s ist ein Platzhalter für einen string ;)


    einen string sollte man formatieren


    den platzhalter für das format sollte man angeben


    Der letze parameter für format heißt {Float,_}:...)
    Da vo du die werte eintragen lässt für den jeweiligen platzhalter also %.