Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

[Вопрос]Сист.Домов

Статус
В этой теме нельзя размещать новые ответы.

Diego_Malkov

Специалист
Здравствуйте.
У меня возникла проблема с сист.домов
Суть проблемы:
Я создаю дом.
Все нормально я его покупаю,но после рестарта у меня происходят хреновые вещи.
До рестарта:
Дом номер:1
Владелец:Бла_бла
Клас:Люкс
После рестарта:
Дом номер:0
Владелец:Бла_бла
Клас:
Но вот в чем 2 проблема,
я делаю 2 рестарт и у меня нет дома вообще,не пикапа нечего,и удаляется строка с домом из файла.
Вот код создания домов,посмотрите,может тут что-то не верно?
PHP:
case ADD:
		{
			if(response)
			{
				AllHouse ++;
				new Float:x,Float:y,Float:z;
				GetPlayerPos(playerid,x,y,z);
				HouseInfo[AllHouse][hEnterx] = x;
				HouseInfo[AllHouse][hEntery] = y;
				HouseInfo[AllHouse][hEnterz] = z;
				BuyHouse();
				ShowPlayerDialog(playerid,ADD+1,DIALOG_STYLE_LIST,"Стиль","Эконом\nСредний\nЛюкс","Далее","");
			}
		}
	case ADD+1:
		{
			if(response)
			{
				switch(listitem)
				{
				case 0:SetPVarInt(playerid,"hous",1);
				case 1:SetPVarInt(playerid,"hous",2);
				case 2:SetPVarInt(playerid,"hous",3);
				}
				if(GetPVarInt(playerid,"hous") == 1)
				{
					SetPlayerInterior(playerid,9);
					ChangeSkin[playerid] = 1;
					TogglePlayerControllable(playerid, 0);
					SetPlayerPos(playerid, 2251.85,-1138.16,1050.63);
					SetPlayerVirtualWorld(playerid,playerid);
					ShowMenuForPlayer(HouseMenu, playerid);
				}
				else if(GetPVarInt(playerid,"hous") == 2)
				{
					SetPlayerInterior(playerid,2);
					ChangeSkin[playerid] = 1;
					TogglePlayerControllable(playerid, 0);
					SetPlayerPos(playerid,  225.756989,1240.000000,1082.149902);
					SetPlayerVirtualWorld(playerid,playerid);
					ShowMenuForPlayer(HouseMenu, playerid);
				}
				else if(GetPVarInt(playerid,"hous") == 3)
				{
					SetPlayerInterior(playerid,3);
					ChangeSkin[playerid] = 1;
					TogglePlayerControllable(playerid, 0);
					SetPlayerPos(playerid,  235.508994,1189.169897,1080.339966);
					SetPlayerVirtualWorld(playerid,playerid);
					ShowMenuForPlayer(HouseMenu, playerid);
				}
			}
		}
	case ADD+2:
		{
			if(response)
			{
				if(sscanf(inputtext, "i",HouseInfo[AllHouse][hPrice])) return ShowPlayerDialog(playerid,ADD+2,DIALOG_STYLE_INPUT,"Цена","Введите цену","Далее","");
				CreateHouse(playerid);
				SetPlayerPos(playerid,HouseInfo[AllHouse][hEnterx],HouseInfo[AllHouse][hEntery],HouseInfo[AllHouse][hEnterz]);
				SetPlayerInterior(playerid,0);
				SetPlayerVirtualWorld(playerid,0);
				TogglePlayerControllable(playerid, 1);

			}
		}
PHP:
stock CreateHouse(playerid)
{
	new clas;
	if(GetPVarInt(playerid,"hous") == 1) clas = 1;
	else if(GetPVarInt(playerid,"hous") == 2) clas = 2;
	else if(GetPVarInt(playerid,"hous") == 3) clas = 3;
	HouseInfo[AllHouse][hClass] = clas;
	new Float:x,Float:y,Float:z;
	GetPlayerPos(playerid,x,y,z);
	HouseInfo[AllHouse][hExitx] = x;
	HouseInfo[AllHouse][hExity] = y;
	HouseInfo[AllHouse][hExitz] = z;
	HouseInfo[AllHouse][hInt] = GetPlayerInterior(playerid);
	HouseInfo[AllHouse][hVirtual] = AllHouse+1;
	strmid(HouseInfo[AllHouse][hOwner], "None", 0, strlen("None"), MAX_PLAYER_NAME);
	HouseInfo[AllHouse][hIcon] = CreateDynamicMapIcon(HouseInfo[AllHouse][hEnterx], HouseInfo[AllHouse][hEntery], HouseInfo[AllHouse][hEnterz], 31, 0,-1,-1,-1,200.0);
	HouseInfo[AllHouse][hPickup] = CreatePickup(1273,1, HouseInfo[AllHouse][hEnterx], HouseInfo[AllHouse][hEntery], HouseInfo[AllHouse][hEnterz]);
	DeletePVar(playerid,"hous");
	BuyHouse();
	SaveHouse();
	return SendClientMessage(playerid,COLOR_ORANGE,"Дом Создан");
}
PHP:
stock BuyHouse(idx)
{
    DestroyDynamicMapIcon(HouseInfo[idx][hIcon]);
    DestroyDynamicPickup(HouseInfo[idx][hPickup]);
    if(HouseInfo[idx][hOwned] == 0)
    {
        HouseInfo[idx][hIcon] = CreateDynamicMapIcon(HouseInfo[idx][hEnterx], HouseInfo[idx][hEntery], HouseInfo[idx][hEnterz], 31, COLOR_WHITE, 0, -1, -1, 90.0);
        HouseInfo[idx][hPickup] = CreatePickup(1272, 23, HouseInfo[idx][hEnterx], HouseInfo[idx][hEntery], HouseInfo[idx][hEnterz],-1);
    }
    else if(HouseInfo[idx][hOwned] == 1)
    {
        HouseInfo[idx][hIcon] = CreateDynamicMapIcon(HouseInfo[idx][hEnterx], HouseInfo[idx][hEntery], HouseInfo[idx][hEnterz], 32, COLOR_WHITE, 0, -1, -1, 90.0);
        HouseInfo[idx][hPickup] = CreatePickup(1273, 23, HouseInfo[idx][hEnterx], HouseInfo[idx][hEntery], HouseInfo[idx][hEnterz],-1);
    }
    HouseInfo[idx][hPickupExit] = CreatePickup(1273, 1, HouseInfo[idx][hExitx], HouseInfo[idx][hExity], HouseInfo[idx][hExitz], HouseInfo[idx][hVirtual]);
}
PHP:
stock SaveHouse()
{
    if(!fexist("houses.cfg")) return printf("file 'houses.cfg' not found");
	new string[256],File:GetFile = fopen("houses.cfg", io_write);
	for(new i=1; i<AllHouse+1; i++)
	{
    	if(HouseInfo[i][hPrice] == 0) continue;
		format(string, sizeof(string), "%f|%f|%f|%f|%f|%f|%d|%d|%s|%d|%i|%i|%i|%i|%i\r\n",
	  	HouseInfo[i][hEnterx],
		HouseInfo[i][hEntery],
		HouseInfo[i][hEnterz],
		HouseInfo[i][hExitx],
		HouseInfo[i][hExity],
		HouseInfo[i][hExitz],
		HouseInfo[i][hOwner],
		HouseInfo[i][hVirtual],
		HouseInfo[i][hInt],
		HouseInfo[i][hLock],
		HouseInfo[i][hOwned],
		HouseInfo[i][hBank],
		HouseInfo[i][hClass],
		HouseInfo[i][hSafe]);
		fwrite(GetFile, string);
	}
	fclose(GetFile);
	return true;
}
И еще вопросик,людям знающим Мускул
Прошу перевести 2 маленьких стока
PHP:
stock SetPlayerInt(username[], stolb[], znach) // öåëûå ÷èñëà
{
	new Query[128];
	format(Query, sizeof(Query), "UPDATE `accounts` SET  %s = '%d' WHERE Name = '%s' LIMIT 1", stolb, znach, username);
	return mysql_query(Query);
}
stock SetOtherInt(stolb[], znach)
{
	new Query[128];
	format(Query, sizeof(Query), "UPDATE "TABLE_OTHER" SET  %s = '%d'", stolb, znach);
    return mysql_query(Query);
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу