Problem With PlayerToPoint
#1

Hey Guys

I Have A Problem With Function "Player To Point"

This Is My Code :-
Код:
PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
	new Float:oldposx, Float:oldposy, Float:oldposz;
	new Float:tempposx, Float:tempposy, Float:tempposz;
	GetPlayerPos(playerid, oldposx, oldposy, oldposz);
	tempposx = (oldposx -x);
	tempposy = (oldposy -y);
	tempposz = (oldposz -z);
	if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
	{
		return 1;
	}
	return 0;
}
	public NearGate()
	{
	for(new i=0; i<MAX_PLAYERS; i++) {
 	if(IsPlayerConnected(i)) {
	{
	//Main Gate
	if(PlayerToPoint(30.0,i,-1047.984863, -1315.768066, 130.353226))//
	{
	MoveObject(move1,-1047.984863, -1315.768066, 124.853226,4);
	}else{
	MoveObject(move1,-1047.984863, -1315.768066, 130.353226,4);
	}
	//Viktor Gate
	if(PlayerToPoint(30.0,i,-1190.812378, -1212.870483, 130.992142))//
	{
	MoveObject(move2,-1190.812378, -1212.870483, 124.992142,4);
	}else{
	MoveObject(move2,-1190.812378, -1212.870483, 130.992142,4);
	}
	//BarakS Gate
	if(PlayerToPoint(30.0,i,-1190.812378, -1212.870483, 130.992142))//
	{
	MoveObject(move3,-1190.812378, -1212.870483, 130.992142,4);
	}else{
	MoveObject(move3,-1191.465698, -1195.851440, 130.992142,4);
	}
	//Joe Gate
	if(PlayerToPoint(30.0,i,-1190.812378, -1212.870483, 130.992142))//
	{
	MoveObject(move4,-1191.521240, -1179.036987, 130.867172,4);
	}else{
	MoveObject(move4,-1191.521240, -1179.036987, 125.117172,4);
	}
	//KipoD Gate
	if(PlayerToPoint(30.0,i,-1190.812378, -1212.870483, 130.992142))//
	{
	MoveObject(move5,-1191.521240, -1179.036987, 130.867172,4);
	}else{
	MoveObject(move5,-1095.360718, -1175.257568, 125.242142,4);
	}
	//Xtreme Gate
	if(PlayerToPoint(30.0,i,-1190.812378, -1212.870483, 130.992142))//
	{
	MoveObject(move6,-1094.274658, -1265.227539, 129.142105,4);
	}else{
	MoveObject(move6,-1094.274658, -1265.227539, 125.392105,4);
	}
	//Ap Gate
	if(PlayerToPoint(30.0,i,-1190.812378, -1212.870483, 130.992142))//
	{
	MoveObject(move7,-1164.569946, -946.437744, 128.267548,4);
	}else{
	MoveObject(move7,-1164.569946, -946.437744, 137.017548,4);
	}
	}
 	}
 	}
	return 1;
 }
No Errors !
But When I Goes To that Area It's dont open the gate WHY ?
Reply
#2

You need a timer on that public and use else if or the server will always check if the first condition is completed and if it is it will be used and if it is not it will just stick to that condition
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)