29.06.2009, 09:25
Here's more code that could be useful:
You mean this?
The registering and shit work, and my password saves properly, but money, kills, deaths, admin level, donator level, and clan membership will not save.
Code:
MySQLNewColumns() //initializes new rows to the current table! { new haystack[64]; format(haystack,sizeof(haystack),"SHOW columns FROM `users`"); samp_mysql_query(haystack); samp_mysql_store_result(); if(samp_mysql_num_rows() < 10) { samp_mysql_query("ALTER TABLE `users` ADD Admin INT(10) NOT NULL DEFAULT '0'"); samp_mysql_query("ALTER TABLE `users` ADD Donator INT(10) NOT NULL DEFULT '0'"); samp_mysql_query("ALTER TABLE `users` ADD cmem INT(10) NOT NULL DEFULT '0'"); samp_mysql_query("CREATE TABLE IF NOT EXISTS `banlist`(`id` INT(11) NOT NULL auto_increment PRIMARY KEY,\ `Name` VARCHAR(30) NOT NULL,\ `IP` VARCHAR(40) NOT NULL,\ `Reason` TINYTEXT NOT NULL)"); } return 1; }
The registering and shit work, and my password saves properly, but money, kills, deaths, admin level, donator level, and clan membership will not save.
Code:
stock RegPlayer(playerid,pass[]) { MySQLCheck(); new pName[MAX_PLAYER_NAME], query[256], string[256]; GetPlayerName(playerid,pName,sizeof(pName)); samp_mysql_real_escape_string(pName,pName); samp_mysql_real_escape_string(pass,pass); format(query,sizeof(query),"INSERT INTO `users` (Username,Password) VALUES ('%s',md5('%s'))",pName,pass); samp_mysql_query(query); samp_mysql_free_result(); format(string,sizeof(string),">> Account %s successfully registered ( Password: %s )",pName,pass); SendClientMessage(playerid,GREY,string); SendClientMessage(playerid,GREY,"You have been automatically logged in"); LoggedIn[playerid] = 1; AccRegistered[playerid] = 1; AccountInfo[playerid][Money] = 0; AccountInfo[playerid][Kills] = 0; AccountInfo[playerid][Deaths] = 0; AccountInfo[playerid][AdminLevel] = 0; AccountInfo[playerid][DonatorLevel] = 0; AccountInfo[playerid][ClanMember] = 0; return 1; } stock LoginPlayer(playerid,pass[]) { new pName[MAX_PLAYER_NAME], query[256], string[256], result[256], loop[256], poop = 1; GetPlayerName(playerid,pName,sizeof(pName)); MySQLCheck(); samp_mysql_real_escape_string(pName,pName); samp_mysql_real_escape_string(pass,pass); format(query,sizeof(query),"SELECT * FROM `users` WHERE Username = '%s' AND Password = md5('%s')",pName,pass); samp_mysql_query(query); samp_mysql_store_result(); samp_mysql_fetch_row(result); if(samp_mysql_num_rows() == 1) { samp_mysql_strtok(loop, "|", result); while(samp_mysql_strtok(loop, "|", "")) { if(poop == 3) AccountInfo[playerid][Money] = strval(loop); if(poop == 4) AccountInfo[playerid][Kills] = strval(loop); if(poop == 5) AccountInfo[playerid][Deaths] = strval(loop); if(poop == 6) AccountInfo[playerid][AdminLevel] = strval(loop); if(poop == 7) AccountInfo[playerid][DonatorLevel] = strval(loop); if(poop == 8) AccountInfo[playerid][ClanMember] = strval(loop); poop++; } samp_mysql_free_result(); GivePlayerMoney(playerid,AccountInfo[playerid][Money]); LoggedIn[playerid] = 1; format(string,sizeof(string),">> You have been successfully logged in. (Kills/Score: %d | Deaths: %d | Money: %d | Donator Level %d)",AccountInfo[playerid][Kills],AccountInfo[playerid][Deaths],AccountInfo[playerid][Money],AccountInfo[playerid][DonatorLevel]); SendClientMessage(playerid,GREY,string); if(AccountInfo[playerid][AdminLevel] > 0) { new send[128]; format(send,sizeof(send),">> %s has logged in as level %d Admin",pName,AccountInfo[playerid][AdminLevel]); SendClientMessageToAll(YELLOW,send); } printf("User %s has logged in ( Money: %d,Kills/Score: %d,Deaths: %d, Donator level: %d )",pName,AccountInfo[playerid][Money],AccountInfo[playerid][Kills],AccountInfo[playerid][Deaths],AccountInfo[playerid][DonatorLevel]); return 1; } else { SendClientMessage(playerid,RED,">> Wrong Password"); Wrongattempt[playerid] += 1; printf("Bad log in attempt by %s (Total attempts: %d)",pName,Wrongattempt[playerid]); } return 1; }