08.12.2015, 13:48
My problem is: I can't save the changes I do and I can't save those on a file, I can't also saveweapons
Hi, I use this kind of saving system
Hi, I use this kind of saving system
Код:
public OnPlayerDataSave(playerid) { if(IsPlayerConnected(playerid)) { if(gPlayerLogged[playerid]) { new string3[128]; format(string3, sizeof(string3), "CRP_Scriptfiles/Accounts/%s.ini", PlayerName(playerid)); new File: hFile = fopen(string3, io_write); if (hFile) { new var[32]; format(var, 32, "Level=%d\n",PlayerInfo[playerid][pLevel]);fwrite(hFile, var);
I want to shape the following code to the saving system that I posted here up (the code below is about phone book)
Код:
#define dialog_Phone_AdressBook 1063 #define dialog_Phone_AdressBook_ChooseAction 1064 #define dialog_Phone_AdressBook_ChNumb 1065 #define dialog_Phone_AdressBook_Rename 1066
Код:
new Pone_AdreesBook_ChoosenID[MAX_PLAYERS];
Код:
else if(!strcmp("/rubrica", cmdtext,true)) { if(PlayerInfo[playerid][pPhoneNumber]==0)return SendClientMessage(playerid,COLOR_YELLOW,"you don't have a phone"); ShowPlayerPhoneAdressBook(playerid); return 1; }
Код:
stock ShowPlayerPhoneAdressBook(playerid) { new s[500]; new _key[50]; for(new x=0;x<20;x++) { format(_key,50,"phone_address%d_isset",x); if(dini_Int(PlayerInfo[playerid][pKey],_key)==0) { if(x==0)format(s,sizeof(s),"Empty %d",x+1); else format(s,sizeof(s),"%s\nEmpty %d",s,x+1); } else { format(_key,50,"phone_address%d_name",x); if(x==0)format(s,sizeof(s),"%s",dini_Get(PlayerInfo[playerid][pKey],_key)); else format(s,sizeof(s),"%s\n%s",s,dini_Get(PlayerInfo[playerid][pKey],_key)); } } ShowPlayerDialog(playerid,dialog_Phone_AdressBook,DIALOG_STYLE_LIST,"Phone book",s,"Select","Cancel"); return 1; } //book
Код:
else if(dialogid==dialog_Phone_AdressBook && response) { Pone_AdreesBook_ChoosenID[playerid]=listitem; new s[128]; format(s,128,"phone_address%d_isset",Pone_AdreesBook_ChoosenID[playerid]); if(!dini_Int(PlayerInfo[playerid][pfile],s)) { format(s,128,"Cellulare - Rubrica - Slot vuoto %d",Pone_AdreesBook_ChoosenID[playerid]); } else { format(s,128,"phone_address%d_name",Pone_AdreesBook_ChoosenID[playerid]); format(s,128,"Cellulare - Rubrica - %s",dini_Get(PlayerInfo[playerid][pfile],s)); } ShowPlayerDialog(playerid,dialog_Phone_AdressBook_ChooseAction,DIALOG_STYLE_LIST,s,"Chiama\nRinomina\nCambia numero","Seleziona","Annulla"); } else if(dialogid==dialog_Phone_AdressBook_ChooseAction) { if(!response)return ShowPlayerPhoneAdressBook(playerid); new s[128]; switch(listitem) { case 0://rubrica chiama { format(s,128,"phone_address%d_isset",Pone_AdreesBook_ChoosenID[playerid]); if(!dini_Int(PlayerInfo[playerid][pfile],s)) { SendClientMessage(playerid,COLOR_NO,"Numero inesistente"); return ShowPlayerPhoneAdressBook(playerid); } format(s,128,"phone_address%d_number",Pone_AdreesBook_ChoosenID[playerid]); return dcmd_chiama(playerid,dini_Get(PlayerInfo[playerid][pfile],s)); } case 1://rubrica rinomina { ShowPlayerDialog(playerid,dialog_Phone_AdressBook_Rename,DIALOG_STYLE_INPUT,"Cellulare - Rubrica - Rinomina","Inserisci il nuovo nome per questo slot\nMinimo 2 caratteri","Conferma","Annulla"); } case 2://cambia numero { ShowPlayerDialog(playerid,dialog_Phone_AdressBook_ChNumb,DIALOG_STYLE_INPUT,"Cellulare - Rubrica - Cambia numero","Inserisci il nuovo numero per questo slot","Conferma","Annulla"); } } } else if(dialogid==dialog_Phone_AdressBook_Rename) { if(!response)return ShowPlayerPhoneAdressBook(playerid); else if(strlen(inputtext)>24 || strlen(inputtext)<2) { SendClientMessage(playerid,COLOR_NO,"Lunghezza massima = 24 caratteri, minima = 2 caratteri"); return ShowPlayerPhoneAdressBook(playerid); } new s[128]; format(s,128,"phone_address%d_name",Pone_AdreesBook_ChoosenID[playerid]); dini_Set(PlayerInfo[playerid][pfile],s,inputtext); format(s,50,"phone_address%d_isset",Pone_AdreesBook_ChoosenID[playerid]); dini_IntSet(PlayerInfo[playerid][pfile],s,1); SendClientMessage(playerid,COLOR_INFO,"Slot rubrica rinominato"); ShowPlayerPhoneAdressBook(playerid); return 1; } else if(dialogid==dialog_Phone_AdressBook_ChNumb) { if(!response)return ShowPlayerPhoneAdressBook(playerid); else if(strlen(inputtext)>10 || strlen(inputtext)<2) { SendClientMessage(playerid,COLOR_NO,"Lunghezza massima = 10 caratteri, minima = 2 caratteri"); return ShowPlayerPhoneAdressBook(playerid); } new s[128]; format(s,128,"phone_address%d_number",Pone_AdreesBook_ChoosenID[playerid]); dini_Set(PlayerInfo[playerid][pfile],s,inputtext); SendClientMessage(playerid,COLOR_INFO,"Numero slot rubrica cambiato"); ShowPlayerPhoneAdressBook(playerid); return 1; }