Merlin
Умник
Мод: Relative СITE | |
Автор: Merlin
К #include
в forward
К new
После в
enum pInfo
Рядом
В public OnGameModeInit()
В
public OnPlayerConnect(playerid)
Далее в stock SetPlayerSpawn(playerid)
К public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
Находим stock SavePlayer(playerid)
В stock OnPlayerLogin(playerid,password[])
В конце мода
После в stock CreateObjects()
В конце
Ну вот и всё )
Проблемы будут пишите !
Скачать :
Автор: Merlin
PHP:
#include <morphinc>
PHP:
forward CustomPickups();
forward LockCar(carid);
PHP:
new Float:PosPic[3][MAX_PLAYERS];
new bool:dPic[MAX_PLAYERS];
new CreatedCar;
new IsLocked[MAX_VEHICLES];
new gCarLock[MAX_VEHICLES];
new bool:EngineState[MAX_PLAYERS];
new CarIdHouse[MAX_PLAYERS];
enum pInfo
PHP:
pHouseKey,
PHP:
enum hInfo
{
Float:hEntrancex,
Float:hEntrancey,
Float:hEntrancez,
Float:hExitx,
Float:hExity,
Float:hExitz,
Float:hCarx,
Float:hCary,
Float:hCarz,
Float:hCarc,
Float:hGarx,
Float:hGary,
Float:hGarz,
Float:hGarc,
hOwner[MAX_PLAYER_NAME],
hValue,
hHel,
hInt,
hLock,
hOwned,
hTakings,
hClass,
hPickup,
hMIcon,
hGarage,
hOplata
};
new HouseInfo[801][hInfo];
PHP:
LoadProperty();
SetTimer("CustomPickups", 1, true);
//================================================== ========================
for(new h = 0; h < sizeof(HouseInfo); h++)
{
if(HouseInfo[h][hOwned] == 0)
{
HouseInfo[h][hPickup] = CreatePickup(1273, 23, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], -1);
HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 31, COLOR_WHITE, 0, -1, -1);
}
if(HouseInfo[h][hOwned] == 1)
{
HouseInfo[h][hPickup] = CreatePickup(1272, 23, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], -1);
HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 32, COLOR_WHITE, 0, -1, -1);
}
}
//================================================== ========================
public OnPlayerConnect(playerid)
PHP:
PlayerInfo[playerid][pHouseKey] = 999;
PHP:
new house = PlayerInfo[playerid][pHouseKey];
SetPlayerScore(playerid,PlayerInfo[playerid][pLevel]);//plevel
SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);//skib
if(house != 999)
{
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];
return true;
}
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)
{
SPD(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);
}
}
}
}
Данная функция вызывается сервером, когда игрок выбирает любую кнопку/пункт в созданном диалоге ShowPlayerDialog.
[HR][/HR]
playerid ID игрока, который совершил действие с диалогом
dialogid ID диалога, в котором игрок совершил действие.
response Возвращает 1 - при выборе первой кнопки и 0 при выборе второй кнопки
listitem ID выбранного пункта из списка
inputtext[] Текст, введенный игроком в поле ввода или текст из выбранного пункта списка
[HR][/HR]
playerid ID игрока, который совершил действие с диалогом
dialogid ID диалога, в котором игрок совершил действие.
response Возвращает 1 - при выборе первой кнопки и 0 при выборе второй кнопки
listitem ID выбранного пункта из списка
inputtext[] Текст, введенный игроком в поле ввода или текст из выбранного пункта списка
PHP:
case 140:
{
if(response)
{
for(new i = 0; i < sizeof(HouseInfo); i++)
{
if(PlayerToPoint(2, playerid, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
{
if(PlayerInfo[playerid][pHouseKey] == i || HouseInfo[i][hLock] == 0) return SetPlayerInterior(playerid, HouseInfo[i][hInt]), SetPlayerVirtualWorld(playerid, i+50), SetPlayerPos(playerid, HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz]), PlayerInfo[playerid][pInt] = HouseInfo[i][hInt];
else return GameTextForPlayer(playerid, "~r~Closed", 5000, 1);
}
}
}
else return true;
}
case 150:
{
if(response)
{
new sendername[MAX_PLAYER_NAME];
new Float:oldposx, Float:oldposy, Float:oldposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
for(new h = 0; h < sizeof(HouseInfo); h++)
{
if(PlayerToPoint(2.0, playerid, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && HouseInfo[h][hOwned] == 0)
{
if(PlayerInfo[playerid][pHouseKey] != 999 && strcmp(sendername, HouseInfo[PlayerInfo[playerid][pHouseKey]][hOwner], true) == 0) return SendClientMessage(playerid, COLOR_GREY, "У вас уже есть дом");
if(PlayerInfo[playerid][pCash] > HouseInfo[h][hValue])
{
PlayerInfo[playerid][pHouseKey] = h;
HouseInfo[h][hOwned] = 1;
HouseInfo[h][hHel] = 0;
HouseInfo[h][hTakings] = 1000;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255);
PlayerInfo[playerid][pCash] -= HouseInfo[h][hValue];
SetPlayerInterior(playerid,HouseInfo[h][hInt]);
SetPlayerPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]);
PlayerInfo[playerid][pInt] = HouseInfo[h][hInt];
SetPlayerVirtualWorld(playerid, h+50);
SendClientMessage(playerid, COLOR_WHITE, "Поздравляем с покупкой!");
SendClientMessage(playerid, 0xFFD800AA, "Помощь по командам /mm [0] Дом");
SaveProperty();
LoadTuning(playerid);
BuyHouse(h);
return true;
}
else return SendClientMessage(playerid, COLOR_GREY, "У вас нет столько денег");
}
}
}
else return true;
}
PHP:
ini_setInteger(iniFile,"House",PlayerInfo[playerid][pHouseKey]);
PHP:
ini_getInteger(iniFile,"House",PlayerInfo[playerid][pHouseKey]);
PHP:
//=====================================
public CustomPickups()
{
new string[256];
NameTimer();
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(!PlayerToPoint(3.0, i, PosPic[0][i], PosPic[1][i], PosPic[2][i])) dPic[i] = false;
for(new h = 0; h < sizeof(HouseInfo); h++)
{
if(PlayerToPoint(1.5, i, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]))
{
if(GetPlayerState(i) != PLAYER_STATE_DRIVER)
{
if(dPic[i] == true) continue; else GetPlayerPos(i,PosPic[0][i],PosPic[1][i],PosPic[2][i]),dPic[i] = true;
new ttext[32];
if(HouseInfo[h][hGarage] == 1) ttext = "{00FF00}Присутствует{FFFFFF}";
else if(HouseInfo[h][hGarage] == 0) ttext = "{FF0000}Не присутствует{FFFFFF}";
if(HouseInfo[h][hOwned] == 1)
{
new ttextt[32];
if(IsPlayerConnected(GetPlayerID(HouseInfo[h][hOwner]))) ttextt = "{22ff00}[Online]{F2EEF0}";
else if(!IsPlayerConnected(GetPlayerID(HouseInfo[h][hOwner]))) ttextt = "{ff001c}[Offline]{F2EEF0}";
switch(HouseInfo[h][hClass])
{
case 0: format(string, sizeof(string), "{FFFFFF}Владелец:\t\t\t{27D0E3}%s %s{FFFFFF}\n\nТип:\t\t\t\tВременное жильё\nКоличество Комнат:\t\t3\nНомер дома:\t\t\t%d\nСтоймость:\t\t\t%d\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт",HouseInfo[h][hOwner],ttextt,h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
case 1: format(string, sizeof(string), "{FFFFFF}Владелец:\t\t\t{27D0E3}%s %s{FFFFFF}\n\nТип:\t\t\t\tЭконом класс\nКоличество Комнат:\t\t4\nНомер дома:\t\t\t%d\nСтоймость:\t\t\t%d\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт",HouseInfo[h][hOwner],ttextt,h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
case 2: format(string, sizeof(string), "{FFFFFF}Владелец:\t\t\t{27D0E3}%s %s{FFFFFF}\n\nТип:\t\t\t\tСредний класс\nКоличество Комнат:\t\t5\nНомер дома:\t\t\t%d\nСтоймость:\t\t\t%d\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт",HouseInfo[h][hOwner],ttextt,h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
case 3: format(string, sizeof(string), "{FFFFFF}Владелец:\t\t\t{27D0E3}%s %s{FFFFFF}\n\nТип:\t\t\t\tБольшой дом\nКоличество Комнат:\t\t7\nНомер дома:\t\t\t%d\nСтоймость:\t\t\t%d\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт",HouseInfo[h][hOwner],ttextt,h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
case 4: format(string, sizeof(string), "{FFFFFF}Владелец:\t\t\t{27D0E3}%s %s{FFFFFF}\n\nТип:\t\t\t\tВип класс\nКоличество Комнат:\t\t6\nНомер дома:\t\t\t%d\nСтоймость:\t\t\t%d\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт",HouseInfo[h][hOwner],ttextt,h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
case 5: format(string, sizeof(string), "{FFFFFF}Владелец:\t\t\t{27D0E3}%s %s{FFFFFF}\n\nТип:\t\t\t\tЛюкс класс\nКоличество Комнат:\t\t8\nНомер дома:\t\t\t%d\nСтоймость:\t\t\t%d\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт",HouseInfo[h][hOwner],ttextt,h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
}
ShowPlayerDialog(i, 140, DIALOG_STYLE_MSGBOX, "{FFFF17}Дом занят", string, "Войти", "Отмена");
return true;
}
else
{
switch(HouseInfo[h][hClass])
{
case 0: format(string, sizeof(string), "{FFFFFF}Тип:\t\t\t\tВременное жильё\nНомер дома:\t\t\t%d\n\nСтоймость:\t\t\t%d\nКоличество Комнат:\t\t3\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт", h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
case 1: format(string, sizeof(string), "{FFFFFF}Тип:\t\t\t\tЭконом класс\nНомер дома:\t\t\t%d\n\nСтоймость:\t\t\t%d\nКоличество Комнат:\t\t4\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт", h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
case 2: format(string, sizeof(string), "{FFFFFF}Тип:\t\t\t\tСредний класс\nНомер дома:\t\t\t%d\n\nСтоймость:\t\t\t%d\nКоличество Комнат:\t\t5\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт", h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
case 3: format(string, sizeof(string), "{FFFFFF}Тип:\t\t\t\tБольшой дом\nНомер дома:\t\t\t%d\n\nСтоймость:\t\t\t%d\nКоличество Комнат:\t\t7\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт", h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
case 4: format(string, sizeof(string), "{FFFFFF}Тип:\t\t\t\tВип класс\nНомер дома:\t\t\t%d\n\nСтоймость:\t\t\t%d\nКоличество Комнат:\t\t6\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт", h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
case 5: format(string, sizeof(string), "{FFFFFF}Тип:\t\t\t\tЛюкс класс\nНомер дома:\t\t\t%d\n\nСтоймость:\t\t\t%d\nКоличество Комнат:\t\t8\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт", h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
}
ShowPlayerDialog(i, 150, DIALOG_STYLE_MSGBOX, "{17FF28}Дом свободен", string, "Купить", "Отмена");
return true;
}
}
}
}
}
}
return true;
}
stock GetPlayerID(string[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
for(new house = 0; house < sizeof(HouseInfo); house++)
{
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(i, PlayerName, sizeof(PlayerName));
if(strcmp(PlayerName, string, true, strlen(string)) == 0 && PlayerInfo[i][pHouseKey] == house) return i;
}
}
}
return INVALID_PLAYER_ID;
}
stock BuyHouse(h)
{
if(HouseInfo[h][hOwned] == 0)
{
DestroyDynamicMapIcon(HouseInfo[h][hMIcon]);
DestroyPickup(HouseInfo[h][hPickup]);
CreatePickup(1273, 23, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]);
HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 31, COLOR_WHITE, 0, -1, -1);
}
if(HouseInfo[h][hOwned] == 1)
{
DestroyDynamicMapIcon(HouseInfo[h][hMIcon]);
DestroyPickup(HouseInfo[h][hPickup]);
CreatePickup(1272, 23, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]);
HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 32, COLOR_WHITE, 0, -1, -1);
}
}
stock LoadProperty()
{
new time = GetTickCount();
new arrCoords[24][64];
new strFromFile2[256];
new File: file = fopen("house.cfg", io_read);
if(file)
{
new idx;
while(idx < sizeof(HouseInfo))
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, ',');
HouseInfo[idx][hEntrancex] = floatstr(arrCoords[0]);
HouseInfo[idx][hEntrancey] = floatstr(arrCoords[1]);
HouseInfo[idx][hEntrancez] = floatstr(arrCoords[2]);
HouseInfo[idx][hExitx] = floatstr(arrCoords[3]);
HouseInfo[idx][hExity] = floatstr(arrCoords[4]);
HouseInfo[idx][hExitz] = floatstr(arrCoords[5]);
strmid(HouseInfo[idx][hOwner], arrCoords[6], 0, strlen(arrCoords[6]), 255);
HouseInfo[idx][hValue] = strval(arrCoords[7]);
HouseInfo[idx][hHel] = strval(arrCoords[8]);
HouseInfo[idx][hInt] = strval(arrCoords[9]);
HouseInfo[idx][hLock] = strval(arrCoords[10]);
HouseInfo[idx][hOwned] = strval(arrCoords[11]);
HouseInfo[idx][hTakings] = strval(arrCoords[12]);
HouseInfo[idx][hClass] = strval(arrCoords[13]);
HouseInfo[idx][hCarx] = floatstr(arrCoords[14]);
HouseInfo[idx][hCary] = floatstr(arrCoords[15]);
HouseInfo[idx][hCarz] = floatstr(arrCoords[16]);
HouseInfo[idx][hCarc] = floatstr(arrCoords[17]);
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]);
HouseInfo[idx][hOplata] = strval(arrCoords[23]);
idx ++;
}
fclose(file);
}
printf("[Загрузка домов]: Было загружено - %d потрачено %d (ms)", sizeof(HouseInfo), GetTickCount() - time);
}
stock SaveProperty()
{
new idx;
new File: file2;
while(idx < sizeof(HouseInfo))
{
new coordsstring[128];
format(coordsstring, sizeof(coordsstring), "%f,%f,%f,%f,%f,%f,%s,%d,%d,%d,%d,%d,%d,%d,%f,%f,%f ,%f,%f,%f,%f,%f,%d,%d\n",
HouseInfo[idx][hEntrancex],
HouseInfo[idx][hEntrancey],
HouseInfo[idx][hEntrancez],
HouseInfo[idx][hExitx],
HouseInfo[idx][hExity],
HouseInfo[idx][hExitz],
HouseInfo[idx][hOwner],
HouseInfo[idx][hValue],
HouseInfo[idx][hHel],
HouseInfo[idx][hInt],
HouseInfo[idx][hLock],
HouseInfo[idx][hOwned],
HouseInfo[idx][hTakings],
HouseInfo[idx][hClass],
HouseInfo[idx][hCarx],
HouseInfo[idx][hCary],
HouseInfo[idx][hCarz],
HouseInfo[idx][hCarc],
HouseInfo[idx][hGarx],
HouseInfo[idx][hGary],
HouseInfo[idx][hGarz],
HouseInfo[idx][hGarc],
HouseInfo[idx][hGarage],
HouseInfo[idx][hOplata]);
if(idx == 0) file2 = fopen("logs/house.cfg", io_write);
else file2 = fopen("logs/house.cfg", io_append);
fwrite(file2, coordsstring);
idx ++;
fclose(file2);
}
}
stock LoadTuning(playerid)
{
if(PlayerInfo[playerid][pHouseKey] != 999)
{
new house = PlayerInfo[playerid][pHouseKey];
CreatedCar = 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);
}
CreatedCar ++;
LockCar(CarIdHouse[playerid]);
IsLocked[CarIdHouse[playerid]] = 1;
//Fuell[CarIdHouse[playerid]] = PlayerInfo[playerid][pFuelcar];
EngineState[CarIdHouse[playerid]] = false;
SetVehicleNumberPlate(CarIdHouse[playerid], MakeRandomNumber());
AddVehicleComponent(CarIdHouse[playerid], PlayerInfo[playerid][pWheels]);
AddVehicleComponent(CarIdHouse[playerid], PlayerInfo[playerid][pNitro]);
AddVehicleComponent(CarIdHouse[playerid], PlayerInfo[playerid][pHydrawlic]);
AddVehicleComponent(CarIdHouse[playerid], PlayerInfo[playerid][pAirCollector1]);
AddVehicleComponent(CarIdHouse[playerid], PlayerInfo[playerid][pAirCollector2]);
if(PJ(CarIdHouse[playerid])) ChangeVehiclePaintjob(CarIdHouse[playerid], PlayerInfo[playerid][pPaintJob]), AddVehicleComponent(CarIdHouse[playerid], PlayerInfo[playerid][pSpoiler]), AddVehicleComponent(CarIdHouse[playerid], PlayerInfo[playerid][pBumper1]), AddVehicleComponent(CarIdHouse[playerid], PlayerInfo[playerid][pBumper2]);
}
}
PHP:
//================================= Гаражи Дом =============================
CreateObject(3677,2208.1142578,-2964.2187500,678.5499878,0.0000000,0.0000000,179.9 945068); //object(lawnhousegreyls) (1)
CreateObject(19364,2217.6220703,-2957.0249023,685.8629761,0.0000000,0.0000000,0.000 0000); //object(wall012) (17)
CreateObject(19364,2217.6220703,-2960.2070312,685.8629761,0.0000000,0.0000000,0.000 0000); //object(wall012) (17)
CreateObject(19364,2217.6220703,-2963.3820801,685.8629761,0.0000000,0.0000000,0.000 0000); //object(wall012) (17)
CreateObject(19364,2217.6220703,-2966.5759277,685.8629761,0.0000000,0.0000000,0.000 0000); //object(wall012) (17)
CreateObject(19364,2215.9641113,-2968.2351074,685.8629761,0.0000000,0.0000000,90.00 00000); //object(wall012) (17)
CreateObject(19364,2212.7609863,-2968.2351074,685.8629761,0.0000000,0.0000000,90.00 00000); //object(wall012) (17)
CreateObject(19364,2209.5681152,-2968.2351074,685.8560181,0.0000000,0.0000000,90.00 00000); //object(wall012) (17)
CreateObject(19364,2208.0480957,-2966.5759277,685.8560181,0.0000000,0.0000000,0.000 0000); //object(wall012) (17)
CreateObject(19364,2208.0480957,-2963.3820801,685.8560181,0.0000000,0.0000000,0.000 0000); //object(wall012) (17)
CreateObject(19364,2208.0480957,-2960.2070312,685.8560181,0.0000000,0.0000000,0.000 0000); //object(wall012) (17)
CreateObject(19364,2208.0480957,-2957.0249023,685.8560181,0.0000000,0.0000000,0.000 0000); //object(wall012) (17)
CreateObject(11319,2212.8750000,-2955.4460449,684.6849976,0.0000000,0.0000000,90.00 00000); //object(sprayshpdr2_sfse) (1)
CreateObject(19437,2208.4689941,-2955.4208984,685.8560181,0.0000000,0.0000000,90.00 00000); //object(wall077) (1)
CreateObject(19437,2217.2800293,-2955.4208984,685.8560181,0.0000000,0.0000000,90.00 00000); //object(wall077) (2)
CreateObject(11393,2218.0654297,-2964.0976562,685.6309814,0.0000000,0.0000000,269.9 945068); //object(hubprops1_sfs) (2)
CreateObject(1535,2210.8579102,-2968.1459961,684.1129761,0.0000000,0.0000000,0.000 0000); //object(gen_doorext14) (1)
CreateObject(2610,2217.1489258,-2960.3889160,684.9379883,0.0000000,0.0000000,270.0 000000); //object(cj_p_fileing2) (1)
CreateObject(1764,2217.0878906,-2960.7839355,684.1129761,0.0000000,0.0000000,270.0 000000); //object(low_couch_2) (1)
CreateObject(2843,2216.6101074,-2962.1350098,684.5380249,0.0000000,0.0000000,0.000 0000); //object(gb_bedclothes02) (1)
CreateObject(2689,2217.4609375,-2964.1950684,686.2639771,0.0000000,0.0000000,270.0 000000); //object(cj_hoodie_2) (1)
CreateObject(4141,2197.0371094,-2962.4279785,708.3629761,270.0000000,0.0000000,0.0 000000); //object(hotelexterior1_lan) (1)
CreateObject(11392,2210.1999512,-2960.3540039,684.1309814,0.0000000,0.0000000,0.000 0000); //object(hubfloorstains_sfse) (2)
PHP:
stock IsAGarage(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,10.0,2213.02294 92,-2960.9060059,685.0310059))return true; // Дома Гараж № 1
return false;
}
Проблемы будут пишите !
Скачать :
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
| файл с домами
Последнее редактирование:
