Salut, am si eu o problema cu mysql, pot face 2 useri cu exact acelasi nume... iar dupa ce ma inregistrez nu imi apare fereastra de login.. daca ies de pe server si intru iar imi zice ca nu sunt inregistrat si imi fac alt cont, care culmea, se salveaza si ala in DB... Cred ca este problema din GM, nu din DB... public OnPlayerLogin(playerid,password[]) // by EleMenTal • Version 1.1 •
{
MySQLCheckConnection();
new tmp2[256];
new string2[64];
new playername2[MAX_PLAYER_NAME];
new playernamesplit[3][MAX_PLAYER_NAME];
GetPlayerName(playerid, playername2, sizeof(playername2));
split(playername2, playernamesplit, '_');
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][pPcarkey] = strval(Field);
if (rcnt == 59) PlayerInfo[playerid][pPbiskey] = strval(Field);
if (rcnt == 60) PlayerInfo[playerid][pPos_x] = floatstr(Field);
if (rcnt == 61) PlayerInfo[playerid][pPos_y] = floatstr(Field);
if (rcnt == 62) PlayerInfo[playerid][pPos_z] = floatstr(Field);
if (rcnt == 63) PlayerInfo[playerid][pCarLic] = strval(Field);
if (rcnt == 64) PlayerInfo[playerid][pFlyLic] = strval(Field);
if (rcnt == 65) PlayerInfo[playerid][pBoatLic] = strval(Field);
if (rcnt == 66) PlayerInfo[playerid][pFishLic] = strval(Field);
if (rcnt == 67) PlayerInfo[playerid][pGunLic] = strval(Field);
if (rcnt == 68) PlayerInfo[playerid][pGun1] = strval(Field);
if (rcnt == 69) PlayerInfo[playerid][pGun2] = strval(Field);
if (rcnt == 70) PlayerInfo[playerid][pGun3] = strval(Field);
if (rcnt == 71) PlayerInfo[playerid][pGun4] = strval(Field);
if (rcnt == 72) PlayerInfo[playerid][pAmmo1] = strval(Field);
if (rcnt == 73) PlayerInfo[playerid][pAmmo2] = strval(Field);
if (rcnt == 74) PlayerInfo[playerid][pAmmo3] = strval(Field);
if (rcnt == 75) PlayerInfo[playerid][pAmmo4] = strval(Field);
if (rcnt == 76) PlayerInfo[playerid][pCarTime] = strval(Field);
if (rcnt == 77) PlayerInfo[playerid][pPayDay] = strval(Field);
if (rcnt == 78) PlayerInfo[playerid][pPayDayHad] = strval(Field);
if (rcnt == 79) PlayerInfo[playerid][pWatch] = strval(Field);
if (rcnt == 80) PlayerInfo[playerid][pCrashed] = strval(Field);
if (rcnt == 81) PlayerInfo[playerid][pWins] = strval(Field);
if (rcnt == 82) PlayerInfo[playerid][pLoses] = strval(Field);
if (rcnt == 83) PlayerInfo[playerid][pAlcoholPerk] = strval(Field);
if (rcnt == 84) PlayerInfo[playerid][pDrugPerk] = strval(Field);
if (rcnt == 85) PlayerInfo[playerid][pMiserPerk] = strval(Field);
if (rcnt == 86) PlayerInfo[playerid][pPainPerk] = strval(Field);
if (rcnt == 87) PlayerInfo[playerid][pTraderPerk] = strval(Field);
if (rcnt == 88) PlayerInfo[playerid][pTut] = strval(Field);
if (rcnt == 89) PlayerInfo[playerid][pMissionNr] = strval(Field);
if (rcnt == 90) PlayerInfo[playerid][pWarns] = strval(Field);
if (rcnt == 91) PlayerInfo[playerid][pVirWorld] = strval(Field);
if (rcnt == 92) PlayerInfo[playerid][pFuel] = strval(Field);
if (rcnt == 93) PlayerInfo[playerid][pMarried] = strval(Field);
if (rcnt == 94) PlayerInfo[playerid][pMarriedTo] = strmid(PlayerInfo[playerid][pMarriedTo], Field, 0, strlen(Field)-1, 255);
if (rcnt == 95) PlayerInfo[playerid][pLocked] = strval(Field);
rcnt++;
}
// samp_mysql_free_result();
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "SERVER: Password does not match your name.");
//fclose(UserFile);
gPlayerLogTries[playerid] += 1;
if(gPlayerLogTries[playerid] == 4) { Ban(playerid); }
return 1;
}
ResetPlayerCash(playerid);
//ConsumingMoney[playerid] = 1;
//CurrentMoney[playerid] = PlayerInfo[playerid][pCash];
GivePlayerCash(playerid,PlayerInfo[playerid][pCash]);
if(PlayerInfo[playerid][pReg] == 0)
{
PlayerInfo[playerid][pLevel] = 1;
PlayerInfo[playerid][pSHealth] = 110.0;
PlayerInfo[playerid][pHealth] = 100.0;
PlayerInfo[playerid][pPos_x] = 1612.3240;
PlayerInfo[playerid][pPos_y] = -2330.1670;
PlayerInfo[playerid][pPos_z] = 13.5469;
PlayerInfo[playerid][pInt] = 0;
PlayerInfo[playerid][pLocal] = 255;
PlayerInfo[playerid][pTeam] = 3;
PlayerInfo[playerid][pModel] = 135;
new randphone = 100000 + random(899999);//minimum 1000 max 9999 //giving one at the start
PlayerInfo[playerid][pPnumber] = randphone;
PlayerInfo[playerid][pPhousekey] = 255;
PlayerInfo[playerid][pPcarkey] = 999;
PlayerInfo[playerid][pPbiskey] = 255;
PlayerInfo[playerid][pAccount] = 0;
PlayerInfo[playerid][pReg] = 1;
GivePlayerCash(playerid, 300);
}
if(PlayerInfo[playerid][pLevel] == -999) //autoban
{
Ban(playerid);
}
else if(PlayerInfo[playerid][pCK] > 0)
{
Kick(playerid);
}
// Add an entry to the login log
new ipaddress[16];
GetPlayerIp(playerid,ipaddress,sizeof(ipaddress));
MySQLAddLoginRecord(PlayerInfo[playerid][pSQLID], ipaddress);
ClearChatbox(playerid, 8);
format(string2, sizeof(string2), "Welcome to Star Gaming Roleplay, %s.",playernamesplit[0]);
SendClientMessage(playerid, COLOR_YELLOW2, string2);
SendClientMessage(playerid, COLOR_WHITE, "MOTD: New server release (1.0 beta)");
SendClientMessage(playerid, COLOR_YELLOW2, "Script has been improved by EleMenTal");
SendClientMessage(playerid, COLOR_WHITE, " ");
printf("%s has logged in.",playername2);
if (PlayerInfo[playerid][pDonateRank] > 0)
{
SendClientMessage(playerid, COLOR_WHITE,"People of LS: Thank you for donating so we can live!");
}
if (PlayerInfo[playerid][pAdmin] > 0)
{
format(string2, sizeof(string2), "SERVER: You are logged in as a Level %d Admin.",PlayerInfo[playerid][pAdmin]);
SendClientMessage(playerid, COLOR_WHITE,string2);
}
// Reset the FirstSpawn variable
SetTimerEx("UnsetFirstSpawn", 5000, false, "i", playerid);
// Set pCrashed variable
SetTimerEx("SetCrashed", 5000, false, "i", playerid);
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;
SpawnPlayer(playerid);
if(PlayerInfo[playerid][pCrashed] == 0)
{
format(tmp2, sizeof(tmp2), "~w~Welcome ~n~~y~ %s", playername2);
}
else
{
format(tmp2, sizeof(tmp2), "~p~crashed...~n~~w~returning where you been");
}
DateProp(playerid);
GameTextForPlayer(playerid, tmp2, 5000, 1);
//SendClientMessage(playerid, COLOR_YELLOW, motd);
if(PlayerInfo[playerid][pFMember] < 255)
{
format(tmp2, sizeof(tmp2), "Family MOTD: %s.", FamilyInfo[PlayerInfo[playerid][pFMember]][FamilyMOTD]);
SendClientMessage(playerid, COLOR_YELLOW, tmp2);
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMaskuse] == 1)
{
ShowPlayerNameTagForPlayer(playerid, i, 0);
}
}
}
//}
return 1;
}
Pur si simplu nu-mi apare casuta respectiva...