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; }