This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Создание домов

-hEadman

Новый участник
9 Фев 2022
47
3
65
Всех приветствую, решил заняться системой домов. Но возникла проблема, которую долго не могу решить. При создании первого дома ему устанавливается id - 0. После этого я добавляю еще один дом и он получает такой же id. Никаких ошибок не выскакивает, прикладываю скрины, надеюсь на помощь.
 

Вложения

  • 1.png
    11.7 KB · Просмотры: 210
  • 2.png
    105.8 KB · Просмотры: 185
  • 3.png
    59.6 KB · Просмотры: 196

Amazingevich

Гений
BackEnd developer
27 Апр 2021
841
480
164
В базе тоже ид 0 у дома?
Покажи как создаёшь

Если в базе ид 0, то в сторону auto increment в своей таблице смотри на поле с идом
 

-hEadman

Новый участник
9 Фев 2022
47
3
65
Да, в базе все дома под id = 0
 

-hEadman

Новый участник
9 Фев 2022
47
3
65
Вот код создания дома.
 

Вложения

  • 5.png
    114 KB · Просмотры: 195

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,770
1,584
211
28
Метод getHouseId лучше было бы переименовать в GetHouseByID, так он лучше будет отображать своё предназначение.
По поводу проблемы - покажи метод Mysql.CreateHouse. На тех скринах, что ты привёл, нигде нет никакой проверки на то, чтобы дому приписывался ранее несуществующий ID, поэтому, полагаю, что у переменной id берётся стандартное значение 0, которое и записывается в базу.
 

Amazingevich

Гений
BackEnd developer
27 Апр 2021
841
480
164
Почисть базу, затем структура -> id -> изменить и там поставь галочку на Auto Increment (A_I)
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,770
1,584
211
28
Учитывая весь вышескинутый код, даже если он это сделает, внутри мода у него останутся 0'ые IDшники (как минимум до перезагрузки), проблема за пределами AI.
 

-hEadman

Новый участник
9 Фев 2022
47
3
65
 

Вложения

  • 6.png
    25.4 KB · Просмотры: 173

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,770
1,584
211
28
В таком случае действительно проверь, чтобы в базе данных у поля id стоял Auto Increment, раз у тебя сделано таким образом.
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,770
1,584
211
28
Вот код создания дома.
Но еще я не понимаю зачем из главного потока вызывать Task.FactoryNew, чтобы внутри ЕЩЕ РАЗ вызывать главный поток NAPI.Task?
Это какой-то мазохизм
 

-hEadman

Новый участник
9 Фев 2022
47
3
65
Действительно, помогло, но возникла еще одна проблема. До этого они формировались в двух группах: купленные и свободные.
 

Вложения

  • 8.png
    75 KB · Просмотры: 184

Amazingevich

Гений
BackEnd developer
27 Апр 2021
841
480
164
Там где SetBlipName при создании/загрузки используешь - убери номера домов
В общем, чтобы у тебя одно имя блипа было, тогда они будут стакаться
 

-hEadman

Новый участник
9 Фев 2022
47
3
65
Вчера не мог проверить из-за обновления, всё получилось, большое вам спасибо за помощь.

Возникла еще одна проблема, связанная с выходом из интерьера. Создаю дом №1 с интерьером "1". Создаю дом №2 с интерьером "1". Когда я выхожу из дома №1, я оказываюсь на нужном маркере дома №1. НО когда я выхожу из интерьера дома №2, оказываюсь на маркере дома №1.

И так работает с одинаковыми интерьерами.
 

Вложения

  • 9.png
    19.6 KB · Просмотры: 145
  • 10.png
    57.7 KB · Просмотры: 149
  • 11.png
    15.7 KB · Просмотры: 155

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,770
1,584
211
28
Вариантов несколько.
Либо проверяй Dimension, в котором игрок находится (а дименшн пусть будет равен айди дому, например). Либо создай отдельную переменную, которую игрок будет хранить в своём объекте, и в ней храни ID дома, в котором он находится, чтобы легче понимать где именно он.
 

Amazingevich

Гений
BackEnd developer
27 Апр 2021
841
480
164
У тебя в дате House_ID записывается, я так понимаю еще при входе в дом.
Тяни по этому House_ID координаты выхода и телепортируй