Перейти к содержанию
Авторизация  
Marvellous

Подъезды (точнее хозяин квартир)

Рекомендуемые сообщения

Marvellous

Дорогие скриптеры,подскажите в одной проблеме!

 

Значит так:

1) Я создаю 6 подъездов(могу меньше/больше,разнице нет)

2) Захожу в первый подъезд нажимаю Список квартир и..... ни что не происходит..

3) Захожу в другие все нормально..

4) Арендую хату) все нормально

5) Делаю рестарт сервера

6) Нажимаю спавн в квартире и мне пишет что ее нет у меня.

 

Захожу в тот же подъезд и вижу что хата та которую арендовал она уже свободна....И почему в первом квартиры в списке не показывает не понятно!

 

Вторая проблема:

 

1) Арендовал хату

2) Нажимаешь список квартир

3) Все свободны пишет

 

Что нужно выложить вам что бы могли посмотреть в чем может такая быть беда?

Мод на БД

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Predator

Ну, наверно код создания квартиры, аренды квартиры, и списка квартир

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Marvellous

@Predator, В чем прикол,они создаются автоматически,т.е создаешь подъезд,заходишь в них и они уже есть! 


 Так же если я покупаю то потом становиться синий значек и в нем еще зеленый но в БД не записывается!

 

Сейчас попробывал через БД себе квартиру сделать все нормально и в списке квартир я так же есть,но значок так же синий/зеленый,то есть на этом значке можно будет купить без ограничений квартир!

 

А в первом подъезде так же не открывается список квартир!

 

Скидываю скрин про значки

 

FNSN204.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Marvellous

@Predator, Вот команда создание подъезда 

CMD:addpod(playerid)
{
     if(GetString(GetName(playerid), NAME_DEVELOPER_ONE) || GetString(GetName(playerid), NAME_DEVELOPER_TWO))
     {
         if(AdminLogged[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
         if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GREY, !"Вы не должны находиться в машине");
         new Float:x, Float:y, Float:z;
         GetPlayerPos(playerid, x, y, z);
         new Cache:temp = mysql_query(dbHandle, "SELECT max(id) FROM "T_PORCH_HOUSE"", true);
         new flat[10];
        cache_get_row(0, 0, flat);
        new last_flat = strval(flat) + 1;
        cache_delete(temp, dbHandle);
        new Query[200];
        mysql_format(dbHandle, Query, sizeof Query, "INSERT INTO "T_PORCH" (`pEnterX`, `pEnterY`,`pEnterZ`, `pCarX`, `pCarY`, `pCarZ`, `first_flat`) VALUES ('%f','%f','%f','%f','%f','%f','%d')", x, y, z, x, y, z, last_flat);
        temp = mysql_query(dbHandle, Query, true);
        new id = cache_insert_id(dbHandle);
        cache_delete(temp, dbHandle);
        for(new idx = 1; idx < sizeof(PorchFlatsCoord); idx++)
        {
            mysql_format(dbHandle, Query, sizeof Query, "INSERT INTO "T_PORCH_HOUSE" (`hEntrx`, `hEntry`,`hEntrz`,`hPrice`) VALUES ('%f','%f','%f','%d')", PorchFlatsCoord[idx][0],PorchFlatsCoord[idx][1],PorchFlatsCoord[idx][2], PORCH_FLAT_COST);
            mysql_tquery(dbHandle, Query, "", "");
            printf("%s",Query);
        }
        format(Query, sizeof Query, "{00FF00}Создан подъезд № %d\n{FFFFFF}*Изменения вступят в силу после перезагрузки сервера\n{FFFFFF}Не забудьте установить координаты для спавна авто ({1B84D1}/podsetcarpos)", id);
        ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{FFFFFF}Создание подъезда", Query, "Ок", "");
     }
     return 1;
}
case PORCH_MENU_DIALOGID+1:
		{
			if(!response) return SetPVarInt(playerid, "EnterPlayerPorchHouse", 0);
			new porch = GetPVarInt(playerid, "EnterPlayerPorch");
			new flat = GetPVarInt(playerid, "EnterPlayerPorchHouse");
			if(PI[playerid][pCash] < PorchHouseInfo[flat][hPrice]) return SendClientMessage(playerid, COLOR_GREY, "У вас недостаточно денег");
			if(GetPlayerHouse(playerid) != 0) return SendClientMessage(playerid, -1, "У вас уже есть дом");
			if(GetPlayerPorchHouse(playerid) != 0) return SendClientMessage(playerid, -1, "У вас уже есть квартира");
			PI[playerid][pCash] -= PorchHouseInfo[flat][hPrice];
			PorchHouseInfo[flat][hDays] = 1;
			PorchHouseInfo[flat][hOwnerID] = PI[playerid][pID]; 
			strmid(PorchHouseInfo[flat][hOwner], PI[playerid][pName], 0, strlen(PI[playerid][pName]), MAX_PLAYER_NAME);
			MysqlUpdatePlayerInt(playerid, "cash", PI[playerid][pCash]);
			new Query[170];
			mysql_format(dbHandle, Query, sizeof Query, "UPDATE "T_PORCH_HOUSE" SET `hOwner` = '%s', `hOwnerID` = '%d', `hDays` = '%d' WHERE `id` = '%d'", PI[playerid][pName], PI[playerid][pID], PorchHouseInfo[flat][hDays], flat);
			mysql_tquery(dbHandle, Query, "", "");
			print(Query);
			SendClientMessage(playerid, COLOR_BLUE, "Поздравляем, вы успешно арендовали квартиру!");
			SetPlayerPos(playerid, PorchHouseInfo[flat][hEntrx], PorchHouseInfo[flat][hEntry], PorchHouseInfo[flat][hEntrz]);
			DestroyDynamicMapIcon(PorchHouseInfo[flat][hMIcon]);
			DestroyDynamicPickup(PorchHouseInfo[flat][hPickup]);
			PorchHouseInfo[flat][hMIcon] = CreateDynamicMapIcon(PorchHouseInfo[flat][hEntrx], PorchHouseInfo[flat][hEntry], PorchHouseInfo[flat][hEntrz], 32, 0,porch + 100,9,-1,150.0);
			PorchHouseInfo[flat][hPickup] = CreateDynamicPickup(1272, 1, PorchHouseInfo[flat][hEntrx], PorchHouseInfo[flat][hEntry], PorchHouseInfo[flat][hEntrz], porch + 100,9);
			PI[playerid][pSpawnChange] = 4;
			//LoadMyCar(playerid);
			return 1;
		} 
		case PORCH_MENU_DIALOGID+2:
		{
			if(!response) return SetPVarInt(playerid, "EnterPlayerPorchHouse", 0);
			if(GetPlayerHouse(playerid) != 0) return SendClientMessage(playerid, -1, "У вас уже есть дом");
			if(GetPlayerPorchHouse(playerid) != 0) return SendClientMessage(playerid, -1, "У вас уже есть квартира");
			new temp = GetPVarInt(playerid, "EnterPlayerPorchHouse");
			new string[128];
			format(string, sizeof string, "{FFFFFF}Вы действительно хотите заселиться в квартиру №%d?\nРегистрация стоит %d рублей.", temp % 8, PorchHouseInfo[temp][hPrice]);
			return ShowPlayerDialog(playerid, PORCH_MENU_DIALOGID+1, DIALOG_STYLE_MSGBOX, "{FFE408}Подтверждение регистрации", string, "Выбрать", "Отмена");
		}
		case PORCH_MENU_DIALOGID+3:
		{
			if(!response) return SetPVarInt(playerid, "EnterPlayerPorchHouse", 0);
			new flat = GetPVarInt(playerid, "EnterPlayerPorchHouse");
			SetPlayerPos(playerid, -2295.0500,364.5222,-86.4541);
			SetPlayerVirtualWorld(playerid, flat + 100);
			SetPlayerInterior(playerid, 10);
			SetPlayerFacingAngle(playerid, 180);
			SetCameraBehindPlayer(playerid);
			return 1;
		}
		case PORCH_MENU_DIALOGID+4:
		{
			if(!response) return 1;
			if(GetPlayerPorchHouse(playerid) == 0) return SendClientMessage(playerid, -1, "Вы не арендуете квартиру");
			if(GetPVarInt(playerid, "EnterPlayerPorch") != floatround(GetPlayerPorchHouse(playerid) / 9, floatround_floor) + 1 ) return SendClientMessage(playerid, -1, "Вы не арендуете квартиру в этом доме");
			new pflat = GetPlayerPorchHouse(playerid);
			switch(listitem)
			{
				case 0:	
				{
					new string[128];
					format(string, sizeof string, "{FFFFFF}Оплаченных дней: %d/30\nЕжедневная плата: %d\n\nНа сколько дней вы хотите оплатить квартиру?", PorchHouseInfo[pflat][hDays], PORCH_FLAT_COST);
					ShowPlayerDialog(playerid, PORCH_MENU_DIALOGID+5, DIALOG_STYLE_INPUT, "{00D11A}Оплата проживания", string, "Оплатить", "Отмена");
				}
				case 1:
				{
					if(PI[playerid][cModel] == 0) return SendClientMessage(playerid, COLOR_DARKORANGE, "У вас нет авто!");
					LoadMyCar(playerid);
					SendClientMessage(playerid, COLOR_GREEN, "Вы успешно заспавнили свое авто");
				}
				case 2:
				{
					new Query[200];
					PI[playerid][pSpawnChange] = 0;
					SendClientMessage(playerid, COLOR_ORANGE, "Вы отказались от аренды квартиры");
					if(PI[playerid][PlayerCarID] != INVALID_VEHICLE_ID)
					{
						DestroyVehicle(PI[playerid][PlayerCarID]);
						PI[playerid][PlayerCarID] = INVALID_VEHICLE_ID;
					}
					MysqlUpdatePlayerInt(playerid, "spawnchange", 0);
					new porch = floatround(GetPlayerPorchHouse(playerid) / 9, floatround_floor) + 1;
					strmid(PorchHouseInfo[pflat][hOwner], "None", 0, strlen("None"), MAX_PLAYER_NAME);
					PorchHouseInfo[pflat][hDays] = 0;
					PorchHouseInfo[pflat][hOwnerID] = 0;
					mysql_format(dbHandle, Query, sizeof Query, "UPDATE "T_PORCH_HOUSE" SET `hOwner` = 'none', `hOwnerID` = '0', `hDays` = '0' WHERE `id` = '%d'", pflat);
					mysql_tquery(dbHandle, Query, "", "");
					DestroyDynamicMapIcon(PorchHouseInfo[pflat][hMIcon]);
					DestroyDynamicPickup(PorchHouseInfo[pflat][hPickup]);
					PorchHouseInfo[pflat][hMIcon] = CreateDynamicMapIcon(PorchHouseInfo[pflat][hEntrx], PorchHouseInfo[pflat][hEntry], PorchHouseInfo[pflat][hEntrz], 32, 0,porch + 100,9,-1,150.0);
					PorchHouseInfo[pflat][hPickup] = CreateDynamicPickup(1273, 1, PorchHouseInfo[pflat][hEntrx], PorchHouseInfo[pflat][hEntry], PorchHouseInfo[pflat][hEntrz], porch + 100, 9);
				}
			}
		}
		case PORCH_MENU_DIALOGID+5:
		{
			if(!response) return 1;
			new h_days,
			 	pflat = GetPlayerPorchHouse(playerid),
			 	string[144];
			if(sscanf(inputtext, "d", h_days) || h_days < 1) 
			{
				format(string, sizeof string, "{FFFFFFF}Оплаченных дней: %d/30\nЕжедневная плата: %d\n\nНа сколько дней вы хотите оплатить квартиру?", PorchHouseInfo[pflat][hDays], PORCH_FLAT_COST);
				return ShowPlayerDialog(playerid, PORCH_MENU_DIALOGID+5, DIALOG_STYLE_INPUT, "{00D11A}Оплата проживания", string, "Оплатить", "Отмена");
			}
			if(PI[playerid][pCash] < h_days* PORCH_FLAT_COST) return SendClientMessage(playerid, COLOR_GREY, "У вас недостаточно денег");
			if(h_days + PorchHouseInfo[pflat][hDays] > 30) return SendClientMessage(playerid, COLOR_GREY, "Вы не можете оплатить квартиру больше, чем на 30 суток.");
			PI[playerid][pCash] -= h_days* PORCH_FLAT_COST;
			PorchHouseInfo[pflat][hDays] += h_days;
			mysql_format(dbHandle, string, sizeof string, "UPDATE "T_PORCH_HOUSE" SET `hDays` = '%d' WHERE `id` = '%d'", PorchHouseInfo[pflat][hDays], pflat);
			mysql_tquery(dbHandle, string, "", "");
			MysqlUpdatePlayerInt(playerid, "cash", PI[playerid][pCash]);
			format(string, sizeof string, "Вы успешно оплатили квартиру на %d дн. Оплачено: %d дн.", h_days, PorchHouseInfo[pflat][hDays]);
			SendClientMessage(playerid, COLOR_GREEN, string);
			return 1;
		}

Сори что ранее не скинул,за компом не был!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Marvellous

UP

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.