[Duda]: Mal funcionamiento en cуdigo.
#1

Hola buen dнa.. haber si me ayudan con esto, ya que no entiendo, pues estoy creando rejas pero el problema es el siguiente cree 2 rejas y funcionaban correctamente, luego cree otra y la anterior dejo de funcionar, y esta sн! їPorque? no lo entiendo, ya que dejo de funcionar cuando coloque otra, y no movн nada pensй que cometн algo mal y no, removн las rejas que abrнa creado y funcionaron de nuevo correctamente, pero las aсado y dejan de funcionar algunas.. Son por las llaves? no entiendo

Код:
if(newkeys == KEY_CROUCH)
{
	if(Gobierno(playerid))
	{

		if (PlayerToPoint(15, playerid,-2734.7625,379.7803,-9.4050))
		{

			MoveDynamicObject(Apalca,-2735.5098, 380.5146, -13.3036, 2.0);
			SetTimer("Closealca", 7000, 0);
		}
	}
	else if (Team_LSTV(playerid))
	{

		if (PlayerToPoint(15, playerid,-2051.9419, 494.1837, 37.0603))
		{

			MoveDynamicObject(Apradion,-2051.9419, 494.1837, 31.1515, 2.0);
			SetTimer("Closeradiop", 7000, 0);
		}
		else if (Team_Mecanicos(playerid))
		{

			if (PlayerToPoint(15, playerid,-1520.2914, 874.7809, 9.0635))
			{
                MoveDynamicObject(Aptallerr,-2051.9419, 494.1837, 31.1515, 2.0);
				SetTimer("Closetallerr", 7000, 0);
			}
			else if (Team_Mecanicos(playerid))
			{
				if (PlayerToPoint(15, playerid,-1910.0209, -858.0660, 33.8170))
				{

					MoveDynamicObject(Apdeposit,-1910.0209, -858.0660, 27.8621, 2.0);
					SetTimer("Closedeposi", 7000, 0);
				}
				else if (Team_FBI(playerid))
				{
					if (PlayerToPoint(15, playerid,-1752.1857, 757.0785, 26.8627))
					{
						MoveDynamicObject(Apdea,-1752.1857, 757.0785, 21.0581, 2.0);
						SetTimer("Closedea", 7000, 0);
					}
					else if (Team_Yakuza(playerid))
					{
						if (PlayerToPoint(15, playerid,-2484.7891,-615.8773,132.5650))
						{
							MoveDynamicObject(Apyakusa,-2485.9001, -614.9253, 128.7196, 3.0);
							SetTimer("Closeyakuson", 7000, 0);
						}
						else SendClientMessage(playerid,-1,"*No tienes el control de la reja");
					}
				}
			}
		}
	}
}
Reply
#2

Para йstas alturas nadie usa 'PlayerToPoint'. Usa https://sampwiki.blast.hk/wiki/IsPlayerInRangeOfPoint

Con respecto al cуdigo, las sentencias estбn mal puestas, la soluciуn la tienes acб:

Код:
if(newkeys == KEY_CROUCH)
{
	if(Gobierno(playerid))
	{

		if (PlayerToPoint(15, playerid,-2734.7625,379.7803,-9.4050))
		{

			MoveDynamicObject(Apalca,-2735.5098, 380.5146, -13.3036, 2.0);
			SetTimer("Closealca", 7000, 0);
		}
	}
	else if (Team_LSTV(playerid))
	{

		if (PlayerToPoint(15, playerid,-2051.9419, 494.1837, 37.0603))
		{
			MoveDynamicObject(Apradion,-2051.9419, 494.1837, 31.1515, 2.0);
			SetTimer("Closeradiop", 7000, 0);
		}
	}
	else if (Team_Mecanicos(playerid))
	{
		if (PlayerToPoint(15, playerid,-1520.2914, 874.7809, 9.0635))
		{
            MoveDynamicObject(Aptallerr,-2051.9419, 494.1837, 31.1515, 2.0);
			SetTimer("Closetallerr", 7000, 0);
		}
	}
	else if (Team_Mecanicos(playerid))
	{
		if (PlayerToPoint(15, playerid,-1910.0209, -858.0660, 33.8170))
		{
			MoveDynamicObject(Apdeposit,-1910.0209, -858.0660, 27.8621, 2.0);
			SetTimer("Closedeposi", 7000, 0);
		}
	}
	else if (Team_FBI(playerid))
	{
		if (PlayerToPoint(15, playerid,-1752.1857, 757.0785, 26.8627))
		{
			MoveDynamicObject(Apdea,-1752.1857, 757.0785, 21.0581, 2.0);
			SetTimer("Closedea", 7000, 0);
		}
	}
	else if (Team_Yakuza(playerid))
	{
		if (PlayerToPoint(15, playerid,-2484.7891,-615.8773,132.5650))
		{
			MoveDynamicObject(Apyakusa,-2485.9001, -614.9253, 128.7196, 3.0);
			SetTimer("Closeyakuson", 7000, 0);
		}
	}
	else SendClientMessage(playerid,-1,"*No tienes el control de la reja");
	return true;
}
No olvides cambiar 'PlayerToPoint', saludos.
Reply
#3

Quote:
Originally Posted by LatinZ
Посмотреть сообщение
Para йstas alturas nadie usa 'PlayerToPoint'. Usa https://sampwiki.blast.hk/wiki/IsPlayerInRangeOfPoint

Con respecto al cуdigo, las sentencias estбn mal puestas, la soluciуn la tienes acб:

Код:
if(newkeys == KEY_CROUCH)
{
	if(Gobierno(playerid))
	{

		if (PlayerToPoint(15, playerid,-2734.7625,379.7803,-9.4050))
		{

			MoveDynamicObject(Apalca,-2735.5098, 380.5146, -13.3036, 2.0);
			SetTimer("Closealca", 7000, 0);
		}
		else SendClientMessage(playerid,-1,"*No tienes el control de la reja");
	}
	else if (Team_LSTV(playerid))
	{

		if (PlayerToPoint(15, playerid,-2051.9419, 494.1837, 37.0603))
		{
			MoveDynamicObject(Apradion,-2051.9419, 494.1837, 31.1515, 2.0);
			SetTimer("Closeradiop", 7000, 0);
		}
		else SendClientMessage(playerid,-1,"*No tienes el control de la reja");
	}
	else if (Team_Mecanicos(playerid))
	{
		if (PlayerToPoint(15, playerid,-1520.2914, 874.7809, 9.0635))
		{
            MoveDynamicObject(Aptallerr,-2051.9419, 494.1837, 31.1515, 2.0);
			SetTimer("Closetallerr", 7000, 0);
		}
		else SendClientMessage(playerid,-1,"*No tienes el control de la reja");
	}
	else if (Team_Mecanicos(playerid))
	{
		if (PlayerToPoint(15, playerid,-1910.0209, -858.0660, 33.8170))
		{
			MoveDynamicObject(Apdeposit,-1910.0209, -858.0660, 27.8621, 2.0);
			SetTimer("Closedeposi", 7000, 0);
		}
		else SendClientMessage(playerid,-1,"*No tienes el control de la reja");
	}
	else if (Team_FBI(playerid))
	{
		if (PlayerToPoint(15, playerid,-1752.1857, 757.0785, 26.8627))
		{
			MoveDynamicObject(Apdea,-1752.1857, 757.0785, 21.0581, 2.0);
			SetTimer("Closedea", 7000, 0);
		}
		else SendClientMessage(playerid,-1,"*No tienes el control de la reja");
	}
	else if (Team_Yakuza(playerid))
	{
		if (PlayerToPoint(15, playerid,-2484.7891,-615.8773,132.5650))
		{
			MoveDynamicObject(Apyakusa,-2485.9001, -614.9253, 128.7196, 3.0);
			SetTimer("Closeyakuson", 7000, 0);
		}
		else SendClientMessage(playerid,-1,"*No tienes el control de la reja");
	}
	return true;
}
No olvides cambiar 'PlayerToPoint', saludos.
Ya lo cambie, pero las rejas no abren aъn.

Al apretar la tecla me sale el mensaje "No tienes el control de la reja etc"
Reply
#4

Editй el mensaje de arriba, es opcional pero si usted quiere, puede aсadir un mensaje el cual si el usuario estб lejos de la reja, osea:

Код:
if(!IsPlayerInRangeOfPoint(bla bla...)) return SendClientMessage(playerid, -1, "Demasiado lejos.");
Si el cуdigo funciona, usted posicionу mal las coordenadas de la puerta abierta.
Reply
#5

Igual, y las coordenadas estбn bien ya que probй haciйndola con comando y funciono correctamente, que podrнa ser? ahora probй intentado de no ser de la facciуn y me sale "*No tienes el control de la reja" hasta allн bien, pero cuando me doy la facciуn y intento abrir, no se abre ni nada.
Reply
#6

Pasa el cуdigo dуnde defines las ID's para los objetos.
Reply
#7

Aquн esta;

Код:
    Apdea = CreateDynamicObject(980, -1752.18567, 757.07849, 26.86270,   0.00000, 0.00000, 90.53182);
    Apalca = CreateDynamicObject(980, -2735.50977, 380.51459, -7.90486,   0.00000, 0.00000, 90.35999);
    Apradion = CreateDynamicObject(980, -2051.94189, 494.18372, 37.06030,   0.00000, 0.00000, 0.00000);
    Apyakusa = CreateDynamicObject(980, -2485.90015, -614.92529, 133.91125,   0.00000, 0.00000, 86.93999);
    Aptallerr = CreateDynamicObject(980, -1520.29138, 874.78094, 9.06351,   0.00000, 0.00000, -94.08002);
    Apdeposit = CreateDynamicObject(980, -1910.02087, -858.06604, 33.81704,   0.00000, 0.00000, 91.80000);
Reply
#8

Tienes un desorden con las coordenadas, te sugiero quй obtengas nuevas coordenadas de las puertas cerradas, aunque aquн te las acomodй de tal forma quй al abrir, las puertas se moverбn un poco mбs abajo de su eje Z (-5.0 mts), si te gustan asн pero vez que no se bajan completamente sуlo aumenta un poco mбs el valor Z (de forma negativa, claro), si no, obtйn las coordenadas " mapeando " de nuevo las rejas cerradas.

Lo otro serнa que en el callback en dуnde mandas a cerrar la puerta, revisa que tengan las mismas coordenadas de los objetos (definiciуn).

Код:
Apdea = CreateDynamicObject(980, -1752.18567, 757.07849, 26.86270,   0.00000, 0.00000, 90.53182);
Apalca = CreateDynamicObject(980, -2735.50977, 380.51459, -7.90486,   0.00000, 0.00000, 90.35999);
Apradion = CreateDynamicObject(980, -2051.94189, 494.18372, 37.06030,   0.00000, 0.00000, 0.00000);
Apyakusa = CreateDynamicObject(980, -2485.90015, -614.92529, 133.91125,   0.00000, 0.00000, 86.93999);
Aptallerr = CreateDynamicObject(980, -1520.29138, 874.78094, 9.06351,   0.00000, 0.00000, -94.08002);
Apdeposit = CreateDynamicObject(980, -1910.02087, -858.06604, 33.81704,   0.00000, 0.00000, 91.80000);

if(newkeys == KEY_CROUCH)
{
	if(Team_FBI(playerid))
	{
		if(!IsPlayerInRangeOfPoint(playerid, 15.0, -1752.18567, 757.07849, 26.86270)) return SendClientMessage(playerid, -1, "Puerta demasiado lejos.");
		MoveDynamicObject(Apdea, -1752.18567, 757.07849, 21.0000, 3.0);
		SetTimer("Closedea", 7000, false);
	}
	else if(Gobierno(playerid))
	{
		if(!IsPlayerInRangeOfPoint(playerid, 15.0, -2735.50977, 380.51459, -7.90486)) return SendClientMessage(playerid, -1, "Puerta demasiado lejos.");
		MoveDynamicObject(Apalca, -2735.50977, 380.51459, -2.0000, 3.0);
		SetTimer("Closealca", 7000, false);
	}
	else if(Team_LSTV(playerid))
	{
		if(!IsPlayerInRangeOfPoint(playerid, 15.0, -2051.94189, 494.18372, 37.06030)) return SendClientMessage(playerid, -1, "Puerta demasiado lejos.");
		MoveDynamicObject(Apradion, -2051.94189, 494.18372, 32.0000, 3.0);
		SetTimer("Closeradiop", 7000, false);
	}
	else if(Team_Yakuza(playerid))
	{
		if(!IsPlayerInRangeOfPoint(playerid, 15.0, -2485.90015, -614.92529, 133.91125)) return SendClientMessage(playerid, -1, "Puerta demasiado lejos.");
		MoveDynamicObject(Apyakusa, -2485.90015, -614.92529, 128.0000, 3.0);
		SetTimer("Closeyakuson", 7000, false);
	}
	else if(Team_Mecanicos(playerid))
	{
		if(!IsPlayerInRangeOfPoint(playerid, 15.0, -1520.29138, 874.78094, 9.06351)) return SendClientMessage(playerid, -1, "Puerta demasiado lejos.");
        MoveDynamicObject(Aptallerr, -1520.29138, 874.78094, 4.0000, 3.0);
		SetTimer("Closetallerr", 7000, false);
	}
	else if(Team_Mecanicos(playerid))
	{
		if(!IsPlayerInRangeOfPoint(playerid, 15.0, -1910.02087, -858.06604, 33.81704)) return SendClientMessage(playerid, -1, "Puerta demasiado lejos.");
		MoveDynamicObject(Apdeposit, -1910.02087, -858.06604, 27.0000, 3.0);
		SetTimer("Closedeposi", 7000, false);
	}
	else SendClientMessage(playerid,-1,"*No tienes el control de la puerta.");
	return true;
}
Reply
#9

Ahora sн! ya funcionan correctamente muchas gracias por dedicar tu tiempo y ayudarme .

Saludos!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)