їPor quй no funciona?
#1

Hola amigos, estaba haciendo un job de transportador. Digamos que transportas en un auto diferentes objetos. entonces hice la zona de carga, pero yo quiero que solo te deje cagar el vehнculo si estas en reversa . La cosa es que me tira un warning y no funciona tampoco.

Asн lo hice :

Код:
new Float:Angle;
new PlayerFacingAngle = GetPlayerFacingAngle(playerid, Angle);
if(!PlayerFacingAngle == OESTE) return SendClientMessageEx(playerid, COLOR_GRAD2, "ЎNo estбs con la cajuela hacia atrбs!");
Y me tira este warning :

warning 213: tag mismatch

Y tampoco funciona! Es como si no leyera la funciуn!
Reply
#2

pawn Код:
if(!GetPlayerFacingAngle(playerid, OESTE) return SendClientMessageEx(playerid, COLOR_GRAD2, "ЎNo estбs con la cajuela hacia atrбs!");
Lo del flotante, lo utilizas mal...
Reply
#3

pero creo ke estas haciendo mal la funcion..

deberias obtener el angulo del objeto y vehiculo y comprobar si el angulo del vehiculo es inverso al del objeto.
Reply
#4

pawn Код:
new Float:PlayerFacingAngle ;
GetPlayerFacingAngle(playerid, PlayerFacingAngle);
if(PlayerFacingAngle != OESTE) return SendClientMessageEx(playerid, COLOR_GRAD2, "ЎNo estбs con la cajuela hacia atrбs!");
Hay que aclarar que es muy difнcil que el angulo siempre sea a lo que esta definido "OESTE", por lo que es recomendado hacerlo con un rango
pawn Код:
new Float:PlayerFacingAngle ;
GetPlayerFacingAngle(playerid, PlayerFacingAngle);
if(PlayerFacingAngle >= OESTE-20 && PlayerFacingAngle <= OESTE+20){
    // Estб con la cajuela hacia atrбs
}

else return SendClientMessageEx(playerid, COLOR_GRAD2, "ЎNo estбs con la cajuela hacia atrбs!");
Reply
#5

Quote:
Originally Posted by Josstaa
Посмотреть сообщение
pawn Код:
new Float:PlayerFacingAngle ;
GetPlayerFacingAngle(playerid, PlayerFacingAngle);
if(PlayerFacingAngle != OESTE) return SendClientMessageEx(playerid, COLOR_GRAD2, "ЎNo estбs con la cajuela hacia atrбs!");
Hay que aclarar que es muy difнcil que el angulo siempre sea a lo que esta definido "OESTE", por lo que es recomendado hacerlo con un rango
pawn Код:
new Float:PlayerFacingAngle ;
GetPlayerFacingAngle(playerid, PlayerFacingAngle);
if(PlayerFacingAngle >= OESTE-20 && PlayerFacingAngle <= OESTE+20){
    // Estб con la cajuela hacia atrбs
}

else return SendClientMessageEx(playerid, COLOR_GRAD2, "ЎNo estбs con la cajuela hacia atrбs!");
Lo arme asн por que me tiraba errores :

Код:
 
        new Float:Angle;
        new PlayerFacingAngle = GetPlayerFacingAngle(playerid, Angle);
	GetPlayerFacingAngle(playerid, Angle);
	if(!PlayerFacingAngle >= OESTE-15 && PlayerFacingAngle <= OESTE+15){
	SendClientMessageEx(playerid, COLOR_GRAD2, "ЎNo estбs con la cajuela hacia atrбs!");
	DisablePlayerCheckpoint(playerid);
	return 1;
	}
Y me sigue tirando el warning de "tag mistech" o algo asн

Quote:
Originally Posted by Leososa
Посмотреть сообщение
Lo arme asн por que me tiraba errores :

Код:
 
        new Float:Angle;
        new PlayerFacingAngle = GetPlayerFacingAngle(playerid, Angle);
	GetPlayerFacingAngle(playerid, Angle);
	if(!PlayerFacingAngle >= OESTE-15 && PlayerFacingAngle <= OESTE+15){
	SendClientMessageEx(playerid, COLOR_GRAD2, "ЎNo estбs con la cajuela hacia atrбs!");
	DisablePlayerCheckpoint(playerid);
	return 1;
	}
Y me sigue tirando el warning de "tag mistech" o algo asн
El warning era por que el "!" no funcionaba creo . Ahora lo arme asн, pero este en la posiciуn que este, SIGUE SIN FUNCIONAR :S .

Код:
if(PlayerFacingAngle >=90 && PlayerFacingAngle <150){
				SendClientMessageEx(playerid, COLOR_GRAD2, "ЎFUNCIONA!");
				DisablePlayerCheckpoint(playerid);
				return 1;
				}else return SendClientMessageEx(playerid, COLOR_GRAD2, "ЎNo estбs con la cajuela hacia atrбs!");
їALGUNA AYUDA?! No sй que mas hacer D:
Reply
#6

No entiendo bien lo que quieres hacer (leyendo tus palabras), pero con el cуdigo que dejaste, puedo comprender mas o menos.

Coloca esta funciуn arriba del script.


pawn Код:
stock Float:obAnguloJ(jugadorid)
{
    new Float:angulo;
    GetPlayerFacingAngle(jugadorid, angulo);
    return Float:angulo;
}
De acuerdo a este cуdigo que dejaste.

pawn Код:
new Float:Angle;
new PlayerFacingAngle = GetPlayerFacingAngle(playerid, Angle);
if(!PlayerFacingAngle == OESTE) return SendClientMessageEx(playerid, COLOR_GRAD2, "ЎNo estбs con la cajuela hacia atrбs!");
Lo que quieres es que si el jugador no tiene cierto бngulo, retorne un mensaje de error a este mismo. Debemos dejarle un margen de unos 45.0 de бngulo. Entonces hacemos algo como esto.

pawn Код:
#define margen 45.0 // Este es el rango que se le darб de equivocaciуn
#define margenF margen/2.0 // Simplemente dividimos el margen en 2
#define margenI (OESTE)-(margenF)
#define margenD (OESTE)+(margenF)

if(!(margenI <= obAnguloJ(playerid) <= margenD)) return SendClientMessage(playerid, -1, "Бngulo incorrecto.");
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)