shape1
shape2
shape3
shape4
shape7
shape8

Покупка дома


Статус
Закрыто для дальнейших ответов.

AlexandrX

Новичок
Пользователь
03.11.2014
58
10
0
Здравствуйте еще раз, теперь у меня 2-я проблема, создал дом на сервере, хотел купить его, но мне пишет, что достигнуто мак. значение домов, при этом ранее я дом не покупал и на сервере это единственный дом, заранее спасибо.

 

Krutihine

Участник
Пользователь
10.07.2014
546
187
0
Скриптер
Ммм...

Скинь команду покупки дома

 

AlexandrX

Новичок
Пользователь
03.11.2014
58
10
0
Код:
if(newkeys & KEY_SPRINT)
	{
		for(new house = 2; house <= AllHouse; house++)
		{
			if(IsPlayerInRangeOfPoint(playerid,1.0,House[house][hvX],House[house][hvY],House[house][hvZ]) && GetPlayerVirtualWorld(playerid) == House[house][hvWorld])
			{
				if(!strcmp(House[house][hOwner],"Nones",false))
				{
					new str[255];
					format(str,sizeof(str),"\
					{ffffff}Продаётся дом\n\n\
					Цена: %d руб (%s)\n\
					Комнат: %d \n\
					Требуемый уровень : %d (%s)\n\
					\n\
					Если хотите купить нажмите \"Купить\"\n\
					Если не хотите нажмите \"Закрыть\""
					,House[house][hPrice],(PlayerInfo[playerid][pMoney] < House[house][hPrice]?("Недостаточно"):("Достаточно"))
					,House[house][hLevel],House[house][hKlass],(PlayerInfo[playerid][pLevel] < House[house][hLevel]?("Недостаточный"):("Достаточный")));
					if(PlayerInfo[playerid][pLevel] < House[house][hLevel] || PlayerInfo[playerid][pMoney] < House[house][hPrice])
					{
						return ShowPlayerDialog(playerid, 10000,0,"Продажа Владения",str,"Закрыть","");
					}
					else
					{
						SetPVarInt(playerid,"house_active",house);
						return ShowPlayerDialog(playerid, 7545,0,"Продажа Владения",str,"Купить","Закрыть");
					}
				}
				else
				{
					new arend[32];
					if(House[house][hNick1]) format(arend,32,"%s",House[house][hNick1]);
					new str[255];
					format(str,sizeof(str),"\
					{ffffff}Дом\n\n\
					Владелец: %s\n\
					Статус: %s\n\
					Прописан: %s\n\
					\n\
					Если хотите войти нажмите \"Войти\"\n\
					Если не хотите нажмите \"Закрыть\""
					,House[house][hOwner]
					,((House[house][hLock] == 0) ? ("Открыт"):("Закрыт")),
					arend);
					if(House[house][hLock] != 0)
					{
						return ShowPlayerDialog(playerid, 10000,0,"Дом",str,"Закрыть","");
					}
					if(House[house][hLock] != 1)
					{
						SetPVarInt(playerid,"house_active",house);
						return ShowPlayerDialog(playerid, 7546,0,"Дом",str,"Войти","Закрыть");
					}
				}
			}
			else if(IsPlayerInRangeOfPoint(playerid,1.0,House[house][hiX],House[house][hiY],House[house][hiZ]) && GetPlayerVirtualWorld(playerid) == house)
			{
				SetPlayerPos(playerid,House[house][hvX],House[house][hvY],House[house][hvZ]);
				SetPlayerVirtualWorld(playerid,House[house][hvWorld]);
				SetPlayerInterior(playerid,House[house][hvInt]);
				return true;
			}
		}
	}
	if(newkeys == 262144)
	{
 

Mirex

Руководитель проекта
Команда портала
Гл.Администратор
Золотой
21.12.2013
2 513
550
0
26
definehost.ru
Скриптер
Нужно увеличить общее количество домов на сервере.

 

Mirex

Руководитель проекта
Команда портала
Гл.Администратор
Золотой
21.12.2013
2 513
550
0
26
definehost.ru
Скриптер
Дак вот, я не могу найти строку "MAX_HOME" или "MAX_HOUSE", через CTRL+F не находит, какая еще строка может расширить кол-во домов?
В моде найдите текст который пишется в игре при покупке, там будет переменная отвечающая за лимит домов на сервере. 

 

AlexandrX

Новичок
Пользователь
03.11.2014
58
10
0
Дак вот, я не могу найти строку "MAX_HOME" или "MAX_HOUSE", через CTRL+F не находит, какая еще строка может расширить кол-во домов?
В моде найдите текст который пишется в игре при покупке, там будет переменная отвечающая за лимит домов на сервере. 
if(dialogid == 7545) // покупка дома
{
if(response)
{
new house = GetPVarInt(playerid,"house_active");
DeletePVar(playerid,"house_active");
new housenum = 0;
for(new house2 = 1; house2 <= AllHouse; house2++)
{
if(!strcmp(House[house2][hOwner],Names(playerid),false)) housenum++;
}
if(PlayerInfo[playerid][pAdministrator] >= 9) // домов для админов 9 уровня и больше
{
if(housenum >= 2) return SendClientMessage(playerid,-1,"Достигнуто максимальное количество домов");
}
else if(PlayerInfo[playerid][pDonateRank] >= 3) // домов для доната
{
if(housenum >= 2) return SendClientMessage(playerid,-1,"Достигнуто максимальное количество домов");
}
else // для обычных игроков
{
if(housenum >= 1) return SendClientMessage(playerid,-1,"Достигнуто максимальное количество домов");
}
if(!IsPlayerInRangeOfPoint(playerid,3.0,House[house][hvX],House[house][hvY],House[house][hvZ]))
{
return SendClientMessage(playerid,-1,"Вы отошли от дома");
}
if(PlayerInfo[playerid][pMoney] < House[house][hPrice])
{
return SendClientMessage(playerid,-1,"У вас не хватает денег");
}
else GiveMoney(playerid, -House[house][hPrice]);
SetPlayerPos(playerid,House[house][hiX],House[house][hiY],House[house][hiZ]);
SetPlayerVirtualWorld(playerid,house);
SetPlayerInterior(playerid,House[house][hInt]);
PlayerInfo[playerid][pPhousekey] ++;
format(House[house][hOwner],24,Names(playerid));
House[house][hDate] = gettime();
format(House[house][hNick1],24,"Nones");
House[AllHouse][hRent] = 0;
House[AllHouse][hRoom] = 0;
House[AllHouse][hBank] = 0;
UpdateHouse(house);
SaveHouse(house);
return SendClientMessage(playerid,-1,"Вы успешно купили себе дом");
}
else return true;
}

housenum >= 2 вот эта переменная ? 

 
C

compan

Гость
Гость
housenum>= 2 изменил на >= 100 каждое значение, все равно пишет достигнуто максимальное значение домов
Для обычного игрока измените строку на:

if(housenum > 1) return SendClientMessage(playerid,-1,"Достигнуто максимальное количество домов"); 
У вас там было выражение: больше или равно одному т.е. если 2 и более то нельзя купить и если один тоже нельзя купить.

Такжк отрегулируйте с админ домами и донат.

 

AlexandrX

Новичок
Пользователь
03.11.2014
58
10
0
housenum>= 2 изменил на >= 100 каждое значение, все равно пишет достигнуто максимальное значение домов
Для обычного игрока измените строку на:

if(housenum > 1) return SendClientMessage(playerid,-1,"Достигнуто максимальное количество домов"); 
У вас там было выражение: больше или равно одному т.е. если 2 и более то нельзя купить и если один тоже нельзя купить.

Такжк отрегулируйте с админ домами и донат.
Спасибо, я решил этот вопрос, можно вам такой вопрос, не по этой теме: а можно карту с сервера загрузить в map construction, чтобы и в map construction была та же карта, что и на сервера?

 
Последнее редактирование модератором:

Mirex

Руководитель проекта
Команда портала
Гл.Администратор
Золотой
21.12.2013
2 513
550
0
26
definehost.ru
Скриптер
Статус
Закрыто для дальнейших ответов.