Dini not saving
#1

This is phonebook but it's not able to save what I number and slot name, please help!!!
pKey is
enum pInfo
{
pKey[128],
Code:
#define dialog_Phone_AdressBook 1063
#define dialog_Phone_AdressBook_ChooseAction 1064
#define dialog_Phone_AdressBook_ChNumb 1065
#define dialog_Phone_AdressBook_Rename 1066
Code:
new Pone_AdreesBook_ChoosenID[MAX_PLAYERS];
Code:
if(strcmp(cmd,"/rubrica", true)==0)
	{
	    if(PlayerInfo[playerid][pPhoneNumber]==0)return SendClientMessage(playerid,COLOR_WHITE,"You don't have a phone");
	    ShowPlayerPhoneAdressBook(playerid);
	    return 1;
	}
Code:
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 slot %d",x+1);
			else format(s,sizeof(s),"%s\nEmpty slot %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 - PhoneBook",s,"Select","Cancel");
	return 1;
}
Code:
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][pKey],s))
		{
		    format(s,128,"Phone - PhoneBook - Empty Slot %d",Pone_AdreesBook_ChoosenID[playerid]);
		}
		else
		{
		    format(s,128,"phone_address%d_name",Pone_AdreesBook_ChoosenID[playerid]);
		    format(s,128,"Phone - Phonebook - %s",dini_Get(PlayerInfo[playerid][pKey],s));
	    }
	    ShowPlayerDialog(playerid,dialog_Phone_AdressBook_ChooseAction,DIALOG_STYLE_LIST,s,"Call\nRename\nChangenumber","Select","Cancel");
	}
	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][pKey],s))
                {
                    SendClientMessage(playerid,COLOR_WHITE,"Number not existing");
                    return ShowPlayerPhoneAdressBook(playerid);
                }
                format(s,128,"phone_address%d_number",Pone_AdreesBook_ChoosenID[playerid]);
                callchiama();
	        }
	        case 1:
	        {
	            ShowPlayerDialog(playerid,dialog_Phone_AdressBook_Rename,DIALOG_STYLE_INPUT,"Phone - Phonebook - Rename","Insert name of this slot\nMinimum 2 characters","OK","Cancel");
	        }
	        case 2:
	        {
	            ShowPlayerDialog(playerid,dialog_Phone_AdressBook_ChNumb,DIALOG_STYLE_INPUT,"Phone - Phonebook - Rename","Insert number of this slot","OK","Cancel");
	        }
	    }
	}
	else if(dialogid==dialog_Phone_AdressBook_Rename)
	{
	    if(!response)return ShowPlayerPhoneAdressBook(playerid);
	    else if(strlen(inputtext)>24 || strlen(inputtext)<2)
	    {
			SendClientMessage(playerid,COLOR_WHITE,"Max 24 letters, min 22");
			return ShowPlayerPhoneAdressBook(playerid);
		}
	    new s[128];
	    new string3[128];
		format(string3, sizeof(string3), "CRP_Scriptfiles/Accounts/%s.ini", PlayerName(playerid));
		new File: hFile = fopen(string3, io_write);
		if(hFile) {
		format(s,128,"phone_address%d_name",Pone_AdreesBook_ChoosenID[playerid]);
		fwrite(hFile, s);
		}
		dini_Set(PlayerInfo[playerid][pKey],s,inputtext);
		format(s,50,"phone_address%d_isset",Pone_AdreesBook_ChoosenID[playerid]);
		dini_IntSet(PlayerInfo[playerid][pKey],s,1);
		SendClientMessage(playerid,COLOR_WHITE,"Slot renamed");
		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_WHITE,"MAX 10, min 2 characters");
			return ShowPlayerPhoneAdressBook(playerid);
		}
	    new s[128];
	    new string3[128];
		format(string3, sizeof(string3), "CRP_Scriptfiles/Accounts/%s.ini", PlayerName(playerid));
		new File: hFile = fopen(string3, io_write);
		if(hFile) {
		format(s,128,"phone_address%d_number",Pone_AdreesBook_ChoosenID[playerid]);
		fwrite(hFile, s);
		}
		dini_Set(PlayerInfo[playerid][pKey],s,inputtext);
		SendClientMessage(playerid,COLOR_WHITE,"slot number got changed");
		ShowPlayerPhoneAdressBook(playerid);
		return 1;
	}
Reply
#2

up--
Reply
#3

How Rude,How dont have to give u an answer.No one should help u with this kind of manner
Reply
#4

Quote:
Originally Posted by blanic
View Post
give me a fucking answer
give us fucking respect

Asshole.
Reply
#5

Use mysql/sqlite or if you want ini use Y_INI ..
Reply
#6

The code is obsolete, the problem in my opinion is not only saving in Dini, but also the structure of the script. It should be rewritten in full, and converted to MySQL, allowing you to work through the row.
Reply
#7

My saving system is not mysql, it's based on dini so what should I change to make him working?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)