Печенька 0 Опубликовано 26 января, 2017 Приветствую. Возникла такая проблема. Покупаю улучшение в доме - гараж. Купил авто, делаю рескар, а авто в гараже нет. Если кто знает как подправить миры скиньте пример строки ниже. Заранее спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rustyk 453 Опубликовано 26 января, 2017 Присваивай игроку виртуальный мир, такой же как и у кара. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Печенька 0 Опубликовано 26 января, 2017 (изменено) @Rusty'k, В том и проблема не знаю как обозначается мир. А все нашёл. Но везде один мир - 0 мир. Но машины в гараже нет все равно. Изменено 26 января, 2017 пользователем Печенька Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Predator 428 Опубликовано 26 января, 2017 SetVehicleVirtualWorld Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Печенька 0 Опубликовано 26 января, 2017 @Predator, Я нашёл говорю же, мира одинаковые, но все равно авто нету. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Miron_Moraev 21 Опубликовано 26 января, 2017 @Печенька,Инты проверь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Печенька 0 Опубликовано 26 января, 2017 @Miron_Moraev, То есть? Конкретнее) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Miron_Moraev 21 Опубликовано 26 января, 2017 (изменено) @Печенька, Задаётся ли игроку интерьер: SetPlayerInterior(playerid, interiorid) Если задаётся, ставишь такой же инт: LinkVehicleToInterior(vehicleid, interiorid) Изменено 26 января, 2017 пользователем Miron_Moraev Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Печенька 0 Опубликовано 26 января, 2017 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 2 Опубликовано 26 января, 2017 Надо сохранение виртуального мира для авто и при входе в гараж задавать игроку сохранненый мир авто Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Печенька 0 Опубликовано 27 января, 2017 @Franky, Пример можно? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Franky 2 Опубликовано 29 января, 2017 @Печенька,ну смотри добавляешь к переменным транспорта cWorld, потом при въезде в гараж или при парковке сохраняешь мир в переменную - это будет выглядить примерно так CarInfo[GetPlayerVehicleID(playerid)][cWorld] = GetPlayerVirtualWorld(playerid); Делаем сохранение и при загрузки ваше авто SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), CarInfo[id][cWorld]); И для гаража отдельно, устанавливаем мир игроку и машине SetVehicleVirtualWorld(id, CarInfo[id][cWorld]); SetPlayerVirtualWorld(playerid, CarInfo[id][cWorld]) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты