SA-MP Forums Archive
Load gang zones problem - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Load gang zones problem (/showthread.php?tid=664125)



Load gang zones problem - None1337 - 19.02.2019

I have a weird bug when I'm creating and showing the gang zone.

my code:

turfs in database table are with ID:
1, 2, 3....last id: 28

Код:
#define MAX_GANG_ZONES (29)

public LoadZoness()
{

	for(new x = 0; x < cache_num_rows(); x++)
	{
		new id = cache_get_field_content_int(x, "ID");
		tvar[id][tID] = id;

	 	tvar[id][tOwner] = cache_get_field_content_int(x, "owned_by");

	 	tvars[id][tMinX] = cache_get_field_content_float(x, "min_x");
	 	tvar[id][tMinY] = cache_get_field_content_float(x, "min_y");
	 	tvar[id][tMaxX] = cache_get_field_content_float(x, "max_x");
	 	tvar[id][tMaxY] = cache_get_field_content_float(x, "max_y");

	 	tvar[id][tPosition] = GangZoneCreateEx(tvar[id][tMinX], tvar[id][tMinY], tvar[id][tMaxX], tvar[id][tMaxY], tvar[id][tID], 1.5);
	}

}

CMD:gangz(playerid)
{


for(new t = 1; t < MAX_GANG_ZONES; t++)
	{

		GangZoneShowForPlayerEx(playerid, tvar[t][tPosition], COLOR_WHITE);
	}
return 1;
}
When i'm use /gangz all turfs are WHITE, but the first turf (ID 1) is black, why?

Pictures: https://i.gyazo.com/7390a849ada93f12...bcaf6ca4f2.png


Re: Load gang zones problem - Calisthenics - 20.02.2019

Auto increment ID is not meant to be used as array index. It is just a database identifier! Use `x` as array index and start the loops from index 0.

You should also have a global variable to know upper bound of gang zones. If you load 28 gang zones, it is different to loop 28 times instead of 1024 times because of < MAX_GANG_ZONES.

If the problem is still not fixed, post functions `GangZoneCreateEx` and `GangZoneShowForPlayerEx`.