30.09.2010, 17:50
Galera estou com um pequeno problema, no meu server quando o player disconnecta a senha estб trocando, pega senhas aleatуrias, atй pegando senha de players diferentes, nгo sei o que estб acontecendo, preciso da ajuda de vocкs, por favor.
Aqui estб o cуdigo de salvar a conta do player.
@ EDIT -
Eu tirei printf de cada vez que o player spawna e disconnecta, e percebi que a mudanзa de senha ocorre quando o player disconnecta do server.
Aqui estб o cуdigo de salvar a conta do player.
Код:
public OnPlayerSave(playerid) { if(IsPlayerConnected(playerid)) { if(pLogado[playerid]) { new string69[64]; format(string69, sizeof(string69), "users/%s.ini", pNome(playerid)); new File: hFile = fopen(string69, io_write); if (hFile) { new var[64]; format(var, 64, "Key=%s\n", PlayerInfo[playerid][pKey]);fwrite(hFile, var); PlayerInfo[playerid][pCash] = GetPlayerMoney( playerid); format(var, 64, "Level=%d\n",PlayerInfo[playerid][pLevel]);fwrite(hFile, var); format(var, 64, "AdminLevel=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var); format(var, 64, "DonateRank=%d\n",PlayerInfo[playerid][pDonateRank]);fwrite(hFile, var); format(var, 64, "Velocimetro=%d\n",PlayerInfo[playerid][pSpeedo]);fwrite(hFile, var); format(var, 64, "LutaGil=%d\n",PlayerInfo[playerid][pLutaGil]);fwrite(hFile, var); format(var, 64, "UpgradePoints=%d\n",PlayerInfo[playerid][gPupgrade]);fwrite(hFile, var); format(var, 64, "ConnectedTime=%d\n",PlayerInfo[playerid][pConnectTime]);fwrite(hFile, var); format(var, 64, "Registered=%d\n",PlayerInfo[playerid][pReg]);fwrite(hFile, var); format(var, 64, "Sex=%d\n",PlayerInfo[playerid][pSex]);fwrite(hFile, var); format(var, 64, "BadgeNumber=%d\n",PlayerInfo[playerid][pBadgeNumber]);fwrite(hFile, var); format(var, 64, "Age=%d\n",PlayerInfo[playerid][pAge]);fwrite(hFile, var); format(var, 64, "Origin=%d\n",PlayerInfo[playerid][pOrigin]);fwrite(hFile, var); format(var, 64, "CK=%d\n",PlayerInfo[playerid][pCK]);fwrite(hFile, var); format(var, 64, "Muted=%d\n",PlayerInfo[playerid][pMuted]);fwrite(hFile, var); format(var, 64, "Respect=%d\n",PlayerInfo[playerid][pExp]);fwrite(hFile, var); format(var, 64, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var); format(var, 64, "Bank=%d\n",PlayerInfo[playerid][pBanco]);fwrite(hFile, var); format(var, 64, "Crimes=%d\n",PlayerInfo[playerid][pCrimes]);fwrite(hFile, var); format(var, 64, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var); format(var, 64, "Walkie Talkie=%d\n",pHaveWalkie[playerid]);fwrite(hFile, var); format(var, 64, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var); format(var, 64, "Arrested=%d\n",PlayerInfo[playerid][pArrested]);fwrite(hFile, var); format(var, 64, "WantedDeaths=%d\n",PlayerInfo[playerid][pWantedDeaths]);fwrite(hFile, var); format(var, 64, "Phonebook=%d\n",PlayerInfo[playerid][pPhoneBook]);fwrite(hFile, var); format(var, 64, "LottoNr=%d\n",PlayerInfo[playerid][pLottoNr]);fwrite(hFile, var); format(var, 64, "BiggestFish=%d\n",PlayerInfo[playerid][pBiggestFish]);fwrite(hFile, var); format(var, 64, "Job=%d\n",PlayerInfo[playerid][pJob]);fwrite(hFile, var); format(var, 64, "Paycheck=%d\n",PlayerInfo[playerid][pPayCheck]);fwrite(hFile, var); format(var, 64, "HeadValue=%d\n",PlayerInfo[playerid][pHeadValue]);fwrite(hFile, var); format(var, 64, "Jailed=%d\n",PlayerInfo[playerid][pJailed]);fwrite(hFile, var); format(var, 64, "JailTime=%d\n",PlayerInfo[playerid][pJailTime]);fwrite(hFile, var); format(var, 64, "Materials=%d\n",PlayerInfo[playerid][pMats]);fwrite(hFile, var); format(var, 64, "MaterialsInv=%d\n",PlayerInfo[playerid][pMats1]);fwrite(hFile, var); format(var, 64, "Drugs=%d\n",PlayerInfo[playerid][pDrugs]);fwrite(hFile, var); format(var, 64, "DrugsInv=%d\n",PlayerInfo[playerid][pDrugs1]);fwrite(hFile, var); format(var, 64, "Leader=%d\n",PlayerInfo[playerid][pLeader]);fwrite(hFile, var); format(var, 64, "Member=%d\n",PlayerInfo[playerid][pMember]);fwrite(hFile, var); format(var, 64, "FMember=%d\n",PlayerInfo[playerid][pFMember]);fwrite(hFile, var); format(var, 64, "Rank=%d\n",PlayerInfo[playerid][pRank]);fwrite(hFile, var); format(var, 64, "Char=%d\n",PlayerInfo[playerid][pChar]);fwrite(hFile, var); format(var, 64, "ContractTime=%d\n",PlayerInfo[playerid][pContractTime]);fwrite(hFile, var); format(var, 64, "DetSkill=%d\n",PlayerInfo[playerid][pDetSkill]);fwrite(hFile, var); format(var, 64, "SexSkill=%d\n",PlayerInfo[playerid][pSexSkill]);fwrite(hFile, var); format(var, 64, "BoxSkill=%d\n",PlayerInfo[playerid][pBoxSkill]);fwrite(hFile, var); format(var, 64, "LawSkill=%d\n",PlayerInfo[playerid][pLawSkill]);fwrite(hFile, var); format(var, 64, "MechSkill=%d\n",PlayerInfo[playerid][pMechSkill]);fwrite(hFile, var); format(var, 64, "JackSkill=%d\n",PlayerInfo[playerid][pJackSkill]);fwrite(hFile, var); format(var, 64, "CarSkill=%d\n",PlayerInfo[playerid][pCarSkill]);fwrite(hFile, var); format(var, 64, "NewsSkill=%d\n",PlayerInfo[playerid][pNewsSkill]);fwrite(hFile, var); format(var, 64, "DrugsSkill=%d\n",PlayerInfo[playerid][pDrugsSkill]);fwrite(hFile, var); format(var, 64, "CookSkill=%d\n",PlayerInfo[playerid][pCookSkill]);fwrite(hFile, var); format(var, 64, "FishSkill=%d\n",PlayerInfo[playerid][pFishSkill]);fwrite(hFile, var); format(var, 64, "pSHealth=%.1f\n",PlayerInfo[playerid][pSHealth]);fwrite(hFile, var); GetPlayerHealth(playerid,PlayerInfo[playerid][pHealth]); format(var, 64, "pHealth=%.1f\n",PlayerInfo[playerid][pHealth]);fwrite(hFile, var); format(var, 64, "Int=%d\n",PlayerInfo[playerid][pInt]);fwrite(hFile, var); format(var, 64, "Local=%d\n",PlayerInfo[playerid][pLocal]);fwrite(hFile, var); format(var, 64, "Team=%d\n",PlayerInfo[playerid][pTeam]);fwrite(hFile, var); format(var, 64, "Model=%d\n",PlayerInfo[playerid][pModel]);fwrite(hFile, var); format(var, 64, "PhoneNr=%d\n",PlayerInfo[playerid][pPnumber]);fwrite(hFile, var); format(var, 64, "Car=%d\n",PlayerInfo[playerid][pPcarkey]);fwrite(hFile, var); format(var, 64, "Car2=%d\n",PlayerInfo[playerid][pPcarkey2]);fwrite(hFile, var); format(var, 64, "Car3=%d\n",PlayerInfo[playerid][pPcarkey3]);fwrite(hFile, var); format(var, 64, "House=%d\n",PlayerInfo[playerid][pPhousekey]);fwrite(hFile, var); format(var, 64, "Bizz=%d\n",PlayerInfo[playerid][pPbiskey]);fwrite(hFile, var); format(var, 64, "MascaraGil=%d\n",PlayerInfo[playerid][pMask]);fwrite(hFile, var); format(var, 64, "Poupanзa=%d\n",PlayerInfo[playerid][pPoupanca]);fwrite(hFile, var); format(var, 64, "TempoInvestimento=%d\n",PlayerInfo[playerid][pTempoInvestimento]);fwrite(hFile, var); format(var, 64, "Investindo=%d\n",PlayerInfo[playerid][pInvestindo]);fwrite(hFile, var); format(var, 64, "Investido=%d\n",PlayerInfo[playerid][pInvestido]);fwrite(hFile, var); format(var, 64, "ContaBanco=%d\n",PlayerInfo[playerid][pContaBanco]);fwrite(hFile, var); format(var, 64, "CartaoCredito=%d\n",PlayerInfo[playerid][pCartaoCredito]);fwrite(hFile, var); format(var, 64, "Piercing=%d\n",PlayerInfo[playerid][pPiercingTENSO]);fwrite(hFile, var); format(var, 64, "Tatuagem=%d\n",PlayerInfo[playerid][pTatuagemTENSO]);fwrite(hFile, var); format(var, 64, "Hospedado=%d\n",PlayerInfo[playerid][pHospedado]);fwrite(hFile, var); format(var, 64, "Hotel1=%d\n",PlayerInfo[playerid][pHotel1]);fwrite(hFile, var); format(var, 64, "Hotel2=%d\n",PlayerInfo[playerid][pHotel2]);fwrite(hFile, var); format(var, 64, "Hotel3=%d\n",PlayerInfo[playerid][pHotel3]);fwrite(hFile, var); format(var, 64, "Russo=%d\n",PlayerInfo[playerid][pRusso]);fwrite(hFile, var); format(var, 64, "Japones=%d\n",PlayerInfo[playerid][pJapones]);fwrite(hFile, var); format(var, 64, "Espanhol=%d\n",PlayerInfo[playerid][pEspanhol]);fwrite(hFile, var); format(var, 64, "Italiano=%d\n",PlayerInfo[playerid][pItaliano]);fwrite(hFile, var); format(var, 64, "TRusso=%d\n",PlayerInfo[playerid][pTRusso]);fwrite(hFile, var); format(var, 64, "TJapones=%d\n",PlayerInfo[playerid][pTJapones]);fwrite(hFile, var); format(var, 64, "TEspanhol=%d\n",PlayerInfo[playerid][pTEspanhol]);fwrite(hFile, var); format(var, 64, "TItaliano=%d\n",PlayerInfo[playerid][pTItaliano]);fwrite(hFile, var); format(var, 64, "Espertinho=%d\n",PlayerInfo[playerid][pFacul]);fwrite(hFile, var); format(var, 64, "Descricao=%d\n",PlayerInfo[playerid][pDescricao]);fwrite(hFile, var); if((PlayerInfo[playerid][pPos_x]==0.0 && PlayerInfo[playerid][pPos_y]==0.0 && PlayerInfo[playerid][pPos_z]==0.0)) { PlayerInfo[playerid][pPos_x] = 1684.9; PlayerInfo[playerid][pPos_y] = -2244.5; PlayerInfo[playerid][pPos_z] = 13.5; } if(Spectate[playerid] != 255) { PlayerInfo[playerid][pPos_x] = Unspec[playerid][sPx]; PlayerInfo[playerid][pPos_y] = Unspec[playerid][sPy]; PlayerInfo[playerid][pPos_z] = Unspec[playerid][sPz]; PlayerInfo[playerid][pInt] = Unspec[playerid][sPint]; PlayerInfo[playerid][pLocal] = Unspec[playerid][sLocal]; } new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); PlayerInfo[playerid][pPos_x] = x; PlayerInfo[playerid][pPos_y] = y; PlayerInfo[playerid][pPos_z] = z; format(var, 64, "Pos_x=%.1f\n",PlayerInfo[playerid][pPos_x]);fwrite(hFile, var); format(var, 64, "Pos_y=%.1f\n",PlayerInfo[playerid][pPos_y]);fwrite(hFile, var); format(var, 64, "Pos_z=%.1f\n",PlayerInfo[playerid][pPos_z]);fwrite(hFile, var); format(var, 64, "CarLic=%d\n",PlayerInfo[playerid][pCarLic]);fwrite(hFile, var); format(var, 64, "FlyLic=%d\n",PlayerInfo[playerid][pFlyLic]);fwrite(hFile, var); format(var, 64, "BoatLic=%d\n",PlayerInfo[playerid][pBoatLic]);fwrite(hFile, var); format(var, 64, "FishLic=%d\n",PlayerInfo[playerid][pFishLic]);fwrite(hFile, var); format(var, 64, "GunLic=%d\n",PlayerInfo[playerid][pGunLic]);fwrite(hFile, var); format(var, 64, "Gun1=%d\n",PlayerInfo[playerid][pGun1]);fwrite(hFile, var); format(var, 64, "Gun2=%d\n",PlayerInfo[playerid][pGun2]);fwrite(hFile, var); format(var, 64, "Gun3=%d\n",PlayerInfo[playerid][pGun3]);fwrite(hFile, var); format(var, 64, "Gun4=%d\n",PlayerInfo[playerid][pGun4]);fwrite(hFile, var); format(var, 64, "Ammo1=%d\n",PlayerInfo[playerid][pAmmo1]);fwrite(hFile, var); format(var, 64, "Ammo2=%d\n",PlayerInfo[playerid][pAmmo2]);fwrite(hFile, var); format(var, 64, "Ammo3=%d\n",PlayerInfo[playerid][pAmmo3]);fwrite(hFile, var); format(var, 64, "Ammo4=%d\n",PlayerInfo[playerid][pAmmo4]);fwrite(hFile, var); format(var, 64, "CarTime=%d\n",PlayerInfo[playerid][pCarTime]);fwrite(hFile, var); format(var, 64, "PayDay=%d\n",PlayerInfo[playerid][pPayDay]);fwrite(hFile, var); format(var, 64, "PayDayHad=%d\n",PlayerInfo[playerid][pPayDayHad]);fwrite(hFile, var); format(var, 64, "Watch=%d\n",PlayerInfo[playerid][pWatch]);fwrite(hFile, var); format(var, 64, "Wins=%d\n",PlayerInfo[playerid][pWins]);fwrite(hFile, var); format(var, 64, "Loses=%d\n",PlayerInfo[playerid][pLoses]);fwrite(hFile, var); format(var, 64, "AlcoholPerk=%d\n",PlayerInfo[playerid][pAlcoholPerk]);fwrite(hFile, var); format(var, 64, "DrugPerk=%d\n",PlayerInfo[playerid][pDrugPerk]);fwrite(hFile, var); format(var, 64, "MiserPerk=%d\n",PlayerInfo[playerid][pMiserPerk]);fwrite(hFile, var); format(var, 64, "PainPerk=%d\n",PlayerInfo[playerid][pPainPerk]);fwrite(hFile, var); format(var, 64, "TraderPerk=%d\n",PlayerInfo[playerid][pTraderPerk]);fwrite(hFile, var); format(var, 64, "Tutorial=%d\n",PlayerInfo[playerid][pTut]);fwrite(hFile, var); format(var, 64, "Mission=%d\n",PlayerInfo[playerid][pMissionNr]);fwrite(hFile, var); format(var, 64, "Warnings=%d\n",PlayerInfo[playerid][pWarns]);fwrite(hFile, var); format(var, 64, "VirWorld=%d\n",PlayerInfo[playerid][pVirWorld]);fwrite(hFile, var); if(PlayerInfo[playerid][pDonateRank] < 1) { PlayerInfo[playerid][pFuel] = 0; } format(var, 64, "Fuel=%d\n",PlayerInfo[playerid][pFuel]);fwrite(hFile, var); format(var, 64, "Married=%d\n",PlayerInfo[playerid][pMarried]);fwrite(hFile, var); format(var, 64, "MarriedTo=%s\n",PlayerInfo[playerid][pMarriedTo]);fwrite(hFile, var); format(var, 64, "FishTool=%d\n",PlayerInfo[playerid][pFishTool]);fwrite(hFile, var); format(var, 64, "AccentGil=%s\n",PlayerInfo[playerid][pAccent]);fwrite(hFile, var); format(var, 64, "Brincoo=%d\n",PlayerInfo[playerid][pBrincoo]);fwrite(hFile, var); format(var, 64, "Descendencia=%s\n",PlayerInfo[playerid][pDescendencia]);fwrite(hFile, var); format(var, 64, "Peso=%s\n",PlayerInfo[playerid][pPeso]);fwrite(hFile, var); format(var, 64, "Altura=%s\n",PlayerInfo[playerid][pAltura]);fwrite(hFile, var); format(var, 64, "Piercing=%s\n",PlayerInfo[playerid][pPiercing]);fwrite(hFile, var); format(var, 64, "Tatuagem=%s\n",PlayerInfo[playerid][pTatuagem]);fwrite(hFile, var); format(var, 64, "Sexo=%s\n",PlayerInfo[playerid][pSexo]);fwrite(hFile, var); format(var, 64, "Etnia=%s\n",PlayerInfo[playerid][pEtnia]);fwrite(hFile, var); format(var, 64, "Olho=%s\n",PlayerInfo[playerid][pOlho]);fwrite(hFile, var); format(var, 64, "Note1=%s\n",PlayerInfo[playerid][pNote1]);fwrite(hFile, var); format(var, 64, "Note1s=%d\n",PlayerInfo[playerid][pNote1s]);fwrite(hFile, var); format(var, 64, "Note2=%s\n",PlayerInfo[playerid][pNote2]);fwrite(hFile, var); format(var, 64, "Note2s=%d\n",PlayerInfo[playerid][pNote2s]);fwrite(hFile, var); format(var, 64, "Note3=%s\n",PlayerInfo[playerid][pNote3]);fwrite(hFile, var); format(var, 64, "Note3s=%d\n",PlayerInfo[playerid][pNote3s]);fwrite(hFile, var); format(var, 64, "Note4=%s\n",PlayerInfo[playerid][pNote4]);fwrite(hFile, var); format(var, 64, "Note4s=%d\n",PlayerInfo[playerid][pNote4s]);fwrite(hFile, var); format(var, 64, "Note5=%s\n",PlayerInfo[playerid][pNote5]);fwrite(hFile, var); format(var, 64, "Note5s=%d\n",PlayerInfo[playerid][pNote5s]);fwrite(hFile, var); format(var, 64, "InvWeapon=%d\n",PlayerInfo[playerid][pInvWeapon]);fwrite(hFile, var); format(var, 64, "InvAmmo=%d\n",PlayerInfo[playerid][pInvAmmo]);fwrite(hFile, var); format(var, 64, "InvWeapon2=%d\n",PlayerInfo[playerid][pInvWeapon2]);fwrite(hFile, var); format(var, 64, "InvAmmo2=%d\n",PlayerInfo[playerid][pInvAmmo2]);fwrite(hFile, var); format(var, 64, "InvWeapon3=%d\n",PlayerInfo[playerid][pInvWeapon3]);fwrite(hFile, var); format(var, 64, "InvAmmo3=%d\n",PlayerInfo[playerid][pInvAmmo3]);fwrite(hFile, var); format(var, 64, "InvWeapon4=%d\n",PlayerInfo[playerid][pInvWeapon4]);fwrite(hFile, var); format(var, 64, "InvAmmo4=%d\n",PlayerInfo[playerid][pInvAmmo4]);fwrite(hFile, var); format(var, 64, "InvWeapon5=%d\n",PlayerInfo[playerid][pInvWeapon5]);fwrite(hFile, var); format(var, 64, "InvAmmo5=%d\n",PlayerInfo[playerid][pInvAmmo5]);fwrite(hFile, var); format(var, 64, "InvWeapon6=%d\n",PlayerInfo[playerid][pInvWeapon6]);fwrite(hFile, var); format(var, 64, "InvAmmo6=%d\n",PlayerInfo[playerid][pInvAmmo6]);fwrite(hFile, var); format(var, 64, "Lighter=%d\n",PlayerInfo[playerid][pLighter]);fwrite(hFile, var); format(var, 64, "Cigarettes=%d\n",PlayerInfo[playerid][pCigarettes]);fwrite(hFile, var); format(var, 64, "gInvWeapon=%d\n",PlayerInfo[playerid][pgInvWeapon]);fwrite(hFile, var); format(var, 64, "gInvAmmo=%d\n",PlayerInfo[playerid][pgInvAmmo]);fwrite(hFile, var); format(var, 64, "gInvWeapon=%d\n",PlayerInfo[playerid][pgInvWeapon]);fwrite(hFile, var); format(var, 64, "gInvAmmo=%d\n",PlayerInfo[playerid][pgInvAmmo]);fwrite(hFile, var); format(var, 64, "gInvWeapon2=%d\n",PlayerInfo[playerid][pgInvWeapon2]);fwrite(hFile, var); format(var, 64, "gInvAmmo2=%d\n",PlayerInfo[playerid][pgInvAmmo2]);fwrite(hFile, var); format(var, 64, "gInvWeapon3=%d\n",PlayerInfo[playerid][pgInvWeapon3]);fwrite(hFile, var); format(var, 64, "gInvAmmo3=%d\n",PlayerInfo[playerid][pgInvAmmo3]);fwrite(hFile, var); format(var, 64, "gInvWeapon4=%d\n",PlayerInfo[playerid][pgInvWeapon4]);fwrite(hFile, var); format(var, 64, "gInvAmmo4=%d\n",PlayerInfo[playerid][pgInvAmmo4]);fwrite(hFile, var); format(var, 64, "gInvWeapon5=%d\n",PlayerInfo[playerid][pInvWeapon5]);fwrite(hFile, var); format(var, 64, "gInvAmmo5=%d\n",PlayerInfo[playerid][pgInvAmmo5]);fwrite(hFile, var); format(var, 64, "gInvWeapon6=%d\n",PlayerInfo[playerid][pgInvWeapon6]);fwrite(hFile, var); format(var, 64, "gInvAmmo6=%d\n",PlayerInfo[playerid][pgInvAmmo6]);fwrite(hFile, var); format(var, 64, "Locked=%d\n",PlayerInfo[playerid][pLocked]);fwrite(hFile, var); fclose(hFile); } } } return 1; } Eu jб verifiquei meu OnPlayerDisconnect e nгo hб nada de errado. OnPlayerSave(playerid); estб a cima de qualquer coisa do OnPlayerDisconnect.. Obrigado.
@ EDIT -
Eu tirei printf de cada vez que o player spawna e disconnecta, e percebi que a mudanзa de senha ocorre quando o player disconnecta do server.