SA-MP Forums Archive
Compass not working as its supposed to - 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)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: Compass not working as its supposed to (/showthread.php?tid=111387)



Compass not working as its supposed to - Striker_Moe - 01.12.2009

Hi there.

Trying to create a compass:


Код:
public comptimer(playerid)
{
	new Float:angle;
	new string[24];
	GetPlayerFacingAngle(playerid, angle);

//--------------------------------------------------------------------------/
	if(floatround(angle,floatround_round) > 23.50 && floatround(angle,floatround_round) < 67.50)
	{
	format(string,sizeof(string),"NE - %d",floatround(angle,floatround_round));
	}
//--------------------------------------------------------------------------/
	if(floatround(angle,floatround_round) > 67.50 && floatround(angle,floatround_round) < 113.50)
	{
	format(string,sizeof(string),"E - %d",floatround(angle,floatround_round));
	}
//--------------------------------------------------------------------------/
	if(floatround(angle,floatround_round) > 113.50 && floatround(angle,floatround_round) < 157.50)
	{
	format(string,sizeof(string),"SE - %d",floatround(angle,floatround_round));
	}
//--------------------------------------------------------------------------/
	if(floatround(angle,floatround_round) > 157.50 && floatround(angle,floatround_round) < 203.50)
	{
	format(string,sizeof(string),"S - %d",floatround(angle,floatround_round));
	}
//--------------------------------------------------------------------------/
	if(floatround(angle,floatround_round) > 203.50 && floatround(angle,floatround_round) < 247.50)
	{
	format(string,sizeof(string),"SW - %d",floatround(angle,floatround_round));
	}
//--------------------------------------------------------------------------/
	if(floatround(angle,floatround_round) > 247.50 && floatround(angle,floatround_round) < 293.50)
	{
	format(string,sizeof(string),"W - %d",floatround(angle,floatround_round));
	}
//--------------------------------------------------------------------------/
	if(floatround(angle,floatround_round) > 293.50 && floatround(angle,floatround_round) < 336.50)
	{
	format(string,sizeof(string),"W - %d",floatround(angle,floatround_round));
	}
//--------------------------------------------------------------------------/
 	if(floatround(angle,floatround_round) > 336.50 && floatround(angle,floatround_round) < 23.50)
	{
	format(string,sizeof(string),"N - %d",floatround(angle,floatround_round));
	}
	TextDrawSetString(comp[playerid],string);
	return 1;
}
Everything works just fine, but if you face north, no text is getting displayed (no string getting set). Why?



Re: Compass not working as its supposed to - diesulke - 01.12.2009

Quote:
Originally Posted by Mo3
if(floatround(angle,floatround_round) > 336.50 && floatround(angle,floatround_round) < 23.50)
{
format(string,sizeof(string),"N - %d",floatround(angle,floatround_round));
}
TextDrawSetString(comp[playerid],string);
return 1;
Try this:

pawn Код:
if(floatround(angle,floatround_round) > 336.50 && floatround(angle,floatround_round) < -23.50)
    {
    format(string,sizeof(string),"N - %d",floatround(angle,floatround_round));
    }
    TextDrawSetString(comp[playerid],string);
    return 1;