Батька
Компетентный
В начало мода, ко всем new
PHP:
#define TABLE_PD "pod"
#define TABLE_KV "kvart"
#define MAX_POD 500
enum podIn
{
id,
Float:pdX,
Float:pdY,
Float:pdZ,
Float:pdXX,
Float:pdYY,
Float:pdZZ,
pdPick[3],
pdVirt,
pdNach,
pdKon,
Float:pdFa
}
new Text3D:pdLable[MAX_POD];
new pdInfo[MAX_POD][podIn];
new TOTALHOUSE;
#define MAX_KV 500
enum kInfo
{
id,
kOwner[32],
Float:kX,
Float:kY,
Float:kZ,
Float:kXX,
Float:kYY,
Float:kZZ,
kVirtt,
kInt,
kVirt,
Float:kFa,
kPod,
kCost,
Float:kCarx,
Float:kCary,
Float:kCarz,
Float:kCarfa,
kHeal,
kOplata,
kLock
};
new Text3D:KvLable[MAX_KV];
new KvInfo[MAX_KV][kInfo];
Ко всем командам
PHP:
CMD:buyflat(playerid, params[])
{
if(PlayerLogged[playerid] == 0) return true;
if(GetPlayerFlat(playerid)) return SendClientMessage(playerid,CGREY,"У вас есть квартира");
if(GetPVarInt(playerid,"Flat") == 0) return SendClientMessage(playerid,CGREY,"Вы не в квартире");
new i = GetPVarInt(playerid,"Flat");
if(PlayerInfo[playerid][pCash] < KvInfo[i][kCost]) return SendClientMessage(playerid,CGREY,"Недостаточно средств");
GiveMoney(playerid,-KvInfo[i][kCost]);
strmid(KvInfo[i][kOwner], PlayerInfo[playerid][pSendername], 0, strlen(PlayerInfo[playerid][pSendername]), MAX_PLAYER_NAME);
KvInfo[i][kOplata] = 12;
Delete3DTextLabel(KvLable[i]);
static const fmt_string1[] = "Квартира: %i\nВладелец: %s";
new str1[sizeof(fmt_string1)+4+MAX_PLAYER_NAME];
format(str1,sizeof(str1),fmt_string1,KvInfo[i][id],KvInfo[i][kOwner]);
KvLable[i] = Create3DTextLabel(str1,CAGREEN,KvInfo[i][kX], KvInfo[i][kY], KvInfo[i][kZ]+1,20.0,KvInfo[i][kVirtt],1);
SetPVarInt(playerid,"PlayerFlat",i);
format(query, sizeof(query), "UPDATE "TABLE_KV" SET name = '%s', oplata = '%i' WHERE id = '%d' LIMIT 1", KvInfo[i][kOwner],KvInfo[i][kOplata],i);
mysql_query(query);
return true;
}
CMD:fpanel(playerid, params[])
{
if(PlayerLogged[playerid] == 0) return true;
if(GetPlayerFlat(playerid))
{
new i = GetPVarInt(playerid,"PlayerFlat");
new text[20],krek[20];
if(KvInfo[i][kOplata] > 24) format(krek,sizeof(krek),"%i дней",KvInfo[i][kOplata]/24);
else format(krek,sizeof(krek),"%i часов",KvInfo[i][kOplata]);
switch(KvInfo[i][kLock])
{
case 0: format(text,sizeof(text),"{20BA09}Открыто");
case 1: format(text,sizeof(text),"{F85A5A}Закрыто");
}
static const fmt_string1[] = "{FFFFFF}Номер квартиры:\t\t%i\nВладелец:\t\t\t%s\nГОС цена:\t\t\t$%i\n\nВходная дверь:\t\t%s{FFFFFF}\nКоличество аптечек:\t\t%i\n\nРазмер квартплаты:\t\t$50 в час\nОплачено на:\t\t\t%s";
new str1[sizeof(fmt_string1)+5+MAX_PLAYER_NAME+20+10+5+20];
format(str1, sizeof(str1), fmt_string1,KvInfo[i][id],KvInfo[i][kOwner],KvInfo[i][kCost],text,KvInfo[i][kHeal],krek);
ShowPlayerDialog(playerid, 26, DIALOG_STYLE_MSGBOX, "Информация о квартире", str1, "Опции","Отмена");
}
else SendClientMessage(playerid,CGREY,"У Вас нет квартиры");
return true;
}
В OnPlayerKeyStateChange
PHP:
if(newkeys & KEY_WALK)
{
for(new i1; i1 <= TOTALKV;i1++)
{
if(IsPlayerInRangeOfPoint(playerid,1.0,KvInfo[i1][kX],KvInfo[i1][kY],KvInfo[i1][kZ]) && GetPlayerVirtualWorld(playerid) == KvInfo[i1][kPod])
{
if(!strcmp(KvInfo[i1][kOwner],"None",true))
{
SetPlayerPos(playerid,KvInfo[i1][kXX],KvInfo[i1][kYY],KvInfo[i1][kZZ]);
SetPlayerFacingAngle(playerid,KvInfo[i1][kFa]);
SetPlayerInterior(playerid,KvInfo[i1][kInt]);
SetPlayerVirtualWorld(playerid,KvInfo[i1][kVirt]);
SendClientMessage(playerid,CWHITE,"Эта квартира продается, для покупки используйте {dcedf9}/buyflat");
SetPVarInt(playerid,"Flat",KvInfo[i1][id]);
}
else
{
if(KvInfo[i1][kLock] == 1) return SendClientMessage(playerid,CGREY,"Дверь закрыта!");
SetPlayerPos(playerid,KvInfo[i1][kXX],KvInfo[i1][kYY],KvInfo[i1][kZZ]);
SetPlayerFacingAngle(playerid,KvInfo[i1][kFa]);
SetPlayerInterior(playerid,KvInfo[i1][kInt]);
SetPlayerVirtualWorld(playerid,KvInfo[i1][kVirt]);
SetPVarInt(playerid,"Flat",KvInfo[i1][id]);
}
}
else if(IsPlayerInRangeOfPoint(playerid,2,KvInfo[i1][kXX],KvInfo[i1][kYY],KvInfo[i1][kZZ]) && GetPlayerVirtualWorld(playerid) == KvInfo[i1][kVirt])
{
SetPlayerPos(playerid,KvInfo[i1][kX],KvInfo[i1][kY],KvInfo[i1][kZ]);
SetPlayerInterior(playerid,15);
SetPlayerVirtualWorld(playerid,KvInfo[i1][kPod]);
DeletePVar(playerid,"Flat");
}
}
}
Вставляем где у вас PayDay
PHP:
for(new i = 1; i <= TOTALKV; i++)
{
if(!strcmp("None",KvInfo[i][kOwner],true)) continue;
if(KvInfo[i][kOplata] > 0)
{
KvInfo[i][kOplata]--;
format(query, sizeof(query), "UPDATE "TABLE_KV" SET oplata = '%i' WHERE id = '%d' LIMIT 1", KvInfo[i][kOplata],i);
mysql_query(query);
}
else
{
if(GetPlayerID(KvInfo[i][kOwner]) != INVALID_PLAYER_ID)
{
SendClientMessage(GetPlayerID(KvInfo[i][kOwner]),-1,"Ваша квартира была продана государтву за неуплату налогов");
DeletePVar(GetPlayerID(KvInfo[i][kOwner]),"PlayerFlat");
}
Delete3DTextLabel(KvLable[i]);
static const fmt_string1[] = "Квартира: %i\nСтоимость: $%i";
new str1[sizeof(fmt_string1)+4+10];
format(str1,sizeof(str1),fmt_string1,KvInfo[i][id],KvInfo[i][kCost]);
KvLable[i] = Create3DTextLabel(str1,0xDCEDF9FF,KvInfo[i][kX], KvInfo[i][kY], KvInfo[i][kZ]+1,20.0,KvInfo[i][kVirtt],1);
strmid(KvInfo[i][kOwner],"None", 0, strlen("None"), MAX_PLAYER_NAME);
format(query, sizeof(query), "UPDATE "TABLE_KV" SET name = '%s', oplata = '%i' WHERE id = '%d' LIMIT 1",KvInfo[i][kOwner], KvInfo[i][kOplata],i);
mysql_query(query);
}
}
В OnDialogResponse
PHP:
case 26:
{
if(response)
{
new i = GetPVarInt(playerid,"PlayerFlat");
new text[20];
switch(KvInfo[i][kLock])
{
case 0: format(text,sizeof(text),"{20BA09}Открыто");
case 1: format(text,sizeof(text),"{F85A5A}Закрыто");
}
static const fmt_str1[] = "{FFFFFF}Входная дверь:\t\t%s{FFFFFF}\nПомощь по содержанию квартиры";
new str1[sizeof(fmt_str1)+20];
format(str1,sizeof(str1),fmt_str1,text);
ShowPlayerDialog(playerid, 27, DIALOG_STYLE_LIST, "Опции",str1, "Выбор","Назад");
}
else return true;
}
case 27:
{
switch(response)
{
case 1:
{
switch(listitem)
{
case 0:
{
new i = GetPVarInt(playerid,"PlayerFlat");
switch(KvInfo[i][kLock])
{
case 0: KvInfo[i][kLock] = 1;
case 1: KvInfo[i][kLock] = 0;
}
new text[20];
switch(KvInfo[i][kLock])
{
case 0: format(text,sizeof(text),"{20BA09}Открыто");
case 1: format(text,sizeof(text),"{F85A5A}Закрыто");
}
static const fmt_str1[] = "{FFFFFF}Входная дверь:\t\t%s{FFFFFF}\nПомощь по содержанию квартиры";
new str1[sizeof(fmt_str1)+20];
format(str1,sizeof(str1),fmt_str1,text);
ShowPlayerDialog(playerid, 27, DIALOG_STYLE_LIST, "Опции",str1, "Выбор","Назад");
}
case 1:
{
new strcatka[500];
strcat(strcatka,"{FFFFFF}Доступные команды:\n\n/sellflat - продать квартиру за 50% от стоимости государству\n/healme - использовать аптечку (доступно для всех)\n/house - найти подъезд на карте\n/park - установить место для парковки\n/fixcar - припарковать автомобиль подъезду");
strcat(strcatka,"\n\n\nПримечание:\n- Квартира изымается государством, если квартплата не была произведена вовремя.\n- Оплатить за квартиру можно в любом банкомате.\n- Аптечки можно купить в магазине 24/7.");
ShowPlayerDialog(playerid, 28, DIALOG_STYLE_MSGBOX, "Помощь в содержании", strcatka, "Меню","Закрыть");
}
}
}
case 2: cmd_fpanel(playerid,"");
}
}
case 28:
{
switch(response)
{
case 1:
{
new i = GetPVarInt(playerid,"PlayerFlat");
new text[20];
switch(KvInfo[i][kLock])
{
case 0: format(text,sizeof(text),"{20BA09}Открыто");
case 1: format(text,sizeof(text),"{F85A5A}Закрыто");
}
static const fmt_str1[] = "{FFFFFF}Входная дверь:\t%s{FFFFFF}\nПомощь по содержанию квартиры";
new str1[sizeof(fmt_str1)+20];
format(str1,sizeof(str1),fmt_str1,text);
ShowPlayerDialog(playerid, 27, DIALOG_STYLE_LIST, "Опции",str1, "Выбор","Назад");
}
default: return true;
}
}
case 35:
{
switch(response)
{
case 1:
{
switch(listitem)
{
case 0:
{
if(KvInfo[GetPVarInt(playerid,"PlayerFlat")][kOplata] > 1) return InfoOplFlat(playerid);
SetPVarInt(playerid,"Skoka",50);
ShowPlayerDialog(playerid,37,DIALOG_STYLE_MSGBOX,"Оплата квартиры","{FFFFFF}Стоимость платы за квартиру на 1 ч. составит: $50\nВы подтверждаете платеж?","Да","Нет");
}
case 1:
{
if(KvInfo[GetPVarInt(playerid,"PlayerFlat")][kOplata] > 12) return InfoOplFlat(playerid);
SetPVarInt(playerid,"Skoka",600);
ShowPlayerDialog(playerid,37,DIALOG_STYLE_MSGBOX,"Оплата квартиры","{FFFFFF}Стоимость платы за квартиру на 12 ч. составит: $600\nВы подтверждаете платеж?","Да","Нет");
}
case 2:
{
if(KvInfo[GetPVarInt(playerid,"PlayerFlat")][kOplata] > 24) return InfoOplFlat(playerid);
SetPVarInt(playerid,"Skoka",1200);
ShowPlayerDialog(playerid,37,DIALOG_STYLE_MSGBOX,"Оплата квартиры","{FFFFFF}Стоимость платы за квартиру на 24 ч. составит: $1200\nВы подтверждаете платеж?","Да","Нет");
}
case 3:
{
if(KvInfo[GetPVarInt(playerid,"PlayerFlat")][kOplata]/24 > 7) return InfoOplFlat(playerid);
SetPVarInt(playerid,"Skoka",8400);
ShowPlayerDialog(playerid,37,DIALOG_STYLE_MSGBOX,"Оплата квартиры","{FFFFFF}Стоимость платы за квартиру на 1 ч. составит: $8400\nВы подтверждаете платеж?","Да","Нет");
}
case 4:
{
if(KvInfo[GetPVarInt(playerid,"PlayerFlat")][kOplata]/24 > 14) return InfoOplFlat(playerid);
SetPVarInt(playerid,"Skoka",16800);
ShowPlayerDialog(playerid,37,DIALOG_STYLE_MSGBOX,"Оплата квартиры","{FFFFFF}Стоимость платы за квартиру на 1 ч. составит: $16800\nВы подтверждаете платеж?","Да","Нет");
}
case 5:
{
if(KvInfo[GetPVarInt(playerid,"PlayerFlat")][kOplata]/24 > 30) return InfoOplFlat(playerid);
SetPVarInt(playerid,"Skoka",36000);
ShowPlayerDialog(playerid,37,DIALOG_STYLE_MSGBOX,"Оплата квартиры","{FFFFFF}Стоимость платы за квартиру на 1 ч. составит: $36000\nВы подтверждаете платеж?","Да","Нет");
}
}
}
default: ShowPlayerDialog(playerid, 37, DIALOG_STYLE_LIST, "ATM", "{FFFFFF}Перевод денег игроку\nПополнить мобильный счет\nСнять с баланса бизнеса\nПополнить балас бизнеса\nОплатить дом\nОплатить квартиру","Выбор","Закрыть");
}
}
case 37:
{
if(!response) return DeletePVar(playerid,"Skoka");
if(PlayerInfo[playerid][pCash] < GetPVarInt(playerid,"Skok")) return SendClientMessage(playerid,CGREY,"У вас недостаточно средств");
new text[5];
if(GetPlayerFlat(playerid))
{
HInfo[GetPVarInt(playerid,"PlayerHouse")][hOplata] += GetPVarInt(playerid,"Skok")/50;
GiveMoney(playerid,-GetPVarInt(playerid,"Skok"));
format(query, sizeof(query), "UPDATE "TABLE_KV" SET oplata = '%i' WHERE id = '%d' LIMIT 1",KvInfo[GetPVarInt(playerid,"PlayerHouse")][kOplata],GetPVarInt(playerid,"PlayerHouse"));
mysql_query(query);
if(GetPVarInt(playerid,"Skok")/50 < 24) format(text,sizeof(text),"часа");
else format(text,sizeof(text),"дня");
static const fmt_str[] = "Вы внесли плату за квартиру на: %i %s. Стоимость: $%i";
new string[sizeof(fmt_str)+10+10+5];
format(string, sizeof(string), fmt_str, GetPVarInt(playerid,"Skok")/50,text,GetPVarInt(playerid,"Skok"));
SendClientMessage(playerid,-1,string);
}
}
В диалог банкомата добавляем это
PHP:
if(GetPlayerFlat(playerid))
{
ShowPlayerDialog(playerid, 36, DIALOG_STYLE_LIST, "На сколкьо хотите оплатить?","{FFFFFF}1 час\n12 часов\nСутки\nНеделя\n2 Недели\nМесяц(25% комиссия)" , "Выбор","Назад");
}
else SendClientMessage(playerid,CGREY,"Вы не владеете квартирой");
В конец мода
PHP:
stock InfoOplFlat(playerid)
{
if(KvInfo[GetPVarInt(playerid,"PlayerFlat")][kOplata] > 24)
{
static const fmt_string1[] = "За квартиру уже оплачено на %i дн. вперед";
new str1[sizeof(fmt_string1)+10];
format(str1, sizeof(str1), fmt_string1,KvInfo[GetPVarInt(playerid,"PlayerFlat")][kOplata]/24);
SendClientMessage(playerid,-1,str1);
}
else
{
static const fmt_string1[] = "За квартиру уже оплачено на %i ч. вперед";
new str1[sizeof(fmt_string1)+10];
format(str1, sizeof(str1), fmt_string1,KvInfo[GetPVarInt(playerid,"PlayerFlat")][kOplata]);
SendClientMessage(playerid,-1,str1);
}
return true;
}
stock LoadKv()
{
new time = GetTickCount();
mysql_query("SELECT * FROM `"TABLE_KV"`");
mysql_store_result();
if(mysql_num_rows() > 0)
{
for(new idx = 1; idx <= mysql_num_rows(); idx++)
{
mysql_fetch_row(query);
sscanf(query, "p<|>is[32]iffffffiifiiffffiii",
KvInfo[idx][id],
KvInfo[idx][kOwner],
KvInfo[idx][kVirtt],
KvInfo[idx][kX],
KvInfo[idx][kY],
KvInfo[idx][kZ],
KvInfo[idx][kXX],
KvInfo[idx][kYY],
KvInfo[idx][kZZ],
KvInfo[idx][kInt],
KvInfo[idx][kVirt],
KvInfo[idx][kFa],
KvInfo[idx][kPod],
KvInfo[idx][kCost],
KvInfo[idx][kCarx],
KvInfo[idx][kCary],
KvInfo[idx][kCarz],
KvInfo[idx][kCarfa],
KvInfo[idx][kHeal],
KvInfo[idx][kOplata],
KvInfo[idx][kLock]);
TOTALKV++;
if(!strcmp(KvInfo[idx][kOwner],"None",true))
{
static const fmt_string1[] = "Квартира: %i\nСтоимость: $%i";
new str1[sizeof(fmt_string1)+4+10];
format(str1,sizeof(str1),fmt_string1,KvInfo[idx][id],KvInfo[idx][kCost]);
KvLable[idx] = Create3DTextLabel(str1,0xDCEDF9FF,KvInfo[idx][kX], KvInfo[idx][kY], KvInfo[idx][kZ]+1,20.0,KvInfo[idx][kVirtt],1);
}
else
{
static const fmt_string1[] = "Квартира: %i\nВладелец: %s";
new str1[sizeof(fmt_string1)+4+MAX_PLAYER_NAME];
format(str1,sizeof(str1),fmt_string1,KvInfo[idx][id],KvInfo[idx][kOwner]);
KvLable[idx] = Create3DTextLabel(str1,CAGREEN,KvInfo[idx][kX], KvInfo[idx][kY], KvInfo[idx][kZ]+1,20.0,KvInfo[idx][kVirtt],1);
}
}
}
mysql_free_result();
printf(" [LOAD]: Успешная загрузка 'LoadKZ' - загружено %d за %d м.с", TOTALKV,GetTickCount() - time);
}
stock LoadPd()
{
new time = GetTickCount();
mysql_query("SELECT * FROM `"TABLE_PD"`");
mysql_store_result();
if(mysql_num_rows() > 0)
{
for(new idx = 1; idx <= mysql_num_rows(); idx++)
{
mysql_fetch_row(query);
sscanf(query, "p<|>iffffffiiif",
pdInfo[idx][id],
pdInfo[idx][pdX],
pdInfo[idx][pdY],
pdInfo[idx][pdZ],
pdInfo[idx][pdXX],
pdInfo[idx][pdYY],
pdInfo[idx][pdZZ],
pdInfo[idx][pdVirt],
pdInfo[idx][pdNach],
pdInfo[idx][pdKon],
pdInfo[idx][pdFa]);
TOTALPD++;
pdInfo[idx][pdPick][0] = CreatePickup(1318, 23, pdInfo[idx][pdX],pdInfo[idx][pdY],pdInfo[idx][pdZ]+0.35,0);
pdInfo[idx][pdPick][1] = CreatePickup(1318, 23, 2214.3845,-1150.5531,1025.7969,pdInfo[idx][pdVirt]);
pdInfo[idx][pdPick][2] = CreatePickup(1239, 23, 2217.3813,-1146.4050,1025.7969,pdInfo[idx][pdVirt]);
static const fmt_string1[] = "Подъезд: %i\nКвартиры %i-%i";
new str1[sizeof(fmt_string1)+5+5+5];
format(str1,sizeof(str1),fmt_string1,pdInfo[idx][id],pdInfo[idx][pdNach],pdInfo[idx][pdKon]);
pdLable[idx] = Create3DTextLabel(str1,0xDCEDF9FF,pdInfo[idx][pdX], pdInfo[idx][pdY], pdInfo[idx][pdZ]+1,20.0,0,1);
}
}
mysql_free_result();
printf(" [LOAD]: Успешная загрузка 'LoadKZ' - загружено %d за %d м.с", TOTALKV,GetTickCount() - time);
}
stock GetPlayerFlat(playerid)
{
new house = 0;
for(new i = 1; i <= TOTALKV;i++)
{
if(strcmp(PlayerInfo[playerid][pSendername], KvInfo[i][kOwner], true) == 0) house++, SetPVarInt(playerid, "PlayerFlat", i);
}
return house;
}
В OnGameModeInit
PHP:
LoadKv();
LoadPd();
В OnPlayerPickUpPickup
PHP:
for(new i = 1; i <= TOTALPD; i++)
{
if(pickupid == pdInfo[i][pdPick][0])
{
SetPlayerPos(playerid,2217.1704,-1150.3203,1025.7969);
SetPlayerFacingAngle(playerid,268.4353);
SetPlayerInterior(playerid,15);
SetPlayerVirtualWorld(playerid,pdInfo[i][pdVirt]);
}
else if(pickupid == pdInfo[i][pdPick][1])
{
SetPlayerPos(playerid,pdInfo[i][pdXX],pdInfo[i][pdYY],pdInfo[i][pdZZ]);
SetPlayerFacingAngle(playerid,pdInfo[i][pdFa]);
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,0);
}
else if(pickupid == pdInfo[i][pdPick][2])
{
static const fmt_str[] = "Подъезд №%i";
new string[sizeof(fmt_str)+5];
format(string, sizeof(string), fmt_str,i);
new srrt[700];
for(new i1 = 1; i1 <= TOTALKV;i1++)
{
if(KvInfo[i1][kPod] == i)
{
if(!strcmp(KvInfo[i1][kOwner],"None",true))
{
static const fmt_string1[] = "{FFFFFF}Квартира №%i\t\t Продаётся - $%i\n";
new str[sizeof(fmt_string1)+2+40+10];
format(str, sizeof(str), fmt_string1,KvInfo[i1][id],KvInfo[i1][kCost]);
strcat(srrt, str);
}
else
{
static const fmt_string1[] = "{FFFFFF}Квартира №%i\t\t Владелец - %s\n";
new str[sizeof(fmt_string1)+2+40+10];
format(str, sizeof(str), fmt_string1,KvInfo[i1][id],KvInfo[i1][kOwner]);
strcat(srrt, str);
}
}
}
ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,string,srrt,"Ок","");
}
}
Команды для создания квартир и подъездов
Инструкция по созданию:
1. Встаём там куда игрок будет ВЫХОДИТЬ из подъезда и пишем /cpod
2. Далее идем на место где будет сам подъезд пишем /cpod1
3. Потом просто пишем /ppp
Инструкция по созданию:
1. Встаём там куда игрок будет ВЫХОДИТЬ из подъезда и пишем /cpod
2. Далее идем на место где будет сам подъезд пишем /cpod1
3. Потом просто пишем /ppp
PHP:
CMD:cpod(playerid,params[])
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
format(coor, sizeof(coor),"%f, %f, %f", x, y, z);
SendClientMessage(playerid, -1, "Координаты созданы. Установите выходные координаты: /cpod1");
return true;
}
CMD:ppp(playerid)
{
TOTALPD++;
TOTALKV++;
pdInfo[TOTALPD][id] = TOTALPD;
pdInfo[TOTALPD][pdNach] = TOTALKV;
pdInfo[TOTALPD][pdKon] = TOTALKV+12;
SendClientMessage(playerid,-1,"1");
new kek = 0;
new krek = TOTALKV;
TOTALKV += 12;
for(new i = krek; i <= TOTALKV; i++)
{
switch(random(3))
{
case 0:
{
KvInfo[i][kXX] = 2283.2683;
KvInfo[i][kYY] = -1137.6683;
KvInfo[i][kZZ] = 1050.8984;
KvInfo[i][kFa] = 357.6659;
KvInfo[i][kInt] = 11;
KvInfo[i][kCost] = 110000;
}
case 1:
{
KvInfo[i][kXX] = 2215.3562;
KvInfo[i][kYY] = -1076.0864;
KvInfo[i][kZZ] = 1050.4844;
KvInfo[i][kFa] = 89.4577;
KvInfo[i][kInt] = 1;
KvInfo[i][kCost] = 125000;
}
case 2,3:
{
KvInfo[i][kXX] = 2233.5273;
KvInfo[i][kYY] = -1111.0854;
KvInfo[i][kZZ] = 1050.8828;
KvInfo[i][kFa] = 0.4547;
KvInfo[i][kInt] = 5;
KvInfo[i][kCost] = 75000;
}
}
KvInfo[i][id] = i;
KvInfo[i][kX] = HotelNum[kek][0];
KvInfo[i][kY] = HotelNum[kek][1];
KvInfo[i][kZ] = HotelNum[kek][2];
KvInfo[i][kVirtt] = TOTALPD;
KvInfo[i][kVirt] = i;
SendClientMessage(playerid,-1,"+");
KvInfo[i][kPod] = TOTALPD;
kek++;
static const fmt_string1[] = "Квартира: %i\nСтоимость: $%i";
new str1[sizeof(fmt_string1)+4+10];
format(str1,sizeof(str1),fmt_string1,KvInfo[i][id],KvInfo[i][kCost]);
strmid(KvInfo[i][kOwner], "None", 0, strlen("None"), MAX_PLAYER_NAME);
KvLable[i] = Create3DTextLabel(str1,0xDCEDF9FF,KvInfo[i][kX], KvInfo[i][kY], KvInfo[i][kZ]+1,20.0,KvInfo[i][kVirtt],1);
format(query, sizeof(query), "INSERT INTO `"TABLE_KV"` (`id`,`name`,`kvirt`,`x`,`y`,`z`,`xx`,`yy`,`zz`,`int`,`virt`,`kfa`,`pod`,`cost`,`carx`,`cary`,`carz`,`carfa`) VALUES ('%d', 'None', '%d', '%f', '%f', '%f','%f', '%f', '%f', '%d', '%d', '%f','%d', '%d',0, 0, 0, 0)",
i,KvInfo[i][kVirtt],KvInfo[i][kX],KvInfo[i][kY],KvInfo[i][kZ],KvInfo[i][kXX],KvInfo[i][kYY],KvInfo[i][kZZ],KvInfo[i][kInt],KvInfo[i][kVirt],KvInfo[i][kFa],KvInfo[i][kPod],
KvInfo[i][kCost]);
mysql_query(query);
}
return true;
}
CMD:cpod1(playerid,params[])
{
new Float:x, Float:y, Float:z, Float:fa;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, fa);
sscanf(coor,"p<,>fff",pdInfo[TOTALPD][pdX],pdInfo[TOTALPD][pdY],pdInfo[TOTALPD][pdZ]);
SendClientMessage(playerid,-1,"2");
pdInfo[TOTALPD][pdXX] = x;
pdInfo[TOTALPD][pdYY] = y;
pdInfo[TOTALPD][pdZZ] = z;
pdInfo[TOTALPD][pdFa] = fa;
pdInfo[TOTALPD][pdVirt] = TOTALPD;
pdInfo[TOTALPD][pdPick][0] = CreatePickup(1318, 23, pdInfo[TOTALPD][pdX],pdInfo[TOTALPD][pdY],pdInfo[TOTALPD][pdZ]+0.35,0);
pdInfo[TOTALPD][pdPick][1] = CreatePickup(1318, 23, 2214.3845,-1150.5531,1025.7969,pdInfo[TOTALPD][pdVirt]);
pdInfo[TOTALPD][pdPick][2] = CreatePickup(1239, 23, 2217.3813,-1146.4050,1025.7969,pdInfo[TOTALPD][pdVirt]);
static const fmt_string1[] = "Подъезд: %i\nКвартиры %i-%i";
new str1[sizeof(fmt_string1)+5+5+5];
format(str1,sizeof(str1),fmt_string1,pdInfo[TOTALPD][id],pdInfo[TOTALPD][pdNach],pdInfo[TOTALPD][pdKon]);
pdLable[TOTALPD] = Create3DTextLabel(str1,0xDCEDF9FF,pdInfo[TOTALPD][pdX], pdInfo[TOTALPD][pdY], pdInfo[TOTALPD][pdZ]+1,20.0,0,1);
format(query, sizeof(query), "INSERT INTO `"TABLE_PD"` (`id`,`x`,`y`,`z`,`xx`,`yy`,`zz`,`virt`,`nach`,`kon`,`fa`) VALUES ('%d', '%f', '%f', '%f','%f', '%f', '%f', '%d', '%d', '%d', '%f')",
TOTALPD,pdInfo[TOTALPD][pdX],pdInfo[TOTALPD][pdY],pdInfo[TOTALPD][pdZ],pdInfo[TOTALPD][pdXX],pdInfo[TOTALPD][pdYY],pdInfo[TOTALPD][pdZZ],
pdInfo[TOTALPD][pdVirt],pdInfo[TOTALPD][pdNach],pdInfo[TOTALPD][pdKon],pdInfo[TOTALPD][pdFa]);
mysql_query(query);
return SendClientMessage(playerid,-1,"/ppp");
}
База данных
PHP:
CREATE TABLE IF NOT EXISTS `kvart` (
`id` int(11) NOT NULL,
`name` varchar(32) CHARACTER SET utf8 NOT NULL DEFAULT 'None',
`kvirt` int(11) NOT NULL,
`x` float NOT NULL,
`y` float NOT NULL,
`z` float NOT NULL,
`xx` float NOT NULL,
`yy` float NOT NULL,
`zz` float NOT NULL,
`int` int(11) NOT NULL,
`virt` int(11) NOT NULL,
`kfa` float NOT NULL,
`pod` int(11) NOT NULL,
`cost` int(11) NOT NULL,
`carx` float NOT NULL,
`cary` float NOT NULL,
`carz` float NOT NULL,
`carfa` float NOT NULL
) ENGINE=MyISAM AUTO_INCREMENT=130 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE IF NOT EXISTS `pod` (
`id` int(11) NOT NULL,
`x` float NOT NULL,
`y` float NOT NULL,
`z` float NOT NULL,
`xx` float NOT NULL,
`yy` float NOT NULL,
`zz` float NOT NULL,
`virt` int(11) NOT NULL,
`noch` int(11) NOT NULL,
`kon` int(11) NOT NULL,
`fa` float NOT NULL
) ENGINE=MyISAM AUTO_INCREMENT=130 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
Последнее редактирование:
