SA-MP Forums Archive
In Range Respawn [ Help Pleas] - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: In Range Respawn [ Help Pleas] (/showthread.php?tid=391116)



In Range Respawn [ Help Pleas] - EasyMan - 09.11.2012

Hello, can eny one help me with that code ?

Код:
	if(strcmp(cmdtext, "/rcars", true) == 0)
	{
		new currentveh;
		currentveh = GetPlayerVehicleID(playerid);

		new Float:vehx, Float:vehy, Float:vehz;
		GetVehiclePos(currentveh, vehx, vehy, vehz);
		if(IsPlayerInRangeOfPoint(playerid, 20.0, vehx, vehy, vehz))
		{
		    new vehicleid = GetPlayerVehicleID(playerid);
		    SetVehicleHealth(vehicleid, 1000.0);
		    SetVehicleToRespawn(vehicleid);
		}
		return 1;
	}
I can't find out, how to make a command, to respawn car, in range of player .


Re: In Range Respawn [ Help Pleas] - Camorra - 09.11.2012

If the cmd not working just place it into the code " GetPlayerNearestVehicle "
pawn Код:
if(strcmp(cmdtext, "/rcars", true) == 0)
    {
        new currentveh;
        currentveh = GetPlayerVehicleID(playerid);
       
        new carid = GetPlayerNearestVehicle(playerid);
        SetVehicleToRespawn(carid);
       
        new Float:vehx, Float:vehy, Float:vehz;
        GetVehiclePos(currentveh, vehx, vehy, vehz);
        if(IsPlayerInRangeOfPoint(playerid, 20.0, vehx, vehy, vehz))
        {
            new vehicleid = GetPlayerVehicleID(playerid);
            SetVehicleHealth(vehicleid, 1000.0);
            SetVehicleToRespawn(vehicleid);
        }
        return 1;
    }
Add this code some where into script.
pawn Код:
stock GetPlayerNearestVehicle(playerid)
{
    new closest = -1;
    if(IsPlayerInAnyVehicle(playerid)) return GetPlayerVehicleID(playerid);
    for(new i = 0; i < MAX_VEHICLES; i++)
    {
        if(GetDistanceFromPlayerToVehicle(playerid, i) < GetDistanceFromPlayerToVehicle(playerid, closest) && closest != -1 && IsVehicleConnected(i))
        {
            closest = i;
        }
        if(closest == -1 && IsVehicleConnected(i)) closest = i;
    }
    return closest;
}

stock GetDistanceFromPlayerToVehicle(playerid, vehicleid2)
{
    new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
    new Float:tmpdis;
    GetPlayerPos(playerid,x1,y1,z1);
    GetVehiclePos(vehicleid2,x2,y2,z2);
    tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
    return floatround(tmpdis);
}

stock IsVehicleConnected(vehicleid)
{
    new Float:x1,Float:y1,Float:z1;
    GetVehiclePos(vehicleid,x1,y1,z1);
    if(x1==0.0 && y1==0.0 && z1==0.0)
    {
        return 0;
    }
    return 1;
}



Re: In Range Respawn [ Help Pleas] - EasyMan - 09.11.2012

Thank you dude, that is f**king amazing, added rep for you!


Re: In Range Respawn [ Help Pleas] - Camorra - 10.11.2012

Quote:
Originally Posted by EasyMan
Посмотреть сообщение
Thank you dude, that is f**king amazing, added rep for you!
Your welcome ! Anymore help you can feel free to PM me !