Dini => ini problem
#1

HI guys,
I have a problem getting this stock from dini to ini.
I've been thinking about it for an hour and I still do not know how to do it.
Please help me.

CODE:
PHP код:
stock CreateHouse(Float:HX,Float:HY,Float:HZ,CENA)
{
    
HouseCount++;
    if(
HouseCount MAX_HOUSES)
    {
        print(
"MAX. Počet domov bol prekročenэ. Server bol vypnutэ !");
        
SendRconCommand("exit");
    }
    
HouseInfo[HouseCount][p_X] = HX;
    
HouseInfo[HouseCount][p_Y] = HY;
    
HouseInfo[HouseCount][p_Z] = HZ;
    
HouseInfo[HouseCount][Cena]= CENA;
    
HouseInfo[HouseCount][VW]  = HouseCount;
    new 
s[100];
    
format(s,100,"Houses/House%d.txt",HouseCount);
    if(!
fexist(s))
    {
        new 
INI:File INI_Open(UserPath(playerid));
        
INI_SetTag(File,"data");
        
INI_WriteInt(File,"Password",udb_hash(inputtext));
        
INI_WriteInt(File,"Cash",0);
        
INI_WriteInt(File,"Admin",0);
        
INI_WriteInt(File,"Kills",0);
        
INI_WriteInt(File,"Deaths",0);
        
INI_Close(File);
        
dini_Create(s);
        
dini_Set(s,"Owner","none");
        
dini_Set(s,"Pass","none");
        
dini_BoolSet(s,"Locked",false);
        
dini_IntSet(s,"Interior",3);
        
dini_IntSet(s,"Money",0);
        
dini_IntSet(s,"Camera",0);
        
dini_IntSet(s,"Dog",0);
        
dini_IntSet(s,"TermoSenzor",0);
        
dini_IntSet(s,"WalkSenzor",0);
        
dini_IntSet(s,"StrongDoors",0);
        new 
asdf[15];
        for(new 
i;<= MAX_WEAPON_SLOT;i++)
        {
            
format(asdf,10,"Weapon%d",i);
            
dini_IntSet(s,asdf,0);
            
format(asdf,15,"WeaponAmmo%d",i);
            
dini_IntSet(s,asdf,0);
        }
        for(new 
i;<= MAX_SKIN_SLOT;i++)
        {
            
format(asdf,10,"Skin%d",i);
            
dini_IntSet(s,asdf,-1);
        }
        
dini_Write();
    }
    
HouseInfo[HouseCount][IntTyp] = dini_Int(s,"Interior");
    
HouseInfo[HouseCount][HousePick] = CreatePickup(1277,1,HouseInterior[HouseInfo[HouseCount][IntTyp]][P_X],HouseInterior[HouseInfo[HouseCount][IntTyp]][P_Y],HouseInterior[HouseInfo[HouseCount][IntTyp]][P_Z],HouseInfo[HouseCount][VW]);
    
format(HouseInfo[HouseCount][Password],32,dini_Get(s,"Pass"));
    new 
asdf[15];
    for(new 
i;MAX_WEAPON_SLOT;i++)
    {
        
format(asdf,10,"Weapon%d",i);
        
HouseInfo[HouseCount][Weapon][i] = dini_Int(s,asdf);
        
format(asdf,15,"WeaponAmmo%d",i);
        
HouseInfo[HouseCount][Ammo][i] = dini_Int(s,asdf);
    }
    for(new 
i;MAX_SKIN_SLOT;i++)
    {
        
format(asdf,10,"Skin%d",i);
        
HouseInfo[HouseCount][Skins][i] = dini_Int(s,asdf);
    }
    new 
sx[200];
    if(
IsHouseForSale(HouseCount))
    {
        
format(HouseInfo[HouseCount][Owner],MAX_PLAYER_NAME,"Nikto");
        
HouseInfo[HouseCount][Zamek] = false;
        
HouseInfo[HouseCount][Pickup] = CreatePickup(1273,1,HXHYHZ);
        
format(sx,200,"{FFFFFF}Dom {0000FF}č.%d\r\n{FFFFFF}Majiteľ: {0000FF}Nikto\r\n{FFFFFF}Cena: {0000FF}%d",HouseCount,CENA);
        
HouseInfo[HouseCount][Text] = Create3DTextLabel(sx,0xFF0000FF,HX,HY,HZ+1,50,0);
        }else{
    if(
dini_Int(s,"Locked")) HouseInfo[HouseCount][Zamek] = true;
    else 
HouseInfo[HouseCount][Zamek]=false;
    
HouseInfo[HouseCount][Pickup] = CreatePickup(1272,1,HXHYHZ);
    
format(HouseInfo[HouseCount][Owner],MAX_PLAYER_NAME,"%s",dini_Get(s,"Owner"));
    
format(sx,200,"{FFFFFF}Dom {0000FF}\tč.%d\r\n{FFFFFF}Majiteľ: {0000FF}\t%s\r\n{FFFFFF}Park. miest: {0000FF}\t%d\r\n{FFFFFF}Locked: {0000FF}\t%s",HouseCount,HouseInfo[HouseCount][Owner],HouseInfo[HouseCount][CarSlots]+1,YesNo(HouseInfo[HouseCount][Zamek]));
    
HouseInfo[HouseCount][Text] = Create3DTextLabel(sx,0xFF0000FF,HX,HY,HZ+1,50,0);
    }
    return 
HouseCount;

Reply
#2

Help me please
Reply
#3

Why not just switch to dini2, which is equally* as fast as yini.
Reply
#4

Switch to SQlite. Easy. Efficient. Free.
Reply
#5

Quote:
Originally Posted by Lucases
Посмотреть сообщение
Switch to SQlite. Easy. Efficient. Free.
He didn't ask "Should I switch to SQLite because it's free?", Y_INI is free too.
Reply
#6

Quote:
Originally Posted by cuber
Посмотреть сообщение
He didn't ask "Should I switch to SQLite because it's free?", Y_INI is free too.
I suggested him to switch to SQlite since he is trying to convert that script.
There shouldn't be any problem with that.
Reply
#7

Mivco, switch to SQLite. It would solve your problem.
Reply
#8

Quote:

Mivco, switch to SQLite. It would solve your problem.

Thanks, I do not want to go to SQlite...


Do you think this code is well done? When I put it in y_ini.

PHP код:
stock CreateHouse(Float:HX,Float:HY,Float:HZ,CENA)
{
    
HouseCount++;
    if(
HouseCount MAX_HOUSES)
    {
        print(
"MAX. Počet domov bol prekročenэ. Server bol vypnutэ !");
        
SendRconCommand("exit");
    }
    
HouseInfo[HouseCount][p_X] = HX;
    
HouseInfo[HouseCount][p_Y] = HY;
    
HouseInfo[HouseCount][p_Z] = HZ;
    
HouseInfo[HouseCount][Cena]= CENA;
    
HouseInfo[HouseCount][VW]  = HouseCount;
    new 
s[100];
    
format(s,100,"Houses/House%d.txt",HouseCount);
    if(!
fexist(s))
    {
        new 
INI:File INI_Open(s));
        
INI_WriteInt(File,"Owner","none");
        
INI_WriteInt(File,"Pass","none");
        
INI_WriteInt(File,"Locked",false);
        
INI_WriteInt(File,"Interior",3);
        
INI_WriteInt(File,"Money",0);
        
INI_WriteInt(File,"Camera",0);
        
INI_WriteInt(File,"Dog",0);
        
INI_WriteInt(File,"TermoSenzor",0);
        
INI_WriteInt(File,"WalkSenzor",0);
        
INI_WriteInt(File,"StrongDoors",0);
        
        new 
asdf[15];
        for(new 
i;<= MAX_WEAPON_SLOT;i++)
        {
            
format(asdf,10,"Weapon%d",i);
            
INI_WriteInt(File,asdf,0);
            
format(asdf,15,"WeaponAmmo%d",i);
            
INI_WriteInt(File,asdf,0);
        }
        for(new 
i;<= MAX_SKIN_SLOT;i++)
        {
            
format(asdf,10,"Skin%d",i);
            
INI_WriteInt(File,asdf,-1);
        }
        
INI_Close(File);
    }
    
HouseInfo[HouseCount][IntTyp] = INI_String(s,"Interior");
    
HouseInfo[HouseCount][HousePick] = CreatePickup(1277,1,HouseInterior[HouseInfo[HouseCount][IntTyp]][P_X],HouseInterior[HouseInfo[HouseCount][IntTyp]][P_Y],HouseInterior[HouseInfo[HouseCount][IntTyp]][P_Z],HouseInfo[HouseCount][VW]);
    
format(HouseInfo[HouseCount][Password],32,INI_String(s,"Pass"));
    new 
asdf[15];
    for(new 
i;MAX_WEAPON_SLOT;i++)
    {
        
format(asdf,10,"Weapon%d",i);
        
HouseInfo[HouseCount][Weapon][i] = INI_String(s,asdf);
        
format(asdf,15,"WeaponAmmo%d",i);
        
HouseInfo[HouseCount][Ammo][i] = INI_String(s,asdf);
    }
    for(new 
i;MAX_SKIN_SLOT;i++)
    {
        
format(asdf,10,"Skin%d",i);
        
HouseInfo[HouseCount][Skins][i] = INI_String(s,asdf);
    }
    new 
sx[200];
    if(
IsHouseForSale(HouseCount))
    {
        
format(HouseInfo[HouseCount][Owner],MAX_PLAYER_NAME,"Nikto");
        
HouseInfo[HouseCount][Zamek] = false;
        
HouseInfo[HouseCount][Pickup] = CreatePickup(1273,1,HXHYHZ);
        
format(sx,200,"{FFFFFF}Dom {0000FF}č.%d\r\n{FFFFFF}Majiteľ: {0000FF}Nikto\r\n{FFFFFF}Cena: {0000FF}%d",HouseCount,CENA);
        
HouseInfo[HouseCount][Text] = Create3DTextLabel(sx,0xFF0000FF,HX,HY,HZ+1,50,0);
        }else{
    if(
INI_String(s,"Locked")) HouseInfo[HouseCount][Zamek] = true;
    else 
HouseInfo[HouseCount][Zamek]=false;
    
HouseInfo[HouseCount][Pickup] = CreatePickup(1272,1,HXHYHZ);
    
format(HouseInfo[HouseCount][Owner],MAX_PLAYER_NAME,"%s",dini_Get(s,"Owner"));
    
format(sx,200,"{FFFFFF}Dom {0000FF}\tč.%d\r\n{FFFFFF}Majiteľ: {0000FF}\t%s\r\n{FFFFFF}Park. miest: {0000FF}\t%d\r\n{FFFFFF}Locked: {0000FF}\t%s",HouseCount,HouseInfo[HouseCount][Owner],HouseInfo[HouseCount][CarSlots]+1,YesNo(HouseInfo[HouseCount][Zamek]));
    
HouseInfo[HouseCount][Text] = Create3DTextLabel(sx,0xFF0000FF,HX,HY,HZ+1,50,0);
    }
    return 
HouseCount;

Reply
#9

Quote:
Originally Posted by Mivco
Посмотреть сообщение
Thanks, I do not want to go to SQlite...


Do you think this code is well done? When I put it in y_ini.

PHP код:
stock CreateHouse(Float:HX,Float:HY,Float:HZ,CENA)
{
    
HouseCount++;
    if(
HouseCount MAX_HOUSES)
    {
        print(
"MAX. Počet domov bol prekročenэ. Server bol vypnutэ !");
        
SendRconCommand("exit");
    }
    
HouseInfo[HouseCount][p_X] = HX;
    
HouseInfo[HouseCount][p_Y] = HY;
    
HouseInfo[HouseCount][p_Z] = HZ;
    
HouseInfo[HouseCount][Cena]= CENA;
    
HouseInfo[HouseCount][VW]  = HouseCount;
    new 
s[100];
    
format(s,100,"Houses/House%d.txt",HouseCount);
    if(!
fexist(s))
    {
        new 
INI:File INI_Open(s));
        
INI_WriteInt(File,"Owner","none");
        
INI_WriteInt(File,"Pass","none");
        
INI_WriteInt(File,"Locked",false);
        
INI_WriteInt(File,"Interior",3);
        
INI_WriteInt(File,"Money",0);
        
INI_WriteInt(File,"Camera",0);
        
INI_WriteInt(File,"Dog",0);
        
INI_WriteInt(File,"TermoSenzor",0);
        
INI_WriteInt(File,"WalkSenzor",0);
        
INI_WriteInt(File,"StrongDoors",0);
        
        new 
asdf[15];
        for(new 
i;<= MAX_WEAPON_SLOT;i++)
        {
            
format(asdf,10,"Weapon%d",i);
            
INI_WriteInt(File,asdf,0);
            
format(asdf,15,"WeaponAmmo%d",i);
            
INI_WriteInt(File,asdf,0);
        }
        for(new 
i;<= MAX_SKIN_SLOT;i++)
        {
            
format(asdf,10,"Skin%d",i);
            
INI_WriteInt(File,asdf,-1);
        }
        
INI_Close(File);
    }
    
HouseInfo[HouseCount][IntTyp] = INI_String(s,"Interior");
    
HouseInfo[HouseCount][HousePick] = CreatePickup(1277,1,HouseInterior[HouseInfo[HouseCount][IntTyp]][P_X],HouseInterior[HouseInfo[HouseCount][IntTyp]][P_Y],HouseInterior[HouseInfo[HouseCount][IntTyp]][P_Z],HouseInfo[HouseCount][VW]);
    
format(HouseInfo[HouseCount][Password],32,INI_String(s,"Pass"));
    new 
asdf[15];
    for(new 
i;MAX_WEAPON_SLOT;i++)
    {
        
format(asdf,10,"Weapon%d",i);
        
HouseInfo[HouseCount][Weapon][i] = INI_String(s,asdf);
        
format(asdf,15,"WeaponAmmo%d",i);
        
HouseInfo[HouseCount][Ammo][i] = INI_String(s,asdf);
    }
    for(new 
i;MAX_SKIN_SLOT;i++)
    {
        
format(asdf,10,"Skin%d",i);
        
HouseInfo[HouseCount][Skins][i] = INI_String(s,asdf);
    }
    new 
sx[200];
    if(
IsHouseForSale(HouseCount))
    {
        
format(HouseInfo[HouseCount][Owner],MAX_PLAYER_NAME,"Nikto");
        
HouseInfo[HouseCount][Zamek] = false;
        
HouseInfo[HouseCount][Pickup] = CreatePickup(1273,1,HXHYHZ);
        
format(sx,200,"{FFFFFF}Dom {0000FF}č.%d\r\n{FFFFFF}Majiteľ: {0000FF}Nikto\r\n{FFFFFF}Cena: {0000FF}%d",HouseCount,CENA);
        
HouseInfo[HouseCount][Text] = Create3DTextLabel(sx,0xFF0000FF,HX,HY,HZ+1,50,0);
        }else{
    if(
INI_String(s,"Locked")) HouseInfo[HouseCount][Zamek] = true;
    else 
HouseInfo[HouseCount][Zamek]=false;
    
HouseInfo[HouseCount][Pickup] = CreatePickup(1272,1,HXHYHZ);
    
format(HouseInfo[HouseCount][Owner],MAX_PLAYER_NAME,"%s",dini_Get(s,"Owner"));
    
format(sx,200,"{FFFFFF}Dom {0000FF}\tč.%d\r\n{FFFFFF}Majiteľ: {0000FF}\t%s\r\n{FFFFFF}Park. miest: {0000FF}\t%d\r\n{FFFFFF}Locked: {0000FF}\t%s",HouseCount,HouseInfo[HouseCount][Owner],HouseInfo[HouseCount][CarSlots]+1,YesNo(HouseInfo[HouseCount][Zamek]));
    
HouseInfo[HouseCount][Text] = Create3DTextLabel(sx,0xFF0000FF,HX,HY,HZ+1,50,0);
    }
    return 
HouseCount;

I didn’t completely look over your code there but I did spot an issue right off the bat.

PHP код:
INI_WriteInt(File,"Owner","none"); 
INI_WriteInt(File,"Pass","none"); 
Those are not integers, they’re suppose to be written as strings:

PHP код:
INI_WriteString(File,"Owner","none"); 
INI_WriteString(File,"Pass","none"); 
I’d suggest going over your code and looking for small mistakes like this.
Reply
#10

Quote:
Originally Posted by CantBeJohn
Посмотреть сообщение
I didn’t completely look over your code there but I did spot an issue right off the bat.

PHP код:
INI_WriteInt(File,"Owner","none"); 
INI_WriteInt(File,"Pass","none"); 
Those are not integers, they’re suppose to be written as strings:

PHP код:
INI_WriteString(File,"Owner","none"); 
INI_WriteString(File,"Pass","none"); 
I’d suggest going over your code and looking for small mistakes like this.
Thanks....

Problem next:
How do I do this? whether it is the same as we explained.


PHP код:
            new s[128];
                
format(s,128,"Houses/House%d.txt",houseid);
                                new 
INI:File INI_Open(s);
                new 
camera INI_Int(File,"Camera");
                new 
dog dini_Int(s,"Dog");
                new 
termo dini_Int(s,"TermoSenzor");
                new 
walk dini_Int(s,"WalkSenzor");
                new 
door dini_Int(s,"StrongDoors"); 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)