ну вот как-то так:
PHP код:
stock GetCoordVehicleParams(vehicleid, paramid, &Float:x, &Float:y, &Float:z){//by frog163
//paramid: 0/1 - левая/правая дверь, 2/3 - капот/багажник
new modelid = GetVehicleModel(vehicleid);
if(!modelid)return false;//можно убрать, если уверены в правильности параметра vehicleid
if(paramid>3)paramid%=4;//можно убрать, если уверены в правильности параметра paramid
new Float:a,Float:dist;
switch(paramid){
case 0:GetVehicleModelInfo(modelid, VEHICLE_MODEL_INFO_SIZE, dist, a, a), modelid = 1;
case 1:GetVehicleModelInfo(modelid, VEHICLE_MODEL_INFO_SIZE, dist, a, a), modelid = -1, paramid = 0;
case 2:GetVehicleModelInfo(modelid, VEHICLE_MODEL_INFO_SIZE, a, dist, a), modelid = 1, paramid = 1;
case 3:GetVehicleModelInfo(modelid, VEHICLE_MODEL_INFO_SIZE, a, dist, a), modelid = -1, paramid = 1;
}
dist /= 2.0, GetVehiclePos(vehicleid, x, y, z), GetVehicleZAngle(vehicleid, a);
if(paramid)x += modelid*dist*floatsin(a+180.0,degrees),y += modelid*dist*floatcos(a+180.0,degrees);
else x += modelid*dist*floatsin(a+90.0,degrees),y += modelid*dist*floatcos(a+90.0,degrees);
return true;
}
Пример:
PHP код:
if(!strcmp(cmd, "/test", true)){// /test [paramid]
new Float:pos[3], lol = strval(strtok(cmdtext, idx));
GetCoordVehicleParams(GetPlayerVehicleID(playerid), lol, pos[0], pos[1], pos[2]);
SetPlayerCheckpoint(playerid, pos[0], pos[1], pos[2], 1.0);
return true;
}