Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info
Статус
В этой теме нельзя размещать новые ответы.

Тузик

Новичок
Итак, я опять от нечего делать решил написать команду связанную с транспортом. Ну и немного "поплагиатить" :D

При вводе команды вы сохраняете позицию транспорта. Предупреждаю: если вы не замените "-1,-1" в файле Vehicles.txt (папка scriptfiles), то у транспорта будут случайные цвета.



PHP:
CMD:savecarpos(playerid) // Стяжкин рекомендует использовать CMD:savecarpos(playerid, params[])
{
		if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Для начала сядьте в машину");
	    new File:file_ptr, string[52], vehiclemodel, Float:X,Float:Y,Float:Z, Float:R;
	    
	    vehiclemodel = GetVehicleModel(GetPlayerVehicleID(playerid));
	    GetVehiclePos(GetPlayerVehicleID(playerid), X,Y,Z);
	    GetVehicleZAngle(GetPlayerVehicleID(playerid), R);

		file_ptr = fopen("Vehicles.txt",filemode:io_append);
		if(file_ptr != File:0)
		{
			format(string, sizeof(string), "%d,%.4f,%.4f,%.4f,%.4f,-1,-1; \r\n", vehiclemodel, X,Y,Z, R);
			fwrite(file_ptr, string);
		}
		fclose(file_ptr);
		SendClientMessage(playerid, -1, "Вы записали координаты! (Файл Vehicles.txt)");
		return 1;
}

PHP:
public OnGameModeInit()
{ // Но я советую это перенести в FilterScript, чтобы при перезагрузки FS (/rcon reload addstatic, где addstatic ваш фильтрскрипт) **
	new vehicle_load;
	vehicle_load = LoadStaticVehiclesFromFile("Vehicles.txt");
	printf("Загружено: %d транспорта", vehicle_load);
	return 1;
} // ** он сразу появлялся, без перезаходов на сервер/перезапуска основного мода (сервера через /rcon gmx и т.п.).

stock LoadStaticVehiclesFromFile(const filename[])
{
	new File:file_ptr, loadinfo[52], var_from_line[10], index, vehicle_load;
	new vehiclemodel, Float:X,Float:Y,Float:Z, Float:R, color1,color2;

	file_ptr = fopen(filename,filemode:io_read);
	if(!file_ptr) return 0;

	while(fread(file_ptr, loadinfo, sizeof(loadinfo)) > 0)
	{
	    index = 0;

  		index = token_by_delim(loadinfo,var_from_line,',',index); // vehicleid
  		if(index == (-1)) continue;
  		vehiclemodel = strval(var_from_line);
   		if(vehiclemodel < 400 || vehiclemodel > 611) continue;

  		index = token_by_delim(loadinfo,var_from_line,',',index+1); // X
  		if(index == (-1)) continue;
  		X = floatstr(var_from_line);
  		index = token_by_delim(loadinfo,var_from_line,',',index+1); // Y
  		if(index == (-1)) continue;
  		Y = floatstr(var_from_line);
  		index = token_by_delim(loadinfo,var_from_line,',',index+1); // Z
  		if(index == (-1)) continue;
  		Z = floatstr(var_from_line);

  		index = token_by_delim(loadinfo,var_from_line,',',index+1); // R
  		if(index == (-1)) continue;
  		R = floatstr(var_from_line);

  		index = token_by_delim(loadinfo,var_from_line,',',index+1); // color1
  		if(index == (-1)) continue;
  		color1 = strval(var_from_line);
  		if(color1 == -1) color1 = random(366);
  		index = token_by_delim(loadinfo,var_from_line,';',index+1); // color2
  		if(index == (-1)) continue;
  		color2 = strval(var_from_line);
  		if(color2 == -1) color2 = random(366);

  		AddStaticVehicleEx(vehiclemodel, X,Y,Z, R, color1, color2, 3000);
		vehicle_load++;
	}
	return vehicle_load;
}

stock token_by_delim(const string[], return_str[], delim, start_index)
{
	new x=0;
	while(string[start_index] != EOS && string[start_index] != delim)
	{
	    return_str[x] = string[start_index];
	    x++;
	    start_index++;
	}
	return_str[x] = EOS;
	if(string[start_index] == EOS) start_index = (-1);
	return start_index;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу