[Ajuda] Como fazer o comando funcionar quando o player estiver nas Coordenadas ?
#1

Quero saber como fazer o comando funcionar quando o player estiver nas Coordenadas ?

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])

{
        if(strcmp(cmdtext, "/tunar", true) == 0)
        {
    new playerstate = GetPlayerState(playerid);
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));

 if(!IsPlayerInAnyVehicle(playerid)){

    SendClientMessage(playerid,COLOR_WHITE,"[INFO] Voce nao esta em um carro.");

    return 1;
}
else
{
    if(playerstate != PLAYER_STATE_DRIVER){
    SendClientMessage(playerid,COLOR_YELLOW,"[INFO] Voce nao e um mecanico de carro ou voce nao esta no carro como excitador!");


 return 1;

}
Reply
#2

Quote:
Originally Posted by Thompsoon
Посмотреть сообщение
Quero saber como fazer o comando funcionar quando o player estiver nas Coordenadas ?

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])

{
        if(strcmp(cmdtext, "/tunar", true) == 0)
        {
    new playerstate = GetPlayerState(playerid);
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));

 if(!IsPlayerInAnyVehicle(playerid)){

    SendClientMessage(playerid,COLOR_WHITE,"[INFO] Voce nao esta em um carro.");

    return 1;
}
else
{
    if(playerstate != PLAYER_STATE_DRIVER){
    SendClientMessage(playerid,COLOR_YELLOW,"[INFO] Voce nao e um mecanico de carro ou voce nao esta no carro como excitador!");


 return 1;

}
Tirei de uma GM que tinha aqui, espero que sirva de base pra vocк fazer o seu
Код:
	if (strcmp("/tunar", cmdtext, true, 10) == 0)
	{
	if(PlayerInfo[ playerid ][pProfissao] == Mecanico ||PlayerInfo[playerid][pVip] ==  1|| IsPlayerAdmin(playerid) == 1 || pAdmin[playerid] > 1){
	ShowPlayerDialog(playerid, tunar, DIALOG_STYLE_LIST, "Tuning Menu", "Rodas\nCores\nPaintjobs\nNitro\nSuspensгo\nAutoTuning", "OK", "Cancelar");
	}
	else {
	SendClientMessage(playerid, Vermelho, " | ERRO | Vocк nгo tem permissгo.");
    }
	return 1;
	}
	
	if (strcmp("/CorVip", cmdtext, true, 10) == 0)
	{
	if(PlayerInfo[playerid][pVip2] == 1){
	ShowPlayerDialog(playerid, CorVip, DIALOG_STYLE_LIST, "Cores Vip", "Laranja  \nVermelho  \nRosa  \nVerde  \nAzul", "OK", "Cancelar");
	}
	else {
	SendClientMessage(playerid, Vermelho, " | ERRO | Vocк nгo tem permissгo.");
    }
	return 1;
	}

	if(strcmp(cmd, "/pintar", true) == 0) {
	new house[128];
	format(house, sizeof(house), "Casas/Casaid%d",house);
	if(PlayerInfo[ playerid ][pProfissao] == Mecanico  || IsPlayerAdmin(playerid) == 1 || pAdmin[playerid] >= 1 ||guardiao[playerid]){
	new cor1,cor2;
	new veiculo;
	tmp = strtok(cmdtext,idx);
	cor1 = strval(tmp);
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)) {
	SendClientMessage(playerid, Vermelho, "/pintar [cor1] [cor2]");
	return 1;
	}

	cor2 = strval(tmp);
	veiculo = GetPlayerVehicleID(playerid);
	if(IsPlayerInVehicle(playerid,veiculo)){
	ChangeVehicleColor(veiculo,cor1,cor2);
	dini_IntSet(house, "CarColor1", cor1);
	dini_IntSet(house, "CarColor2", cor2);
	format(string, sizeof(string), " | INFO | Mecanico %s(ID: %d) vocк pintou seu carro de %d e %d.", PlayerName(playerid), playerid, cor1, cor2);
	SendClientMessage(playerid, VerdeClaro, string);
	return 1;
	}
	}
	}
Код:
if( !strcmp( cmdtext, "/tunarveiculo", true ))
{

	if( PlayerToPoint( 10.0, playerid, 1084.2524,-1668.7297,13.2799 ))
	{


		if( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER && IsACar( GetPlayerVehicleID( playerid )))
		{

			for( new c; c < sizeof( cInfo ); c++ )
			{

				if( GetPlayerVehicleID( playerid ) == cInfo[ c ][ HouseCar ] )
				{

					if( !strcmp( CasaInfo[ c ][ Proprietario ], PlayerName( playerid ), true ))
					{

						new vStr[ 128 ];
						format( vStr, sizeof( vStr ), "CarrosTunados/vCasa%d.ini", CasaInfo[ c ][ Numero ] );
						if( !fexist( vStr )) dini_Create( vStr );
						new vehiclemodel = GetVehicleModel( GetPlayerVehicleID( playerid ));
						new stringbig[ 2048 ], component;
						ccount[ playerid ] = 1;

						while( GetVehicleCompatibleUpgrades( vehiclemodel, ccount[ playerid ], component ))
						{

							if( ccount[ playerid ] <= MAX_COMP )
							{

								if( ccount[ playerid ] == 1 )
								{

									if( dini_Int( vStr, componenteNome( component )) == component )
									{

										format( stringbig, sizeof( stringbig ), "%s\n%s {A8FF00}ADICIONADO", stringbig, GetComponentName( component ));
									}
									else
									{

										format( stringbig, sizeof( stringbig ), "%s", GetComponentName( component ));
									}
								}
								else
								{

									if( dini_Int( vStr, componenteNome( component )) == component )
									{

										format( stringbig, sizeof( stringbig ), "%s\n%s {A8FF00}ADICIONADO", stringbig, GetComponentName( component ));
									}
									else
									{

										format( stringbig, sizeof( stringbig ), "%s\n%s", stringbig, GetComponentName( component ));
									}
								}
								componentsid[ playerid ][ ccount[ playerid ] - 1 ] = component;
								ccount[ playerid ] ++;
							}
							else break;
						}
						new
						title[ 80 ]
						;
						format( title, sizeof( title ), "Tunings para {FF6400}%s", vNome[ vehiclemodel - 400 ] );
						ShowPlayerDialog( playerid, DIALOGID, DIALOG_STYLE_LIST, title, stringbig, "Tunar", "Sair" );
					}
				}
			}
		}
		else
		{

			SendClientMessage( playerid, COLOR_ERRO, "[ x ] Vocк nгo estб em um carro !" );
		}
		return 1;
	}
	else
	{

		SendClientMessage( playerid, COLOR_ERRO, "[ x ] Vocк nгo estб Oficina de Tuning !" );
	}
	return 1;
}
Reply
#3

Na hora de compilar deu certinho, mas nao funfa no jogo
Reply
#4

IsPlayerInRangeOfPoint

Код:
IsPlayerInRangeOfPoint(playerid, raio, x, y, z)
Exemplo:
pawn Код:
IsPlayerInRangeOfPoint(playerid, 2.0, 0.0, 0.0, 0.0))
{
    SendClientMessage(playerid, -1, "Vocк estб no raio 2.0 das coordenadas 0.0, 0.0, 0.0");
}
Reply
#5

IsPlayerInRangeOfPoint(playerid, Raio,PosX,PosY,PosZ)

Raio - vocк pхe o raio da бrea que o player pode digitar ou seja, vocк pхe 1 ai se o cara ficar por exemplo 2 metros longe do local o comando nгo pode ser digitado
PosX,PosY,PosZ - Obviamente vocк pхe a posiзгo X,Y,Z , para saber onde o player estб. Se vocк nгo sabe pegar as posiзхes X,Y,Z vocк comeзa a estudar pawn denovo do 0.

Exemplo de uso:
pawn Код:
if (strcmp("/estouemposicao", cmdtext, true, 10) == 0)
    {
        if(IsPlayerInRangeOfPoint(playerid, 1, 0.0,0.0,0.0)) return SendClientMessage(playerid, -1,"Vocк nгo estб em posiзгo");
        SendClientMessage(playerid, -1, "Vocк estб em posiзгo");
        return 1;
    }
Espero ter ajudado, vlw mano
Reply
#6

Quote:
Originally Posted by Living
Посмотреть сообщение
IsPlayerInRangeOfPoint(playerid, Raio,PosX,PosY,PosZ)

Raio - vocк pхe o raio da бrea que o player pode digitar ou seja, vocк pхe 1 ai se o cara ficar por exemplo 2 metros longe do local o comando nгo pode ser digitado
PosX,PosY,PosZ - Obviamente vocк pхe a posiзгo X,Y,Z , para saber onde o player estб. Se vocк nгo sabe pegar as posiзхes X,Y,Z vocк comeзa a estudar pawn denovo do 0.

Exemplo de uso:
pawn Код:
if (strcmp("/estouemposicao", cmdtext, true, 10) == 0)
    {
        if(IsPlayerInRangeOfPoint(playerid, 1, 0.0,0.0,0.0)) return SendClientMessage(playerid, -1,"Vocк nгo estб em posiзгo");
        SendClientMessage(playerid, -1, "Vocк estб em posiзгo");
        return 1;
    }
Espero ter ajudado, vlw mano
Vocк confundiu. Nesse caso seria !IsPlayerInRangeOfPoint, e nгo IsPlayerInRangeOfPoint.
Reply
#7

Quote:
Originally Posted by ViniBorn
Посмотреть сообщение
Vocк confundiu. Nesse caso seria !IsPlayerInRangeOfPoint, e nгo IsPlayerInRangeOfPoint.
Ah sim, obrigado, sem o " ! " й sу quando abre chaves e.e, foi mal pelo erro.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)