Перейти к содержанию
Авторизация  
Печенька

Разные миры

Рекомендуемые сообщения

Печенька

Приветствую. Возникла такая проблема. Покупаю улучшение в доме - гараж. Купил авто, делаю рескар, а авто в гараже нет. Если кто знает как подправить миры скиньте пример строки ниже. Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rustyk

Присваивай игроку виртуальный мир, такой же как и у кара.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Печенька

@Rusty'k, В том и проблема не знаю как обозначается мир. 

А все нашёл. Но везде один мир - 0 мир. Но машины в гараже нет все равно.

Изменено пользователем Печенька

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Predator

SetVehicleVirtualWorld

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Печенька

@Predator, Я нашёл говорю же, мира одинаковые, но все равно авто нету. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Miron_Moraev

@Печенька,Инты проверь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Печенька

@Miron_Moraev, То есть? Конкретнее)  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Miron_Moraev

@Печенька,

Задаётся ли игроку интерьер:

SetPlayerInterior(playerid, interiorid)

Если задаётся, ставишь такой же инт:

LinkVehicleToInterior(vehicleid, interiorid)
Изменено пользователем Miron_Moraev

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Печенька

 

 


SetPlayerInterior
			new a = GetPVarInt(playerid, "PlayerHouse");
			if(IsPlayerInRangeOfPoint(playerid, 15.0, -1616.6018,1579.0420,2005.5146) && GetPlayerVirtualWorld(playerid) == HouseInfo[a][hVirtual])
			{
				SetVehiclePos(GetPlayerVehicleID(playerid), HouseInfo[a][hCarx], HouseInfo[a][hCary], HouseInfo[a][hCarz]);
				PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), 0);
				SetVehicleZAngle(GetPlayerVehicleID(playerid), HouseInfo[a][hCarfa]);
				SetCameraBehindPlayer(playerid);
				LinkVehicleToInterior(GetPlayerVehicleID(playerid), 0);
				SetPlayerInterior(playerid, 0);
				SetPlayerVirtualWorld(playerid, 0);
				SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), 0);
				SendClientMessage(playerid, COLOR_GREEN, "Чтобы припарковать автомобиль в гараж, нажмите клавишу сигнала 'H' на месте выезда из гаража");
				SetPVarInt(playerid, "antiflood_garage", 1);
			}
			    new a = GetPVarInt(playerid, "PlayerHouse");
			    switch(listitem)
			    {
			        case 0:
			        {
						if(PlayerToPoint(8.0, playerid, HouseInfo[a][hExitx], HouseInfo[a][hExity], HouseInfo[a][hExitz]) && GetPlayerVirtualWorld(playerid) == HouseInfo[a][hVirtual])
						{
							SetPlayerInterior(playerid, 0);
							SetPlayerVirtualWorld(playerid, 0);
							SetPlayerPosEx(playerid, HouseInfo[a][hEntrx], HouseInfo[a][hEntry], HouseInfo[a][hEntrz]);
						}
			        }
			        case 1:
			        {
			            if(PlayerToPoint(20, playerid, HouseInfo[a][hExitx], HouseInfo[a][hExity], HouseInfo[a][hExitz]))
			            {
							FreezePlayer(playerid, 2000);
							SetPlayerInterior(playerid, 0);
							SetPlayerVirtualWorld(playerid, HouseInfo[a][hVirtual]);
							SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), HouseInfo[a][hVirtual]);
							SetPlayerPos(playerid, -1616.6018,1579.0420,2005.5146);
							SendClientMessage(playerid, COLOR_YELLOW, "[Информация] {FFFFFF}Чтобы выехать из гаража, нажмите клавишу сигнала 'H' (за рулём)");
							if(!HouseInfo[a][hAutoDoors]) SendClientMessage(playerid, COLOR_YELLOW, "[Информация] {FFFFFF}Если Вы хотите выйти из гаража, введите /exit (рядом с дверью)");
							else SendClientMessage(playerid, COLOR_YELLOW, "[Информация] {FFFFFF}Если Вы хотите выйти из гаража, нажмите Левый ALT (рядом с дверью)");
						}
			        }
      			}
   			}
	    }
	case D_HOME+2:
	    {
	        if(!response) return 1;
	        new a = GetPVarInt(playerid, "PlayerHouse");
	        new vehicleid = GetPlayerVehicleID(playerid);
	        SetVehiclePos(vehicleid, -1616.6018,1579.0420,2005.5146);
			PutPlayerInVehicle(playerid, vehicleid, 0);
			SetVehicleZAngle(vehicleid, 90.9035);
			SetCameraBehindPlayer(playerid);
			LinkVehicleToInterior(vehicleid, 0);
			SetPlayerInterior(playerid, 0);
			SetPlayerVirtualWorld(playerid, HouseInfo[a][hVirtual]);
			SetVehicleVirtualWorld(vehicleid, HouseInfo[a][hVirtual]);
			return 1;
	    }
stock LoadMyCar(playerid)
{
	if(GetPlayerHouse(playerid) == 0) return 1;
	new h = GetPVarInt(playerid, "PlayerHouse");
	new carid;
	if(PI[playerid][cModel] == 0 || PI[playerid][cModel] < 400 || PI[playerid][cModel] > 611) return 1;
	if(PI[playerid][cPaintjob] > 3 || PI[playerid][cPaintjob] < 0) PI[playerid][cPaintjob] = 3;
	if(PI[playerid][PlayerCarID] != INVALID_VEHICLE_ID)
	{
		DestroyVehicle(PI[playerid][PlayerCarID]);
		PI[playerid][PlayerCarID] = INVALID_VEHICLE_ID;
	}
	if(HouseInfo[h][hGarage])
	{
	    carid = CreateVehicle(PI[playerid][cModel], -1616.6018,1579.0420,2005.51460, 90.0, PI[playerid][cColor][0], PI[playerid][cColor][1], 90000);
	    SetVehicleVirtualWorld(PI[playerid][PlayerCarID], HouseInfo[h][hVirtual]);
	    LinkVehicleToInterior(PI[playerid][PlayerCarID], 0);
	}
	else
	{
	    carid = CreateVehicle(PI[playerid][cModel], HouseInfo[h][hCarx], HouseInfo[h][hCary], HouseInfo[h][hCarz], HouseInfo[h][hCarfa], PI[playerid][cColor][0], PI[playerid][cColor][1], 90000);
	    SetVehicleVirtualWorld(PI[playerid][PlayerCarID], 0);
	    LinkVehicleToInterior(PI[playerid][PlayerCarID], 0);
	}
	PI[playerid][PlayerCarID] = carid;
	CarDoors(carid, PI[playerid][cLock]);
	Fuel[carid] = PI[playerid][cFuel];
	SetVehicleHealth(carid, 1000);
	Engine[carid] = Lights[PI[playerid][PlayerCarID]] = false;
	IsLocked[carid] = (!PI[playerid][cLock]) ? (false) : (true);
	for(new i; i < 14; i++)
	{
	    if(PI[playerid][cVehcoms][i]) AddVehicleComponent(PI[playerid][PlayerCarID], PI[playerid][cVehcoms][i]);
	}
	if(PI[playerid][cPaintjob] != 3) ChangeVehiclePaintjob(PI[playerid][PlayerCarID], PI[playerid][cPaintjob]);
	new labeltext[40];
   	format(labeltext, sizeof(labeltext), "%s", PI[playerid][pNumberVehicle]);
	VehicleLabel[carid] = Create3DTextLabel(labeltext, 0xFFFFFFFF, 0, 0, 0, 10.0, 0);
	Attach3DTextLabelToVehicle(VehicleLabel[carid], carid, 0, 0, 0.2);
	return 1;
}

Все что нашёл по координатам спавна в гараже.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Franky

Надо сохранение виртуального мира для авто и при входе в гараж задавать игроку сохранненый мир авто

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Печенька

@Franky, Пример можно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Franky

@Печенька,ну смотри добавляешь к переменным транспорта cWorld, потом при въезде в гараж или при парковке сохраняешь мир в переменную - это будет выглядить примерно так

CarInfo[GetPlayerVehicleID(playerid)][cWorld] = GetPlayerVirtualWorld(playerid);

Делаем сохранение и при загрузки ваше авто 

SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), CarInfo[id][cWorld]);

И для гаража отдельно, устанавливаем мир игроку и машине
 

SetVehicleVirtualWorld(id, CarInfo[id][cWorld]);
SetPlayerVirtualWorld(playerid, CarInfo[id][cWorld])

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.