Beiträge von Jerome (:

    In der Datenbank sind nur 2 Accounts drin. Also ist das nicht so tragisch.



    Habe jedes Fehlt eine Zahl rein geschrieben von 1 - 136 er zeigt mir jede Zahl an....



    [00:28:35] SSCANF:GamerXiOS|test|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54.2|55.2|56|57|58|59.0|60|61|62|63|64.0|65.0|66.0|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99|100|101|102|103|104|105|106|107|108|109|110|112|113|114|115|116|117|118|119|120|121|122|123|124|125|126|127|128|129|130|131|132|133|134|135|136


    #1 Zahlen
    #2 Edit vergessen -.-

    habe bei den Floats auch als String ausgelesen.
    Ich versuche es aber mal als Float zu lesen.


    Was mir aufgefallen ist, er macht nach dem PW erst eine 0 und dann liest er alles andere.

    Müssen die in dem Enum genau so sein wie in der Tabelle nach der Reihe ?


    Es sind 138 Datensätze


    und hier das Enum:

    Spoiler anzeigen
    enum pInfo
    {
    pSpielername[MAX_PLAYER_NAME],
    pLevel,
    pAdmin,
    pFraktion,
    pDonateRank,
    gPupgrade,
    pConnectTime,
    pReg,
    pSex,
    pAge,
    pOrigin,
    pCK,
    pMuted,
    pExp,
    pCash,
    pAccount,
    pPlayerKreditDauer,
    pPlayerKredit,
    pCrimes,
    pKills,
    pDeaths,
    pArrested,
    pWantedDeaths,
    pPhoneBook,
    pLottoNr,
    pFishes,
    pBiggestFish,
    pJob,
    pPayCheck,
    pRest,
    pHeadValue,
    pJailed,
    pJailTime,
    pGangJailed,
    pMauled,
    pMats,
    pDrugs,
    pLeader,
    pMember,
    pFMember,
    pRank,
    pChar,
    pHitman,
    pHitmanRank,
    pDead,
    pContractTime,
    pDetSkill,
    pSexSkill,
    pBoxSkill,
    pLawSkill,
    pMechSkill,
    pJackSkill,
    pCarSkill,
    pNewsSkill,
    pDrugsSkill,
    pCookSkill,
    pFishSkill,
    Float:pHealth,
    Float:pSHealth,
    pInt,
    pLocal,
    pTeam,
    pModel,
    pPnumber,
    pPbiskey,
    Float:pPos_x,
    Float:pPos_y,
    Float:pPos_z,
    pCarLic,
    pNewLic,
    pFlyLic,
    pBoatLic,
    pFishLic,
    pGunLic, //Definition des Scheines zb die Aufgabe später
    pLKWLic,
    pRollerLic,
    pMotoLic,
    pZig,
    pKekse,
    pZigSucht,
    pGun1,
    pGun2,
    pGun3,
    pGun4,
    pAmmo1,
    pAmmo2,
    pAmmo3,
    pAmmo4,
    pCarTime,
    pMulltime,
    pPayDay,
    pPayDayHad,
    pCDPlayer,
    pWins,
    pLoses,
    pAlcoholPerk,
    pDrugPerk,
    pMiserPerk,
    pPainPerk,
    pTraderPerk,
    pTut,
    pWarns,
    Float:pGWD,
    pAdjustable,
    pFuel,
    pMarried,
    pMarriedTo[128],
    pInvWeapon,
    pInvAmmo,
    pInvWeapon2,
    pInvAmmo2,
    pInvDrugs,
    pInvMats,
    pFlugTime,
    pInvadeTime,
    pRoadblock,
    pPlayMinutes,
    pGesamtMinutes,
    pMinutesSinceLogin,
    pMinutesSinceAn,
    pSFPASS,
    pLVPASS,
    pHandyGeld,
    pHandyVer,
    pUhrID,
    pHandyID,
    pOwnPerso,
    pOwnAntrag,
    pPersoStop,
    pGehalt,
    pFrakSperre,
    pBoxMats,
    pBoxDrugs,
    pban,
    pTot,
    pFarmTime,
    pGDeaths,
    pGKills,
    pMeldung,
    phID,
    hgun[MAX_WEAPON_SLOTS],
    hgunammo[MAX_WEAPON_SLOTS],
    hOwner,
    hIn,
    hInID

    Es funktioniert einfach nicht.
    Er liest die Daten aber trotzdem soll ich mich immer Reg. Und gibt mir auch die Zahl "0" aus. Obwohl die Zahl 1 sein soll.



    format(string, sizeof(string), "SELECT * FROM `accounts` WHERE `Name` = '%s'", PlayerInfo[playerid][pSpielername]);
    mysql_query(string);
    mysql_store_result();
    if(mysql_fetch_row_format(string)){
    sscanf(string, "e<p<|>iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiis[30]s[30]s[30]iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii>", PlayerInfo[playerid]);
    printf("SSCANF:%s",string);
    }
    mysql_free_result();
    printf("Du bist Reg ja oder nein:%d", PlayerInfo[playerid][pReg]);


    #1 edit edit vergessen
    #2 mysql_free_result hingeschrieben.

    format(string, sizeof(string), "SELECT * FROM `accounts` WHERE `Name` = '%s'", PlayerInfo[playerid][pSpielername]);
    mysql_query(string);
    mysql_free_result();
    if(mysql_fetch_row_format(string)){
    sscanf(string, "p<|>e<iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiis[30]s[30]s[30]iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii>", PlayerInfo[playerid]);
    printf("SSCANF:%s",string);
    }
    mysql_free_result();

    Code
    [19:51:25] CMySQLHandler::Query(SELECT * FROM accounts WHERE Name = 'GamerXiOS') - Successfully executed.[19:51:25] >> mysql_store_result( Connection handle: 1 )[19:51:25] CMySQLHandler::StoreResult() - Result was stored.[19:51:25] >> mysql_retrieve_row( Connection handle: 1 )[19:51:27] >> mysql_real_escape_string( Connection handle: 1 )[19:51:27] CMySQLHandler::EscapeString(GamerXiOS); - Escaped 9 characters to GamerXiOS.[19:51:27] >> mysql_query( Connection handle: 1 )[19:51:27] CMySQLHandler::Query(SELECT Passwort FROM accounts WHERE Name = 'GamerXiOS') - Successfully executed.[19:51:27] >> mysql_store_result( Connection handle: 1 )[19:51:27] CMySQLHandler::StoreResult() - Result was stored.[19:51:27] >> mysql_fetch_row_format( Connection handle: 1 )[19:51:27] CMySQLHandler::FetchRow() - Return: test[19:51:27] >> mysql_free_result( Connection handle: 1 )[19:51:27] CMySQLHandler::FreeResult() - Result was successfully free'd.[19:51:27] >> mysql_query( Connection handle: 1 )[19:51:27] CMySQLHandler::Query(SELECT * FROM `accounts` WHERE `Name` = 'GamerXiOS') - Successfully executed.[19:51:27] >> mysql_free_result( Connection handle: 1 )[19:51:27] CMySQLHandler::FreeResult() - The result is already empty.[19:51:27] >> mysql_fetch_row_format( Connection handle: 1 )[19:51:27] CMySQLHandler::FetchRow() - You cannot call this function now. (Reason: Empty Result)[19:51:27] >> mysql_free_result( Connection handle: 1 )[19:51:27] CMySQLHandler::FreeResult() - The result is already empty.

    Habe mich ja nicht mit dem Zeug auseinander gesetzt und lerne diese Sache auch noch.
    Habe es jetzt so gemacht wie gesagt, aber wieder nichts in der Log.


    format(string, sizeof(string), "SELECT * FROM `accounts` WHERE `Name` = '%s'", PlayerInfo[playerid][pSpielername]);
    mysql_query(string);
    mysql_free_result();
    if(mysql_fetch_row_format(string)){
    sscanf(string, "p<|>e<iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiis[30]s[30]s[30]iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii>", PlayerInfo[playerid]);
    mysql_free_result();
    print(string);
    }
    mysql_free_result();

    Aktuell so:

    new string {1024]; // test
    format(string, sizeof(string), "SELECT * FROM `accounts` WHERE `Name` = '%s'", PlayerInfo[playerid][pSpielername]);
    mysql_query(string);
    mysql_free_result();
    while(mysql_fetch_row_format(string))
    {
    sscanf(string, "p<|>e<iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiis[30]s[30]s[30]iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii>", PlayerInfo[playerid]);
    mysql_free_result();
    print(string);
    }
    mysql_query(string);
    mysql_free_result();


    Server log ist nichts.
    Mysql_log


    Habe es jetzt so. Nur liest er nchts mehr aus.
    format(string, sizeof(string), "SELECT * FROM `accounts` WHERE `Name` = '%s'", PlayerInfo[playerid][pSpielername]);
    mysql_query(string);
    mysql_free_result();
    while(mysql_fetch_row_format(string, "|", MySQLHandle))
    {
    sscanf(string, "e<p<|>{i}iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiis[30]s[30]s[30]iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii>", PlayerInfo[playerid]);
    print(string);
    }
    mysql_free_result();
    mysql_query(string);

    Huhu,


    ich wollte meine Werte aus MySQL auslesen klappt alles wunderbar, will aber jetzt auf sscanf umsteigen. (Schneller besser etc)
    Aber woher weis scanff das er jetzt der Variable X den wert Y geben soll.