[Ajuda]ProxDetectorS com player e vehicle
#1

Bom, eu tentei fazer um comando pra concertar todos os pneus de um carro, ai pra evitar abusos eu tentei colocar pro player sу poder usar perto do veнculo, mas me sai mal na minha missгo.
Bom, eu tentei durante alguns dias corrigir sozinho, mas nгo deu nada.
Код:
if(strcmp(cmd, "/trocarpneus", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	        //new tmpcar = GetPlayerVehicleID(playerid);
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "Use: /trocarpneu [Nъmero da Placa]");
				return 1;
			}
			new testcar = strval(tmp);
			//GetVehiclePos(testcar);
			new Float:cwx2,Float:cwy2,Float:cwz2;
			GetVehiclePos(testcar, cwx2, cwy2, cwz2);
			if(ProxDetectorS(8.0, playerid, testcar) && !IsPlayerInAnyVehicle(playerid) && PlayerInfo[playerid][pMechSkill] >= 51)
			{
			    new panels, doors, lights, tires;
			    GetVehicleDamageStatus(testcar, panels, doors, lights, tires);
			    UpdateVehicleDamageStatus(testcar, panels, doors, lights, 15);
			    return 1;
			}
			else
			{
			    SendClientMessage(playerid, COLOR_GREY, "Vocк nгo estб perto do carro, nгo sabe trocar pneus ou estб dentro de um carro.");
			    return 1;
			}
		}
		return 1;
	}
Desde jб agradeзo a atenзгo.
E mals por viver no passado e ainda usa storck.
Reply
#2

Use IsPlayerInRangeOfPoint utilizando as coordenadas obtidas no GetVehiclePos
Reply
#3

Alйm do que foi dito acima, faзa com que o quinto argumento do UpdateVehicleDamageStatus seja igual a 0 para que as rodas do veнculo indicado sejam reparadas .



Espero ter ajudado .
Reply
#4

Quote:
Originally Posted by Viniborn
Посмотреть сообщение
Use IsPlayerInRangeOfPoint utilizando as coordenadas obtidas no GetVehiclePos
Very Very Thanks cara.
Se eu nгo fosse tгo newbie aqui no forum te dava rep.
No caso entгo eu devo usar.

Quote:
Originally Posted by rjjj
Посмотреть сообщение
Alйm do que foi dito acima, faзa com que o quinto argumento do UpdateVehicleDamageStatus seja igual a 0 para que as rodas do veнculo indicado sejam reparadas .
Espero ter ajudado .
Ajudou sim, eu li errado no Wikia sobre os pneus, eu taa confundindo os furados com os normais.
Thanks.
Reply
#5

Pra checar se estб perto do veнculo vocк pode utilizar o seguinte:

pawn Код:
stock IsPlayerNearVehicle(playerid, vehicleid, Float:distance)
{
    static
        Float:vPos[3];
    GetVehiclePos(vehicleid, vPos[0], vPos[1], vPos[2]);
    return IsPlayerInRangeOfPoint(playerid, distance, vPos[0], vPos[1], vPos[2]);
}
Modo de uso:

ao invйs de:

pawn Код:
if(ProxDetectorS(8.0, playerid, testcar)
usa-se:

pawn Код:
if(IsPlayerNearVehicle(playerid, testcar, 8.0))
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)