Roy_Miller
Умник
Привет всем пользователям
Вот скрины моего гаража кто играл на Raknet тот поймет только я незнаю как сделать чтобы в каком то доме был а в другом не было и уменя не сохраняется посмотрим как будет у вас
И так начнем
добавляем в enum hInfo
добавляем в команду /fixcar
Эти координаты меняйте на свои
В public OnPlayerKeyStateChange
Добавляем в LoadProperty у вас может по другому СМОТРИТЕ ЧТОБЫ ЦИФРЫ ШЛИ ПО ПОРЯДКУ!!
и увеличте число допустим у вас было было 20 я добавил 4 штуки то пишем 23
B SaveProperty
Добавляем в конец мода
В public OnDialogResponse
Автор: rkv1
Автор мануала: Roy_Miller
Вот скрины моего гаража кто играл на Raknet тот поймет только я незнаю как сделать чтобы в каком то доме был а в другом не было и уменя не сохраняется посмотрим как будет у вас
И так начнем
добавляем в enum hInfo
PHP:
Float:hGary,
Float:hGarz,
Float:hGarc,
PHP:
new House = PlayerInfo[playerid][pHouseKey];
DestroyVehicle(CarIdHouse[playerid]);
if(HouseInfo[House][hGarage] == 0)
{
CarIdHouse[playerid] = CreateVehicle(PlayerInfo[playerid][pCar], HouseInfo[House][hCarx], HouseInfo[House][hCary], HouseInfo[House][hCarz], HouseInfo[House][hCarc], PlayerInfo[playerid][pColor], PlayerInfo[playerid][pColor1], 86400);
}
if(HouseInfo[House][hGarage] == 1)
{
CarIdHouse[playerid] = CreateVehicle(PlayerInfo[playerid][pCar], 2213.0229492,-2960.9060059,685.0310059, 0.0000, PlayerInfo[playerid][pColor], PlayerInfo[playerid][pColor1], 86400);
SetVehicleVirtualWorld(CarIdHouse[playerid],House);
}
PHP:
2213.0229492,-2960.9060059,685.0310059
PHP:
if(newkeys == 1024)
{
new house = PlayerInfo[playerid][pHouseKey];
for(new i = 0; i < sizeof(HouseInfo); i++)
{
if(PlayerToPoint(5, playerid,2211.5476,-2967.2781,685.1125))
{
SetPlayerInterior(playerid, HouseInfo[house][hInt]);
SetPlayerVirtualWorld(playerid, house+50);
SetPlayerPos(playerid, HouseInfo[house][hExitx], HouseInfo[house][hExity], HouseInfo[house][hExitz]);
PlayerInfo[playerid][pInt] = HouseInfo[house][hInt];
}
if(PlayerToPoint(3, playerid, HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz]))
{
if(GetPlayerVirtualWorld(playerid) == i+50)
{
if(HouseInfo[house][hGarage] == 1)
{
ShowPlayerDialog(playerid, 1997, DIALOG_STYLE_LIST, "Войти в гараж\nВыйти на улицу", "Ок", "Отмена");
}
if(HouseInfo[house][hGarage] == 0)
{
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]);
PlayerInfo[playerid][pInt] = 0;
}
}
}
}
}
if(newkeys == KEY_CROUCH)
{
new house = PlayerInfo[playerid][pHouseKey];
if(HouseInfo[house][hGarage] == 1)
{
new tmpcar = GetPlayerVehicleID(playerid);
if(IsAGarage(playerid))
{
if(IsPlayerInAnyVehicle(playerid))
{
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
SetVehicleVirtualWorld(tmpcar,0);
SetVehiclePos(tmpcar,HouseInfo[house][hGarx], HouseInfo[house][hGary], HouseInfo[house][hGarz]);
SetVehicleZAngle(tmpcar, HouseInfo[house][hGarc]);
}
}
if(PlayerToPoint(1.8,playerid,HouseInfo[house][hGarx], HouseInfo[house][hGary], HouseInfo[house][hGarz]))
{
if(IsPlayerInAnyVehicle(playerid))
{
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid,house);
SetVehicleVirtualWorld(tmpcar,house);
SetVehiclePos(tmpcar,2213.0229492,-2960.9060059,685.0310059);
SetVehicleZAngle(tmpcar, 0.0000);
}
}
}
}
и увеличте число допустим у вас было было 20 я добавил 4 штуки то пишем 23
PHP:
HouseInfo[idx][hGarx] = floatstr(arrCoords[18]);
HouseInfo[idx][hGary] = floatstr(arrCoords[19]);
HouseInfo[idx][hGarz] = floatstr(arrCoords[20]);
HouseInfo[idx][hGarc] = floatstr(arrCoords[21]);
HouseInfo[idx][hGarage] = strval(arrCoords[22]);
PHP:
HouseInfo[idx][hGary],
HouseInfo[idx][hGarz],
HouseInfo[idx][hGarc],
HouseInfo[idx][hGarage],
PHP:
stock IsAGarage(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,10.0,2213.0229492,-2960.9060059,685.0310059))return true; // Äîìà Ãàðàæ ¹ 1
return false;
}
PHP:
case 1997:
{
if(response)
{
if(listitem == 0)
{
new House = PlayerInfo[playerid][pHouseKey];
SetPlayerPos(playerid, 2211.5476,-2967.2781,685.5250);
SetPlayerFacingAngle(playerid, 1.1584);
SetPlayerVirtualWorld(playerid,House);
SetPlayerInterior(playerid, 0);
OnPlayerCommandText(playerid,"/fixcar");
}
if(listitem == 1)
{
for(new i = 0; i < sizeof(HouseInfo); i++)
{
if(PlayerToPoint(3, playerid, HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz]))
{
if(GetPlayerVirtualWorld(playerid) == i+50)
{
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]);
PlayerInfo[playerid][pInt] = 0;
}
}
}
}
}
}
Автор мануала: Roy_Miller
Последнее редактирование:
