Вопросы

Здравствуйте, хотел сделать систему домов, но что-то пошло не так, пытался сделать что угодно. Проще говоря проблема в том что когда покупаешь дом, пикап меняется на этот, также в папке сохранения вместо None "владельца дома до покупки", появляется пустая строка. Помогите исправить

sa-mp-003.png

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

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


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

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

  • 0

@Asminov, тут остаётся только код показывать...

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


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

Вот команда для покупки:

  открыть спойлер

 

Вот код обновления дома после покупки:

  открыть спойлер

 

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

Заметка от Cawfee , создано

3.2. Код необходимо брать в тег "Код", а код более 10 строк – еще и в "Спойлер". Как это сделать рассказано в разделе "FAQ".

Устное предупреждение.

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


Ссылка на сообщение
  • 0
  В 11/2/2024 в 21:10, Asminov сказал:

когда покупаешь дом, пикап меняется на этот

Читать далее...  

А это является проблемой? В явном виде обозначается, что дом кем-либо приобретен. В любом случае, если вам это не нравится, в теле функции UpdateHouse вы можете изменить эту логику или изменить модель пикапа в функции CreatePickup.

 

  В 11/2/2024 в 21:10, Asminov сказал:

также в папке сохранения вместо None "владельца дома до покупки", появляется пустая строка

Читать далее...  

Добавьте какой-нибудь вывод для отладки, чтобы убедиться, что в hOwner есть значение имени. 

printf("Дом приобретается игроком %s", HousesInfo[h][hOwner]);

Перед следующей строкой:

format(string,sizeof(string), "Дом № %d\n\nУровень: %d\nВладелец: %s",h,HousesInfo[h][hLevel],HousesInfo[h][hOwner]);

И после приобретения дома посмотрите, что там в консоли (логах сервера).

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


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

@Cawfee Проблема заключается в том что после покупки надпись меняется на всякую балбурду, то есть строчка на строчке и не поймёшь что там написано. На фото видно

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

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


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

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

Отредактировано пользователем angel_sinvays
Причина: исправил

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


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

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

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

    • djxxx
      От djxxx
      приветствую всех.
       
      Задался таким вопросом при добавлении одной системы на DIALOG_STYLE_TABLIST_HEADERS.
       
      Суть проблемы в том, что диалог не выравнивается под нужные показатели, а просто как будто находиться по середине, в диалоге используется \t, но они особо не помогают в решении, также не ровно.
       
      а если попытаться выравнивать большим количеством \t, оно компилируется но в игре происходят вылеты
       
      Код такой:
      DialogAdmShop ( playerid, DIALOG_EPOINTSHOP, DIALOG_STYLE_TABLIST_HEADERS, fmt_str, ""BR"номер\t"BR"наименование\t"BR"доступное действие\n"\ "{EB4C42}#1\t{FFFFFF}Виртуальная валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#2\t{FFFFFF}Донат валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#3\t{FFFFFF}Вип статусы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#4\t{FFFFFF}Кейсы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#5\t{FFFFFF}Уникальные аксессуары\t{888888}нажмите для взаимодействия", "Выбрать", "Закрыть" ); }  
      сток dialogadmshop:
      stock DialogAdmShop(playerid, dialogid, style, title[], text[], button[], button2[]) {   if(style == 5)   {      ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "...", "...", "...", "");    }   ShowPlayerDialog(playerid, dialogid, style, title, text, button, button2);   return 1; }