10.04.2014, 20:54
hy everyone, i have transfered 70% from my "accounts" part of gamemode to MYSQL ( i mean just 70% of account stuff not houses or cars etc. rest of 30% its the saving part remaining to do)
The problem is with the callback (OnPlayerLogin) , in the database i`m showing correct with password and other stuff, but in server when i try to log with my password it crashes the sampserver.exe ....i dont know why.
The problem is with the callback (OnPlayerLogin) , in the database i`m showing correct with password and other stuff, but in server when i try to log with my password it crashes the sampserver.exe ....i dont know why.
HTML Code:
PUBLIC: OnPlayerLogin(playerid, password[]) { MySQLCheckConnection(); new playersip[24], result[128], string2[256], tmp2[256], Query[128]; new playername2[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername2, sizeof(playername2)); GetPlayerIp(playerid, playersip, sizeof(playersip)); format(Query, sizeof(Query), "SELECT * FROM `users` WHERE `pUsername` = '%s' AND `pKey` = '%s'", playername2, password); mysql_query(Query); mysql_store_result(); if(IsPlayerConnectedEx(playerid)) { if(mysql_num_rows() != 0) { if(mysql_retrieve_row ()) { mysql_fetch_field_row(result, "pKey"); format(PlayerInfo[playerid][pKey], sizeof(result), result); mysql_fetch_field_row(result, "pLevel"); PlayerInfo[playerid][pLevel] = strval(result); mysql_fetch_field_row(result, "pAdmin"); PlayerInfo[playerid][pAdmin] = strval(result); mysql_fetch_field_row(result, "pHelper"); PlayerInfo[playerid][pHelper] = strval(result); mysql_fetch_field_row(result, "pEmail"); format(PlayerInfo[playerid][pEmail], sizeof(result), result); mysql_fetch_field_row(result, "pTitle"); format(PlayerInfo[playerid][pTitle], sizeof(result), result); mysql_fetch_field_row(result, "pLastLogin"); format(PlayerInfo[playerid][pLastLogin], sizeof(result), result); mysql_fetch_field_row(result, "pCoin"); PlayerInfo[playerid][pCoin] = strval(result); mysql_fetch_field_row(result, "gPupgrade"); PlayerInfo[playerid][gPupgrade] = strval(result); mysql_fetch_field_row(result, "pConnectTime"); PlayerInfo[playerid][pConnectTime] = strval(result); mysql_fetch_field_row(result, "pDonateRank"); PlayerInfo[playerid][pDonateRank] = strval(result); mysql_fetch_field_row(result, "pReg"); PlayerInfo[playerid][pReg] = strval(result); mysql_fetch_field_row(result, "pSex"); PlayerInfo[playerid][pSex] = strval(result); mysql_fetch_field_row(result, "pAge"); PlayerInfo[playerid][pAge] = strval(result); mysql_fetch_field_row(result, "pOrigin"); PlayerInfo[playerid][pOrigin] = strval(result); mysql_fetch_field_row(result, "pMuted"); PlayerInfo[playerid][pMuted] = strval(result); mysql_fetch_field_row(result, "pMuteTime"); PlayerInfo[playerid][pMuteTime] = strval(result); mysql_fetch_field_row(result, "pExp"); PlayerInfo[playerid][pExp] = strval(result); mysql_fetch_field_row(result, "pCash"); PlayerInfo[playerid][pCash] = strval(result); mysql_fetch_field_row(result, "pAccount"); PlayerInfo[playerid][pAccount] = strval(result); mysql_fetch_field_row(result, "pCrimes"); PlayerInfo[playerid][pCrimes] = strval(result); mysql_fetch_field_row(result, "pKills"); PlayerInfo[playerid][pKills] = strval(result); mysql_fetch_field_row(result, "pDeaths"); PlayerInfo[playerid][pDeaths] = strval(result); mysql_fetch_field_row(result, "pArrested"); PlayerInfo[playerid][pArrested] = strval(result); mysql_fetch_field_row(result, "pWantedDeaths"); PlayerInfo[playerid][pWantedDeaths] = strval(result); mysql_fetch_field_row(result, "pPhoneBook"); PlayerInfo[playerid][pPhoneBook] = strval(result); mysql_fetch_field_row(result, "pLottoNr"); PlayerInfo[playerid][pLottoNr] = strval(result); mysql_fetch_field_row(result, "pFishes"); PlayerInfo[playerid][pFishes] = strval(result); mysql_fetch_field_row(result, "pBiggestFish"); PlayerInfo[playerid][pBiggestFish] = strval(result); mysql_fetch_field_row(result, "pJob"); PlayerInfo[playerid][pJob] = strval(result); mysql_fetch_field_row(result, "pPayCheck"); PlayerInfo[playerid][pPayCheck] = strval(result); mysql_fetch_field_row(result, "pHeadValue"); PlayerInfo[playerid][pHeadValue] = strval(result); mysql_fetch_field_row(result, "pJailed"); PlayerInfo[playerid][pJailed] = strval(result); mysql_fetch_field_row(result, "pJailTime"); PlayerInfo[playerid][pJailTime] = strval(result); mysql_fetch_field_row(result, "pMats"); PlayerInfo[playerid][pMats] = strval(result); mysql_fetch_field_row(result, "pDrugs"); PlayerInfo[playerid][pDrugs] = strval(result); mysql_fetch_field_row(result, "pWeed"); PlayerInfo[playerid][pWeed] = strval(result); mysql_fetch_field_row(result, "pLeader"); PlayerInfo[playerid][pLeader] = strval(result); mysql_fetch_field_row(result, "pMember"); PlayerInfo[playerid][pMember] = strval(result); mysql_fetch_field_row(result, "pRank"); PlayerInfo[playerid][pRank] = strval(result); mysql_fetch_field_row(result, "pPos_x"); PlayerInfo[playerid][pPos_x] = floatstr(result); mysql_fetch_field_row(result, "pPos_y"); PlayerInfo[playerid][pPos_y] = floatstr(result); mysql_fetch_field_row(result, "pPos_z"); PlayerInfo[playerid][pPos_z] = floatstr(result); mysql_fetch_field_row(result, "pChar"); PlayerInfo[playerid][pChar] = strval(result); mysql_fetch_field_row(result, "pContractTime"); PlayerInfo[playerid][pContractTime] = strval(result); mysql_fetch_field_row(result, "pSHealth"); PlayerInfo[playerid][pSHealth] = floatstr(result); mysql_fetch_field_row(result, "pHealth"); PlayerInfo[playerid][pHealth] = floatstr(result); mysql_fetch_field_row(result, "pRob"); PlayerInfo[playerid][pRob] = strval(result); mysql_fetch_field_row(result, "pInt"); PlayerInfo[playerid][pInt] = strval(result); mysql_fetch_field_row(result, "pLocal"); PlayerInfo[playerid][pLocal] = strval(result); mysql_fetch_field_row(result, "pTeam"); PlayerInfo[playerid][pTeam] = strval(result); mysql_fetch_field_row(result, "pModel"); PlayerInfo[playerid][pModel] = strval(result); mysql_fetch_field_row(result, "pPnumber"); PlayerInfo[playerid][pPnumber] = strval(result); mysql_fetch_field_row(result, "pPhousekey"); PlayerInfo[playerid][pPhousekey] = strval(result); mysql_fetch_field_row(result, "pPbiskey"); PlayerInfo[playerid][pPbiskey] = strval(result); mysql_fetch_field_row(result, "pCarLic"); PlayerInfo[playerid][pCarLic] = strval(result); mysql_fetch_field_row(result, "pFlyLic"); PlayerInfo[playerid][pFlyLic] = strval(result); mysql_fetch_field_row(result, "pBoatLic"); PlayerInfo[playerid][pBoatLic] = strval(result); mysql_fetch_field_row(result, "pFishLic"); PlayerInfo[playerid][pFishLic] = strval(result); mysql_fetch_field_row(result, "pGunLic"); PlayerInfo[playerid][pGunLic] = strval(result); mysql_fetch_field_row(result, "pArma"); PlayerInfo[playerid][pArma] = strval(result); mysql_fetch_field_row(result, "pDGun1"); PlayerInfo[playerid][pDGun1] = strval(result); mysql_fetch_field_row(result, "pDGun2"); PlayerInfo[playerid][pDGun2] = strval(result); mysql_fetch_field_row(result, "pDGun3"); PlayerInfo[playerid][pDGun3] = strval(result); mysql_fetch_field_row(result, "pDGun4"); PlayerInfo[playerid][pDGun4] = strval(result); mysql_fetch_field_row(result, "pDGun5"); PlayerInfo[playerid][pDGun5] = strval(result); mysql_fetch_field_row(result, "pGun1"); PlayerInfo[playerid][pGun1] = strval(result); mysql_fetch_field_row(result, "pGun2"); PlayerInfo[playerid][pGun2] = strval(result); mysql_fetch_field_row(result, "pGun3"); PlayerInfo[playerid][pGun3] = strval(result); mysql_fetch_field_row(result, "pGun4"); PlayerInfo[playerid][pGun4] = strval(result); mysql_fetch_field_row(result, "pAmmo1"); PlayerInfo[playerid][pAmmo1] = strval(result); mysql_fetch_field_row(result, "pAmmo2"); PlayerInfo[playerid][pAmmo2] = strval(result); mysql_fetch_field_row(result, "pAmmo3"); PlayerInfo[playerid][pAmmo3] = strval(result); mysql_fetch_field_row(result, "pAmmo4"); PlayerInfo[playerid][pAmmo4] = strval(result); mysql_fetch_field_row(result, "pPcarkey"); PlayerInfo[playerid][pPcarkey] = strval(result); mysql_fetch_field_row(result, "pPcarkey2"); PlayerInfo[playerid][pPcarkey2] = strval(result); mysql_fetch_field_row(result, "pPcarkey3"); PlayerInfo[playerid][pPcarkey3] = strval(result); mysql_fetch_field_row(result, "pTut"); PlayerInfo[playerid][pTut] = strval(result); mysql_fetch_field_row(result, "pWarns"); PlayerInfo[playerid][pWarns] = strval(result); mysql_fetch_field_row(result, "pFWarns"); PlayerInfo[playerid][pFWarns] = strval(result); mysql_fetch_field_row(result, "pLWarns"); PlayerInfo[playerid][pLWarns] = strval(result); mysql_fetch_field_row(result, "pWipe"); PlayerInfo[playerid][pWipe] = strval(result); mysql_fetch_field_row(result, "pAdjustable"); PlayerInfo[playerid][pAdjustable] = strval(result); } } else { new string[256], regstring[512]; format(regstring, sizeof(regstring), "{BECBFC}Password doesn't match your name! \n{BECBFC}Please reenter your password below to login to your account.",PlayerName(playerid)); ShowPlayerDialog(playerid, 12347, DIALOG_STYLE_PASSWORD, "Account Login", regstring, "Login", "Quit"); mysql_free_result(); gPlayerLogTries[playerid] += 1; format(string, sizeof(string), "{FF0000}ATENTIE: {FFFF00}Daca gresesti parola de 4 ori consecutiv primesti ban.Ai gresit de %d/{FF0000}4 {FFFF00}ori.", gPlayerLogTries[playerid]); SendClientMessage(playerid, COLOR_WHITE, string); if(gPlayerLogTries[playerid] == 4) { Fuck(playerid, -1, "4 Log Tries"); } return 1; } mysql_store_result(); TextDrawHideForPlayer(playerid, Bar1); TextDrawHideForPlayer(playerid, Bar2); PlayerInfo[playerid][pAdjustable] = 0; ResetPlayerMoney(playerid); ConsumingMoney[playerid] = 1; GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]); CurrentMoney[playerid] = PlayerInfo[playerid][pCash]; if(PlayerInfo[playerid][pReg] == 0) { PlayerInfo[playerid][pLevel] = 1; PlayerInfo[playerid][pSHealth] = 0.0; PlayerInfo[playerid][pHealth] = 100.0; PlayerInfo[playerid][pPos_x] = 2246.6; PlayerInfo[playerid][pPos_y] = -1161.9; PlayerInfo[playerid][pPos_z] = 1029.7; PlayerInfo[playerid][pInt] = 0; PlayerInfo[playerid][pLocal] = 255; PlayerInfo[playerid][pTeam] = 3; PlayerInfo[playerid][pModel] = 7; new randph = randomEx(1000, 8999); PlayerInfo[playerid][pPnumber] = randph; PlayerInfo[playerid][pPhousekey] = 255; PlayerInfo[playerid][pPbiskey] = 255; PlayerInfo[playerid][pAccount] = 150000; PlayerInfo[playerid][pReg] = 1; } if(PlayerInfo[playerid][pLevel] < 1) { if(IsFucked(PlayerName(playerid))) { Fuck(playerid, -1, "Level"); } else { Fuck(playerid, -1, "Website Ban"); } return 1; } if(PlayerInfo[playerid][pLevel] == -999) { Fuck(playerid, -1, "Level -999"); UpdatePlayer(playerid); } if (PlayerInfo[playerid][pLevel] >= 1) { new plevel = PlayerInfo[playerid][pLevel]; new year, month, day , hour, minute, second; GetPlayerIp(playerid, playersip, sizeof(playersip)); getdate(year, month, day); gettime(hour, minute, second); format(string2, sizeof(string2), "%s s-a conectat pe server, level:%d IP: (%s).", PlayerName(playerid), plevel, playersip); SendAdminMessage(COLOR_YELLOW2, string2); SendHelperMessage(COLOR_YELLOW2, string2); format(string2, sizeof(string2), "[%s IP: %s] - LoginDate=%d/%d/%d at %d:%d:%d", PlayerName(playerid), playersip, day, month, year, hour, minute, second); LoginLog(string2); } ClearChatbox(playerid, 15); format(string2, sizeof(string2), "* Bun venit %s.",PlayerName(playerid)); SendClientMessage(playerid, COLOR_WHITE, string2); printf("%s has logged in.",PlayerName(playerid)); if (PlayerInfo[playerid][pDonateRank] == 1) { SendClientMessage(playerid, COLOR_WHITE,"* You are a {FF0000}Power User account."); } if (PlayerInfo[playerid][pDonateRank] == 2) { SendClientMessage(playerid, COLOR_WHITE,"* You are a {FF0000}V.I.P User account."); } if (PlayerInfo[playerid][pDonateRank] == 3) { SendClientMessage(playerid, COLOR_WHITE,"* You are a {FF0000}eXtra V.I.P User account."); } if (PlayerInfo[playerid][pAdmin] > 0) { format(string2, sizeof(string2), "* You are logged in as a {FF0000}Level %d Admin.",PlayerInfo[playerid][pAdmin]); SendClientMessage(playerid, COLOR_WHITE,string2); } if (PlayerInfo[playerid][pHelper] > 0) { format(string2, sizeof(string2), "* You are logged in as a {FF0000}Level %d Helper.",PlayerInfo[playerid][pHelper]); SendClientMessage(playerid, COLOR_WHITE,string2); } if(PlayerInfo[playerid][pWipe] == 1) { gTeam[playerid] = 3; PlayerInfo[playerid][pTeam] = 3; PlayerInfo[playerid][pMember] = 0; PlayerInfo[playerid][pLeader] = 0; PlayerInfo[playerid][pRank] = 0; PlayerInfo[playerid][pChar] = 0; PlayerInfo[playerid][pFWarns] = 0; PlayerInfo[playerid][pLWarns] = 0; PlayerInfo[playerid][pWipe] = 0; new rand = random(sizeof(CIV)); SetSpawnInfo(playerid, gTeam[playerid], CIV[rand], 0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pModel] = CIV[rand]; MedicBill[playerid] = 0; SpawnPlayer(playerid); //UpdatePlayer(playerid); SendClientMessage(playerid, -1, "{2DC7E8}[INFO] {C0C0C0}A fost wipe factions, ai primit FPK! (/fpkall)"); } SetSpawnInfo(playerid, PlayerInfo[playerid][pTeam], PlayerInfo[playerid][pModel], PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z], 1.0, -1, -1, -1, -1, -1, -1); if(gTeam[playerid] == 0) { gTeam[playerid] = 3; } else { gTeam[playerid] = PlayerInfo[playerid][pTeam]; } gPlayerLogged[playerid] = 1; new laststring[512], abcd[128]; new dd, mm, yy; new ore, mn, sec; getdate(yy, mm, dd); gettime(ore, mn, sec); format(laststring, sizeof(laststring), "%d.%d.%d %d:%d", dd, mm, yy, ore, mn); strmid(PlayerInfo[playerid][pLastLogin], laststring, 0, strlen(laststring), 255); format(abcd, sizeof(abcd), "UPDATE `users` SET `pLastLogin` = '%s' WHERE `pUsername` = '%s' LIMIT 1", PlayerInfo[playerid][pLastLogin], PlayerName(playerid)); mysql_query(abcd); mysql_store_result(); format(tmp2, sizeof(tmp2), "~w~Welcome ~n~~r~~h~ %s", PlayerName(playerid)); GameTextForPlayer(playerid, tmp2, 300, 1); DateProp(playerid); SendClientMessage(playerid, COLOR_YELLOW, motd); SpawnPlayer(playerid); new titletext[64]; format(titletext, sizeof(titletext), "< %s >", PlayerInfo[playerid][pTitle]); if(strlen(PlayerInfo[playerid][pTitle])) { Update3DTextLabelText(PlayerTitleID[playerid], GetPlayerTeamColor(playerid), titletext); } } return 1; }