//In OnPlayerSpawn SetTimerEx("TowPlayerVehicle", 500, 1, "d", playerid); //========================================================================== forward TowPlayerVehicle(playerid); public TowPlayerVehicle(playerid) { new vehiclet; if(IsPlayerInAnyVehicle(playerid)) { new vehid = GetPlayerVehicleID(playerid); if(!IsTrailerAttachedToVehicle(vehid)) { if(GetVehicleModel(vehid) == 525) { new Float:x, Float:y, Float:z; GetVehiclePos(vehid, x, y, z ); GetVehicleWithinDistance(playerid, x, y, z, 100.0, vehiclet); if(IsPlayerInFrontOfVehicle(playerid,vehiclet)) { AttachTrailerToVehicle(vehiclet, vehid); } } } } } GetVehicleWithinDistance( playerid, Float:x1, Float:y1, Float:z1, Float:dist, &vehic){ //don't know who made that for(new i = 1; i < MAX_VEHICLES; i++){ if(GetVehicleModel(i) > 0){ if(GetPlayerVehicleID(playerid) != i ){ new Float:x, Float:y, Float:z; new Float:x2, Float:y2, Float:z2; GetVehiclePos(i, x, y, z); x2 = x1 - x; y2 = y1 - y; z2 = z1 - z; new Float:iDist = (x2*x2+y2*y2+z2*z2); if( iDist < dist){ vehic = i; } } } } } forward GetXYInFrontOfVehicle(vehicleid, &Float:x, &Float:y, Float:distance); public GetXYInFrontOfVehicle(vehicleid, &Float:x, &Float:y, Float:distance) //based on GetXYInFrontOfPlayer by Y_Less { new Float:a; GetVehiclePos(vehicleid, x, y, a); GetVehicleZAngle(vehicleid, a); x += (distance * floatsin(-a, degrees)); y += (distance * floatcos(-a, degrees)); } forward IsPlayerInFrontOfVehicle(playerid,vehicleid); public IsPlayerInFrontOfVehicle(playerid,vehicleid) //credits to smugller for helping me with that { new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); GetXYInFrontOfVehicle(vehicleid, X, Y, 5.0); return(1); }