Beiträge von Kasakow

    Ich schreibe dir hier mal den befehl erneut und auf ocmd:


    ocmd:auftraggeben(playerid, params[])
    {
    if(!IsPlayerInFrac(playerid, 8))return SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Hitman!");
    if(PlayerInfo[playerid][pRank] < 2)return SendClientMessage(playerid, COLOR_GREY, "Es gibt derzeit keine Aufträge, schau vorher unter /auftrag nach.");
    if(sscanf(params, "ui", id, Value))return SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /auftraggeben [Spielerid/Spielername] [Betrag]");
    if(id == INVALID_PLAYER_ID)return SendClientMessage(playerid, COLOR_GRAD1, "Dieser Spieler ist nicht online!");
    if(id == playerid)return SendClientMessage(playerid, COLOR_GRAD1, "Du kannst keinen Auftrag auf die selber ausgeben!");
    if(CMoney[id] > 0)return SendClientMessage(playerid, COLOR_GRAD1, "Dieser Spieler hat bereits einen Auftrag!");
    if(IsPlayerInFrac(playerid, 8))return SendClientMessage(playerid, COLOR_GRAD1, "Du kannst auf keinen Hitman einen Auftrag aufgeben!");
    format(string, sizeof(string), "* Spieler %s hat den Auftrag gegeben, %s(ID:%i) für %i$ zu töten.",Spielername(playerid), Spielername(id), id, Value);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    CMoney[id] = Value;
    return 1;
    }


    Function OnPlayerDeath(playerid, killerid, reason)
    {
    if(killerid!= INVALID_PLAYER_ID)
    {
    if(CMoney[playerid] > 0 && IsPlayerInFrac(killerid, 8))
    {
    //Contract kill
    }
    }
    return 1;
    }


    Das ganze war nur ein Beispiel müsstest dann halt paar andere sachen im gf ändern wenn du meinen quellcode nimmst :thumbup:

    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 %.