Идентификация игроков

Urantij

Участник
Сообщения
17
Реакции
0
Добрый день. Заранее прошу прощения, если я где-то проворонил искомую информацию, или если я написал не в том разделе.
Как плагины идентифицируют пользователей? Если я правильно понимаю, для этого используется steamid, который у каждого пользователя уникален. Но как это работает с пиратками?
Чтобы не плодить темы, сразу тут спрошу. Возможно ли сделать приватные сообщения через чат?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #2
@Urantij, ну насколько я понял тебе интересно каким образом плагин понимает с каким пользователем выполнять действия.
Так вот: индекс.
К примеру на сервере 20 слотов. Значит индексы игроков 1-20 (0 - это сервер), чаще всего 1 - это source tv.
Когда игрок заходит на сервер он получает первый свободный индекс. Пусть это будет 1.
Следующий игрок получит 2 и т.д.
К примеру зашло 5 игроков. Следовательно заняты индексы 1-5.
2-й и 3-й вышли.
Заняты: 1, 4, 5.
Заходит еще игрок и получает индекс 2. Следующий - 3.
Ну и так далее.

Достаточно посмотреть в API:
GetClientName
Syntax:
native bool:GetClientName(client, String:name[], maxlen);

Usage:
client Player index.
name Buffer to store the client's name.
maxlen Maximum length of string buffer (includes NULL terminator).
Return:
True on success, false otherwise.
И сразу видим что ф-и нужно передать индекс игрока:

Еще есть userid. Он испльзуется для передачи игрока в ф-и, с учетом того что игрок мог выйти и его индекс получить другой.
Когда игрок входит он получает userid 1, дальше 2 и т.д. И это число растет до значений сотен тысяч. До тех пор пока сервер не будет перезагружен.
Это используется для передачи игрока в меню и таймерах (в основном).
 

Urantij

Участник
Сообщения
17
Реакции
0
@Urantij, ну насколько я понял тебе интересно каким образом плагин понимает с каким пользователем выполнять действия.
Так вот: индекс.
К примеру на сервере 20 слотов. Значит индексы игроков 1-20 (0 - это сервер), чаще всего 1 - это source tv.
Когда игрок заходит на сервер он получает первый свободный индекс. Пусть это будет 1.
Следующий игрок получит 2 и т.д.
К примеру зашло 5 игроков. Следовательно заняты индексы 1-5.
2-й и 3-й вышли.
Заняты: 1, 4, 5.
Заходит еще игрок и получает индекс 2. Следующий - 3.
Ну и так далее.

Достаточно посмотреть в API:

И сразу видим что ф-и нужно передать индекс игрока:

Еще есть userid. Он испльзуется для передачи игрока в ф-и, с учетом того что игрок мог выйти и его индекс получить другой.
Когда игрок входит он получает userid 1, дальше 2 и т.д. И это число растет до значений сотен тысяч. До тех пор пока сервер не будет перезагружен.
Это используется для передачи игрока в меню и таймерах (в основном).
Спасибо за ответ, но меня интересует немного другое.
Скажем, я хочу сделать магазин. И мне нужно записывать в базу данных количество валюты каждого игрока. Как мне потом определять по этой базе, у какого игрока сколько денег? Мне нужно записывать Userid игроков для этого? Если да, значит я хочу узнать, как сервер определяет Userid входящего на сервер игрока.
Т.е. не определять игрока среди 20 игроков на сервере, а среди всех игроков, которые заходили.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #4
@Urantij, тогда уже стим ид. Насчет но-стим не парься. Им эмулятор генерирует стим ид
 
Сверху Снизу