MrMason
Ученик
Приветствую уважаемые пользователи портала Pawno-Info.
Сегодня я вам предоставлю систему покупки мебели.
Если вас не устраивает код - оптимизируйте сами.
Я новичок, вылаживаю, то что умею - не нравиться, делайте сами.
Итак, приступим.
Добавить в меню управления домом:
Создадим Enum'ы и переменные.
Дальше идем в OnGameModeInit:
Дальше OnPlayerKeyStateChange:
Переходим к OnDialogResponse:
Далее public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz) - Если нету данного паблика - то создаем.
Ну и остальное:
На этом все, повторюсь, я новичок, и это мой первый мануал. Удачи вам.
От маленького +сика не откажусь.
UPDATE:
Так как не которая информация не понятна... ( Текст не вставился. )
Приложу PWN.
Там все понятно сделал и описал.
Ссылка:
Сегодня я вам предоставлю систему покупки мебели.
Если вас не устраивает код - оптимизируйте сами.
Я новичок, вылаживаю, то что умею - не нравиться, делайте сами.
Итак, приступим.
Добавить в меню управления домом:
PHP:
new fstatus[5][30],slotmsg[180];
for (new tp; tp < 5; tp++)
{
if(HouseItems[pData[playerid][pHouse]][tp][ItemIDSQL] != 0)
{
format(fstatus[tp],30,"{FF0000}ID %d",HouseItems[pData[playerid][pHouse]][tp][ItemIDSQL]);
}
else fstatus[tp] = "{BB4747}Свободен";
}
format(slotmsg,sizeof slotmsg,"{FFFFFF}Слот 1: %s\n{FFFFFF}Слот 2: %s\n{FFFFFF}Слот 3: %s\n{FFFFFF}Слот 4: %s\n{FFFFFF}Слот 5: %s",fstatus[0],fstatus[1],fstatus[2],fstatus[3],fstatus[4]);
ShowPlayerDialog(playerid, dFurnitureEdit1, DIALOG_STYLE_LIST, "{FFFFFF}Выбор слота",slotmsg,"Выбрать","Отмена");
PHP:
enum
{
dFurnitureEdit1,
dFurnitureEdit2,
dFurnitureBuy1,
dFurnitureBuy2,
}
new furniturebuyobject[MAX_PLAYERS];
enum HIStruct
{
HIName[50],
HIID,
HIPrice
}
new MassiveHouseItems[][HIStruct] =
{
{"Диван трёхместный",2290,2500},
{"Диван двуместный кожаный",1723,2500},
{"Диван двуместный чёрный",1726,2700},
{"Диван угловой б/у",1709,2300},
{"Диван б/у",1728,2200},
{"Кресло кожаное чёрное",1704,3000},
{"Кресло кожаное офисное",1714,2300},
{"Кресло чёрное",1727,2100},
{"Кресло-качалка",2096,1600},
{"Кресло компьютерное",2356,1500},
{"Кресло парикмахерское",2343,1400},
{"Кресло б/у",1729,900},
{"Кровать двуспальная большая",14446,2500},
{"Кровать двуспальная c тумбами",2298,2700},
{"Кровать двуспальная без тумб",2299,2100},
{"Кровать двуспальная",1701,2000},
{"Кровать односпальная",1796,1500},
{"Шезлонг",1255,600},
{"Стул офисный",1811,1100},
{"Стул барный",2125,1000},
{"Стул",1722,900},
{"Стул столовый",2124,650},
{"Стул пластиковый",2121,600},
{"Стол с компьютером и телефоном",2008,4500},
{"Стол с компьютером угловой",1998,4200},
{"Стол четырёхместный",2637,2200},
{"Стол деревянный",2115,1800},
{"Стол двуместный",2635,1800},
{"Стол офисный",2173,1500},
{"Стол обеденный",2357,1300},
{"Стол со стульями пластиковые",1432,1000},
{"Гардероб большой",14867,2500},
{"Книжный шкаф",14455,2700},
{"Шкафчик офисный",2167,2400},
{"Шкаф",2204,2000},
{"Шкаф старый с телевизором",2091,2000},
{"Комод",2087,1500},
{"Тумба из тёмного дерева",2311,1200},
{"Полки для документов офисные",2161,1600},
{"Ящики для документов металлические",2007,1500},
{"Ковёр квадратный",2834,500},
{"Ковёр овальный",2835,500},
{"Доска для заметок",2616,300},
{"Мишень",2049,150},
{"Телевизор большой",1792,2500},
{"Телевизор на стеклянной тумбе",1717,2300},
{"Телевизор на подставке с видеомагнитофоном",14532,2400},
{"Телевизор на деревянной тумбе",2297,2300},
{"Телевизор на тумбе",2700,2200},
{"Телевизор б/у",1208,1200},
{"Видеомагнитофон",1788,600},
{"Игровая приставка",2028,1100},
{"Компьютер",2109,2300},
{"Принтер",2106,900},
{"Музыкальный центр б/у",2099,900},
{"Магнитофон",1208,1000},
{"Колонки большие",2229,500},
{"Душевая кабина",2517,2300},
{"Ванна",2519,2300},
{"Стиральная машина",1208,1500},
{"Умывальник",2524,1200},
{"Унитаз",2528,1000},
{"Кулер с водой",2002,800},
{"Светильник",2239,700},
{"Лампа настольная",2238,300},
{"Беговая дорожка",2627,2400},
{"Велотренажёр",2630,2000},
{"Скамья под штангу",2629,1300},
{"Гантели",2915,600}
};
enum hInfoItems
{
ItemIDSQL,
ItemOwner,
ItemModelID,
Float:ItemX,
Float:ItemY,
Float:ItemZ,
Float:ItemRX,
Float:ItemRY,
Float:ItemRZ,
ItemWorldID,
ItemInterior,
ItemObjectID,
ItemInstalled,
}
new HouseItems[MAX_HOUSE_COUNT][5][hInfoItems];
PHP:
//caa?ocea iaaaee
for(new i; i < MAX_HOUSE_COUNT; i ++)
{
new oquery[60];
format(oquery,sizeof oquery,"SELECT * FROM `houseobjects` WHERE `ItemOwner` = '%d'",i);
mysql_query(oquery);
mysql_store_result();
if(mysql_num_rows())
{
for(new kkk;kkk<mysql_num_rows();kkk++)
{
mysql_fetch_row(result);
sscanf(result,"p<|>iiiffffffiiii",HouseItems[i][kkk][ItemIDSQL],HouseItems[i][kkk][ItemOwner],HouseItems[i][kkk][ItemModelID],HouseItems[i][kkk][ItemX],HouseItems[i][kkk][ItemY],HouseItems[i][kkk][ItemZ],HouseItems[i][kkk][ItemRX],HouseItems[i][kkk][ItemRY],HouseItems[i][kkk][ItemRZ],HouseItems[i][kkk][ItemWorldID],HouseItems[i][kkk][ItemInterior],HouseItems[i][kkk][ItemObjectID],HouseItems[i][kkk][ItemInstalled]);
if(HouseItems[i][kkk][ItemInstalled] == 1)
{
HouseItems[i][kkk][ItemObjectID] = CreateDynamicObject(HouseItems[i][kkk][ItemModelID],HouseItems[i][kkk][ItemX],HouseItems[i][kkk][ItemY],HouseItems[i][kkk][ItemZ],HouseItems[i][kkk][ItemRX],HouseItems[i][kkk][ItemRY],HouseItems[i][kkk][ItemRZ],i);
}
else
{
HouseItems[i][kkk][ItemObjectID] = CreateDynamicObject(HouseItems[i][kkk][ItemModelID],HouseItems[i][kkk][ItemX],HouseItems[i][kkk][ItemY],HouseItems[i][kkk][ItemZ],HouseItems[i][kkk][ItemRX],HouseItems[i][kkk][ItemRY],HouseItems[i][kkk][ItemRZ],i);
DestroyDynamicObject(HouseItems[i][kkk][ItemObjectID]);
}
}
}
}
mysql_free_result();
return 1;
PHP:
if(newkeys == 16 && GetPVarInt(playerid,"f_BuyObject") == 1)
{//enter - Отменить покупку мебели
DestroyDynamicPickup(furniturebuyobject[playerid]);
SetPlayerVirtualWorld(playerid,0);
SetCameraBehindPlayer(playerid);
DeletePVar(playerid,"f_BizID");
DeletePVar(playerid,"f_BuyObject");
DeletePVar(playerid,"f_BuyObjectNumber");
TogglePlayerControllableEx(playerid,1);
}
if(newkeys == 8 && GetPVarInt(playerid,"f_BuyObject") == 1)
{//пробел - купить мебель
if(!pData[playerid][pHouse]) return SendClientMessage(playerid,CGRAY,"У Вас нет дома");
if(GetPVarInt(playerid,"dFurnitureBuy") == 0)
{
SetPVarInt(playerid,"dFurnitureBuy",1);
new buyfurnituremsg[100];
format(buyfurnituremsg,sizeof buyfurnituremsg,"{FFFFFF}Вы уверены в покупке \"{00D0FF}%s{FFFFFF}\" за {BB4747}%d${FFFFFF} ?",MassiveHouseItems[GetPVarInt(playerid,"f_BuyObjectNumber")][HIName],MassiveHouseItems[GetPVarInt(playerid,"f_BuyObjectNumber")][HIPrice]);
ShowPlayerDialog(playerid, dFurnitureBuy1, DIALOG_STYLE_MSGBOX, "{FFFFFF}Покупка мебели",buyfurnituremsg,"Да","Нет");
}
}
PHP:
//покупка
case dFurnitureBuy1:
{
if(!response) return DeletePVar(playerid,"dFurnitureBuy");
if(!pData[playerid][pHouse]) return SendClientMessage(playerid,CGRAY,"У Вас нет дома"),DeletePVar(playerid,"dFurnitureBuy");
if(GetPlayerMoneyEx(playerid) < MassiveHouseItems[GetPVarInt(playerid,"f_BuyObjectNumber")][HIPrice])return SendClientMessage(playerid,COLOR_RED,"У вас не хватает денег на этот предмет."),DeletePVar(playerid,"dFurnitureBuy");
new astatus[5][30],slotmsg[180];
for (new ap; ap < 5; ap++) { if(HouseItems[pData[playerid][pHouse]][ap][ItemIDSQL] != 0) format(astatus[ap],30,"{FF0000}ID %d",HouseItems[pData[playerid][pHouse]][ap][ItemIDSQL]); else astatus[ap] = "{BB4747}Свободен"; }
format(slotmsg,sizeof slotmsg,"{FFFFFF}Слот 1: %s\n{FFFFFF}Слот 2: %s\n{FFFFFF}Слот 3: %s\n{FFFFFF}Слот 4: %s\n{FFFFFF}Слот 5: %s",astatus[0],astatus[1],astatus[2],astatus[3],astatus[4]);
ShowPlayerDialog(playerid, dFurnitureBuy2, DIALOG_STYLE_LIST,"Покупка мебели", slotmsg,"Выбрать","Отмена");
return true;
}
case dFurnitureBuy2:
{
if(!response) return DeletePVar(playerid,"dFurnitureBuy");
new ho = pData[playerid][pHouse];
if(!pData[playerid][pHouse]) return SendClientMessage(playerid,CGRAY,"У Вас нет дома"),DeletePVar(playerid,"dFurnitureBuy");
if(HouseItems[ho][listitem][ItemIDSQL] != 0)return SendClientMessage(playerid,COLOR_RED,"Данный слот уже занят !"),DeletePVar(playerid,"dFurnitureBuy");
mysql_free_result();
new query[200];
format(query,sizeof(query),"INSERT INTO `houseobjects` VALUES ('','%d','%d','0.0','0.0','0.0','0.0','0.0','0.0','%d','%d','0','0')",ho,MassiveHouseItems[GetPVarInt(playerid,"f_BuyObjectNumber")][HIID],ho,gHints[gHints[gHouses[ho][houseHint]][hintInterior]][hintInterior]);
mysql_query(query);
if(mysql_insert_id())
{
HouseItems[ho][listitem][ItemIDSQL] = mysql_insert_id();
HouseItems[ho][listitem][ItemOwner] = ho;
HouseItems[ho][listitem][ItemModelID] = MassiveHouseItems[GetPVarInt(playerid,"f_BuyObjectNumber")][HIID];
HouseItems[ho][listitem][ItemX] = 0.0;
HouseItems[ho][listitem][ItemY] = 0.0;
HouseItems[ho][listitem][ItemZ] = 0.0;
HouseItems[ho][listitem][ItemRX] = 0.0;
HouseItems[ho][listitem][ItemRY] = 0.0;
HouseItems[ho][listitem][ItemRZ] = 0.0;
HouseItems[ho][listitem][ItemWorldID] = ho;
HouseItems[ho][listitem][ItemInterior] = gHints[gHouses[ho][houseHint]][hintInterior];
HouseItems[ho][listitem][ItemInstalled] = 0;
gBusiness[pTemp[playerid][pSelectedBusinessID]][busiProduct] -= 100;
gBusiness[pTemp[playerid][pSelectedBusinessID]][busiBank] += floatround((MassiveHouseItems[GetPVarInt(playerid,"f_BuyObjectNumber")][HIPrice]/100)*80);
TransferMoney(playerid,-1,MassiveHouseItems[GetPVarInt(playerid,"f_BuyObjectNumber")][HIPrice],"buyfurniture");
new Float:apos[3];
GetPlayerPos(playerid,apos[0],apos[1],apos[2]);
Streamer_UpdateEx(playerid, apos[0], apos[1], apos[2],GetPlayerVirtualWorld(playerid),-1);
HouseItems[ho][listitem][ItemObjectID] = CreateDynamicObject(HouseItems[ho][listitem][ItemModelID],apos[0],apos[1],apos[2],0.0,0.0,0.0,-1,-1,-1,20.0);
Streamer_UpdateEx(playerid, apos[0], apos[1], apos[2],GetPlayerVirtualWorld(playerid),-1);
DestroyDynamicObject(HouseItems[ho][listitem][ItemObjectID]);
UpdateBusinessData(pTemp[playerid][pSelectedBusinessID]+1,"bank",gBusiness[pTemp[playerid][pSelectedBusinessID]][busiBank]);
UpdateBusinessData(pTemp[playerid][pSelectedBusinessID]+1,"product",gBusiness[pTemp[playerid][pSelectedBusinessID]][busiProduct]);
UpdateBusinessText(pTemp[playerid][pSelectedBusinessID]);
new msss[80];
format(msss,sizeof msss,"Вы купили \"%s\" за %d$ !",MassiveHouseItems[GetPVarInt(playerid,"f_BuyObjectNumber")][HIName],MassiveHouseItems[GetPVarInt(playerid,"f_BuyObjectNumber")][HIPrice]);
SendClientMessage(playerid,COLOR_GREEN,msss);
}
else SendClientMessage(playerid,COLOR_RED,"Произошла ошибка. Попробуйте ещё раз.");
mysql_free_result();
SetPVarInt(playerid,"dFurnitureBuy",0);
return true;
}
//расстоновка
case dFurnitureEdit1:
{
if(!response)return true;
if(GetPVarInt(playerid,"edit_EditFurnitureMode") == 1)return SendClientMessage(playerid,COLOR_RED,"Вначале закончите редактирование !");
new ho = pData[playerid][pHouse];
if(HouseItems[ho][listitem][ItemIDSQL] == 0)return SendClientMessage(playerid,COLOR_RED,"В данном слоте нет объекта !");
if(GetPlayerVirtualWorld(playerid) != ho)return SendClientMessage(playerid,COLOR_RED,"Вы должны быть у себя в доме !");
SetPVarInt(playerid,"edit_SelectFurniture",listitem);
ShowPlayerDialog(playerid, dFurnitureEdit2, DIALOG_STYLE_LIST,"{FFFFFF}Редактирование объектов","{FFFFFF}Переместить\nПоставить\nУбрать\nУдалить","Выбрать","Отмена");
return true;
}
case dFurnitureEdit2:
{
if(!response)return true;
if(GetPVarInt(playerid,"edit_EditFurnitureMode") == 1)return SendClientMessage(playerid,COLOR_RED,"Вначале закончите редактирование !");
new ho = pData[playerid][pHouse];
switch(listitem)
{
case 0://Переместить
{
if(HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemInstalled] == 0)return SendClientMessage(playerid,COLOR_RED,"Объект не установлен.");
if(!IsValidDynamicObject(HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemObjectID]))return SendClientMessage(playerid,COLOR_RED,"Ошибка !");
EditDynamicObject(playerid,HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemObjectID]);
SetPVarInt(playerid,"edit_EditFurnitureMode",1);
}
case 1://Поставить
{
if(HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemInstalled] != 0)return SendClientMessage(playerid,COLOR_RED,"Объект Уже установлен.");
new Float:poso[3];
GetPlayerPos(playerid,poso[0],poso[1],poso[2]);
new slotid = GetPVarInt(playerid,"edit_SelectFurniture");
Streamer_UpdateEx(playerid, poso[0], poso[1], poso[2],GetPlayerVirtualWorld(playerid),-1);
HouseItems[ho][slotid][ItemObjectID] = CreateDynamicObject(HouseItems[ho][slotid][ItemModelID],HouseItems[ho][slotid][ItemX],HouseItems[ho][slotid][ItemY],HouseItems[ho][slotid][ItemZ],HouseItems[ho][slotid][ItemRX],HouseItems[ho][slotid][ItemRY],HouseItems[ho][slotid][ItemRZ],ho);
Streamer_UpdateEx(playerid, poso[0], poso[1], poso[2],GetPlayerVirtualWorld(playerid),-1);
DestroyDynamicObject(HouseItems[ho][slotid][ItemObjectID]);
Streamer_UpdateEx(playerid, poso[0], poso[1], poso[2],GetPlayerVirtualWorld(playerid),-1);
HouseItems[ho][slotid][ItemObjectID] = CreateDynamicObject(HouseItems[ho][slotid][ItemModelID],HouseItems[ho][slotid][ItemX],HouseItems[ho][slotid][ItemY],HouseItems[ho][slotid][ItemZ],HouseItems[ho][slotid][ItemRX],HouseItems[ho][slotid][ItemRY],HouseItems[ho][slotid][ItemRZ],ho);
Streamer_UpdateEx(playerid, poso[0], poso[1], poso[2],GetPlayerVirtualWorld(playerid),-1);
SetDynamicObjectPos(HouseItems[ho][slotid][ItemObjectID], poso[0], poso[1], poso[2]);
Streamer_UpdateEx(playerid, poso[0], poso[1], poso[2],GetPlayerVirtualWorld(playerid),-1);
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemInstalled] = 1;
new query[500];
format(query,sizeof(query),"UPDATE `houseobjects` SET `ItemX` = '%f',`ItemY` = '%f',`ItemZ` = '%f',`ItemInstalled` = '1' WHERE `id` = '%d'",poso[0],poso[1],poso[2],HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemIDSQL]);
mysql_query(query);
SendClientMessage(playerid,COLOR_GREEN,"Объект поставлен.");
}
case 2://Убрать
{
if(HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemInstalled] == 0)return SendClientMessage(playerid,COLOR_RED,"Объект не установлен.");
DestroyDynamicObject(HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemObjectID]);
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemInstalled] = 0;
SendClientMessage(playerid,COLOR_GREEN,"Объект убран.");
}
case 3://Удалить
{
if(HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemInstalled] != 0)return SendClientMessage(playerid,COLOR_RED,"Объект не должен быть установлен.");
mysql_free_result();
printf("MYSQLID: %d | PVar: %d",HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemIDSQL],GetPVarInt(playerid,"edit_SelectFurniture"));
new query[300];
format(query, sizeof(query), "DELETE FROM `houseobjects` WHERE `id` = '%d'", HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemIDSQL]);
mysql_query(query);
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemInstalled] = 0;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemIDSQL] = 0;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemOwner] = 0;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemModelID] = 0;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemX] = 0;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemY] = 0;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemZ] = 0;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemRX] = 0;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemRY] = 0;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemRZ] = 0;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemWorldID] = 0;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemInterior] = 0;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemObjectID] = 0;
DeletePVar(playerid,"edit_SelectFurniture");
SendClientMessage(playerid,COLOR_RED,"Объект удален.");
}
}
return true;
}
return 1;
}
PHP:
if(GetPVarInt(playerid,"edit_EditFurnitureMode") == 1)
{
new ho = pData[playerid][pHouse];
if(response == EDIT_RESPONSE_CANCEL)return DeletePVar(playerid,"edit_EditFurnitureMode");
if(response == EDIT_RESPONSE_FINAL)
{
mysql_free_result();
new query[500];
format(query,sizeof(query),"UPDATE `houseobjects` SET `ItemX` = '%f',`ItemY` = '%f',`ItemZ` = '%f',`ItemRX` = '%f',`ItemRY` = '%f',`ItemRZ` = '%f' WHERE `id` = '%d'",x,y,z,rx,ry,rz,HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemIDSQL]);
mysql_query(query);
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemX] = x;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemY] = y;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemZ] = z;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemRX] = rx;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemRY] = ry;
HouseItems[ho][GetPVarInt(playerid,"edit_SelectFurniture")][ItemRZ] = rz;
SetDynamicObjectPos(objectid,x,y,z);
SetDynamicObjectRot(objectid,rx,ry,rz);
DeletePVar(playerid,"edit_EditFurnitureMode");
SendClientMessage(playerid,COLOR_GREEN,"Объект передвинут.");
}
}
return true;
}
PHP:
//покупка мебели в магазине
new houseid = pData[playerid][pHouse]-1;
if(gHouses[houseid][houseOwnerID] != pData[playerid][pMysqlID]) return SendClientMessage(playerid,CGRAY,"Вы не являетесь владельцем дома в котором живете");
if(!pData[playerid][pHouse]) return SendClientMessage(playerid,CGRAY,"У Вас нет дома");
if(gBusiness[pTemp[playerid][pSelectedBusinessID]][busiProduct] < 100)return SendClientMessage(playerid,COLOR_RED,"В данном магазине нет мебели в наличии.");
if(GetPVarInt(playerid,"f_BuyObject") == 1)return true;
SetPlayerVirtualWorld(playerid,playerid+1);
SetPVarInt(playerid,"f_BizID",id);
SetPVarInt(playerid,"f_BuyObject",1);
SetPVarInt(playerid,"f_BuyObjectNumber",0);
furniturebuyobject[playerid] = CreateDynamicPickup(MassiveHouseItems[GetPVarInt(playerid,"f_BuyObjectNumber")][HIID],23,347.2237,164.2271,1014.2814,playerid+1,-1,playerid,100.0);
SetPlayerCameraPos(playerid, 347.5665, 160.0247, 1015.3701);
SetPlayerCameraLookAt(playerid, 347.4671, 161.0183, 1015.1207);
TogglePlayerControllableEx(playerid,0);//заморозка заменить на свою ф-ю
SendClientMessage(playerid,-1,"{FFFFFF}Для переключения объектов используйте стрелки {00D0FF}назад ( <- ){FFFFFF} и {00D0FF}вперёд ( -> ){FFFFFF}.");
SendClientMessage(playerid,-1,"{FFFFFF}Для выбора нажмите {BB4747}Пробел{FFFFFF}. Для отмены нажмите {FF0000}Enter{FFFFFF}.");
// в секундный таймер
if(GetPVarInt(i,"f_BuyObject") == 1)
{
new newkeys,ud,lr;
GetPlayerKeys(i,newkeys,ud,lr);
if(lr == KEY_LEFT)
{
if(GetPVarInt(i,"f_BuyObjectNumber") == 0){SetPVarInt(i,"f_BuyObjectNumber",68);} else { SetPVarInt(i,"f_BuyObjectNumber",GetPVarInt(i,"f_BuyObjectNumber")-1); }
DestroyDynamicPickup(furniturebuyobject[i]);
furniturebuyobject[i] = CreateDynamicPickup(MassiveHouseItems[GetPVarInt(i,"f_BuyObjectNumber")][HIID],23,347.2237,164.2271,1014.2814,i+1,-1,i,100.0);
}
else if(lr == KEY_RIGHT)
{
if(GetPVarInt(i,"f_BuyObjectNumber") == 68){SetPVarInt(i,"f_BuyObjectNumber",0);} else { SetPVarInt(i,"f_BuyObjectNumber",GetPVarInt(i,"f_BuyObjectNumber")+1); }
DestroyDynamicPickup(furniturebuyobject[i]);
furniturebuyobject[i] = CreateDynamicPickup(MassiveHouseItems[GetPVarInt(i,"f_BuyObjectNumber")][HIID],23,347.2237,164.2271,1014.2814,i+1,-1,i,100.0);
}
}
От маленького +сика не откажусь.
UPDATE:
Так как не которая информация не понятна... ( Текст не вставился. )
Приложу PWN.
Там все понятно сделал и описал.
Ссылка:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Последнее редактирование модератором:
