SA-MP Forums Archive
IsPlayerInRangeOfPoint Not Getting Coords - 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: IsPlayerInRangeOfPoint Not Getting Coords (/showthread.php?tid=318338)



IsPlayerInRangeOfPoint Not Getting Coords - DaRkM - 14.02.2012

I'm trying to set up plane hangars and have them be buyable, but for some reason in game it's saying I'm not near a hangar when I'm on the marker and the markers use the same coords.

Here is a part of my code that has it try to grab the coords.
Код:
if(strcmp(cmd, "/buyhangar", true) == 0)
	{
	    GetPlayerName(playerid, playername, sizeof(playername));
	    for(new ha = 0; ha < sizeof(HangarInfo); ha++)
		{
			if(IsPlayerInRangeOfPoint(playerid, 5, HangarInfo[ha][haLocationX], HangarInfo[ha][haLocationY], HangarInfo[ha][haLocationZ]) && HangarInfo[ha][haOwned] == 0)
			{
			    if(PlayerInfo[playerid][pLevel] < HangarInfo[ha][haLevelNeeded])
			    {
			        format(string, sizeof(string), "   You must be Level %d to purchase this !", HangarInfo[ha][haLevelNeeded]);
					SendClientMessage(playerid, COLOR_GRAD5, string);
					return 1;
				}
				if(PlayerInfo[playerid][pHangarKey] != 9999)
Код:
enum haInfo
{
	haOwned,
	haOwner[64],
	Float:haLocationX,
	Float:haLocationY,
	Float:haLocationZ,
	haLevelNeeded,
	haBuyPrice,
	haID
};
new HangarInfo[255][haInfo];
Код:
public LoadHangars()
{
	new file[64];
	for(new idx = 0; idx < sizeof(HangarInfo) ; idx++)
	{
    	format(file, sizeof(file),"LARP/Hangars/%d.ini", idx)
    	if(dini_Exists(file))
		{
	    	HangarInfo[idx][haOwned] = dini_Int(file,"Owned");
	    	strmid(HangarInfo[idx][haOwner], dini_Get(file,"Owner"), 0, strlen(dini_Get(file,"Owner")), 255);
	    	HangarInfo[idx][haLevelNeeded] = dini_Int(file,"LevelNeeded");
	    	HangarInfo[idx][haBuyPrice] = dini_Int(file,"Price");
	    	HangarInfo[idx][haID] = dini_Int(file,"ID");
	    	HangarInfo[idx][haLocationX] = dini_Float(file,"X");
	    	HangarInfo[idx][haLocationY] = dini_Float(file,"Y");
	    	HangarInfo[idx][haLocationZ] = dini_Float(file,"Z");
		}
	}
	print("[SCRIPT]: Loaded Hangars");
	return 1;
}
Can't figure out why this doesnt work, yet houses do when they are basically set up the same way.

Quick side-note I had the dini_Float set to just dini_Int before and that didnt work.

Here is an example of what the hangar .ini looks like Also, do they have to start at 0.ini because i have it start at 1.ini.
Код:
Owned=0
Owner=The State
LevelNeeded=8
ID=1
X=1986.4172
Y=-2316.0139
Z=13.5469
Price=100000



Re: IsPlayerInRangeOfPoint Not Getting Coords - [LoF]Zak - 14.02.2012

Код:
if(IsPlayerInRangeOfPoint(playerid, 5, HangarInfo[ha][haLocationX], HangarInfo[ha][haLocationY], HangarInfo[ha][haLocationZ]) && HangarInfo[ha][haOwned] == 0)
Have you tried it without the && HangarInfo[ha][haOwned] == 0) ?


Re: IsPlayerInRangeOfPoint Not Getting Coords - DaRkM - 14.02.2012

Didn't do anything, though thanks for cleaning my script lol. No idea why I had that there.

Okay so I went to the first hangar (before your suggestion) and it works on there, but all the others still say I'm not near a hangar.


Re: IsPlayerInRangeOfPoint Not Getting Coords - DaRkM - 15.02.2012

Bump. Still can't figure out what is going. :/


Re: IsPlayerInRangeOfPoint Not Getting Coords - DaRkM - 15.02.2012

Can't believe I never noticed the early return and missing else statement for not near point. Anyways, fixed that but now my chat floods with "you are not near your hangar!" after buying the house.


Re: IsPlayerInRangeOfPoint Not Getting Coords - DaRkM - 15.02.2012

Well, I just removed the else. Who needs it. lol