Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 2 из 2
  1. #1
    Аватар для _TranE_
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.05.2015
    Адрес
    Compton
    Сообщений
    6
    Репутация:
    0 ±

    Не загружаются дома

    Здравствуйте!

    После рестарта слетают дома. Записи в houses.cfg появляются, сохраняются, но не загружаются..
    Без рестарта все работает отлично.
    Вот стоки загрузки и сохранения домов, помогите:

    PHP код:
    stock LoadHouses() //загрузка домов
    {
    new 
    File ini_openFile("House/config.ini");
    ini_getInteger(File,"Houses",AllHouse);
    ini_closeFile(File);
    new 
    arrCoords[10][64];
    new 
    strFromFile2[256];
    new 
    Filefile fopen("House/houses.cfg"io_read);
    if(
    file)
    {
    new 
    idx;
    while (
    idx AllHouse)
    {
    fread(filestrFromFile2);
    split(strFromFile2arrCoords',');
    HousesInfo[idx][hOwned] = strval(arrCoords[0]);
    strmid(HousesInfo[idx][hOwner], arrCoords[1], 0strlen(arrCoords[1]), 255);
    HousesInfo[idx][hX] = floatstr(arrCoords[2]);
    HousesInfo[idx][hY] = floatstr(arrCoords[3]);
    HousesInfo[idx][hZ] = floatstr(arrCoords[4]);
    HousesInfo[idx][hInterior] = strval(arrCoords[5]);
    HousesInfo[idx][hVirtWorld] = strval(arrCoords[6]);
    HousesInfo[idx][hPrice] = strval(arrCoords[7]);
    HousesInfo[idx][hLock] = strval(arrCoords[8]);
    HousesInfo[idx][hLevel] = strval(arrCoords[9]);
    idx++;
    }
    printf("[ Загрузка ... ] Дома загружены - %d",idx);
    fclose(file);
    }
    return 
    true;
    }
    stock SaveHouses()//Сохранение домов
    {
    new 
    File ini_openFile("House/config.ini");
    ini_setInteger(File,"Houses",AllHouse);
    ini_closeFile(File);
    new 
    idx;
    new 
    Filefile2;
    while(
    idx AllHouse)
    {
    new 
    coordsstring[300];
    format(coordsstringsizeof(coordsstring), "%d,%s,%f,%f,%f,%d,%d,%d,%d,%d\n",
    HousesInfo[idx][hOwned],
    HousesInfo[idx][hOwner],
    HousesInfo[idx][hX],
    HousesInfo[idx][hY],
    HousesInfo[idx][hZ],
    HousesInfo[idx][hInterior],
    HousesInfo[idx][hVirtWorld],
    HousesInfo[idx][hPrice],
    HousesInfo[idx][hLock],
    HousesInfo[idx][hLevel]);
    if(!
    idxfile2 fopen("House/houses.cfg"io_write);
    else 
    file2 fopen("House/houses.cfg"io_append);
    fwrite(file2coordsstring);
    idx++;
    fclose(file2);
    }
    return 
    true
    И при заходе на сервер после рестарта, спавнит в каком-то интерьере, из которого нельзя выйти.. хотя "дома загружены = 0".

    PHP код:
    new hh PlayerInfo[playerid][pHouse];
    if(
    hh != 255)//Дом есть. Будет спавнится в своём доме.
    {
    SetPlayerInterior(playeridHInts[HousesInfo[hh][hInterior]][hiInt]);
    SetPlayerPos(playeridHInts[HousesInfo[hh][hInterior]][hiX], HInts[HousesInfo[hh][hInterior]][hiY], HInts[HousesInfo[hh][hInterior]][hiZ]);
    SetPlayerVirtualWorld(playeridHousesInfo[hh][hVirtWorld]);
    return 
    true;
    }
    if(
    hh == 255)//Дома нету.
    {
    SetPlayerPos(playerid,1757.6338,-1895.7892,13.5561);
    SetPlayerFacingAngle(playerid270.8289);
    SetPlayerInterior(playerid0);
    SetPlayerVirtualWorld(playerid,0); 
    В чем может быть дело?

  2. #2
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Обычно если дома/бизнесы/транспорт/etc. на файлах, рестарт нужно делать с задержкой, т.е. сначала поставить таймер на 5-10 секунд (больше RLS'нутого кода в сохранении домов с лишним переоткрытием файла на каждом доме - больше времени на рестарт), за это время всё сохранить и уже по срабатыванию таймера - SendRconCommand("gmx").
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  3. Пользователь сказал cпасибо:
    _TranE_ (19.05.2015)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •