Установка соединения

Для связи между двумя компьютерами необходим какой-нибудь протокол связи. Как и большинство игр, Game Maker предлагает четыре разных типа соединения: IPX, TCP/IP, Модемное и Последовательное (Serial) соединения. IPX соединение (или если быть более точным - протокол) работает почти полностью прозрачно. Он может использоваться для игры с другими людьми по одной локальной сети. Для работы требуется, чтобы протокол был установлен на Вашем компьютере. (Если он не работает, то загляните в документацию по Windows. Выберите элемент Сетевые Подключения в Панели Управления Windows и добавьте IPX протокол.) TCP/IP - межсетевой (Интернет) протокол. Он может использоваться для игры с другими игроками по Интернет; предполагается, что Вы знаете их IP адрес. По локальной (местной) сети Вы можете использовать его без указания адреса. Модемное подключение производится посредством модема. Вы должны произвести некоторые настройки модема (строка инициализации и номер телефона), чтобы использовать его. Наконец, при использовании последовательной линии (прямое соединение между компьютерами), Вы должны настроить большое количество параметров порта. Доступны четыре функции GML, которые могут быть использованы для инициализации данных соединений:

mplay_init_ipx() инициализирует IPX подключение.
mplay_init_tcpip(addr) инициализирует TCP/IP подключение. addr - строка, содержащая веб-адрес или IP адрес, например 'www.gameplay.com' или '123.123.123.12', возможно сопровождаемый номером порта (например ':12'). Указание адреса необходимо только в процессе сеанса соединения (смотрите ниже). В локальной сети никакие адреса не нужны.
mplay_init_modem(initstr,phonenr) инициализирует модемное подключение. Где initstr - строка инициализации для модема (может быть пустой) и phonenr - строка, которая содержит номер телефона для дозвона (например '0201234567'). Номер телефона необходим только в момент сеанса подключения.
mplay_init_serial(portno,baudrate,stopbits,parity,flow) инициализирует последовательное подключение. Где portno - номер порта (1-4), baudrate - скорость передачи данных в бодах, которая будет использовать (100-256К), stopbits - указывает число стопбитов (0 = 1 bit, 1 = 1.5 bit, 2 = 2 bits), parity - указывает чётность (0=none, 1=odd, 2=even, 3=mark) и flow - указывает на тип управления потоком данных (0=none, 1=xon/xoff, 2=rts, 3=dtr, 4=rts и dtr). Возвращает, если вызов успешный. Типичный вызов - mplay_init_serial(1,57600,0,0,4). Укажите 0 как первый параметр, чтобы открыть диалог пользователя, для изменения настроек.

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

mplay_connect_status() возвращает состояние текущего подключения. 0 = нет подключения, 1 = IPX подключение, 2 = TCP/IP подключение, 3 = модемное подключение и 4 = последовательное подключение.

Окончание вызова подключения

mplay_end() завершает текущее соединение.

При использовании TCP/IP подключения Вы можете захотеть сообщить человеку, что Вы хотите начать игру с указанием адреса IP своего компьютера. Вам поможет следующая функция:

mplay_ipaddress() возвращает IP адрес Вашей машины (например '123.123.123.12') как строку. Вы можете, например, отобразить это где-нибудь на экране. Обратите внимание что эта функция медленная, так что не вызывайте её часто.