Сеансы создания и соединения

В тот момент, когда Вы подключаетесь к сети, в ней могут выполняться множество различных игр. Мы назовем их сеансами. Эти сеансы могут соответствовать различным играм или одной и той же игре. Игра в сети должна иметь свой уникальный идентификатор. К счастью, Game Maker предоставляет Вам такую возможность. Единственная вещь, которую Вы должны знать, заключается в том, что, когда Вы изменяете игровой идентификатор в окне опций, то эти идентификационные данные также изменяются. Таким образом Вы можете избежать ситуации постороннего подключения людей имеющих старую версию программы.

Если Вы хотите запустить новую многопользовательскую игру, Вы должны создать новый сеанс. Для этого Вы можете использовать следующую подпрограмму:

mplay_session_create(sesname,playnumb,playername) создаёт новый сеанс для текущего подключения. Где sesname - строка, указывающая название сеанса, playnumb - номер, который указывает максимальное число играющих (используйте 0 для произвольного числа) и playname - Ваше имя как игрока. Возвращает, если успешна.

Один образец игры должен создать сеанс. Другой образец(цы) этой игры должны присоединиться к заданному сеансу. В действительности - это немного сложно. Вы сначала должны посмотреть, какие сеансы доступны и затем выбрать нужный для присоединения. Существуют три подпрограммы, необходимые для этого:

mplay_session_find() ищет все доступные сеансы для подключения игроков и возвращает число найденных сеансов.
mplay_session_name(numb) возвращает имя номера сеанса numb (0 - первый сеанс). Эта подпрограмма может быть вызвана, только после вызова предыдущей подпрограммы.
mplay_session_join(numb,playername) создаёт Ваш сеанс присоединения, номер numb (0 - первый сеанс). playername - Ваше имя как игрока. Возвращает, если успешно.

Имеется ещё одна подпрограмма, которая может изменить режим сеанса. Должна быть вызвана перед созданием сеанса:

mplay_session_mode(move) устанавливает, переместить ли сеанс с хостом на другой компьютер когда хост отключается. Параметр move должен быть истина или ложь (по умолчанию).

Чтобы проверить состояние текущего сеанса, Вы можете использовать следующую функцию:

mplay_session_status() возвращает состояние текущего сеанса. 0 = нет сеанса, 1 = созданный сеанс, 2 = соединённый сеанс.

Игрок может остановить сеанс, используя следующую подпрограмму:

mplay_session_end() заканчивает сеанс для данного игрока.