help with dini float save and load -
arvifilter - 11.10.2012
I am trying to help my friend with a gamemode
he asked me to make a business system and I tried but I have a big problem:
Info about the system:
Код:
#define Mbizz 100
enum inf
{
Float:xa,
Float:ya,
Float:za,
Float:ix,
Float:iy,
Float:iz,
intt,
type,
i1,
i2,
i3,
i4,
i5,
i6,
ai1,
ai2,
ai3,
ai4,
ai5,
ai6
}
new bI[Mbizz][inf];
this is the cmd that makes the business:
Код:
CMD:cb(playerid, params[])
{
new pN[20],p[50],id,path[50],ty,in, Float:xxa,Float:yya,Float:zza;
GetPlayerPos(playerid, xxa, yya, zza);
GetPlayerName(playerid,pN,20);
format(p,50,"Users/Info/%s.ini",pN);
if(sscanf(params,"ddd",id,ty,in))
{
SayTo(playerid, COLOR_LIME,"/c(reate)b(izz) [id] [type] [interior]");
return 1;
}
else
{
if(dini_Int(p,"admin") == 10)
{
format(path, 50,"Users/Bizz/%d.ini",id);
CreatePickup(1239,1,xxa,yya,zza,0);
dini_Create(path);
dini_FloatSet(path,"x",xxa);
dini_FloatSet(path,"y",yya);
dini_FloatSet(path,"z",zza);
dini_IntSet(path,"intt",in);
dini_IntSet(path,"type",ty);
dini_IntSet(path,"i1",-1);
dini_IntSet(path,"i2",-1);
dini_IntSet(path,"i3",-1);
dini_IntSet(path,"i4",-1);
dini_IntSet(path,"i5",-1);
dini_IntSet(path,"i6",-1);
dini_IntSet(path,"ai1",0);
dini_IntSet(path,"ai2",0);
dini_IntSet(path,"ai3",0);
dini_IntSet(path,"ai4",0);
dini_IntSet(path,"ai5",0);
dini_IntSet(path,"ai6",0);
dini_IntSet(path,"ix",0);
dini_IntSet(path,"iy",0);
dini_IntSet(path,"iz",0);
return 1;
}
else
{
return 1;
}
}
}
This is how I load the biz sys at the gamemode init:
Код:
stock LoadBizz()
{
new path[50];
for(new i=0; i < Mbizz; i++)
{
format(path, 50,"Users/Bizz/%d.ini",i);
bI[i][xa] = dini_Float(path,"x");
bI[i][ya] = dini_Float(path,"y");
bI[i][za] = dini_Float(path,"z");
bI[i][intt] = dini_Int(path,"intt");
bI[i][type] = dini_Int(path,"type");
bI[i][i1] = dini_Int(path,"i1");
bI[i][i2] = dini_Int(path,"i2");
bI[i][i3] = dini_Int(path,"i3");
bI[i][i4] = dini_Int(path,"i4");
bI[i][i5] = dini_Int(path,"i5");
bI[i][i6] = dini_Int(path,"i6");
bI[i][ai1] = dini_Int(path,"ai1");
bI[i][ai2] = dini_Int(path,"ai2");
bI[i][ai3] = dini_Int(path,"ai3");
bI[i][ai4] = dini_Int(path,"ai4");
bI[i][ai5] = dini_Int(path,"ai5");
bI[i][ai6] = dini_Int(path,"ai6");
bI[i][ix] = dini_Float(path,"ix");
bI[i][iy] = dini_Float(path,"iy");
bI[i][iz] = dini_Float(path,"iz");
CreatePickup(1239,1,bI[i][xa],bI[i][ya],bI[i][za],0);
}
return 1;
}
and here's my enter CMD:
Код:
CMD:v(playerid, params[])
{
#pragma unused params
for(new i=0;i < Mbizz;i++)
{
new path[50];
format(path,50,"%d , %d , %d",bI[i][xa],bI[i][ya],bI[i][za]);
SayTo(playerid, COLOR_WHITE, path);
if(IsPlayerInRangeOfPoint(playerid, 10,bI[i][xa],bI[i][ya],bI[i][za]))
{
SetPlayerInterior(playerid, bI[i][type];
SetPlayerPos(playerid,bI[i][ix],bI[i][iy],bI[i][iz];
return 1;
}
else
{
return 1;
}
}
return 1;
}
But when ever I /v on the pick up it TPs me to 0,0,0 and doesn't Set my interior,I guess it Is my dini's problem,any way to solve this?
Re : help with dini float save and load -
will-56 - 12.10.2012
Try dini_Float to load a Float, dini_Int is for Integer.
Re: help with dini float save and load -
arvifilter - 12.10.2012
tried, didn't help in any way
Re: help with dini float save and load -
Lady-Happy - 17.02.2013
Its dini_FloatSet to set a value and dini_Float to get a value.
Also if you want to make a value non float use floatround