21.03.2013, 14:37
Hmmm my current code is this
Код:
CMD:buy(playerid, params[]) { if(!strcmp(params, "camo", true)) { if(pInfo[playerid][Camo] == 0) { if(GetPlayerMoney(playerid) < 5000) { GivePlayerMoney(playerid, -5000); SendClientMessage(playerid, COLOR_YELLOW, "You have purchased camoflauge!"); pInfo[playerid][Camo]++; } else { SendClientMessage(playerid, COLOR_WHITE, "List of purchases!"); SendClientMessage(playerid, COLOR_YELLOW, "Camo"); } return 1; } if(pInfo[playerid][Camo] == 1) { SendClientMessage(playerid, COLOR_RED, "<!>You already have camouflage!"); } return 1; } return 1; } CMD:camo(playerid, params[]) { if(pInfo[playerid][Camo] == 0) { SendClientMessage(playerid, COLOR_RED, "<!>You dont have camo!"); } else if(pInfo[playerid][Camo] == 1) { SetPlayerVirtualWorld(playerid, 1337); } return 1; } public OnPlayerDisconnect(playerid, reason) { if(fexist(Path(playerid))) { new INI:file = INI_Open(Path(playerid)); INI_SetTag(file,"Player's Data"); INI_WriteInt(file,"AdminLevel",pInfo[playerid][Adminlevel]); INI_WriteInt(file,"VIPLevel",pInfo[playerid][VIPlevel]); INI_WriteInt(file,"Money",GetPlayerMoney(playerid)); INI_WriteInt(file,"Scores",GetPlayerScore(playerid)); INI_WriteInt(file,"Kills",pInfo[playerid][Kills]); INI_WriteInt(file,"Deaths",pInfo[playerid][Deaths]); INI_WriteInt(file,"Camo",pInfo[playerid][Camo]); INI_Close(file); return 1; } return 1; } enum PlayerInfo { Pass[129], Adminlevel, VIPlevel, Money, Scores, Kills, Deaths, Camo } new pInfo[MAX_PLAYERS][PlayerInfo]; forward loadaccount_user(playerid, name[], value[]); public loadaccount_user(playerid, name[], value[]) { INI_String("Password", pInfo[playerid][Pass],129); INI_Int("AdminLevel",pInfo[playerid][Adminlevel]); INI_Int("VIPLevel",pInfo[playerid][VIPlevel]); INI_Int("Money",pInfo[playerid][Money]); INI_Int("Scores",pInfo[playerid][Scores]); INI_Int("Kills",pInfo[playerid][Kills]); INI_Int("Deaths",pInfo[playerid][Deaths]); INI_Int("Camo",pInfo[playerid][Camo]); return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == dregister) { if(!response) return Kick(playerid); if(response) { if(!strlen(inputtext)) { ShowPlayerDialog(playerid,dregister,DIALOG_STYLE_INPUT,"Register","Welcome! This account is not registered.\nEnter your own password to create a new account.\nPlease enter the password!","Register","Quit"); return 1; } new hashpass[129]; WP_Hash(hashpass,sizeof(hashpass),inputtext); new INI:file = INI_Open(Path(playerid)); INI_SetTag(file,"Player's Data"); INI_WriteString(file,"Password",hashpass); INI_WriteInt(file,"AdminLevel",0); INI_WriteInt(file,"VIPLevel",0); INI_WriteInt(file,"Money",0); INI_WriteInt(file,"Scores",0); INI_WriteInt(file,"Kills",0); INI_WriteInt(file,"Deaths",0); INI_WriteInt(file,"Camo",0); INI_Close(file); SendClientMessage(playerid,-1,"You have been successfully registered"); return 1; } } if(dialogid == dlogin) { if(!response) return Kick(playerid); if(response) { new hashpass[129]; WP_Hash(hashpass,sizeof(hashpass),inputtext); if(!strcmp(hashpass,pInfo[playerid][Pass])) { INI_ParseFile(Path(playerid),"loadaccount_%s",.bExtra = true, .extra = playerid); SetPlayerScore(playerid,pInfo[playerid][Scores]); GivePlayerMoney(playerid,pInfo[playerid][Money]); SendClientMessage(playerid,-1,"Welcome back! You have successfully logged in"); } else { ShowPlayerDialog(playerid,dlogin,DIALOG_STYLE_INPUT,"Login","Welcome back. This account is registered. \nInsert your password to login to your account.\nIncorrect password!","Login","Quit"); return 1; } } } return 1; } public OnPlayerDisconnect(playerid, reason) { KillCam[playerid] = false; KillTimer(PayCheck[playerid]); if(fexist(Path(playerid))) { new INI:file = INI_Open(Path(playerid)); INI_SetTag(file,"Player's Data"); INI_WriteInt(file,"AdminLevel",pInfo[playerid][Adminlevel]); INI_WriteInt(file,"VIPLevel",pInfo[playerid][VIPlevel]); INI_WriteInt(file,"Money",GetPlayerMoney(playerid)); INI_WriteInt(file,"Scores",GetPlayerScore(playerid)); INI_WriteInt(file,"Kills",pInfo[playerid][Kills]); INI_WriteInt(file,"Deaths",pInfo[playerid][Deaths]); INI_WriteInt(file,"Camo",pInfo[playerid][Camo]); INI_Close(file); return 1; } return 1; }