|
Yes it is possible. You need to use OnPlayerEnterCheckpoint(playerid) and DestroyVehicle(VehicleID)
Basically you need to make it so that once the player who is towing the vehicle enters a check point, it will then proceed to Destroy the vehicle that the player is towing. |
|
Replace the vehicleid to this-> GetPlayerVehicleID(playerid)
It gives u the vehicle id, or u can do this also int the entercheckpoint: new vehicleid = GetPlayerVehicleID(playerid); |
|
It will destroy the car the player is driving it, not the one he is towing.
|
This forum requires that you wait 120 seconds between posts. Please try again in 46 seconds.
|
Can I see the code where you tow the car? I mean, type /tow to tow the closest car or whatever.
Код:
This forum requires that you wait 120 seconds between posts. Please try again in 46 seconds. |
#define towpickup 1569.2766,-1477.9763,13.5526
new TowTruckers=0;
new IsTowTrucker[MAX_PLAYERS];
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate==PLAYER_STATE_DRIVER)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
{
IsTowTrucker[playerid]=1;
TowTruckers++;
SendClientMessage(playerid,0xFFFF00AA,"You can use the ACTION KEY to Tow cars");
}
}
if((newstate==PLAYER_STATE_ONFOOT)&&(IsTowTrucker[playerid]==1))
{
IsTowTrucker[playerid]=0;
TowTruckers--;
}
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if((newkeys==KEY_ACTION)&&(IsPlayerInAnyVehicle(playerid))&&(GetPlayerState(playerid)==PLAYER_STATE_DRIVER))
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
{
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
new Float:vX,Float:vY,Float:vZ;
new Found=0;
new vid=0;
while((vid<MAX_VEHICLES)&&(!Found))
{
vid++;
GetVehiclePos(vid,vX,vY,vZ);
if((floatabs(pX-vX)<7.0)&&(floatabs(pY-vY)<7.0)&&(floatabs(pZ-vZ)<7.0)&&(vid!=GetPlayerVehicleID(playerid)))
{
Found=1;
if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
{
DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
}
AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid));
SendClientMessage(playerid,0xFFFF00AA,"Car towed!");
SetPlayerCheckpoint(playerid, towpickup , 3.0);
}
}
if(!Found)
{
SendClientMessage(playerid,0xFFFF00AA,"There is no car in range.");
}
}
}
}
public OnPlayerEnterCheckpoint(playerid)
{
DisablePlayerCheckpoint(playerid);
if (IsPlayerInRangeOfPoint(playerid, 4.0, towpickup))
{
if(IsTowTrucker[playerid] == 1)
{
new towedcar;
GetVehicleTrailer(towedcar);
if(IsTrailerAttachedToVehicle(towedcar))
{
DestroyVehicle(towedcar);
GameTextForPlayer(playerid, "~g~Car towed!", 3000, 3);
GivePlayerMoney(playerid,50);
PlayerPlaySound(playerid,1056,0,0,0);
}
}
}
return 1;
}