Mentos
Компетентный
Хай пипл. В прошлой своей системе домов я там намудрил, криво все сделал. В этой же системе все менее криво xD
А и кстати, тут покупка\продажа чутка другая. Если вам не понравится моя система купли\продажи, пишите свою 
Все по старинке:
Командный процессор: ZCMD (DC_CMD)
sscanf2.
А теперь кооод:
Ко всем new:
Предупреждаю сразу, что тут не все интерьеры домов. Так что вам еще надо будет добавить интерьеры.
В OnGameModeInit:
Теперь команды:
Теперь в OnPlayerKeyStateChange:
Теперь в OnDialogResponse:
Еще забыл, в PlayerInfo, или что у вас там добавьте:
В загрузку аккаунта:
Вот это вот в конец:
В OnPlayerConnect:
В OnPlayerSpawn:
Таблица House:
Так, теперь. Экспертам сразу говорю, да код быдло, душу я не влаживал в эту систему.
Новичкам говорю, тут есть баги. Вы же не хотели все готовенькое? Так что включаем голову, ищем их и сами исправляем. Ну может быть я чем нибудь помогу. В основном баги тут будут из-за отсутствия проверок. Я просто жирный лентяй и у меня нету друзей которые помогли бы мне тестировать систему, так что я не знаю работает ли продажа дома игроку или нет. Потому что я одинок :df:
Вроде бы ничего не забыл. Удачи в разборе кода. И я надеюсь вы догадаитесь обьявить переменную отправки запроса
Автор системы: Mentos
Самого начала вводим /addhouse, и у нас появляется машинка, дальше читаем чат
Когда поставили бибику куда нам надо и ввели /createv, бежим к месту нашего будущего дома и вводим...
После этого нас переносит в выбор интерьера. Читайте чат короч.
После нажатия кнопки Y нас перенесет в то место, где мы стояли и создаться вот такой пикап:
P.S: не обращайте внимания что там с классом дома какие то закарючки, это уже исправлено
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Когда поставили бибику куда нам надо и ввели /createv, бежим к месту нашего будущего дома и вводим...
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
После этого нас переносит в выбор интерьера. Читайте чат короч.
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
После нажатия кнопки Y нас перенесет в то место, где мы стояли и создаться вот такой пикап:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
P.S: не обращайте внимания что там с классом дома какие то закарючки, это уже исправлено
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Командный процессор: ZCMD (DC_CMD)
sscanf2.
А теперь кооод:
Ко всем new:
PHP:
forward HouseLoad();
new RedHouse[MAX_PLAYERS], tempINT[MAX_PLAYERS] = 0, inet[MAX_PLAYERS], carhouse[MAX_PLAYERS];//Переменные для домов. Создание
new PlayerIDS[MAX_PLAYERS], TWOPlayer[MAX_PLAYERS];//Переменные для хранения ИД игрока
new playercar[MAX_PLAYERS];//Личная машина игрока
PHP:
//Координаты интерьеров домов
new Float:TPtoINT[10][4] = {
{223.08000183105, 1287.4799804688, 1081.6390380859, 1.0},
{2365.2189941406, -1135.3070068359, 1050.3740234375, 8.0},
{2196.4260253906, -1204.2110595703, 1048.5219726563, 6.0},
{2270.1569824219, -1210.5240478516, 1047.0610351563, 10.0},
{2237.5061035156, -1081.1059570313, 1048.5219726563, 2.0},
{2317.79296875, -1026.458984375, 1049.7159423828, 9.0},
{261.03601074219, 1284.8260498047, 1079.7559814453, 4.0},
{140.28100585938, 1366.4649658203, 1083.3580322266, 5.0},
{83.00700378418, 1322.7110595703, 1083.3649902344, 9.0},
{-260.75500488281, 1456.6889648438, 1083.8659667969, 4.0}
};
PHP:
enum HouseInfo
{
hID,
hName[24],
hCuplen,
Float:hPosV[3],
Float:hPosE[3],
Float:hPosVe[4],
hCena,
hLock,
hClass,
hInt,
hIcons,
hPicka,
Text3D:hText
};
new hInfo[500][HouseInfo];
new LoadAllHouse;
PHP:
mysql_function_query(connect_MYSQL,"SELECT * FROM `house`",true,"HouseLoad","");
PHP:
CMD:addhouse(playerid, params[])
{
SetPVarInt(playerid, "houseid", LoadAllHouse++);
GetPlayerPos(playerid, hInfo[GetPVarInt(playerid, "houseid")][hPosVe][0], hInfo[GetPVarInt(playerid, "houseid")][hPosVe][1], hInfo[GetPVarInt(playerid, "houseid")][hPosVe][2]), GetPlayerFacingAngle(playerid, hInfo[GetPVarInt(playerid, "houseid")][hPosVe][3]);
carhouse[playerid] = CreateVehicle(426, hInfo[GetPVarInt(playerid, "houseid")][hPosVe][0], hInfo[GetPVarInt(playerid, "houseid")][hPosVe][1], hInfo[GetPVarInt(playerid, "houseid")][hPosVe][2], hInfo[GetPVarInt(playerid, "houseid")][hPosVe][3], 0, 1, 60);
PutPlayerInVehicle(playerid, carhouse[playerid], 0);
SendClientMessage(playerid, -1, "Выберете место где будет спавнится авто для этого дома.");
SendClientMessage(playerid, -1, "Когда найдете место введите /createv");
return 1;
}
CMD:createv(playerid, params[])
{
GetVehiclePos(carhouse[playerid], hInfo[GetPVarInt(playerid, "houseid")][hPosVe][0], hInfo[GetPVarInt(playerid, "houseid")][hPosVe][1], hInfo[GetPVarInt(playerid, "houseid")][hPosVe][2]), GetVehicleZAngle(carhouse[playerid], hInfo[GetPVarInt(playerid, "houseid")][hPosVe][3]);
DestroyVehicle(carhouse[playerid]);
SendClientMessage(playerid, -1, "Теперь подойдите к месту где будет сам дом.");
SendClientMessage(playerid, -1, "А там используйте /createh [Цена][Класс]");
return 1;
}
CMD:createh(playerid, params[])
{
GetPlayerPos(playerid, hInfo[GetPVarInt(playerid, "houseid")][hPosV][0], hInfo[GetPVarInt(playerid, "houseid")][hPosV][1], hInfo[GetPVarInt(playerid, "houseid")][hPosV][2]);
if(sscanf(params, "dd", hInfo[GetPVarInt(playerid, "houseid")][hCena], hInfo[GetPVarInt(playerid, "houseid")][hClass]))return SendClientMessage(playerid, -1, "Используйте: /addhouse [Цена][Класс]");
RedHouse[playerid] = 1;
inet[playerid] = floatround(TPtoINT[tempINT[playerid]][3]);
SetPlayerPos(playerid, TPtoINT[tempINT[playerid]][0], TPtoINT[tempINT[playerid]][1], TPtoINT[tempINT[playerid]][2]);
SetPlayerInterior(playerid, inet[playerid]);
SetPlayerVirtualWorld(playerid, GetPVarInt(playerid, "houseid"));
SendClientMessage(playerid, -1, "Используйте Левый Shift и Левый Ctrl для выбора интерьера.");
SendClientMessage(playerid, -1, "Используйте Y что бы сохранить выбранный интерьер.");
return 1;
}
CMD:hlock(playerid, params[])
{
if(pInfo[playerid][pHouseKey] == -1) SendClientMessage(playerid, -1, "У вас нету дома!");
if(IsPlayerInRangeOfPoint(playerid,2.0,hInfo[pInfo[playerid][pHouseKey]][hPosV][0],hInfo[pInfo[playerid][pHouseKey]][hPosV][1],hInfo[pInfo[playerid][pHouseKey]][hPosV][2]) || IsPlayerInRangeOfPoint(playerid,2.0,hInfo[pInfo[playerid][pHouseKey]][hPosE][0],hInfo[pInfo[playerid][pHouseKey]][hPosE][1],hInfo[pInfo[playerid][pHouseKey]][hPosE][2]))
{
switch(hInfo[pInfo[playerid][pHouseKey]][hLock])
{
case 0: hInfo[pInfo[playerid][pHouseKey]][hLock] = 1, SendClientMessage(playerid, -1, "Вы закрыли свой дом.");
case 1: hInfo[pInfo[playerid][pHouseKey]][hLock] = 0, SendClientMessage(playerid, -1, "Вы открыли свой дом.");
}
}
else SendClientMessage(playerid, -1, "Вы должны стоять рядом со своим домом!");
return 1;
}
PHP:
if(newkeys == KEY_YES)
{
if(RedHouse[playerid] == 1)
{
SetPlayerPos(playerid, hInfo[GetPVarInt(playerid, "houseid")][hPosV][0], hInfo[GetPVarInt(playerid, "houseid")][hPosV][1], hInfo[GetPVarInt(playerid, "houseid")][hPosV][2]);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
RedHouse[playerid] = 0;
mysql_format(connect_MYSQL, zapros, sizeof(zapros), "INSERT INTO `house` (`name`, `pos1`, `pos2`, `pos3`, `pose1`, `pose2`, `pose3`, `poscar1`, `poscar2`, `poscar3`, `poscar4`, `cena`, `class`, `int`) VALUES ('The State', '%f', '%f', '%f', '%f', '%f', '%f', '%f', '%f', '%f', '%f', '%i', '%i', '%i')",
hInfo[GetPVarInt(playerid, "houseid")][hPosV][0],
hInfo[GetPVarInt(playerid, "houseid")][hPosV][1],
hInfo[GetPVarInt(playerid, "houseid")][hPosV][2],
TPtoINT[tempINT[playerid]][0],
TPtoINT[tempINT[playerid]][1],
TPtoINT[tempINT[playerid]][2],
hInfo[GetPVarInt(playerid, "houseid")][hPosVe][0],
hInfo[GetPVarInt(playerid, "houseid")][hPosVe][1],
hInfo[GetPVarInt(playerid, "houseid")][hPosVe][2],
hInfo[GetPVarInt(playerid, "houseid")][hPosVe][3],
hInfo[GetPVarInt(playerid, "houseid")][hCena],
hInfo[GetPVarInt(playerid, "houseid")][hClass],
inet[playerid]
);
mysql_function_query(connect_MYSQL, zapros, false, "", "");
mysql_function_query(connect_MYSQL,"SELECT * FROM `house`",true,"HouseLoad","");
}
}
if(newkeys == 4)
{
if(RedHouse[playerid] == 1)
{
if(tempINT[playerid] >= 9) tempINT[playerid] = 0;
tempINT[playerid]++;
inet[playerid] = floatround(TPtoINT[tempINT[playerid]][3]);
SetPlayerPos(playerid, TPtoINT[tempINT[playerid]][0], TPtoINT[tempINT[playerid]][1], TPtoINT[tempINT[playerid]][2]);
SetPlayerInterior(playerid, inet[playerid]);
}
}
if(newkeys == KEY_JUMP)
{
if(RedHouse[playerid] == 1)
{
if(tempINT[playerid] < 0) tempINT[playerid] = 10;
tempINT[playerid]--;
inet[playerid] = floatround(TPtoINT[tempINT[playerid]][3]);
SetPlayerPos(playerid, TPtoINT[tempINT[playerid]][0], TPtoINT[tempINT[playerid]][1], TPtoINT[tempINT[playerid]][2]);
SetPlayerInterior(playerid, inet[playerid]);
}
}
if(newkeys == KEY_WALK)
{
for(new i; i <= LoadAllHouse; i++)
{
if(IsPlayerInRangeOfPoint(playerid,2.0,hInfo[i][hPosV][0],hInfo[i][hPosV][1],hInfo[i][hPosV][2]))
{
if(hInfo[i][hLock] != 0) return SendClientMessage(playerid, -1, "Дом закрыт! (/hinfo что бы узнать информацию о доме)");
SetPlayerPos(playerid, hInfo[i][hPosE][0],hInfo[i][hPosE][1],hInfo[i][hPosE][2]);
SetPlayerInterior(playerid, hInfo[i][hInt]);
SetPlayerVirtualWorld(playerid, hInfo[i][hID]);
}
else if(IsPlayerInRangeOfPoint(playerid,2.0,hInfo[i][hPosE][0],hInfo[i][hPosE][1],hInfo[i][hPosE][2]))
{
if(hInfo[i][hLock] != 0) return SendClientMessage(playerid, -1, "Дом закрыт!");
SetPlayerPos(playerid, hInfo[i][hPosV][0],hInfo[i][hPosV][1],hInfo[i][hPosV][2]);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
}
}
if(IsPlayerInRangeOfPoint(playerid,2.0,1490.3805,1305.9698,1093.2964)) ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "Покупка дома", "Здравствуйте! У нас вы можете купить себе недвижемость.\nМы надеемся вы уже присмотрели себе домик?\nЕсли да тогда введите его номер:", "Ввод","Отмена");
else if(IsPlayerInRangeOfPoint(playerid,2.0,1492.7085,1308.1033,1093.2930))
{
if(pInfo[playerid][pHouseKey] == -1)return SendClientMessage(playerid, -1, "Вам нечего продавать.");
ShowPlayerDialog(playerid, 7, DIALOG_STYLE_LIST, "Продажа дома", "1. Продать дом Государству\n2. Продать дом игроку","Выбрать","Отмена");
}
}
PHP:
case 4:
{
if(response)
{
SetPVarInt(playerid, "houseid", strval(inputtext));
if(GetPVarInt(playerid, "houseid") >= LoadAllHouse) return SendClientMessage(playerid, -1, "Такого дома не существует!");
new string[140], cuple[23], stat[26], clas[8];
if(hInfo[GetPVarInt(playerid, "houseid")][hLock] == 0) cuple = "{008000}Открыт{FFFFFF}";
else cuple = "{FF0000}Закрыт{FFFFFF}";
if(hInfo[GetPVarInt(playerid, "houseid")][hCuplen] == 0) stat = "{008000}Продается{FFFFFF}";
else stat = "{FF0000}Куплен{FFFFFF}";
switch(hInfo[GetPVarInt(playerid, "houseid")][hClass])
{
case 1: clas = "Эконом";
case 2: clas = "Комфорт";
case 3: clas = "Бизнес";
}
format(string, 140, "{FFFFFF}Номер дома: %d\nСтатус дома: %s\nСостояние дома: %s\nКласс дома: %s\n\nЦена дома: %d", GetPVarInt(playerid, "houseid"), stat, cuple, clas, hInfo[GetPVarInt(playerid, "houseid")][hCena]);
ShowPlayerDialog(playerid, 5, DIALOG_STYLE_LIST, "Информация о доме", string, "Купить", "Отмена");
}
}
case 5:
{
if(response)
{
if(pInfo[playerid][pHouseKey] != -1) return SendClientMessage(playerid, -1, "У вас уже есть дом!");
if(pInfo[playerid][pMoney] < hInfo[GetPVarInt(playerid, "houseid")][hCena]) return SendClientMessage(playerid, -1, "У вас недостаточно денег для покупки дома!");
if(hInfo[GetPVarInt(playerid, "houseid")][hCuplen] != 0) return SendClientMessage(playerid, -1, "Этот дом уже куплен!");
pInfo[playerid][pHouseKey] = GetPVarInt(playerid, "houseid");
pInfo[playerid][pMoney] -= hInfo[GetPVarInt(playerid, "houseid")][hCena];
hInfo[GetPVarInt(playerid, "houseid")][hCuplen] = 1;
strmid(hInfo[GetPVarInt(playerid, "houseid")][hName], pInfo[playerid][pName], 0, strlen(pInfo[playerid][pName]), 255);
SendClientMessage(playerid, -1, "Поздравляем вас с покупкой дома!");
SaveHouse(GetPVarInt(playerid, "houseid"));
UpdateHouse();
}
}
case 7:
{
if(response)
{
switch(listitem)
{
case 0:
{
new string[180], cena;
cena = (hInfo[pInfo[playerid][pHouseKey]][hCena]/100)*30;
format(string, 180, "Государство может купить у вас ваш дом.\nОднако на 30 процентов дешевле от гос. цены\nГос. цена вашего дома: %d\n\nГосударство купит у вас дом за: %d долларов.\nВы согласны?",hInfo[pInfo[playerid][pHouseKey]][hCena], hInfo[pInfo[playerid][pHouseKey]][hCena] - cena);
ShowPlayerDialog(playerid, 8, DIALOG_STYLE_MSGBOX, "Продажа дома", string, "Согласен","Отмена");
}
case 1:
{
ShowPlayerDialog(playerid, 9, DIALOG_STYLE_INPUT, "Продажа дома","Введите id игрока которому хотите продать дом:","Ввод","Отмена");
}
}
}
}
case 8:
{
if(response)
{
new cena = (hInfo[pInfo[playerid][pHouseKey]][hCena]/100)*30;
strmid(hInfo[pInfo[playerid][pHouseKey]][hName], "The State", 0, 10, 255);
hInfo[pInfo[playerid][pHouseKey]][hCuplen] = 0;
pInfo[playerid][pMoney] += hInfo[pInfo[playerid][pHouseKey]][hCena] - cena;
pInfo[playerid][pSpawnChange] = 0;
SendClientMessage(playerid, -1, "Вы успешно продали свой дом!");
SaveHouse(pInfo[playerid][pHouseKey]);
UpdateHouse();
pInfo[playerid][pHouseKey] = -1;
}
}
case 9:
{
if(response)
{
if(!strlen(inputtext)) return SendClientMessage(playerid, -1, "Вы ничего не ввели!");
PlayerIDS[playerid] = strval(inputtext);
ShowPlayerDialog(playerid, 10, DIALOG_STYLE_INPUT, "Продажа дома","Введите за какую цену вы готовы продать дом:","Ввод","Отмена");
}
}
case 10:
{
if(response)
{
new st[120];
SetPVarInt(playerid, "CenaH",strval(inputtext));
TWOPlayer[PlayerIDS[playerid]] = playerid;
if(GetPVarInt(playerid, "CenaH") > pInfo[PlayerIDS[playerid]][pMoney]) SendClientMessage(playerid, -1, "У покупателя нет такой суммы.");
if(pInfo[PlayerIDS[playerid]][pHouseKey] != -1) SendClientMessage(playerid, -1, "У покупателя уже есть дом.");
format(st, 120, "%s предлогает вам купить дом.\nЗа %d долларов. Вы согласны?", pInfo[playerid][pName], GetPVarInt(playerid, "CenaH"));
ShowPlayerDialog(PlayerIDS[playerid], 11, DIALOG_STYLE_MSGBOX, "Покупка дома", st, "Купить","Отказ");
}
}
case 11:
{
if(response)
{
pInfo[playerid][pHouseKey] = pInfo[TWOPlayer[playerid]][pHouseKey], pInfo[TWOPlayer[playerid]][pHouseKey] = -1;
pInfo[playerid][pMoney] -= GetPVarInt(TWOPlayer[playerid], "CenaH"), pInfo[TWOPlayer[playerid]][pMoney] += GetPVarInt(TWOPlayer[playerid], "CenaH");
pInfo[TWOPlayer[playerid]][pSpawnChange] = 0;
SendClientMessage(TWOPlayer[playerid], -1, "Вы успешно продали дом!");
SendClientMessage(playerid, -1, "Вы успешно купили дом!");
UpdateHouse();
}
else SendClientMessage(TWOPlayer[playerid], -1, "Покупатель отказался от покупки!") ,SendClientMessage(playerid, -1, "Вы отказались от покупки!");
}
PHP:
pHouseKey,
PHP:
if(pInfo[playerid][pHouseKey] != -1)
{
playercar[playerid] = CreateVehicle(pInfo[playerid][pCar], hInfo[pInfo[playerid][pHouseKey]][hPosVe][0],hInfo[pInfo[playerid][pHouseKey]][hPosVe][1],hInfo[pInfo[playerid][pHouseKey]][hPosVe][2],hInfo[pInfo[playerid][pHouseKey]][hPosVe][3], -1, -1, 500000);
}
PHP:
public HouseLoad()
{
LoadAllHouse = 0;
new rows, fields, time = GetTickCount();
cache_get_data(rows, fields);
for(new i = 0; i < rows; i++)
{
hInfo[i][hID] = cache_get_field_content_int(i, "id", connect_MYSQL);
cache_get_field_content(i, "name", hInfo[i][hName], connect_MYSQL, 24);
hInfo[i][hCuplen] = cache_get_field_content_int(i, "cuplen", connect_MYSQL);
hInfo[i][hPosV][0] = cache_get_field_content_float(i, "pos1", connect_MYSQL);
hInfo[i][hPosV][1] = cache_get_field_content_float(i, "pos2", connect_MYSQL);
hInfo[i][hPosV][2] = cache_get_field_content_float(i, "pos3", connect_MYSQL);
hInfo[i][hPosE][0] = cache_get_field_content_float(i, "pose1", connect_MYSQL);
hInfo[i][hPosE][1] = cache_get_field_content_float(i, "pose2", connect_MYSQL);
hInfo[i][hPosE][2] = cache_get_field_content_float(i, "pose3", connect_MYSQL);
hInfo[i][hPosVe][0] = cache_get_field_content_float(i, "poscar1", connect_MYSQL);
hInfo[i][hPosVe][1] = cache_get_field_content_float(i, "poscar2", connect_MYSQL);
hInfo[i][hPosVe][2] = cache_get_field_content_float(i, "poscar3", connect_MYSQL);
hInfo[i][hPosVe][3] = cache_get_field_content_float(i, "poscar4", connect_MYSQL);
hInfo[i][hCena] = cache_get_field_content_int(i, "cena", connect_MYSQL);
hInfo[i][hLock] = cache_get_field_content_int(i, "lock", connect_MYSQL);
hInfo[i][hClass] = cache_get_field_content_int(i, "class", connect_MYSQL);
hInfo[i][hInt] = cache_get_field_content_int(i, "int", connect_MYSQL);
LoadAllHouse++;
new string[150], clas[8];
switch(hInfo[i][hClass])
{
case 0: clas = "Эконом";
case 1: clas = "Комфорт";
case 2: clas = "Бизнес";
}
format(string, 150, "Номер дома: %d\nКласс дома: %s\nЦена дома: %d", i, hInfo[i][hClass], hInfo[i][hCena]);
if(hInfo[i][hCuplen] == 0)
{
hInfo[i][hPicka] = CreatePickup(19471, 1, hInfo[i][hPosV][0], hInfo[i][hPosV][1], hInfo[i][hPosV][2], -1);
hInfo[i][hText] = Create3DTextLabel(string,0xFFFFFF,hInfo[i][hPosV][0], hInfo[i][hPosV][1], hInfo[i][hPosV][2],10.0,0);
}
else
{
hInfo[i][hPicka] = CreatePickup(1272, 1, hInfo[i][hPosV][0], hInfo[i][hPosV][1], hInfo[i][hPosV][2], -1);
hInfo[i][hText] = Create3DTextLabel(string,0xFFFFFF,hInfo[i][hPosV][0], hInfo[i][hPosV][1], hInfo[i][hPosV][2],10.0,0);
}
}
printf("[Загружено домов]: <%i>. Время загрузки: <%i мс>",LoadAllHouse,GetTickCount()-time);
return 1;
}
stock SaveHouse(h)
{
mysql_format(connect_MYSQL, zapros, sizeof(zapros),"UPDATE `house` SET `name` = '%s', `cuplen` = '%d', `cena` = '%d', `lock` = '%d', `class` = '%d', `int` = '%d' WHERE `id` = '%d'", hInfo[h][hName], hInfo[h][hCuplen], hInfo[h][hCena], hInfo[h][hLock], hInfo[h][hClass], hInfo[h][hInt], hInfo[h][hID]);
mysql_function_query(connect_MYSQL, zapros, false, "", "");
}
stock UpdateHouse()
{
for(new i; i <= LoadAllHouse; i++)
{
DestroyPickup(hInfo[i][hPicka]);
Delete3DTextLabel(hInfo[i][hText]);
new string[150], clas[8];
switch(hInfo[i][hClass])
{
case 0: clas = "Эконом";
case 1: clas = "Комфорт";
case 2: clas = "Бизнес";
}
format(string, 150, "Номер дома: %d\nКласс дома: %s\nЦена дома: %d", i, hInfo[i][hClass], hInfo[i][hCena]);
if(hInfo[i][hCuplen] == 0)
{
hInfo[i][hPicka] = CreatePickup(19471, 1, hInfo[i][hPosV][0], hInfo[i][hPosV][1], hInfo[i][hPosV][2], -1);
hInfo[i][hText] = Create3DTextLabel(string,0xFFFFFF,hInfo[i][hPosV][0], hInfo[i][hPosV][1], hInfo[i][hPosV][2],10.0,0);
}
else
{
hInfo[i][hPicka] = CreatePickup(1272, 1, hInfo[i][hPosV][0], hInfo[i][hPosV][1], hInfo[i][hPosV][2], -1);
hInfo[i][hText] = Create3DTextLabel(string,0xFFFFFF,hInfo[i][hPosV][0], hInfo[i][hPosV][1], hInfo[i][hPosV][2],10.0,0);
}
}
}
PHP:
pInfo[playerid][pHouseKey] = -1;
PHP:
if(pInfo[plaerid][pHouseKey] != -1)
{
SetPlayerPos(playerid, hInfo[pInfo[playerid][pHouseKey]][hPosE][0], hInfo[pInfo[playerid][pHouseKey]][hPosE][1], hInfo[pInfo[playerid][pHouseKey]][hPosE][2]);
SetPlayerInterior(playerid, hInfo[pInfo[playerid][pHouseKey]][hInt]);
SetPlayerVirtualWorld(playerid, pInfo[playerid][pHouseKey]);
}
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Так, теперь. Экспертам сразу говорю, да код быдло, душу я не влаживал в эту систему.
Новичкам говорю, тут есть баги. Вы же не хотели все готовенькое? Так что включаем голову, ищем их и сами исправляем. Ну может быть я чем нибудь помогу. В основном баги тут будут из-за отсутствия проверок. Я просто жирный лентяй и у меня нету друзей которые помогли бы мне тестировать систему, так что я не знаю работает ли продажа дома игроку или нет. Потому что я одинок :df:
Вроде бы ничего не забыл. Удачи в разборе кода. И я надеюсь вы догадаитесь обьявить переменную отправки запроса
Автор системы: Mentos
