help with dini float save and load
#1

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?
Reply
#2

Try dini_Float to load a Float, dini_Int is for Integer.
Reply
#3

tried, didn't help in any way
Reply
#4

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
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)