Скрипт может записать координаты всех авто в радиусе, а так же конвертировать их в MTA. Целью было сохранение сцен на сервере и доработка в MTA, ну или в SA-MP Map Construction.
CMD:pawn(playerid, params[])
{
if(sscanf(params, !"d", params[0])) return SendClientMessage(playerid, 0xb93232AA, !"[Подсказка]: /pawn [радиус]");
new string[100],
info[47],
mc;
new File:file = fopen(!"cms.txt", io_append);
for(new i = 1; i <= MAX_VEHICLES; i++)
{
if(GetVehicleModel(i))
{
new Float:x, Float:z, Float:y, Float:a;
GetVehiclePos(i, x, y, z);
GetVehicleZAngle(i, a);
if(IsPlayerInRangeOfPoint(playerid, params[0], x, y, z))
{
format(string, sizeof string, "CreateVehicle(%d,%f,%f,%f,%f,-1,-1,60);\r\n", GetVehicleModel(i), x, y, z, a);
fwrite(file, string);
mc = i;
}
}
}
format(info, sizeof info, "Готово. В радиусе %d сохранено %d авто", params[0], mc);
SendClientMessage(playerid, 0x99FF00AA, info);
format(string,sizeof(string),"\r\n");
fwrite(file, string);
fclose(file);
return 1;
}
Аналогично можно сделать запись координат транспорта для lua. Достаточно увеличить массив string до 300 и эту область:
format(string, sizeof string, "CreateVehicle(%d,%f,%f,%f,%f,-1,-1,60);\r\n", GetVehicleModel(i), x, y, z, a);
заменить на эту:
format(string,sizeof(string),"<vehicle id=\"vehicle (%i)\" paintjob=\"3\" interior=\"0\" alpha=\"255\" model=\"%d\" plate=\"VV4Z WIK\" dimension=\"0\" posX=\"%f\" posY=\"%f\" posZ=\"%f\" rotX=\"0\" rotY=\"0\" rotZ=\"%f\" color=\"98,68,40,245,245,245,0,0,0,0,0,0\"></vehicle>\r\n", i, GetVehicleModel(i), p[0], p[1], p[2], p[3]);