Вопросы

Mason
Постоянный

Всем Привет! Столкнулся я с такой проблемой, на аккаунте числится что есть дом/бизнес/заправка но на самом деле нет. Соответственно при выборе спавна предлагает вариант "в доме", купить дом, бизнес, и прочую фигню нельзя т.к пишет что уже есть дом..
Прилагаю код проверки на наличие того или иного имущества у игрока

Спойлер

stock GetPlayerHouse(playerid)//Это дома(впрочем такая же проверка стоит у бизнесов/заправок и.т.д)
{
    new house = 0;
    for(new i = 0; i <= HouseCount; i++)
    {
        if(!strcmp(HouseInfo[i][hOwner],PlayerInfo[playerid][pSendername],true)) house++, SetPVarInt(playerid, "PlayerHouse", i);
    }
    return house;
}

 


Произошло это всё после того как я на шаманил с i = 0, до этого вместо 0 стояла 1 почти везде(загрузка, взаимодействие с пикапом и так далее.) но т.к из за единицы не прогружалось имущество с 1 ид, было принято решение поставить 0.

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


Ссылка на сообщение

36 ответов на этот вопрос

  • 0
Cawfee
Великий Гуру

@Mason, вы решите для себя сначала твердо, с какого индекса вы хотите хранить имущество: с нуля или с единицы. Далее показывайте код создания дома и настройки поля с идентификатором дома в базе данных. Затем показывайте, как вы загружаете дома из базы данных, их сохранение.

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


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee, С индексом я определился давно уже это - 0. Пояснение этому я как раз описывал в 1 сообщении, по поводу кодов создания, и настройки полей, вот.
Настройки поля в базе - скрин который ниже скрытого кода.

Код создания дома, их загрузка, и их сохранение.

Спойлер

#define MAX_HOUSE 2000//Enum(Надеюсь я правильно понимаю что это создание дома)
enum hInfo
{
    id,
    Float:hEntrx,
    Float:hEntry,
    Float:hEntrz,
    Float:hExitx,
    Float:hExity,
    Float:hExitz,
    hOwner[32],
    hDiscript[16],
    hPrice,
    hBuyPrice,
    hInt,
    hVirtual,
    hLock,
    hMIcon,
    hPickup,
    hPickupExit,
    hOplata,
    hHeal,
    bool:hRob
};
new HouseCount;
new Text3D:LABELHOUSE[MAX_HOUSE];
new HouseInfo[MAX_HOUSE][hInfo];

stock Load_House()//Загрузка дома
{
    print("===================[НАЧАЛАСЬ ЗАГРУЗКА C БАЗЫ ДАННЫХ]=====================");
    new time = GetTickCount();
    new string[128];
    new Cache:result;
    result = mysql_query(ConnectDB, "SELECT * FROM `"TABLE_HOUSE"`");
    HouseCount = cache_num_rows();
    for(new i; i < HouseCount; i++)
    {
        strmid(HouseInfo[i][hOwner],"None_Nones",0,strlen("None_Nones"),32);
    }
    for(new i = 0; i < HouseCount; i++)
    {
        cache_get_value_name_int(i, "id", HouseInfo[i][id]);
        cache_get_value_name(i, "owner", HouseInfo[i][hOwner]);
        cache_get_value_name_float(i, "enterX", HouseInfo[i][hEntrx]);
        cache_get_value_name_float(i, "enterY", HouseInfo[i][hEntry]);
        cache_get_value_name_float(i, "enterZ", HouseInfo[i][hEntrz]);
        cache_get_value_name_float(i, "exitX", HouseInfo[i][hExitx]);
        cache_get_value_name_float(i, "exitY", HouseInfo[i][hExity]);
        cache_get_value_name_float(i, "exitZ", HouseInfo[i][hExitz]);
        cache_get_value_name(i, "discript", HouseInfo[i][hDiscript]);
        cache_get_value_name_int(i, "price", HouseInfo[i][hPrice]);
        cache_get_value_name_int(i, "buyprice", HouseInfo[i][hBuyPrice]);
        cache_get_value_name_int(i, "int", HouseInfo[i][hInt]);
        cache_get_value_name_int(i, "virtual", HouseInfo[i][hVirtual]);
        cache_get_value_name_int(i, "lock", HouseInfo[i][hLock]);
        cache_get_value_name_int(i, "oplata", HouseInfo[i][hOplata]);
        cache_get_value_name_int(i, "heal", HouseInfo[i][hHeal]);
        if(!strcmp(HouseInfo[i][hOwner],"The State",true))
        {
            HouseInfo[i][hMIcon] = CreateDynamicMapIcon(HouseInfo[i][hEntrx], HouseInfo[i][hEntry], HouseInfo[i][hEntrz], 31, 0,-1,-1,-1,50.0);
            HouseInfo[i][hPickup] = CreatePickup(1273, 1, HouseInfo[i][hEntrx], HouseInfo[i][hEntry], HouseInfo[i][hEntrz]);
            format(string, 128, "ID: {FFFFFF}%d\n{FF9900}Дом продается\nКласс: {FFFFFF}%s\n{FF9900}Цена: {FFFFFF}$%d",HouseInfo[i][id],HouseInfo[i][hDiscript],HouseInfo[i][hPrice]);
            LABELHOUSE[i] = Create3DTextLabel(string,0xFF9900FF,HouseInfo[i][hEntrx],HouseInfo[i][hEntry],HouseInfo[i][hEntrz],5.0,0,0);
        }
        else
        {
            HouseInfo[i][hMIcon] = CreateDynamicMapIcon(HouseInfo[i][hEntrx], HouseInfo[i][hEntry], HouseInfo[i][hEntrz], 32, 0,-1,-1,-1,50.0);
            HouseInfo[i][hPickup] = CreatePickup(19522, 1, HouseInfo[i][hEntrx], HouseInfo[i][hEntry], HouseInfo[i][hEntrz]);
            format(string, 128, "ID: {FFFFFF}%d\n{FF9900}Владелец: {FFFFFF}%s",HouseInfo[i][id],HouseInfo[i][hOwner]);
            LABELHOUSE[i] = Create3DTextLabel(string,0xFF9900FF,HouseInfo[i][hEntrx],HouseInfo[i][hEntry],HouseInfo[i][hEntrz],5.0,0,0);
        }
        HouseInfo[i][hPickupExit] = CreatePickup(1318, 1, HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz], HouseInfo[i][hVirtual]);
    }
    cache_delete(result);
    print("===============================");
    print("Результат загрузки ДОМОВ:");
    printf("Всего домов [%d]",HouseCount);
    printf("Загружено за [%d](ms)",GetTickCount() - time);
}

stock GetHome()//Сохранения как такового у меня в моде нет. Но есть этот сток который выполняется когда пробивает PayDay.
{
    print("F: GetHome");
    new htax, bank, texts[16], text[3], warr[12];
    for(new i = 0; i <= HouseCount; i++)
    {
        if(!strcmp("The State",HouseInfo[i][hOwner],true)) continue;
        else if(!strcmp("E",HouseInfo[i][hDiscript],true)) htax = 50;
        else if(!strcmp("D",HouseInfo[i][hDiscript],true)) htax = 50;
        else if(!strcmp("C",HouseInfo[i][hDiscript],true)) htax = 100;
        else if(!strcmp("B",HouseInfo[i][hDiscript],true)) htax = 150;
        else if(!strcmp("A",HouseInfo[i][hDiscript],true)) htax = 200;
        if(HouseInfo[i][hOplata] < htax)
        {
            new playd = GetPlayerID(HouseInfo[i][hOwner]);
            if(playd != INVALID_PLAYER_ID)
            {
                PlayerInfo[playd][pBank] += HouseInfo[playd][hBuyPrice];
                SetPVarInt(playd, "GetHome", 1);
            }
            else
            {
                mysql_format(ConnectDB, query,sizeof(query), "SELECT * FROM "TABLE_ACCOUNT" WHERE name = '%s'",HouseInfo[i][hOwner]);
                new Cache:result = mysql_query(ConnectDB, query);
                if(!result)
                {
                    return;
                }
                cache_set_active(result);
                new const nRows = cache_num_rows();
                if(nRows == 0)
                {
                    return;
                }
                cache_get_value_name(0, "bank", warr);
                cache_get_value_name(0, "text", texts);
                bank = strval(warr);
                sscanf(texts, "p<,>a<i>[3]", text);
                format(texts, sizeof(texts),"1, %i, %i", text[1], text[2]);
                bank += HouseInfo[i][hBuyPrice];
                mysql_format(ConnectDB, query,sizeof(query), "UPDATE "TABLE_ACCOUNT"  SET text = '%s', bank = %i WHERE name = '%s'",texts,bank, HouseInfo[i][hOwner]);
                mysql_query(ConnectDB, query);
            }
            SetHouseStr(i, "owner", "The State");
            SetHouseInt(i, "oplata", 0);
            SetHouseInt(i, "buyprice", 0);
            HouseInfo[i][hBuyPrice] = 0;
            HouseInfo[i][hOplata] = 0;
            strmid(HouseInfo[i][hOwner],"The State",0,strlen("The State"),MAX_PLAYER_NAME);
            HouseInfo[i][hLock] = 0;
            SetHouseInt(i, "lock", HouseInfo[i][hLock]);
            UpdateHouse(i);
        }
        else
        {
            HouseInfo[i][hOplata] -= htax;
            SetHouseInt(i, "oplata", HouseInfo[i][hOplata]);
            Exchequer+=htax;
        }
        HouseInfo[i][hRob] = false;
    }
    mysql_format(ConnectDB, query, 256, "UPDATE "TABLE_MAYOR" SET exchequer = %d", Exchequer);
    mysql_query(ConnectDB, query);
    print("F: GetHome End All");
}

 

 

изображение_2024-06-01_201153684.png

Отредактировано пользователем Mason

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason, автоинкремент в базе данных начинается с какого значения? Создание дома не увидел.

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


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee с 545(то бишь домов в базе 544), а раз enum это не создание дома то что это тогда?(извиняюсь за возможно глупый вопрос)

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


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee, тогда вот
 

Спойлер

        case D_ADDNED+1:
        {
            if(response)
            {
                new price,type, Float:x,Float:y,Float:z;
                if(sscanf(inputtext,"p<,>ii",price,type))
                {
                    new string1[1000];
                    strcat(string1,"{ffffff}Пишите чере запятую: Цена, Тип интерьера (смотрите ниже)\n\n{ff0000}Пример: 2500000, 27\n\n");
                    strcat(string1,"{ffffff}1. [Класс: A]\t12. [Класс: C]\t23. [Класс: C]\t34. [Класс: C]\n");
                    strcat(string1,"{ffffff}2. [Класс: C]\t13. [Класс: C]\t24. [Класс: B]\t35. [Класс: C]\n");
                    strcat(string1,"{ffffff}3. [Класс: A]\t14. [Класс: B]\t25. [Класс: B]\t36. [Класс: L]\n");
                    strcat(string1,"{ffffff}4. [Класс: C]\t15. [Класс: C]\t26. [Класс: E]\n");
                    strcat(string1,"{ffffff}5. [Класс: B]\t16. [Класс: B]\t27. [Класс: E]\n");
                    strcat(string1,"{ffffff}6. [Класс: B]\t17. [Класс: B]\t28. [Класс: E]\n");
                    strcat(string1,"{ffffff}7. [Класс: E]\t18. [Класс: A]\t29. [Класс: C]\n");
                    strcat(string1,"{ffffff}8. [Класс: B]\t19. [Класс: C]\t30. [Класс: A]\n");
                    strcat(string1,"{ffffff}9. [Класс: A]\t20. [Класс: E]\t31. [Класс: C]\n");
                    strcat(string1,"{ffffff}10. [Класс: B]\t21. [Класс: A]\t32. [Класс: C]\n");
                    strcat(string1,"{ffffff}11. [Класс: C]\t22. [Класс: B]\t33. [Класс: E]\n");
                    return ShowPlayerDialog(playerid,D_ADDNED+1,1,"Добавить дом",string1,"Принять","Закрыть");
                }
                HouseCount++;
                GetPlayerPos(playerid,x,y,z);
                HouseInfo[HouseCount][hEntrx] = x;
                HouseInfo[HouseCount][hEntry] = y;
                HouseInfo[HouseCount][hEntrz] = z;
                switch(type)
                {
                    case 1: format(string,90,"140.2660,1366.1091,1083.8594,A,5");   // [интерьер 9 звёздочный](меню) int 5
                    case 2: format(string,90,"260.8800,1237.2365,1084.2578,C,9");   // [интерьер 2 звёздочный](меню) int 9
                    case 3: format(string,90,"234.1541,1063.7206,1084.2123,A,6");   // [интерьер 9 звёздочный](меню) int 6
                    case 4: format(string,90,"327.9864,1477.7328,1084.4375,C,15");  // [интерьер 3 звёздочный](меню) int 15
                    case 5: format(string,90,"2237.5413,-1081.1516,1049.04,B,2");   // [интерьер 10 звёздочный](меню) int
                    case 6: format(string,90,"24.0716,1340.1615,1084.3750,B,10");   // [интерьер 8 звёздочный](меню) int id 10
                    case 7: format(string,90,"2259.5068,-1135.9337,1050.6328,D,10");    // [Интерьер 1 звёздочный](меню) int id 10
                    case 8: format(string,90,"2196.8469,-1204.3524,1049.0234,B,6"); // [Интерьер 7 звёздочный](меню) int id 6
                    case 9: format(string,90,"2317.7983,-1026.7651,1050.2178,A,9"); // [Интерьер 7 звёздочный](меню) int id 9
                    case 10: format(string,90,"2365.3345,-1135.5907,1050.8826,B,8");    // [Интерьер 6 звёздочный](меню) int id 8
                    case 11: format(string,90,"2282.8831,-1140.0713,1050.8984,C,11");   // [Интерьер 3 звёздочный](меню) int id 11
                    case 12: format(string,90,"2218.3875,-1076.1580,1050.4844,C,1");    // [Интерьер 3 звёздочный](меню) int id 1
                    case 13: format(string,90,"-68.8411,1351.3397,1080.2109,C,6");  // [Интерьер 2 звёздочный](меню) int id 6
                    case 14: format(string,90,"-283.6001,1471.2211,1084.3750,B,15");    // [Интерьер 5 звёздочный](меню) int id 15
                    case 15: format(string,90,"-42.5525,1405.6432,1084.4297,C,8");  // [интерьер 3 звёздочный](меню) int 8
                    case 16: format(string,90,"83.0791,1322.2808,1083.8662,B,9");   // [интерьер 9 звёздочный](меню) int 9
                    case 17: format(string,90,"447.2238,1397.2926,1084.3047,B,2");  // [интерьер 9 звёздочный](меню) int 2
                    case 18: format(string,90,"235.2748,1186.6809,1080.2578,A,3");  // [интерьер 6 звёздочный](меню) int 3
                    case 19: format(string,90,"226.4436,1239.9277,1082.1406,C,2");  // [интерьер 3 звёздочный](меню) int 2
                    case 20: format(string,90,"244.0883,305.0291,999.1484,D,1");    // [интерьер 2 звёздочный](меню) int 1
                    case 21: format(string,90,"226.2956,1114.1615,1080.9929,A,5");  // [интерьер 6 звёздочный](меню) int 5
                    case 22: format(string,90,"295.2479,1472.2650,1080.2578,B,15"); // [интерьер 4 звёздочный](меню) int 15
                    case 23: format(string,90,"261.1874,1284.2982,1080.2578,C,4");  // [интерьер 4 звёздочный](меню) int 4
                    case 24: format(string,90,"-260.4934,1456.8430,1084.3672,B,4"); // [интерьер 8 звёздочный](меню) int 4
                    case 25: format(string,90,"22.9848,1403.3345,1084.4370,B,5");   // [интерьер 5 звёздочный](меню) int 5
                    case 26: format(string,90,"2468.2080,-1698.2988,1013.5078,D,2");    // [интерьер 6 звёздочный](меню) int 3
                    case 27: format(string,90,"266.9498,304.9866,999.1484,D,2");    // [интерьер 3 звёздочный](меню) int 2
                    case 28: format(string,90,"422.3438,2536.4980,10.0000,D,10");   // [интерьер 2 звёздочный](меню) int 1
                    case 29: format(string,90,"443.4504,509.2181,1001.4195,C,12");  // [интерьер 6 звёздочный](меню) int 5
                    case 30: format(string,90,"2324.3977,-1149.0601,1050.7101,A,12");   // [интерьер 4 звёздочный](меню) int 15
                    case 31: format(string,90,"2807.6919,-1174.2933,1025.5703,C,8");    // [интерьер 4 звёздочный](меню) int 4
                    case 32: format(string,90,"2233.6965,-1115.1270,1050.8828,C,5");
                    case 33: format(string,90,"221.7789,1140.1970,1082.6094,D,4");
                    case 34: format(string,90,"387.1313,1471.7137,1080.1949,C,15");
                    case 35: format(string,90,"377.1231,1417.3163,1081.3281,C,15"); // [интерьер 4 звёздочный](меню) int 4
                    case 36: format(string,90,"140.2660,1366.1091,1083.8594,L,5");  // [интерьер 9 звёздочный](меню) int 5
                }
                sscanf(string,"p<,>fffs[32]i",
                HouseInfo[HouseCount][hExitx],HouseInfo[HouseCount][hExity],HouseInfo[HouseCount][hExitz],
                HouseInfo[HouseCount][hDiscript],HouseInfo[HouseCount][hInt]);
                HouseInfo[HouseCount][hVirtual] = HouseCount;
                HouseInfo[HouseCount][hPrice] = price;
                strmid(HouseInfo[HouseCount][hOwner], "The State", 0, strlen("The State"), MAX_PLAYER_NAME);
                HouseInfo[HouseCount][hMIcon] = CreateDynamicMapIcon(HouseInfo[HouseCount][hEntrx], HouseInfo[HouseCount][hEntry], HouseInfo[HouseCount][hEntrz], 31, 0,-1,-1,-1,200.0);
                HouseInfo[HouseCount][hPickup] = CreatePickup(1273,1, HouseInfo[HouseCount][hEntrx], HouseInfo[HouseCount][hEntry], HouseInfo[HouseCount][hEntrz]);
                HouseInfo[HouseCount][hPickupExit] = CreatePickup(1318, 1, HouseInfo[HouseCount][hExitx], HouseInfo[HouseCount][hExity], HouseInfo[HouseCount][hExitz], HouseInfo[HouseCount][hVirtual]);
                format(string, 128, "ID: {FFFFFF}%d\n{FF9900}Дом продается\nКласс: {FFFFFF}%s\n{FF9900}Цена: {FFFFFF}$%d",HouseCount,HouseInfo[HouseCount][hDiscript],HouseInfo[HouseCount][hPrice]);
                LABELHOUSE[HouseCount] = Create3DTextLabel(string,0xFF9900FF,HouseInfo[HouseCount][hEntrx],HouseInfo[HouseCount][hEntry],HouseInfo[HouseCount][hEntrz],5.0,0,0);
                format(totalstring,sizeof(totalstring),"INSERT INTO "TABLE_HOUSE" (id,hEntrx,hEntry,hEntrz,hExitx,hExity,hExitz,hDiscript,hPrice,hInt,hVirtual) VALUES (%i,'%f','%f','%f','%f','%f','%f','%s',%i,%i,%i)",
                HouseCount,
                HouseInfo[HouseCount][hEntrx],HouseInfo[HouseCount][hEntry],HouseInfo[HouseCount][hEntrz],
                HouseInfo[HouseCount][hExitx],HouseInfo[HouseCount][hExity],HouseInfo[HouseCount][hExitz],
                HouseInfo[HouseCount][hDiscript],HouseInfo[HouseCount][hPrice],HouseInfo[HouseCount][hInt],HouseInfo[HouseCount][hVirtual]);
                mysql_query(ConnectDB, totalstring);
                return SendMes(playerid,COLOR_ORANGE,"Дом №%d был успешно создан",HouseCount);
            }
            TPC[playerid] = false;
        }

 

Но в этом моменте кстати есть свой казус, когда я создаю дом, он вроде создается, ID в 3d тексте отоброжается, в сообщении которое в конце тоже, но вот когда появляется диалог в нём уже id дома 0, запись в базу не идёт, но в коде создания бизнесов такой же код, я сравнивал его не раз всё идентично..

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason, если из базы данных удалить все дома (можно экспортировать таблицу домов, удалить дома из базы данных, а потом, по окончании эксперимента, импортировать обратно), под каким идентификатором в базе данных создастся этот дом? Если вы решили работать с индексами, начинающимися с нуля, желательно, чтобы в базе данных нумерация всегда тоже шла с нуля.

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


Ссылка на сообщение
  • 0
Mason
Постоянный

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

P.S Но я не понимаю, что не так, бизнесы у меня создаются отлично, а дома нет, хотя коды идентичны...

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


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee, Ничего. То бишь переменная HouseCount прибавляется, а в базу данные не записываются...

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason, а что в логах MySQL? Почему добавление записи в базу данных не произошло?

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


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee А в логах вот
 

[06/01/24 22:01:10] [plugins/mysql] error #1064 while executing query "INSERT INTO house (id,enterX,enterY,enterZ,exitX,exitY,ExitZ,discript,price,int,virtual) VALUES (2,'2831.800292','1291.751831','10.774929','140.266006','1366.109130','1083.859375','L',1,5,2)": You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'int,virtual) VALUES (2,'2831.800292','1291.751831','10.774929','140.266006','136' at line 1

 

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason, почему во фрагменте кода, связанным с созданием домов, имена столбцов одни, а в строке логов – другие? При создании дома приведенный вами фрагмент кода не исполнялся. 

INSERT INTO "TABLE_HOUSE" (id,hEntrx,hEntry,hEntrz,hExitx,hExity,hExitz,hDiscript,hPrice,hInt,hVirtual) VALUES (%i,'%f','%f','%f','%f','%f','%f','%s',%i,%i,%i)
INSERT INTO house (id,enterX,enterY,enterZ,exitX,exitY,ExitZ,discript,price,int,virtual) VALUES (2,'2831.800292','1291.751831','10.774929','140.266006','1366.109130','1083.859375','L',1,5,2)

 

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


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee Я увидел что у меня имена столбцов не изменены(т.к я менял их названия) и изменил их.

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason, в логах представлен текущий вариант названия столбцов? Если да, то обратите внимание, что int и virtual входят в перечень ключевых слов, а значит их использование в качестве имен таблиц и столбцов требует оборачивания самих слов в специальные символы: `.

INSERT INTO house (id,enterX,enterY,enterZ,exitX,exitY,ExitZ,discript,price,`int`,`virtual`)

 

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


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee А тойсть их требуется оборачивать.. А я думал что нет, да и в интернете сейчас тоже шаркал говорили что не надо кто то говорил что надо.. В общем создание домов у меня наконец-таки заработало, в базу данные записываются всё отлично функционирует.

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


Ссылка на сообщение
  • 0
surenescore
Освоившийся

@Mason  Ты точно уверен, что HouseCount правильно отображает количество домов? Возможно, стоит проверить, корректно ли он инициализируется и обновляется.

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

И последний момент: точно ли у тебя корректно обрабатывается удаление имущества? Может быть, где-то остаются следы старых данных, которые и создают такую проблему.

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


Ссылка на сообщение
  • 0
Mason
Постоянный

@D2DChat По поводу, HouseCount да я уверен, ибо это обычная переменная которая создается после emum, используется она в загрузке домов, в создании домов, в взаймодействии с пикапом. По поводу индекса я ставил обратно еденицу вместо нуля но увы, если я так делаю то дом с 1 ид пропадает, так же с бизнесами и заправками. По поводу удаления имущества, такого у меня нет... 0_0

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason, 

 

11 часов назад, Mason сказал:

А я думал что нет

 

Я надеюсь вы поняли, как определять, надо оборачивать или нет? На всякий случай прикреплю ссылку.

 

11 часов назад, Mason сказал:

в базу данные записываются всё отлично функционирует

В этой связи жду ответ на ранее заданный мною вопрос:

 

12 часов назад, Cawfee сказал:

под каким идентификатором в базе данных создастся этот дом

 

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


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee, Да, я всё понял, спасибо, по поводу идентификатора, в базе создаёт от 1 ид

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру
18 часов назад, Mason сказал:

for(new i = 0; i <= HouseCount; i++)

В функции GetHome тогда условием выхода из цикла должно быть строгое неравенство:

for(new i = 0; i < HouseCount; i++)

Какие на данный момент проблемы с этой системой?

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


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee, Точно GetHome? у меня проверка идёт через GetPlayerHouse

Отредактировано пользователем Mason

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


Ссылка на сообщение
  • 0
surenescore
Освоившийся

@Mason Может быть, стоит посмотреть, как именно идет процесс загрузки домов. Возможно, где-то в этом процессе идет некорректное присвоение владельцев.

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

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

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


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

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

  • Похожий контент

    • patrickk
      От patrickk
      Всем привет, решил написать dm сервер и довольно хорошим получился, даже на голову выше Goat dm. Оставил не решенную проблему тем что  у меня есть 4 локации с rp run и cj run ну а как добавить cj бег на те локации не знаю и как эта система работает. Надеюсь мне помогут знающие люди
    • Samolet
      От Samolet
      Здраствуйте, cоздаю копию Arizona на ОМП, опен мультиплеер, загрузил и подключил бд, но сервер не хочет вот лог :[2026-10-20T21:03:32+0300] [Info] Log file reloaded. Starting open.mp server (1.5.8.3079) from commit c6759bd8d265171ae3d86598895a23d5a8d92a3b Loading component $CAPI.so Successfully loaded component C-API (1.5.8.3079) with UID 10467dd8d4c56fc6 Loading component LegacyConfig.so Successfully loaded component LegacyConfig (1.5.8.3079) with UID 24ef6216838f9ffc Loading component NPCs.so Successfully loaded component NPCs (1.5.8.3079) with UID 3d0e59e87f4e90bc Loading component Recordings.so Successfully loaded component Recordings (1.5.8.3079) with UID 871144d399f5f613 Loading component Checkpoints.so Successfully loaded component Checkpoints (1.5.8.3079) with UID 44a937350d611dde Loading component TextDraws.so Successfully loaded component TextDraws (1.5.8.3079) with UID 9b5dc2b1d15c992a Loading component Pawn.so Successfully loaded component Pawn (1.5.8.3079) with UID 78906cd9f19c36a6 Loading component GangZones.so Successfully loaded component GangZones (1.5.8.3079) with UID b3351d11ee8d8056 Loading component Actors.so Successfully loaded component Actors (1.5.8.3079) with UID c81ca021eae2ad5c Loading component Pickups.so Successfully loaded component Pickups (1.5.8.3079) with UID cf304faa363dd971 Loading component Dialogs.so Successfully loaded component Dialogs (1.5.8.3079) with UID 44a111350d611dde Loading component Objects.so Successfully loaded component Objects (1.5.8.3079) with UID 59f8415f72da6160 Loading component Console.so Successfully loaded component Console (1.5.8.3079) with UID bfa24e49d0c95ee4 Loading component TextLabels.so Successfully loaded component TextLabels (1.5.8.3079) with UID a0c57ea80a009742 Loading component Variables.so Successfully loaded component Variables (1.5.8.3079) with UID 75e121848bc01fa2 Loading component Databases.so Successfully loaded component Databases (1.5.8.3079) with UID 80092e7eb5821a96 Loading component LegacyNetwork.so Successfully loaded component RakNetLegacyNetwork (1.5.8.3079) with UID ea9799fd79cf8442 Loading component CustomModels.so Successfully loaded component CustomModels (1.5.8.3079) with UID 15e3cb1e7c77ffff Loading component Menus.so Successfully loaded component Menus (1.5.8.3079) with UID 621e219eb97ee0b2 Loading component Vehicles.so Successfully loaded component Vehicles (1.5.8.3079) with UID 3f1f62ee9e22ab19 Loading component Classes.so Successfully loaded component Classes (1.5.8.3079) with UID 8cfb3183976da208 Loading component Timers.so Successfully loaded component Timers (1.5.8.3079) with UID 2ad8124c5ea257a3 Loaded 22 component(s) from /home/gs113492/components Executing Server Config... [2026-10-20T21:03:33+0300] [Info] Loading plugin: crashdetect.so [2026-10-20T21:03:33+0300] [Info] CrashDetect plugin 4.19 [2026-10-20T21:03:33+0300] [Info] Loading plugin: mapandreas.so [2026-10-20T21:03:33+0300] [Info] Loading plugin: streamer.so [2026-10-20T21:03:33+0300] [Info] *** Streamer Plugin v2.9.4 by Incognito loaded *** [2026-10-20T21:03:33+0300] [Info] Loading plugin: sscanf.so [2026-10-20T21:03:33+0300] [Info] [2026-10-20T21:03:33+0300] [Info] =============================== [2026-10-20T21:03:33+0300] [Info] sscanf plugin loaded. [2026-10-20T21:03:33+0300] [Info] Version: 2.8.3 [2026-10-20T21:03:33+0300] [Info] (c) 2018 Alex "Y_Less" Cole [2026-10-20T21:03:33+0300] [Info] =============================== [2026-10-20T21:03:33+0300] [Info] Loading plugin: TOTP.so [2026-10-20T21:03:33+0300] [Info] TOTP plugin v1.0.1 by Games loaded. [2026-10-20T21:03:33+0300] [Info] Loading plugin: mysql_static.so [2026-10-20T21:03:33+0300] [Info] >> plugin.mysql: R39-6 successfully loaded. [2026-10-20T21:03:33+0300] [Info] Loading plugin: libpawn_json.so [2026-10-20T21:03:34+0300] [Error] Function not registered: YSF_SetTickRate [2026-10-20T21:03:34+0300] [Error] Function not registered: PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] Run time error 19: "File or function is not found" [2026-10-20T21:03:34+0300] [Info] [debug] PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] YSF_SetTickRate [2026-10-20T21:03:34+0300] [Error] File or function is not found [2026-10-20T21:03:34+0300] [Error] Function not registered: PC_RegAlias [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_GetWriteOffset [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_Reset [2026-10-20T21:03:34+0300] [Error] Function not registered: PR_RegHandler [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_Delete [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_New [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_ResetReadPointer [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_SetWriteOffset [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_IgnoreBits [2026-10-20T21:03:34+0300] [Error] Function not registered: PR_Init [2026-10-20T21:03:34+0300] [Error] Function not registered: PR_SendRPC [2026-10-20T21:03:34+0300] [Error] Function not registered: PR_SendPacket [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_WriteValue [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_GetNumberOfBytesUsed [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_ReadValue [2026-10-20T21:03:34+0300] [Error] Function not registered: PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] Run time error 19: "File or function is not found" [2026-10-20T21:03:34+0300] [Info] [debug] PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] BS_ReadValue [2026-10-20T21:03:34+0300] [Info] [debug] BS_GetNumberOfBytesUsed [2026-10-20T21:03:34+0300] [Info] [debug] BS_WriteValue [2026-10-20T21:03:34+0300] [Info] [debug] PR_SendPacket [2026-10-20T21:03:34+0300] [Info] [debug] PR_SendRPC [2026-10-20T21:03:34+0300] [Info] [debug] PR_Init [2026-10-20T21:03:34+0300] [Info] [debug] BS_IgnoreBits [2026-10-20T21:03:34+0300] [Info] [debug] BS_SetWriteOffset [2026-10-20T21:03:34+0300] [Info] [debug] BS_ResetReadPointer [2026-10-20T21:03:34+0300] [Info] [debug] BS_New [2026-10-20T21:03:34+0300] [Info] [debug] BS_Delete [2026-10-20T21:03:34+0300] [Info] [debug] PR_RegHandler [2026-10-20T21:03:34+0300] [Info] [debug] BS_Reset [2026-10-20T21:03:34+0300] [Info] [debug] BS_GetWriteOffset [2026-10-20T21:03:34+0300] [Info] [debug] PC_RegAlias [2026-10-20T21:03:34+0300] [Error] File or function is not found [2026-10-20T21:03:34+0300] [Info] [debug] Run time error 19: "File or function is not found" [2026-10-20T21:03:34+0300] [Info] [debug] PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] YSF_SetTickRate [2026-10-20T21:03:34+0300] [Error] File or function is not found [2026-10-20T21:03:34+0300] [Info] [debug] Run time error 19: "File or function is not found" [2026-10-20T21:03:34+0300] [Info] [debug] PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] BS_ReadValue [2026-10-20T21:03:34+0300] [Info] [debug] BS_GetNumberOfBytesUsed [2026-10-20T21:03:34+0300] [Info] [debug] BS_WriteValue [2026-10-20T21:03:34+0300] [Info] [debug] PR_SendPacket [2026-10-20T21:03:34+0300] [Info] [debug] PR_SendRPC [2026-10-20T21:03:34+0300] [Info] [debug] PR_Init [2026-10-20T21:03:34+0300] [Info] [debug] BS_IgnoreBits [2026-10-20T21:03:34+0300] [Info] [debug] BS_SetWriteOffset [2026-10-20T21:03:34+0300] [Info] [debug] BS_ResetReadPointer [2026-10-20T21:03:34+0300] [Info] [debug] BS_New [2026-10-20T21:03:34+0300] [Info] [debug] BS_Delete [2026-10-20T21:03:34+0300] [Info] [debug] PR_RegHandler [2026-10-20T21:03:34+0300] [Info] [debug] BS_Reset [2026-10-20T21:03:34+0300] [Info] [debug] BS_GetWriteOffset [2026-10-20T21:03:34+0300] [Info] [debug] PC_RegAlias [2026-10-20T21:03:34+0300] [Info] Legacy Network started on ***.**.**.***:2717. Помогите пожалуйста
       
    • Shaxmen Generalov
      От Shaxmen Generalov
      Всем привет. Сейчас я работаю над новым CRMP-проектом, создаю его полностью с нуля. Я — бэкенд-разработчик, поэтому мне нужна помощь: хочу найти или создать карту для CRMP (подобную тем, что есть в Amazing или RADMIR). Может, кто-то продает готовую карту или может помочь с её созданием?
    • pFON1Xq
      От pFON1Xq
      Есть у кого сервер самп с картой крмп, просто найти не могу.