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

Дома

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

CrmpORP

У меня на сервере есть,система домов,я создаю дом с помощью кмд,он создается при выходе он все же есть,но если сделать рестарт то все дома слетают,в чем может быть проблема помогите,если нужно что то скинуть пишите что.

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


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

Явно что-то с сохранением не так.

Код кидайте.

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


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

@Smolin,

stock SaveHouses()
{
    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<LastHouse+1; i++)
	{
    	if(HouseInfo[i][hCost] == 0) continue;
		f(string, "%s|%s|%d|%d|%d|%f|%f|%f|%f|%f|%f|%f|%d|%d|%f|%f|%f|%f|%d|%d|%d|%d|%d\n",
	  	HouseInfo[i][hName],
		HouseInfo[i][hOwner],
		HouseInfo[i][hLevel],
		HouseInfo[i][hCost],
		HouseInfo[i][hInterior],
		HouseInfo[i][hEnterX],
		HouseInfo[i][hEnterY],
		HouseInfo[i][hEnterZ],
		HouseInfo[i][hSpawnX],
		HouseInfo[i][hSpawnY],
		HouseInfo[i][hSpawnZ],
		HouseInfo[i][hSpawnA],
		HouseInfo[i][hCarID],
		HouseInfo[i][hColor],
		HouseInfo[i][hCarX],
		HouseInfo[i][hCarY],
		HouseInfo[i][hCarZ],
		HouseInfo[i][hCarA],
		HouseInfo[i][hHealth],
		HouseInfo[i][hMoneys],
		HouseInfo[i][hClooth],
		HouseInfo[i][hSave],
		HouseInfo[i][hDoors]);
		fwrite(GetFile, string);
	}
	fclose(GetFile);
	return 1;
} 

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


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

Так, теперь колбэк loadhouse.

Для убеждения, загрузка (LoadHouse) находится в OnGameModeInit?

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


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

loadhouse

Да в OnGameModeInit

stock LoadHouses()
{
	if(!fexist("houses.cfg")) return printf("file 'houses.cfg' not found");
	new arrCoords[23][64],strFromFile[256],i;
	new File:GetFile = fopen("houses.cfg");
	while(fread(GetFile, strFromFile))
	{
		if(!strlen(strFromFile)) break;
  		i += 1;
		split(strFromFile, arrCoords, '|');
		settext(HouseInfo[i][hName], arrCoords[0]);
		settext(HouseInfo[i][hOwner], arrCoords[1]);
		HouseInfo[i][hLevel] = strval(arrCoords[2]);
		HouseInfo[i][hCost] = strval(arrCoords[3]);
		HouseInfo[i][hInterior] = strval(arrCoords[4]);
		HouseInfo[i][hEnterX] = floatstr(arrCoords[5]);
		HouseInfo[i][hEnterY] = floatstr(arrCoords[6]);
		HouseInfo[i][hEnterZ] = floatstr(arrCoords[7]);
		HouseInfo[i][hSpawnX] = floatstr(arrCoords[8]);
		HouseInfo[i][hSpawnY] = floatstr(arrCoords[9]);
		HouseInfo[i][hSpawnZ] = floatstr(arrCoords[10]);
		HouseInfo[i][hSpawnA] = floatstr(arrCoords[11]);
		HouseInfo[i][hCarID] = strval(arrCoords[12]);
		HouseInfo[i][hColor] = strval(arrCoords[13]);
		HouseInfo[i][hCarX] = floatstr(arrCoords[14]);
		HouseInfo[i][hCarY] = floatstr(arrCoords[15]);
		HouseInfo[i][hCarZ] = floatstr(arrCoords[16]);
		HouseInfo[i][hCarA] = floatstr(arrCoords[17]);
		HouseInfo[i][hHealth] = strval(arrCoords[18]);
		HouseInfo[i][hMoneys] = strval(arrCoords[19]);
		HouseInfo[i][hClooth] = strval(arrCoords[20]);
		HouseInfo[i][hSave] = strval(arrCoords[21]);
		HouseInfo[i][hDoors] = strval(arrCoords[22]);
		if(HouseInfo[i][hCarID] < 400) continue;
		if(!strcmp(HouseInfo[i][hOwner], "None", true))
		{
		    HouseIcon[i] = CreateDynamicMapIcon(HouseInfo[i][hEnterX], HouseInfo[i][hEnterY], HouseInfo[i][hEnterZ], 31, 0, 0, 0, -1, 150.0);
			HousePickupOut[i] = CreateDynamicPickup(1273, 1, HouseInfo[i][hEnterX], HouseInfo[i][hEnterY], HouseInfo[i][hEnterZ]);
		}
		else
		{
		    HouseIcon[i] = CreateDynamicMapIcon(HouseInfo[i][hEnterX], HouseInfo[i][hEnterY], HouseInfo[i][hEnterZ], 32, 0, 0, 0, -1, 150.0);
			HousePickupOut[i] = CreateDynamicPickup(1272, 1, HouseInfo[i][hEnterX], HouseInfo[i][hEnterY], HouseInfo[i][hEnterZ]);
		}
		HouseVehicle[i] = CreateVehicle(HouseInfo[i][hCarID], HouseInfo[i][hCarX], HouseInfo[i][hCarY], HouseInfo[i][hCarZ], HouseInfo[i][hCarA], HouseInfo[i][hColor], HouseInfo[i][hColor], -1);
		GetVehicleHouse[HouseVehicle[i]] = i;
		SetVehicleToRespawn(HouseVehicle[i]);
		CreateHouseExitPickup(i);
		HouseOpen[i] = false;
	}
	fclose(GetFile);
	LastHouse = i;
	return 1;
}

Smolin,Дак что не поможете? 

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


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

Что за мод? Будет удобнее мне посмотреть самому.

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


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

@Smolin,Спасибо я уже разобрался,там в OnGameModeExit не было сохранение домов. ((Домик в деревне Count rp))

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


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

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

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

×

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

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