Вопросы

Andy
Постоянный

Приветик, Кто нибудь вкурсе можно ли как-то реализовать систему знакомств аналогичную GTA 5 RP проектам,

Кто не знает :

Изначально у игрока все люди 'Незнакомцы',
Если пожать друг другу руку, то вместо 'Незнакомец' над головой отобразится ник игрока.

Я отключил ники игроков на сервере и добавил кастомные через 3D Text прикрепленный к игроку, на этом всё и закончилось, можно ли как-то сделать сохранение/загрузку и отображение ников у знакомых людей?

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


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

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

  • 0

@Andy в БД хранить список знакомых людей, при авторизации проверять факт знакомства каждого игрока с каждым и с помощью https://sampwiki.blast.hk/wiki/ShowPlayerNameTagForPlayer функции показывать / скрывать дефолтный ник, и отображать Textdraw "Незнакомец". 

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


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

@DEST Как можно сделать сохранение и загрузку в БД в данном случае? ников как никак много будет да и что-то в голову не приходит как сделать проверку на знакомство(понятное дело через цикл, но че то не могу додумать)

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

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


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

@DEST На данный момент разобрался с отображением ников у знакомых между собой игроков, осталось только продумать сохранение и загрузку ников из БД чтобы сделать проверку на знакомство, как можно сохранять ники в БД и соответственно загружать их?

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


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

@Andy завести новую таблицу с такой структурой: 

id | FirstPlayerID | SecondPlayerID

   |                       |                             

где FirstPlayerID это один игрок, а SecondPlayerID другой, оба поля настраиваются как Foreign key на таблицу с игроками. 

Хранить информацию в какой-либо переменной не нужно, нужно просто при загрузке игрока отобразить для него лишь ники тех людей, с которыми он знаком. 

  Code (открыть спойлер)

А при знакомстве соответственно записывать ИДы в базу. 

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

Вот, кстати, похожий вопрос и похожий ответ (даже лучше, чем у меня, поэтому советую посмотреть там) на другом портале - клик

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


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

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

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


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

@Andy так загуглите что это такое, внешний ключ называется на русском. Также почитайте про отношения между таблицами ("один" к "одному", "один" ко "многим", "многие" ко "многим") 

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


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

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

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

    • breznov
      От breznov
      Доброго времени суток уважаемые форумчане !
      Я начинающий Pawn-кодер, немного влился в функционал, шарю за диалоги, актеров, и прочего, сейчас занялся автошколой, 
      создал актеров, добавил маппинг, добавил 1 диалог на актера встречающего игрока при входе, ну и преподавателя, вот теперь дело дошло до системы вопросов на тесте и самой практики, много думал по этому делу, думал через switch вопросы писать, потом думал через отдельные диалоги, но всё-таки не додумался, хочу попросить помощи у специалистов данного языка, с реализацией данной системы, желательно на базе MySQL, с плеча попрошу не рубить, у меня код предельно не стандартный, на примере диалогов, чтобы создать сам диалог, надо его объявить в enum dialogs, после переходить в респонс и писать кейс, начинал делать мод по урокам Леона, где 41 серия, дошел до шахты, потом стало в падлу смотреть и начал самостоятельно изучать язык, пока-что в процессе, горю огромным желанием научиться, и всё-же, прошу помощи у специалистов языка.