Beiträge von Kasakow

    was


    Das habe ich gerade gemacht


    :


    Das beim spieler speichern stock :


    new Waffen[13][2];
    for (new i = 0; i < 13; i++)
    {
    GetPlayerWeaponData(playerid, i, Waffen[i][0], Waffen[i][1]);
    }


    Dasm Spielerladen stock


    new Weapons[MAX_PLAYERS][2];
    Weapons[playerid][0] = dini_Int(pfad, "Waffe%i");
    Weapons[playerid][1] = dini_Int(pfad, "Ammo%i");
    GivePlayerWeapon(playerid, Weapons[playerid][0], Weapons[playerid][1]);

    SELECT * FROM `accounts` WHERE `Username` ='%s' AND `Password`='%s' LIMIT 1


    Nach deinem CODE geht es immer noch nicht


    Das steht in der debug


    [12:07:26] [DEBUG] mysql_tquery - connection: 1, query: "SELECT id FROM accounts WHERE Username='Mega_Joe'", callback: "PlayerCheck", format: "i"
    [12:07:26] [DEBUG] CMySQLQuery::CMySQLQuery() - constructor called
    [12:07:26] [DEBUG] mysql_tquery - scheduling query "SELECT id FROM accounts WHERE Username='Mega_Joe'"..
    [12:07:26] [DEBUG] CMySQLQuery::Execute[PlayerCheck(i)] - starting query execution
    [12:07:26] [DEBUG] CMySQLQuery::Execute[PlayerCheck(i)] - query was successful
    [12:07:26] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
    [12:07:26] [DEBUG] CMySQLQuery::Execute[PlayerCheck(i)] - data being passed to ProcessCallbacks()
    [12:07:26] [DEBUG] Calling callback "PlayerCheck"..
    [12:07:26] [DEBUG] cache_get_data - connection: 1
    [12:07:26] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
    [12:07:26] [DEBUG] CMySQLQuery::~CMySQLQuery() - deconstructor called
    [12:07:32] [DEBUG] mysql_escape_string - source: "12345678", connection: 1, max_len: 35
    [12:07:32] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `accounts` WHERE `Username` ='Mega_Joe' AND `Passw", callback: "CheckPasswort", format: "i"
    [12:07:32] [DEBUG] CMySQLQuery::CMySQLQuery() - constructor called
    [12:07:32] [DEBUG] mysql_tquery - scheduling query "SELECT * FROM `accounts` WHERE `Username` ='Mega_Joe' AND `Password`='25D55AD283AA400AF464C76D713C07AD' LIMIT 1"..
    [12:07:32] [DEBUG] CMySQLQuery::Execute[CheckPasswort(i)] - starting query execution
    [12:07:32] [DEBUG] CMySQLQuery::Execute[CheckPasswort(i)] - query was successful
    [12:07:32] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
    [12:07:32] [DEBUG] CMySQLQuery::Execute[CheckPasswort(i)] - data being passed to ProcessCallbacks()
    [12:07:32] [DEBUG] Calling callback "CheckPasswort"..
    [12:07:32] [DEBUG] cache_get_data - connection: 1
    [12:07:32] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
    [12:07:32] [DEBUG] CMySQLQuery::~CMySQLQuery() - deconstructor called
    [12:07:33] [DEBUG] mysql_escape_string - source: "1", connection: 1, max_len: 35
    [12:07:33] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `accounts` WHERE `Username` ='Mega_Joe' AND `Passw", callback: "CheckPasswort", format: "i"
    [12:07:33] [DEBUG] CMySQLQuery::CMySQLQuery() - constructor called
    [12:07:33] [DEBUG] mysql_tquery - scheduling query "SELECT * FROM `accounts` WHERE `Username` ='Mega_Joe' AND `Password`='C4CA4238A0B923820DCC509A6F75849B' LIMIT 1"..
    [12:07:33] [DEBUG] CMySQLQuery::Execute[CheckPasswort(i)] - starting query execution
    [12:07:33] [DEBUG] CMySQLQuery::Execute[CheckPasswort(i)] - query was successful
    [12:07:33] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
    [12:07:33] [DEBUG] CMySQLQuery::Execute[CheckPasswort(i)] - data being passed to ProcessCallbacks()
    [12:07:33] [DEBUG] Calling callback "CheckPasswort"..
    [12:07:33] [DEBUG] cache_get_data - connection: 1
    [12:07:33] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
    [12:07:33] [DEBUG] CMySQLQuery::~CMySQLQuery() - deconstructor called


    mysql_escape_string(inputtext, Passwort, handle);
    format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `Username` ='%s' AND `Password`='%s' LIMIT 1",getPlayerName(playerid), MD5_Hash(Passwort));
    mysql_function_query(handle, query, true, "CheckPasswort", "i", playerid);


    Ja das von Blueg r34 :)

    Hey leute, ich habe gerade ein MD5 Hash gescriptet und ehm


    'Voher ging alles aber nun wenn ich mich einloggen möchte ist anscheinend jedes Passwort "falsch" was ich eingebe ??


    mysql_escape_string(inputtext, Passwort, handle);
    format(query, sizeof(query), "SELECT * FROM accounts WHERE Username='%s' AND Password=MD5('%s')",getPlayerName(playerid), Passwort);
    mysql_function_query(handle, query, true, "CheckPasswort", "i", playerid);

    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;
    }