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

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

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

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

Создание авторынка.

Статус
В этой теме нельзя размещать новые ответы.

sKeLeT

Умник
Добрый день!
- Сейчас я Вам расскажу, как создать Авторынок как на Diamond City v.3.4
- Приступим.

Создаем саму сис-му:
PHP:
enum vInfo                                                                      // Для массива
{
	vOwned,                                                                     // Занята машина - 1, свободна - 0
	vOwner[MAX_PLAYER_NAME],                                                    // Владелец
	vModel,                                                                     // ИД
	Float: vPosX,                                                               // Координата спауна на авторынке X
	Float: vPosY,                                                               // Координата спауна на авторынке Y
	Float: vPosZ,                                                               // Координата спауна на авторынке Z
	Float: vAngle,                                                              // Координата спауна на авторынке Angle
	vColorOne,                                                                  // Цвет 1
	vColorTwo,                                                                  // Цвет 2
	vLock,                                                                      // Замок
	vValue,                                                                     // Цена
	Float: vParkX,                                                              // Координата спауна парка X
	Float: vParkY,                                                              // Координата спауна парка Y
	Float: vParkZ,                                                              // Координата спауна парка Z
	Float: vParkAngle,                                                          // Координата спауна парка Angle
}
new CarsInfo[MAX_BUYABLE_CARS][vInfo];                                          // Массив
new BuyableCar[MAX_BUYABLE_CARS];                                               // Вместо идов каров
forward LoadBuyableCars();                                                      // Подгрузка каров из файла
new CarFinding[MAX_PLAYERS];                                                    // Для GPS поиска кара
Затем ко всем дефайнам добавляем:
PHP:
#define MAX_BUYABLE_CARS 154                                                    // Кол-во машин
в public OnPlayerEnterVehicle
PHP:
if(vehicleid <= MAX_BUYABLE_CARS)
    {
    	SetVehicleParamsForPlayer(vehicleid, playerid, 0, CarsInfo[vehicleid-1][vLock]);
	}
	SetVehicleParamsForPlayer(vehicleid, playerid, 0, LOCKEDVEH[vehicleid]);
Если у Вас нет этого паблика(public OnPlayerEnterVehicle), то создайте его, сейчас покажу как у Вас должно получиться.
PHP:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	if(vehicleid <= MAX_BUYABLE_CARS)
       {
    	SetVehicleParamsForPlayer(vehicleid, playerid, 0, CarsInfo[vehicleid-1][vLock]);
	}
         return 1;
}
в if(newstate == PLAYER_STATE_DRIVER) добавляем:
PHP:
new newcar = GetPlayerVehicleID(playerid);
и
PHP:
if(newcar <= MAX_BUYABLE_CARS)
		{
		    if(CarsInfo[buycar][vOwned] == 0)
		    {
		        format(string, sizeof string, "<< Этот транспорт продаётся >>\n\nСтоимость: $%d", CarsInfo[buycar][vValue]);
		        ShowPlayerDialog(playerid,51,DIALOG_STYLE_MSGBOX,"Транспорт продаётся", string,"Купить","Отмена");
		    }
		}
в public CheckStatus() добавляем: это все идет в for(new i=0; i<GetMaxPlayers(); i++)
PHP:
new vehicle;
и
PHP:
if(vehicle <= MAX_BUYABLE_CARS)
					{
						if(CarsInfo[vehicle-1][vLock] == 1) { format(String,sizeof(String),"~r~locked"); }
						else if(CarsInfo[vehicle-1][vLock] == 0) { format(String,sizeof(String),"~w~unlocked"); }
                        TextDrawSetString(LockStatus[i], String);
						TextDrawHideForPlayer(i, LockStatus[i]);
		 				TextDrawShowForPlayer(i, LockStatus[i]);
					}
в public OnPlayerLogin(playerid,password[]) добавляем:
PHP:
if(PlayerInfo[playerid][pCarKey] != -1 && strcmp(sendername, CarsInfo[PlayerInfo[playerid][pCarKey]][vOwner], true) == 0) { }
	else { if(PlayerInfo[playerid][pCarKey] != -1) { PlayerInfo[playerid][pCarKey] = -1; } }
в public OnPropUpdate() добавляем:
PHP:
idx = 0;
	while (idx < sizeof(CarsInfo))
	{
		new coordsstring[256];
		format(coordsstring, sizeof(coordsstring), "%d,%s,%d,%f,%f,%f,%f,%d,%d,%d,%d,%f,%f,%f,%f\n",
		CarsInfo[idx][vOwned],
		CarsInfo[idx][vOwner],
		CarsInfo[idx][vModel],
		CarsInfo[idx][vPosX],
		CarsInfo[idx][vPosY],
		CarsInfo[idx][vPosZ],
		CarsInfo[idx][vAngle],
		CarsInfo[idx][vColorOne],
		CarsInfo[idx][vColorTwo],
		CarsInfo[idx][vLock],
		CarsInfo[idx][vValue],
		CarsInfo[idx][vParkX],
		CarsInfo[idx][vParkY],
		CarsInfo[idx][vParkZ],
		CarsInfo[idx][vParkAngle]);
		if(idx == 0)
		{
			file2 = fopen("Diamond/cars.cfg", io_write);
		}
		else
		{
			file2 = fopen("Diamond/cars.cfg", io_append);
		}
		fwrite(file2, coordsstring);
		idx++;
		fclose(file2);
	}
Добавляем команды в public OnPlayerCommandText(playerid, cmdtext[])
PHP:
if(strcmp(cmd, "/asellcar", true) == 0)
	{
	    if(PlayerInfo[playerid][pAdmin] != 5) { return 1; }
	    GetPlayerName(playerid, sendername, sizeof(sendername));
	    new vid;
	    vid = GetPlayerVehicleID(playerid);
        if(IsPlayerInAnyVehicle(playerid))
        {
		    CarsInfo[vid-1][vOwned] = 0;
		    CarsInfo[vid-1][vColorOne] = -1;
		    CarsInfo[vid-1][vColorTwo] = -1;
		    CarsInfo[vid-1][vParkX] = 0.0;
		    CarsInfo[vid-1][vParkY] = 0.0;
		    CarsInfo[vid-1][vParkZ] = 0.0;
		    CarsInfo[vid-1][vParkAngle] = 0.0;
		    CarsInfo[vid-1][vLock] = 0;
		    UnLockCar(vid);
		    strmid(CarsInfo[vid-1][vOwner], "-", 0, strlen("-"), 255);
		    TogglePlayerControllable(playerid, 1); RemovePlayerFromVehicle(playerid); SetTimerEx("CarHack", 3000, false, "i", playerid);
		    SendClientMessage(playerid, COLOR_LIGHTRED, "Вы только-что продали транспорт!");
		    DestroyVehicle(BuyableCar[vid-1]);
		    BuyableCar[vid-1] = CreateVehicle(CarsInfo[vid-1][vModel], CarsInfo[vid-1][vPosX], CarsInfo[vid-1][vPosY], CarsInfo[vid-1][vPosZ], CarsInfo[vid-1][vAngle], CarsInfo[vid-1][vColorOne], CarsInfo[vid-1][vColorTwo], -1);
			return 1;
        }
        else return SendClientMessage(playerid, COLOR_GREY, "Ошибка: Вы должны находится в транспорте.");
	}
if(strcmp(cmd, "/setprice", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "Diamond City: /setprice [price]");
				return 1;
			}
			new intid;
			intid = strval(tmp);
			if (PlayerInfo[playerid][pAdmin] >= 5)
			{
				format(string, sizeof(string), "Diamond City: Цена изменена на $%d.", intid);
				SendClientMessage(playerid, COLOR_GRAD1, string);
				CarsInfo[GetPlayerVehicleID(playerid)-1][vValue] = intid;
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "Недостаточно прав для использования команды.");
			}
		}
		return 1;
	}
if(strcmp(cmd, "/mv", true) == 0)
	{
	    GetPlayerName(playerid, playername, sizeof(playername));
	    if(PlayerInfo[playerid][pCarKey] != -1 && strcmp(playername, CarsInfo[PlayerInfo[playerid][pCarKey]][vOwner], true) == 0)
	    {
			ShowPlayerDialog(playerid,52,DIALOG_STYLE_LIST,"Управление транспортом"," - Открыть/Закрыть\n - Продать\n - Припарковать\n - Перекрасить\n - GPS (Узнать местонахождение)","Далее","Выход");
		}
		else
		{
			SendClientMessage(playerid,COLOR_GREY, "Ошибка: У вас нет машины.");
			return 1;
		}
	}
К команде /setname добавляем:
PHP:
new carkey = PlayerInfo[giveplayerid][pCarKey];
                if (carkey != -1)
                {
                    strmid(CarsInfo[carkey][vOwner], newname, 0, strlen(newname), 255);
                    OnPropUpdate();
                }
Ко всем диалогам, добавляем:
PHP:
else if(dialogid == 51)
	{
	    new vid = GetPlayerVehicleID(playerid);
		new buycar = vid-1;
	    if(response)
	    {
	        if(PlayerInfo[playerid][pCarKey] == -1)
	        {
	            if(CarsInfo[buycar][vOwned] == 0)
	            {
					if(GetSRVMoney(playerid) >= CarsInfo[buycar][vValue])
					{
						if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
						{
						    CarsInfo[buycar][vOwned] = 1;
						    PlayerInfo[playerid][pCarKey] = buycar;
						    new sendername[MAX_PLAYER_NAME];
						    GetPlayerName(playerid, sendername, sizeof(sendername));
						    strmid(CarsInfo[buycar][vOwner], sendername, 0, strlen(sendername), 255);
						    GiveMoney(playerid,-CarsInfo[buycar][vValue]);
						    TogglePlayerControllable(playerid, 1);
						    SendClientMessage(playerid, COLOR_LIGHTRED, "Вы только-что купили транспорт!");
						    SendClientMessage(playerid, COLOR_LAWNGREEN, "Подсказка: Используйте /mv для управления транспортом.");
						}
					}
					else
					{
						SendClientMessage(playerid, COLOR_GREY, "Ошибка: У вас нет столько денег.");
	        			TogglePlayerControllable(playerid, 1);
						RemovePlayerFromVehicle(playerid); SetTimerEx("CarHack", 3000, false, "i", playerid);
						return 1;
					}
	            }
	        }
	        else
			{
				SendClientMessage(playerid, COLOR_GREY, "Ошибка: У вас уже есть транспорт.");
	        	TogglePlayerControllable(playerid, 1); RemovePlayerFromVehicle(playerid); SetTimerEx("CarHack", 3000, false, "i", playerid);
	        	return 1;
			}
		}
	    else
	    {
	        TogglePlayerControllable(playerid, 1); RemovePlayerFromVehicle(playerid); SetTimerEx("CarHack", 3000, false, "i", playerid);
	        return 1;
	    }
	}
	else if(dialogid == 52)
	{
	    if(response)
	    {
	        if(listitem == 0)
			{
			    new sendername[MAX_PLAYER_NAME];
			    GetPlayerName(playerid, sendername, sizeof(sendername));
				if(PlayerInfo[playerid][pCarKey] != -1 && strcmp(sendername, CarsInfo[PlayerInfo[playerid][pCarKey]][vOwner], true) == 0)
				{
				    new Float: X, Float: Y, Float: Z;
				    GetVehiclePos(PlayerInfo[playerid][pCarKey]+1, X, Y, Z);
				    if(PlayerToPoint(10.0, playerid, X, Y, Z))
				    {
				        if(CarsInfo[PlayerInfo[playerid][pCarKey]][vLock] == 0)
						{
							CarsInfo[PlayerInfo[playerid][pCarKey]][vLock] = 1;
	                        GameTextForPlayer(playerid, "~r~locked", 5000, 6);
							PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
							LockCar(PlayerInfo[playerid][pCarKey]+1);
							return 1;
						}
						else if(CarsInfo[PlayerInfo[playerid][pCarKey]][vLock] == 1)
						{
							CarsInfo[PlayerInfo[playerid][pCarKey]][vLock] = 0;
							GameTextForPlayer(playerid, "~g~unlocked", 5000, 6);
							PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
							UnLockCar(PlayerInfo[playerid][pCarKey]+1);
							return 1;
						}
					}
				    else return SendClientMessage(playerid, COLOR_GREY, "Ошибка: Вы слишком далеко от машины.");
				}
			}
			else if(listitem == 1)
			{
	   			new sendername[MAX_PLAYER_NAME];
			    GetPlayerName(playerid, sendername, sizeof(sendername));
				if(PlayerInfo[playerid][pCarKey] != -1 && strcmp(sendername, CarsInfo[PlayerInfo[playerid][pCarKey]][vOwner], true) == 0)
		        {
		            if(IsPlayerInVehicle(playerid,PlayerInfo[playerid][pCarKey]+1))
		            {
		                GiveMoney(playerid, CarsInfo[PlayerInfo[playerid][pCarKey]][vValue]);
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vOwned] = 0;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vColorOne] = -1;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vColorTwo] = -1;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkX] = 0.0;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkY] = 0.0;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkZ] = 0.0;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkAngle] = 0.0;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vLock] = 0;
					    UnLockCar(PlayerInfo[playerid][pCarKey]+1);
					    strmid(CarsInfo[PlayerInfo[playerid][pCarKey]][vOwner], "-", 0, strlen("-"), 255);
					    TogglePlayerControllable(playerid, 1); RemovePlayerFromVehicle(playerid); SetTimerEx("CarHack", 3000, false, "i", playerid);
					    SendClientMessage(playerid, COLOR_LIGHTRED, "Вы только-что продали свой транспорт!");
					    DestroyVehicle(BuyableCar[PlayerInfo[playerid][pCarKey]]);
					    BuyableCar[PlayerInfo[playerid][pCarKey]] = CreateVehicle(CarsInfo[PlayerInfo[playerid][pCarKey]][vModel], CarsInfo[PlayerInfo[playerid][pCarKey]][vPosX], CarsInfo[PlayerInfo[playerid][pCarKey]][vPosY], CarsInfo[PlayerInfo[playerid][pCarKey]][vPosZ], CarsInfo[PlayerInfo[playerid][pCarKey]][vAngle], CarsInfo[PlayerInfo[playerid][pCarKey]][vColorOne], CarsInfo[PlayerInfo[playerid][pCarKey]][vColorTwo], -1);
                        PlayerInfo[playerid][pCarKey] = -1;
						return 1;
		            }
		            else return SendClientMessage(playerid, COLOR_GREY, "Ошибка: Вы должны находится в своём транспорте.");
		        }
		        else
				{
					SendClientMessage(playerid, COLOR_GREY, "Ошибка: У вас уже есть транспорт.");
		        	TogglePlayerControllable(playerid, 1); RemovePlayerFromVehicle(playerid); SetTimerEx("CarHack", 3000, false, "i", playerid);
		        	return 1;
				}
			}
			else if(listitem == 2)
			{
			    new sendername[MAX_PLAYER_NAME];
			    GetPlayerName(playerid, sendername, sizeof(sendername));
				if(PlayerInfo[playerid][pCarKey] != -1 && strcmp(sendername, CarsInfo[PlayerInfo[playerid][pCarKey]][vOwner], true) == 0)
				{
					if(IsPlayerInVehicle(playerid,PlayerInfo[playerid][pCarKey]+1))
					{
					    new Float: X, Float: Y, Float: Z, Float: A;
					    GetVehiclePos(PlayerInfo[playerid][pCarKey]+1, X, Y, Z);
					    GetVehicleZAngle(PlayerInfo[playerid][pCarKey]+1, A);
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkX] = X;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkY] = Y;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkZ] = Z;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkAngle] = A;
					    DestroyVehicle(BuyableCar[PlayerInfo[playerid][pCarKey]]);
					    BuyableCar[PlayerInfo[playerid][pCarKey]] = CreateVehicle(CarsInfo[PlayerInfo[playerid][pCarKey]][vModel], CarsInfo[PlayerInfo[playerid][pCarKey]][vParkX], CarsInfo[PlayerInfo[playerid][pCarKey]][vParkY], CarsInfo[PlayerInfo[playerid][pCarKey]][vParkZ], CarsInfo[PlayerInfo[playerid][pCarKey]][vParkAngle], CarsInfo[PlayerInfo[playerid][pCarKey]][vColorOne], CarsInfo[PlayerInfo[playerid][pCarKey]][vColorTwo], -1);
                        SendClientMessage(playerid, COLOR_LIGHTRED, "Diamond City: Вы успешно припарковали свой транспорт.");
                        EngineCar[PlayerInfo[playerid][pCarKey]+1] = 0;
					}
					else return SendClientMessage(playerid, COLOR_GREY, "Ошибка: Вы не в вашей машине.");
				}
			}
			else if(listitem == 3)
			{
			    new sendername[MAX_PLAYER_NAME];
			    GetPlayerName(playerid, sendername, sizeof(sendername));
				if(PlayerInfo[playerid][pCarKey] != -1 && strcmp(sendername, CarsInfo[PlayerInfo[playerid][pCarKey]][vOwner], true) == 0)
				{
					if(IsPlayerInVehicle(playerid,PlayerInfo[playerid][pCarKey]+1))
					{
                        ShowPlayerDialog(playerid,53,DIALOG_STYLE_LIST,"Перекраска"," - Цвет 1\n - Цвет 2","Выбрать","Отмена");
					}
					else return SendClientMessage(playerid, COLOR_GREY, "Ошибка: Вы не в вашей машине.");
				}
			}
			else if(listitem == 4)
			{
				new sendername[MAX_PLAYER_NAME];
			    GetPlayerName(playerid, sendername, sizeof(sendername));
				if(PlayerInfo[playerid][pCarKey] != -1 && strcmp(sendername, CarsInfo[PlayerInfo[playerid][pCarKey]][vOwner], true) == 0)
				{
				    if(CarFinding[playerid] == 0) return CarFinding[playerid] = 1;
				    else if(CarFinding[playerid] == 1) { CarFinding[playerid] = 0; DisablePlayerCheckpoint(playerid); return 1; }
				}
			}
	    }
	    else { return 1; }
	}
	else if(dialogid == 53)
	{
	    if(response)
	    {
	        if(listitem == 0) return ShowPlayerDialog(playerid,54,DIALOG_STYLE_INPUT,"Перекраска","Введите ID цвета","Выбрать","Отмена");
	        else if(listitem == 1) return ShowPlayerDialog(playerid,55,DIALOG_STYLE_INPUT,"Перекраска","Введите ID цвета","Выбрать","Отмена");
	    }
	    else return 1;
	}
	else if(dialogid == 54)
	{
	    if(response)
	    {
  			new color;
	        color = strval(inputtext);
	        if(!strlen(inputtext)) return ShowPlayerDialog(playerid,54,DIALOG_STYLE_INPUT,"Перекраска","Введите ID цвета","Выбрать","Отмена");
			format(string, sizeof(string), "Вы изменили цвет машины 1 на: %d.", color);
            SendClientMessage(playerid, COLOR_LIGHTRED, string);
            PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
            CarsInfo[PlayerInfo[playerid][pCarKey]][vColorOne] = color;
            ChangeVehicleColor(PlayerInfo[playerid][pCarKey]+1, CarsInfo[PlayerInfo[playerid][pCarKey]][vColorOne], CarsInfo[PlayerInfo[playerid][pCarKey]][vColorTwo]);
		}
	    else return 1;
	}
	else if(dialogid == 55)
	{
	    if(response)
	    {
  			new color;
	        color = strval(inputtext);
	        if(!strlen(inputtext)) return ShowPlayerDialog(playerid,55,DIALOG_STYLE_INPUT,"Перекраска","Введите ID цвета","Выбрать","Отмена");
			format(string, sizeof(string), "Вы изменили цвет машины 2 на: %d.", color);
            SendClientMessage(playerid, COLOR_LIGHTRED, string);
            PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
            CarsInfo[PlayerInfo[playerid][pCarKey]][vColorTwo] = color;
            ChangeVehicleColor(PlayerInfo[playerid][pCarKey]+1, CarsInfo[PlayerInfo[playerid][pCarKey]][vColorOne], CarsInfo[PlayerInfo[playerid][pCarKey]][vColorTwo]);
		}
	    else return 1;
	}
	else if(dialogid == 56) return 1;
Создаем: Если у Вас есть, добавляем без форварда и паблика
PHP:
forward OnVehicleStreamIn(vehicleid, forplayerid);
и
PHP:
public OnVehicleStreamIn(vehicleid, forplayerid)
{
    if(vehicleid <= MAX_BUYABLE_CARS)
    {
    	SetVehicleParamsForPlayer(vehicleid, forplayerid, 0, CarsInfo[vehicleid-1][vLock]);
	}
	SetVehicleParamsForPlayer(vehicleid, forplayerid, 0, LOCKEDVEH[vehicleid]);
	return 1;
}
в public OnVehicleSpawn(vehicleid) добавляем:
PHP:
if(vehicleid <= MAX_BUYABLE_CARS)
    {
        if(CarsInfo[vehicleid-1][vOwned] == 1)
        {
        	ChangeVehicleColor(vehicleid, CarsInfo[vehicleid-1][vColorOne], CarsInfo[vehicleid-1][vColorTwo]);
		}
	}
в public OnGameModeInit добавляем:
PHP:
for(new c = 0; c < sizeof(CarsInfo); c++)
	{
	    if((CarsInfo[c][vParkX] == 0.0 && CarsInfo[c][vParkY] == 0.0 && CarsInfo[c][vParkZ] == 0.0 && CarsInfo[c][vParkAngle] == 0.0) || CarsInfo[c][vOwned] == 0)
		{
			BuyableCar[c] = CreateVehicle(CarsInfo[c][vModel], CarsInfo[c][vPosX], CarsInfo[c][vPosY], CarsInfo[c][vPosZ], CarsInfo[c][vAngle], -1, -1, -1);
		}
		else if(CarsInfo[c][vParkX] != 0.0 && CarsInfo[c][vParkY] != 0.0 && CarsInfo[c][vParkZ] != 0.0 && CarsInfo[c][vParkAngle] != 0.0 && CarsInfo[c][vOwned] == 1)
		{
		    BuyableCar[c] = CreateVehicle(CarsInfo[c][vModel], CarsInfo[c][vParkX], CarsInfo[c][vParkY], CarsInfo[c][vParkZ], CarsInfo[c][vParkAngle], CarsInfo[c][vColorOne], CarsInfo[c][vColorTwo], -1);
		}
		if(CarsInfo[c][vOwned] == 0)
		{
		    CarsInfo[c][vLock] = 0;
		}
		LOCKEDVEH[c+1] = CarsInfo[c][vLock];
	}
Создаем public LoadBuyableCars()
PHP:
public LoadBuyableCars()
{
	new arrCoords[15][64];
	new strFromFile2[256];
	new File: file = fopen("Diamond/cars.cfg", io_read);
	if (file)
	{
		new idx;
		while (idx < sizeof(CarsInfo))
		{
			fread(file, strFromFile2);
			split(strFromFile2, arrCoords, ',');
			CarsInfo[idx][vOwned] = strval(arrCoords[0]);
			strmid(CarsInfo[idx][vOwner], arrCoords[1], 0, strlen(arrCoords[1]), 255);
			CarsInfo[idx][vModel] = strval(arrCoords[2]);
			CarsInfo[idx][vPosX] = floatstr(arrCoords[3]);
			CarsInfo[idx][vPosY] = floatstr(arrCoords[4]);
			CarsInfo[idx][vPosZ] = floatstr(arrCoords[5]);
			CarsInfo[idx][vAngle] = floatstr(arrCoords[6]);
			CarsInfo[idx][vColorOne] = strval(arrCoords[7]);
			CarsInfo[idx][vColorTwo] = strval(arrCoords[8]);
			CarsInfo[idx][vLock] = strval(arrCoords[9]);
			CarsInfo[idx][vValue] = strval(arrCoords[10]);
			CarsInfo[idx][vParkX] = floatstr(arrCoords[11]);
			CarsInfo[idx][vParkY] = floatstr(arrCoords[12]);
			CarsInfo[idx][vParkZ] = floatstr(arrCoords[13]);
			CarsInfo[idx][vParkAngle] = floatstr(arrCoords[14]);
			printf("Машина: [%d] | Модель: [%d] | Стоимость: [$%d] | Владелец: [%s]", idx, CarsInfo[idx][vModel], CarsInfo[idx][vValue], CarsInfo[idx][vOwner]);
			idx++;
		}
		fclose(file);
	}
	return 1;
}
Если у Вас ошибки с SetVehicleParamsForPlayer, то добавте паблики:
PHP:
new LOCKEDVEH[MAX_VEHICLES];                                                    // Замок машины
public LockCar(carid)
{
	LOCKEDVEH[carid] = 1;
	for(new i = 0; i < GetMaxPlayers(); i++)
	{
		if(IsPlayerConnected(i))
		{
			SetVehicleParamsForPlayer(carid,i,0,1);
		}
	}
}
public UnLockCar(carid)
{
    LOCKEDVEH[carid] = 0;
	for(new i = 0; i < GetMaxPlayers(); i++)
	{
		if(IsPlayerConnected(i))
		{
			SetVehicleParamsForPlayer(carid,i,0,0);
		}
	}
}
Создаем в enum pInfo:
PHP:
pCarKey,
Добавляем в public OnPlayerConnect(playerid)
PHP:
PlayerInfo[playerid][pCarKey] = -1;
в public OneSecondTimer() Добавляем: именно в for(new i = 0; i < GetMaxPlayers(); i++)
PHP:
if(CarFinding[i] == 1)
			{
			    GetVehiclePos(PlayerInfo[i][pCarKey]+1, vX, vY, vZ);
			    SetPlayerCheckpoint(i, vX, vY, vZ, 8.0);
			    CP[i] = 0;
			}
В public OnPlayerRegister(playerid, password[]) добавляем:
PHP:
dini_IntSet(string, "CarKey", PlayerInfo[playerid][pCarKey]);
В public OnPlayerSave(playerid) добавляем:
PHP:
dini_IntSet(string, "CarKey", PlayerInfo[playerid][pCarKey]);
В public OnPlayerLogin(playerid,password[]) добавляем:
PHP:
PlayerInfo[playerid][pCarKey] = dini_Int(string2,"CarKey");
И в public OnPlayerLogin(playerid,password[]) добавляем ко всем л:
PHP:
PlayerInfo[playerid][pCarKey] = -1;

Спасибо за внимание, с Вами был sKeLeT(Lucky_Drug)
По воспросам обращяйтесь в скайп: patib_elorik
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу