Maxim_Shmakov
Изучающий
- Регистрация
- 18 Сен 2011
- Сообщения
- 540
- Лучшие ответы
- 0
- Репутация
- 118
Здравствуйте Ув. пользователи pawno-info!
Я делаю мод с new.pwn и изначально занялся системой домов, что бы не париться я вырезал её из RLS и слегка изменил!
Вот теперь выкладываю мануал для вас.
Я делаю мод с new.pwn и изначально занялся системой домов, что бы не париться я вырезал её из RLS и слегка изменил!
Вот теперь выкладываю мануал для вас.
Итак начнем!
Ко всем forward добавим:
PHP:
forward LoadProperty();
forward OnPropUpdate();
forward OnPropTextdrawUpdate();
PHP:
new pickups;//Пикап дома
new Text3D:HouseLabel[MAX_HOUSES];//3d текст домов
PHP:
#define MAX_HOUSES 101 // 101 - общее количество домов на сервере его можно узнать в new HouseInfo
PHP:
enum hInfo
{
Float:hEntrancex,
Float:hEntrancey,
Float:hEntrancez,
Float:hExitx,
Float:hExity,
Float:hExitz,
hOwner[MAX_PLAYER_NAME],
hValue,
hInt,
hLock,
hOwned,
hTakings,
hKlass,
hPickup,
hMIcon,
};
new HouseInfo[101][hInfo];//Количество домов
PHP:
LoadProperty();//Загрузка домов
PHP:
new PropertyString[128];
for(new h = 0; h < sizeof(HouseInfo); h++)
{
if(HouseInfo[h][hOwned] == 0)
{
if(HouseInfo[h][hKlass] == 0)format(PropertyString, sizeof(PropertyString), "{fb1902}Дом продаётся\n{02fbf2}Цена: {fbec02}%d$\n{02fbf2}Класс: {fb020e}Nope\n{02fbf2}Номер дома: {0e02fb}%d\n{fb1902}/buyhouse",HouseInfo[h][hValue],h);
else if(HouseInfo[h][hKlass] == 1)format(PropertyString, sizeof(PropertyString), "{fb1902}Дом продаётся\n{02fbf2}Цена: {fbec02}%d$\n{02fbf2}Класс: {fb020e}D\n{02fbf2}Номер дома: {0e02fb}%d\n{fb1902}/buyhouse",HouseInfo[h][hValue],h);
else if(HouseInfo[h][hKlass] == 2)format(PropertyString, sizeof(PropertyString), "{fb1902}Дом продаётся\n{02fbf2}Цена: {fbec02}%d$\n{02fbf2}Класс: {fb020e}C\n{02fbf2}Номер дома: {0e02fb}%d\n{fb1902}/buyhouse",HouseInfo[h][hValue],h);
else if(HouseInfo[h][hKlass] == 3)format(PropertyString, sizeof(PropertyString), "{fb1902}Дом продаётся\n{02fbf2}Цена: {fbec02}%d$\n{02fbf2}Класс: {fb020e}B\n{02fbf2}Номер дома: {0e02fb}%d\n{fb1902}/buyhouse",HouseInfo[h][hValue],h);
else format(PropertyString, sizeof(PropertyString), "{fb1902}Дом продаётся\n{02fbf2}Цена: {fbec02}%d$\n{02fbf2}Класс: {fb020e}A\n{09b90e}Номер дома: {0e02fb}%d\n{fb1902}/buyhouse",HouseInfo[h][hValue],h);
HouseLabel[h] = Create3DTextLabel(PropertyString ,0x00FF00AA,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez],25, 0, 1);
HouseInfo[h][hPickup] = CreatePickup(1273, 23, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez],-1);
pickups++;
HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 31, COLOR_WHITE, 0, -1, -1, 400.0);
}
if(HouseInfo[h][hOwned] == 1)
{
if(HouseInfo[h][hKlass] == 0)format(PropertyString, sizeof(PropertyString), "{09b90e}Владелец: {fbf802}%s\n{09b90e}Класс: {fb020e}Nope\n{09b90e}Номер дома: {0e02fb}%d",HouseInfo[h][hOwner],h);
else if(HouseInfo[h][hKlass] == 1)format(PropertyString, sizeof(PropertyString), "{09b90e}Владелец: {fbf802}%s\n{09b90e}Класс: {fb020e}D\n{09b90e}Номер дома: {0e02fb}%d",HouseInfo[h][hOwner],h);
else if(HouseInfo[h][hKlass] == 2)format(PropertyString, sizeof(PropertyString), "{09b90e}Владелец: {fbf802}%s\n{09b90e}Класс: {fb020e}C\n{09b90e}Номер дома: {0e02fb}%d",HouseInfo[h][hOwner],h);
else if(HouseInfo[h][hKlass] == 3)format(PropertyString, sizeof(PropertyString), "{09b90e}Владелец: {fbf802}%s\n{09b90e}Класс: {fb020e}B\n{09b90e}Номер дома: {0e02fb}%d",HouseInfo[h][hOwner],h);
else format(PropertyString, sizeof(PropertyString), "{09b90e}Владелец: {fbf802}%s\n{09b90e}Класс: {fb020e}A\n{09b90e}Номер дома: {0e02fb}%d",HouseInfo[h][hOwner],h);
HouseLabel[h] = Create3DTextLabel(PropertyString ,0x00FFFFAA,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez],25, 0, 1);
HouseInfo[h][hPickup] = CreatePickup(1272, 23, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez],-1);
pickups++;
HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 32, COLOR_WHITE, 0, -1, -1, 400.0);
}
}
PHP:
OnPropUpdate();//Сохранение домов
PHP:
pHousecash,//Домашний счет
pPhousekey,//Ключ от дома
pLocal,
PHP:
PlayerInfo[playerid][pPhousekey] = 255;
PlayerInfo[playerid][pHousecash] = 0;
PlayerInfo[playerid][pLocal] = 255;
PHP:
iniSetInt(File,"House",PlayerInfo[playerid][pPhousekey]);
iniSetInt(File,"Housecash",PlayerInfo[playerid][pHousecash]);
iniSetInt(File,"Local",PlayerInfo[playerid][pLocal]);
PHP:
iniSetInt(File,"House",PlayerInfo[playerid][pPhousekey]);
iniSetInt(File,"Housecash",PlayerInfo[playerid][pHousecash]);
iniSetInt(File,"Local",PlayerInfo[playerid][pLocal]);
PHP:
iniGetInt(File,"House",PlayerInfo[playerid][pPhousekey]);
iniGetInt(File,"Housecash",PlayerInfo[playerid][pHousecash]);
iniGetInt(File,"Local",PlayerInfo[playerid][pLocal]);
И после этого вставляем:if(PlayerInfo[playerid][pReg] == 0)
{
PHP:
PlayerInfo[playerid][pLocal] = 255;
PHP:
stock BuyHouse()
{
if(logs == 1)
{
printr("BuyHouse");
}
for(new h = 0; h < sizeof(HouseInfo); h++)
{
new PropertyString[128];
if(HouseInfo[h][hOwned] == 0)
{
Delete3DTextLabel(HouseLabel[h]);
if(HouseInfo[h][hKlass] == 0)format(PropertyString, sizeof(PropertyString), "{fb1902}Дом продаётся\n{02fbf2}Цена: {fbec02}%d$\n{02fbf2}Класс: {fb020e}Nope\n{02fbf2}Номер дома: {0e02fb}%d\n{fb1902}/buyhouse",HouseInfo[h][hValue],h);
else if(HouseInfo[h][hKlass] == 1)format(PropertyString, sizeof(PropertyString), "{fb1902}Дом продаётся\n{02fbf2}Цена: {fbec02}%d$\n{02fbf2}Класс: {fb020e}D\n{02fbf2}Номер дома: {0e02fb}%d\n{fb1902}/buyhouse",HouseInfo[h][hValue],h);
else if(HouseInfo[h][hKlass] == 2)format(PropertyString, sizeof(PropertyString), "{fb1902}Дом продаётся\n{02fbf2}Цена: {fbec02}%d$\n{02fbf2}Класс: {fb020e}C\n{02fbf2}Номер дома: {0e02fb}%d\n{fb1902}/buyhouse",HouseInfo[h][hValue],h);
else if(HouseInfo[h][hKlass] == 3)format(PropertyString, sizeof(PropertyString), "{fb1902}Дом продаётся\n{02fbf2}Цена: {fbec02}%d$\n{02fbf2}Класс: {fb020e}B\n{02fbf2}Номер дома: {0e02fb}%d\n{fb1902}/buyhouse",HouseInfo[h][hValue],h);
else format(PropertyString, sizeof(PropertyString), "{fb1902}Дом продаётся\n{02fbf2}Цена: {fbec02}%d$\n{02fbf2}Класс: {fb020e}A\n{09b90e}Номер дома: {0e02fb}%d\n{fb1902}/buyhouse",HouseInfo[h][hValue],h);
HouseLabel[h] = Create3DTextLabel(PropertyString ,0x00FF00AA,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez],25, 0, 1);
DestroyDynamicMapIcon(HouseInfo[h][hMIcon]);
DestroyPickup(HouseInfo[h][hPickup]);
AddStaticPickup(1273, 21, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]);
pickups++;
HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 31, COLOR_WHITE, 0, -1, -1, 400.0);
}
if(HouseInfo[h][hOwned] == 1)
{
Delete3DTextLabel(HouseLabel[h]);
if(HouseInfo[h][hKlass] == 0)format(PropertyString, sizeof(PropertyString), "{09b90e}Владелец: {fbf802}%s\n{09b90e}Класс: {fb020e}Nope\n{09b90e}Номер дома: {0e02fb}%d",HouseInfo[h][hOwner],h);
else if(HouseInfo[h][hKlass] == 1)format(PropertyString, sizeof(PropertyString), "{09b90e}Владелец: {fbf802}%s\n{09b90e}Класс: {fb020e}D\n{09b90e}Номер дома: {0e02fb}%d",HouseInfo[h][hOwner],h);
else if(HouseInfo[h][hKlass] == 2)format(PropertyString, sizeof(PropertyString), "{09b90e}Владелец: {fbf802}%s\n{09b90e}Класс: {fb020e}C\n{09b90e}Номер дома: {0e02fb}%d",HouseInfo[h][hOwner],h);
else if(HouseInfo[h][hKlass] == 3)format(PropertyString, sizeof(PropertyString), "{09b90e}Владелец: {fbf802}%s\n{09b90e}Класс: {fb020e}B\n{09b90e}Номер дома: {0e02fb}%d",HouseInfo[h][hOwner],h);
else format(PropertyString, sizeof(PropertyString), "{09b90e}Владелец: {fbf802}%s\n{09b90e}Класс: {fb020e}A\n{09b90e}Номер дома: {0e02fb}%d",HouseInfo[h][hOwner],h);
HouseLabel[h] = Create3DTextLabel(PropertyString ,0x00FFFFAA,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez],25, 0, 1);
DestroyDynamicMapIcon(HouseInfo[h][hMIcon]);
DestroyPickup(HouseInfo[h][hPickup]);
AddStaticPickup(1272, 21, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]);
pickups++;
HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 32, COLOR_WHITE, 0, -1, -1, 400.0);
}
}
return 1;
}
public LoadProperty()
{
if(logs == 1)
{
printr("LoadProperty");
}
new arrCoords[25][64];
new strFromFile2[256];
new File: file = fopen("logs/property.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][hInt] = strval(arrCoords[8]);
HouseInfo[idx][hLock] = strval(arrCoords[9]);
HouseInfo[idx][hOwned] = strval(arrCoords[10]);
HouseInfo[idx][hTakings] = strval(arrCoords[11]);
HouseInfo[idx][hKlass] = strval(arrCoords[12]);
HouseInfo[idx][hMIcon] = strval(arrCoords[13]);
idx++;
}
fclose(file);
}
return 1;
}
public OnPropUpdate()
{
if(logs == 1)
{
printr("OnPropUpdate");
}
new idx;
new File: file2;
while (idx < sizeof(HouseInfo))
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%f,%f,%f,%f,%f,%f,%s,%d,%d,%d,%d,%d,%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][hInt],
HouseInfo[idx][hLock],
HouseInfo[idx][hOwned],
HouseInfo[idx][hTakings],
HouseInfo[idx][hKlass],
HouseInfo[idx][hMIcon]);
if(idx == 0)
{
file2 = fopen("logs/property.cfg", io_write);
}
else
{
file2 = fopen("logs/property.cfg", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return 1;
}
Далее добавим команды!
В public OnPlayerCommandText(playerid, cmdtext[]):
PHP:
if(strcmp(cmd, "/setpos", true) == 0)
{
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] == 6)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "{ff0033} » Введите: {FFFFFF}/setpos [Номер дома] [Цена]");
new house = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "{ff0033} » Введите: {FFFFFF}/setpos [Номер дома] [Цена]");
new money;
money = strval(tmp);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "{ff0033} » Введите: {FFFFFF}/setpos [Номер дома] [Цена]");
HouseInfo[house][hValue] = money;
new Float: lwx, Float:lwy, Float:lwz;
GetPlayerPos(playerid, lwx, lwy, lwz);
HouseInfo[house][hEntrancex] = lwx;
HouseInfo[house][hEntrancey]= lwy;
HouseInfo[house][hEntrancez] = lwz;
SendClientMessage(playerid, COLOR_WHITE, " » Дом успешно поставлен!");
BuyHouse();
}
return 1;
}
if(strcmp(cmd, "/edit", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 6)
{
if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "У Вас бан чата!"); return 1; }
ShowPlayerDialog(playerid, 3725, DIALOG_STYLE_LIST, "Выберите действие", "Продать все дома\nРаспределить все дома по классам\n Распределить по интеръерам", "Ок", "Закрыть");
return 1;
}
return 1;
}
if(strcmp(cmd, "/hmenu", true) == 0 || strcmp(cmd, "/hm", true) == 0)
{
new bouse = PlayerInfo[playerid][pPhousekey];
GetPlayerName(playerid, playername, sizeof(playername));
if (bouse != 255 && strcmp(playername, HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
{
if (PlayerToPoint(10, playerid,HouseInfo[bouse][hExitx], HouseInfo[bouse][hExity], HouseInfo[bouse][hExitz]))
{
format(string, sizeof(string), "- Открыть / Закрыть дом\n- Продать дом\n- На счету дома: %d вирт", HouseInfo[bouse][hTakings]);
ShowPlayerDialog(playerid, 5300, DIALOG_STYLE_LIST, "Информация о доме", string, "Выбрать", "Отмена");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Вы не у себя дома!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Вы не владелец дома!");
return 1;
}
}
if(strcmp(cmd, "/buyhouse", true) == 0)
{
new Float:oldposx, Float:oldposy, Float:oldposz;
GetPlayerName(playerid, playername, sizeof(playername));
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][pPhousekey] != 255 && strcmp(playername, HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
{
SendClientMessage(playerid, COLOR_LIGHTGREEN, "У вас уже есть дом");
SendClientMessage(playerid, COLOR_WHITE, "(/hmenu - Продать дом)");
return 1;
}
if(PlayerInfo[playerid][pCash] < HouseInfo[h][hValue]) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько денег на руках!");
PlayerInfo[playerid][pPhousekey] = h;
HouseInfo[h][hOwned] = 1;
HouseInfo[h][hTakings] =100;
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];
PlayerInfo[playerid][pLocal] = h;
SetPlayerVirtualWorld(playerid,h+50);
SendClientMessage(playerid, COLOR_LIGHTGREEN, ":::: Ваш чек ::::");
format(string, sizeof(string), "- Вы приобрели дом за %d вирт", HouseInfo[h][hValue]);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "- У Вас осталось: %d вирт", PlayerInfo[playerid][pCash]);
SendClientMessage(playerid, COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_WHITE, "- Меню дома: /hmenu");
SendClientMessage(playerid, COLOR_WHITE, "- Не забудьте пополнить Домашний счёт");
SendClientMessage(playerid, COLOR_LIGHTGREEN, ":::: Ваш чек ::::");
OnPropUpdate();
BuyHouse();
OnPlayerUpdateRL(playerid);
return 1;
}
}
return 1;
}
if(strcmp(cmd, "/enter", true) == 0)
{
for(new i = 0; i < sizeof(HouseInfo); i++)
{
if (PlayerToPoint(1, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
{
if(PlayerInfo[playerid][pPhousekey] == i || HouseInfo[i][hLock] == 0)
{
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];
PlayerInfo[playerid][pLocal] = i;
}
else
{
GameTextForPlayer(playerid, "~r~Locked", 5000, 1);
}
}
}
return 1;
}
PHP:
if(newkeys == 1024)//Alt
{
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)
{
ShowPlayerDialog(playerid,70,DIALOG_STYLE_MSGBOX,"Выход из дома","Хотите выйти из дома?", "Да", "Нет");
}
}
}
}
if(newkeys == 1024)//Alt
{
for(new i = 0; i < sizeof(HouseInfo); i++)
{
if (PlayerToPoint(1, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
{
OnPlayerCommandText(playerid, "/enter");
}
}
}
Далее добавим несколько диалогов!
В public OnDialogResponse:
PHP:
if(dialogid == 70)
{
if(response)
{
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;
PlayerInfo[playerid][pLocal] = 255;
return 1;
}
}
}
}
else
{
return 1;
}
}
if(dialogid == 3725)
{
if(response)
{
if(listitem == 0)
{
for(new h = 0; h < sizeof(HouseInfo); h++)
{
if(HouseInfo[h][hOwned] == 1)
{
HouseInfo[h][hOwned] = 0;
SendClientMessage(playerid, COLOR_GRAD1, "Все дома проданы");
strmid(HouseInfo[h][hOwner], "The State", 0, strlen("The State"), 255);
BuyHouse();
}
}
return 1;
}
else if(listitem == 1)
{
for(new h = 0; h < sizeof(HouseInfo); h++)
{
if(HouseInfo[h][hValue] <= 300000)
{
HouseInfo[h][hKlass] = 0;
}
if(HouseInfo[h][hValue] >= 500000)
{
HouseInfo[h][hKlass] = 1;
}
if(HouseInfo[h][hValue] >= 2000000)
{
HouseInfo[h][hKlass] = 2;
}
if(HouseInfo[h][hValue] >= 3000000)
{
HouseInfo[h][hKlass] = 3;
}
if(HouseInfo[h][hValue] > 5000000)
{
HouseInfo[h][hKlass] = 4;
}
SendClientMessage(playerid, COLOR_GRAD1, "По классам дома распределены");
}
}
else if(listitem == 2)
{
for(new h = 0; h < sizeof(HouseInfo); h++)
{
new cens = HouseInfo[h][hKlass];
if(cens == 0 )//Бомж стиль
{
HouseInfo[h][hInt] = 10;
HouseInfo[h][hExitx] = 2262.83;
HouseInfo[h][hExity]= -1137.71;
HouseInfo[h][hExitz] =1050.63;
}
if(cens == 1 )
{
HouseInfo[h][hInt] = 5;
HouseInfo[h][hExitx] = 2233.6919;
HouseInfo[h][hExity]= -1112.8107;
HouseInfo[h][hExitz] =1050.8828;
}
if(cens == 2 )
{
HouseInfo[h][hInt] = 10;
HouseInfo[h][hExitx] = 2260.76;
HouseInfo[h][hExity]= -1210.45;
HouseInfo[h][hExitz] =1049.02;
}
if(cens == 3 )
{
HouseInfo[h][hInt] = 3;
HouseInfo[h][hExitx] = 235.508994;
HouseInfo[h][hExity]= 1189.169897;
HouseInfo[h][hExitz] = 1080.339966;
}
if(cens == 4 )
{
HouseInfo[h][hInt] = 12;
HouseInfo[h][hExitx] = 2324.33;
HouseInfo[h][hExity]= -1144.79;
HouseInfo[h][hExitz] =1050.71;
}
SendClientMessage(playerid, COLOR_GRAD1, "По интеръерам дома распределены");
}
}
}
return 1;
}
if(dialogid == 5300)
{
new house = PlayerInfo[playerid][pPhousekey];
if(response)
{
if(listitem == 0)
{
if(HouseInfo[house][hLock] == 1)
{
HouseInfo[house][hLock] = 0;
GameTextForPlayer(playerid, "~g~Unlocked", 5000, 6);
PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
return 1;
}
if(HouseInfo[house][hLock] == 0)
{
HouseInfo[house][hLock] = 1;
GameTextForPlayer(playerid, "~r~Locked", 5000, 6);
PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
return 1;
}
}
else if(listitem == 1)
{
ShowPlayerDialog(playerid,5032,DIALOG_STYLE_MSGBOX,"Продажа имущества","Внимание! Вы собираетесь продать Квартиру\n\nПродать Квартиру?","Да","Нет");
}
else
{
return 1;
}
}
}
if(dialogid == 5032)
{
new sendername[MAX_PLAYER_NAME];
new house = PlayerInfo[playerid][pPhousekey];
if(response)
{
for(new h = 0; h < sizeof(HouseInfo); h++)
{
HouseInfo[house][hLock] = 1;
HouseInfo[house][hOwned] = 0;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(HouseInfo[house][hOwner], "The State", 0, strlen("The State"), 255);
PlayerInfo[playerid][pCash] +=HouseInfo[house][hValue];
//PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
SendClientMessage(playerid, COLOR_LIGHTGREEN, ":::: Ваш чек :::: ");
format(string, sizeof(string), "- Квартира продана за %d вирт", HouseInfo[house][hValue]);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "- Выручка: %d", PlayerInfo[playerid][pCash]);
SendClientMessage(playerid, COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_LIGHTGREEN, ":::: Ваш чек:::: ");
PlayerInfo[playerid][pPhousekey] = 255;
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid,HouseInfo[house][hEntrancex],HouseInfo[house][hEntrancey],HouseInfo[house][hEntrancez]);
//CreateDynamicMapIcon(HouseInfo[h][hEntrancex],HouseInfo[h][hEntrancey],HouseInfo[h][hEntrancez],31,0);
PlayerInfo[playerid][pInt] = 0;
BuyHouse();
OnPropUpdate();
OnPlayerUpdateRL(playerid);
return 1;
}
}
else
{
return 1;
}
}
Вот и все! если что то не так пишите, я исправю!
Сюда вырезал уже из своего new.pwn (возможно что то мог пропустить) если что говорите!
Возможно вы уже заметили, я вырезал без аптечек, материалов, системы домашнего авто.
Не забудьте добавить файл property.cfg в \scriptfiles\logs