MySQL Problem

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag


    Ich habe ein Problem mit meinem MySQL Script.
    Es funktioniert auch alles gut Accounts werden in der Datenbank gespeichert.
    So jetzt kommen wir zum Problem.
    Wenn der User disconnectet und dann wieder Connectet und sich dann einloggt muss er wieder alles angeben Männlich/Weiblich etc.
    Wie kann ich das nun machen das die Sachen richtig geladen werden ?


    Mfg
    ShowTeK

  • Es ist ja drin
    OnPlayerUpdate
    MySQLUpdatePlayerInt(query, PlayerInfo[playerid][pSQLID], "Tutorial",PlayerInfo[playerid][pTut]);


    OnPlayerlogin
    if (rcnt == 84) PlayerInfo[playerid][pTut] = strval(Field);
    nach dem Tut
    TutTime[i] = 0; PlayerInfo[i][pTut] = 1;

  • MySQLCheckConnection();


    // Check if the account exists
    new sqlaccountstatus = MySQLCheckAccount(plname);
    if(sqlaccountstatus != 0)
    {
    // Check if the account is locked
    if (MySQLCheckAccountLocked(sqlaccountstatus) != 0)
    {
    SendClientMessage(playerid, COLOR_GREEN, "Dein Account ist gesperrt");
    SendClientMessage(playerid, COLOR_WHITE, "Bitte melde dich im Forum bei einem Admin");
    Kick(playerid);
    return 0;
    }
    gPlayerAccount[playerid] = 1;
    PlayerInfo[playerid][pSQLID] = sqlaccountstatus;
    }
    else
    {
    gPlayerAccount[playerid] = 0;
    }
    SendClientMessage(playerid, COLOR_YELLOW, "Please wait...");
    return 1;
    }


    Mit dem Originalen Moderntopia funktioniert alles.
    Nur mit diesem Script nicht

    Einmal editiert, zuletzt von LNY ()

  • Das Tutorial wird ja auf 1 gestellt was auch richtig ist.
    Nur nach dem Relogg und bei dem Einloggen ist das so als ob der Account garnicht da ist
    Aber ich kann Trotzdem /login machen


    Ende des Tutorials
    else if(TutTime[i] == 90)
    {
    SetCameraBehindPlayer(i);
    TutTime[i] = 0; PlayerInfo[i][pTut] = 1;
    gOoc[i] = 0; gNews[i] = 0; gFam[i] = 0;
    TogglePlayerControllable(i, 1);
    MedicBill[i] = 0;
    // OnPlayerUpdate(playerid);
    SetPlayerSpawn(i);
    }

  • OnPlayerLogin


    public OnPlayerLogin(playerid,password[])
    {
    MySQLCheckConnection();
    new tmp2[256];
    new string2[64];
    new playername2[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername2, sizeof(playername2));
    MySQLFetchAcctSingle(PlayerInfo[playerid][pSQLID], "Password", PlayerInfo[playerid][pKey]);
    if(strcmp(PlayerInfo[playerid][pKey],password, true ) == 0 )
    {
    new Data[1024];
    new Field[64];
    new rcnt = 1;
    MySQLFetchAcctRecord(PlayerInfo[playerid][pSQLID], Data);
    samp_mysql_strtok(Field, "|", Data);
    while (samp_mysql_strtok(Field, "|", "")==1)
    {
    // The rcnt values here represent the order of the columns in the characters table, so don't mess with them
    // If you add a column to the table, just add a new line with a +1 rcnt to the block below
    // Start it at 3 to skip the first few records we don't need (id, player name, password)
    if (rcnt == 3) PlayerInfo[playerid][pLevel] = strval(Field);
    if (rcnt == 4) PlayerInfo[playerid][pAdmin] = strval(Field);
    if (rcnt == 5) PlayerInfo[playerid][pDonateRank] = strval(Field);
    if (rcnt == 6) PlayerInfo[playerid][gPupgrade] = strval(Field);
    if (rcnt == 7) PlayerInfo[playerid][pConnectTime] = strval(Field);
    if (rcnt == 8) PlayerInfo[playerid][pReg] = strval(Field);
    if (rcnt == 9) PlayerInfo[playerid][pSex] = strval(Field);
    if (rcnt == 10) PlayerInfo[playerid][pAge] = strval(Field);
    if (rcnt == 11) PlayerInfo[playerid][pOrigin] = strval(Field);
    if (rcnt == 12) PlayerInfo[playerid][pCK] = strval(Field);
    if (rcnt == 13) PlayerInfo[playerid][pMuted] = strval(Field);
    if (rcnt == 14) PlayerInfo[playerid][pExp] = strval(Field);
    if (rcnt == 15) PlayerInfo[playerid][pCash] = strval(Field);
    if (rcnt == 16) PlayerInfo[playerid][pAccount] = strval(Field);
    if (rcnt == 17) PlayerInfo[playerid][pCrimes] = strval(Field);
    if (rcnt == 18) PlayerInfo[playerid][pKills] = strval(Field);
    if (rcnt == 19) PlayerInfo[playerid][pDeaths] = strval(Field);
    if (rcnt == 20) PlayerInfo[playerid][pArrested] = strval(Field);
    if (rcnt == 21) PlayerInfo[playerid][pWantedDeaths] = strval(Field);
    if (rcnt == 22) PlayerInfo[playerid][pPhoneBook] = strval(Field);
    if (rcnt == 23) PlayerInfo[playerid][pLottoNr] = strval(Field);
    if (rcnt == 24) PlayerInfo[playerid][pFishes] = strval(Field);
    if (rcnt == 25) PlayerInfo[playerid][pBiggestFish] = strval(Field);
    if (rcnt == 26) PlayerInfo[playerid][pJob] = strval(Field);
    if (rcnt == 27) PlayerInfo[playerid][pPayCheck] = strval(Field);
    if (rcnt == 28) PlayerInfo[playerid][pHeadValue] = strval(Field);
    if (rcnt == 29) PlayerInfo[playerid][pJailed] = strval(Field);
    if (rcnt == 30) PlayerInfo[playerid][pJailTime] = strval(Field);
    if (rcnt == 31) PlayerInfo[playerid][pMats] = strval(Field);
    if (rcnt == 32) PlayerInfo[playerid][pDrugs] = strval(Field);
    if (rcnt == 33) PlayerInfo[playerid][pLeader] = strval(Field);
    if (rcnt == 34) PlayerInfo[playerid][pMember] = strval(Field);
    if (rcnt == 35) PlayerInfo[playerid][pFMember] = strval(Field);
    if (rcnt == 36) PlayerInfo[playerid][pRank] = strval(Field);
    if (rcnt == 37) PlayerInfo[playerid][pChar] = strval(Field);
    if (rcnt == 38) PlayerInfo[playerid][pContractTime] = strval(Field);
    if (rcnt == 39) PlayerInfo[playerid][pDetSkill] = strval(Field);
    if (rcnt == 40) PlayerInfo[playerid][pSexSkill] = strval(Field);
    if (rcnt == 41) PlayerInfo[playerid][pBoxSkill] = strval(Field);
    if (rcnt == 42) PlayerInfo[playerid][pLawSkill] = strval(Field);
    if (rcnt == 43) PlayerInfo[playerid][pMechSkill] = strval(Field);
    if (rcnt == 44) PlayerInfo[playerid][pJackSkill] = strval(Field);
    if (rcnt == 45) PlayerInfo[playerid][pCarSkill] = strval(Field);
    if (rcnt == 46) PlayerInfo[playerid][pNewsSkill] = strval(Field);
    if (rcnt == 47) PlayerInfo[playerid][pDrugsSkill] = strval(Field);
    if (rcnt == 48) PlayerInfo[playerid][pCookSkill] = strval(Field);
    if (rcnt == 49) PlayerInfo[playerid][pFishSkill] = strval(Field);
    if (rcnt == 50) PlayerInfo[playerid][pSHealth] = floatstr(Field);
    if (rcnt == 51) PlayerInfo[playerid][pHealth] = floatstr(Field);
    if (rcnt == 52) PlayerInfo[playerid][pInt] = strval(Field);
    if (rcnt == 53) PlayerInfo[playerid][pLocal] = strval(Field);
    if (rcnt == 54) PlayerInfo[playerid][pTeam] = strval(Field);
    if (rcnt == 55) PlayerInfo[playerid][pModel] = strval(Field);
    if (rcnt == 56) PlayerInfo[playerid][pPnumber] = strval(Field);
    if (rcnt == 57) PlayerInfo[playerid][pPhousekey] = strval(Field);
    if (rcnt == 58) PlayerInfo[playerid][pPos_x] = floatstr(Field);
    if (rcnt == 59) PlayerInfo[playerid][pPos_y] = floatstr(Field);
    if (rcnt == 60) PlayerInfo[playerid][pPos_z] = floatstr(Field);
    if (rcnt == 61) PlayerInfo[playerid][pCarLic] = strval(Field);
    if (rcnt == 62) PlayerInfo[playerid][pFlyLic] = strval(Field);
    if (rcnt == 63) PlayerInfo[playerid][pBoatLic] = strval(Field);
    if (rcnt == 64) PlayerInfo[playerid][pFishLic] = strval(Field);
    if (rcnt == 65) PlayerInfo[playerid][pGunLic] = strval(Field);
    if (rcnt == 66) PlayerInfo[playerid][pGun1] = strval(Field);
    if (rcnt == 67) PlayerInfo[playerid][pGun2] = strval(Field);
    if (rcnt == 68) PlayerInfo[playerid][pGun3] = strval(Field);
    if (rcnt == 69) PlayerInfo[playerid][pGun4] = strval(Field);
    if (rcnt == 70) PlayerInfo[playerid][pAmmo1] = strval(Field);
    if (rcnt == 71) PlayerInfo[playerid][pAmmo2] = strval(Field);
    if (rcnt == 72) PlayerInfo[playerid][pAmmo3] = strval(Field);
    if (rcnt == 73) PlayerInfo[playerid][pAmmo4] = strval(Field);
    if (rcnt == 74) PlayerInfo[playerid][pCarTime] = strval(Field);
    if (rcnt == 75) PlayerInfo[playerid][pPayDay] = strval(Field);
    if (rcnt == 76) PlayerInfo[playerid][pPayDayHad] = strval(Field);
    if (rcnt == 77) PlayerInfo[playerid][pCDPlayer] = strval(Field);
    if (rcnt == 78) PlayerInfo[playerid][pWins] = strval(Field);
    if (rcnt == 79) PlayerInfo[playerid][pLoses] = strval(Field);
    if (rcnt == 80) PlayerInfo[playerid][pAlcoholPerk] = strval(Field);
    if (rcnt == 81) PlayerInfo[playerid][pDrugPerk] = strval(Field);
    if (rcnt == 81) PlayerInfo[playerid][pMiserPerk] = strval(Field);
    if (rcnt == 82) PlayerInfo[playerid][pPainPerk] = strval(Field);
    if (rcnt == 83) PlayerInfo[playerid][pTraderPerk] = strval(Field);
    if (rcnt == 84) PlayerInfo[playerid][pTut] = strval(Field);
    if (rcnt == 85) PlayerInfo[playerid][pMissionNr] = strval(Field);
    if (rcnt == 86) PlayerInfo[playerid][pWarns] = strval(Field);
    if (rcnt == 87) PlayerInfo[playerid][pAdjustable] = strval(Field);
    if (rcnt == 88) PlayerInfo[playerid][pFuel] = strval(Field);
    if (rcnt == 89) PlayerInfo[playerid][pMarried] = strval(Field);
    if (rcnt == 90) PlayerInfo[playerid][pMarriedTo] = strmid(PlayerInfo[playerid][pMarriedTo], Field, 0, strlen(Field)-1, 255);
    if (rcnt == 91) PlayerInfo[playerid][pWanteds] = strval(Field);
    if (rcnt == 92) PlayerInfo[playerid][pSafeMats] = strval(Field);
    if (rcnt == 93) PlayerInfo[playerid][pSafeDrugs] = strval(Field);
    if (rcnt == 94) PlayerInfo[playerid][pTID] = strval(Field);
    if (rcnt == 95) PlayerInfo[playerid][pSpawnC] = strval(Field);
    rcnt++;
    }
    // samp_mysql_free_result();
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "SERVER: Passwort passt nicht zum Namen.");
    //fclose(UserFile);
    gPlayerLogTries[playerid] += 1;
    if(gPlayerLogTries[playerid] == 4) { Ban(playerid); }
    return 1;
    }
    PlayerInfo[playerid][pAdjustable] = 0;
    ResetPlayerMoney(playerid);
    ConsumingMoney[playerid] = 1;
    GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
    CurrentMoney[playerid] = PlayerInfo[playerid][pCash];
    // PlayerMoney[playerid] = PlayerInfo[playerid][pCash];
    if(PlayerInfo[playerid][pReg] == 0)
    {
    PlayerInfo[playerid][pLevel] = 1;
    PlayerInfo[playerid][pSHealth] = 0.0;
    PlayerInfo[playerid][pHealth] = 50.0;
    PlayerInfo[playerid][pPos_x] = 2246.6;
    PlayerInfo[playerid][pPos_y] = -1161.9;
    PlayerInfo[playerid][pPos_z] = 1029.7;
    PlayerInfo[playerid][pInt] = 15;
    PlayerInfo[playerid][pLocal] = 255;
    PlayerInfo[playerid][pTeam] = 3;
    PlayerInfo[playerid][pModel] = 101;//Clownskin ändern
    new randphone = 10000 + random(89999);//minimum 1000 max 9999 //giving one at the start
    PlayerInfo[playerid][pPnumber] = randphone;
    PlayerInfo[playerid][pPhousekey] = 255;
    PlayerInfo[playerid][pPbiskey] = 255;
    PlayerInfo[playerid][pAccount] = 45641;
    PlayerInfo[playerid][pReg] = 1;
    GivePlayerMoney(playerid, 10000);
    }

    }

    Einmal editiert, zuletzt von LNY ()