Compass not working as its supposed to
#1

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

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;
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)