Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > Переводы

Переводы Переводы туториалов и хелпов.

Ответ
 
Опции темы
Старый 30.12.2006, 12:29   #1
Progger_Leo
 
Сообщений: n/a
Перевод раздела Direct Play

Здесь я буду постепенно вставлять переводы команд из раздела DirectPlay.
 
Ответить с цитированием
Старый 30.12.2006, 12:29   #2
Progger_Leo
 
Сообщений: n/a
Re: Перевод раздела Direct Play

StartNetGame()

Параметры

Отсутствуют.

Описание

Отображает диалоговое окно Windows с возможностью присоединится или начать новую многопользовательскую сетевую игру, через модем последовательное соединение или TCP/IP(Интернет).

Примечание: Эта команда должна присутствовать перед любыми другими сетевыми командами, иначе они не заработают.

Возвращаемое значение 0 означает неудачу, 1 означает, что пользователь был успешно подключен к игре и 2 означает, что сеанс был создан пользователем и в роли сервера будет выступать его компьютер.

Пример

newGame = StartNetGame()
; Проверяем статус новой игры.
If newGame = 0 Then
print "Нельзя начать или присоединится к игре."
ElseIf newGame = 1
print "Удачное подключение к игре.."
ElseIf newGame = 2
print "Сетевая игра не была начата."
EndIf
 
Ответить с цитированием
Старый 30.12.2006, 12:32   #3
Progger_Leo
 
Сообщений: n/a
Re: Перевод раздела Direct Play

HostNetGame (gamename$)

Параметры

gamename$ = текстовая строка, обозначающая название игры

Описание

Это позволяет вам пропустить "стандартное" диалоговое окно сетевой игры (обычно используя StartNetGame) и начать сразу же хостировать сетевую игру. Возвращаемое значение 2 свидетельствует об удачном начале хостирования.

Пример

; пример HostNetGame

joinResults=HostNetGame("ShaneGame")

Select joinResults
Case 2
Print "Удачное начало хотсирования игры!"
Default
Print "Игра не была начата!"
End Select
waitkey()
 
Ответить с цитированием
Старый 30.12.2006, 12:33   #4
Progger_Leo
 
Сообщений: n/a
Re: Перевод раздела Direct Play

JoinNetGame (gamename$,serverIP$)

Параметры

gamename$ = строка, сообщающая об имени игры, к которой надо подключится
serverIP$ = IP адрес компьютера-сервера

Описание

Используйте это команду, пропуская диалоговое окно запускаемое с помощью команды StartNetGame. Возвращает 0 если соединение неудачно или 1 если подключение прошло успешно.

Пример

; пример JoinNetGame
; Заметка; запустите пример HostNetGame на другом компьютере
; к которому вы хотите подключится

gamename$="ShaneGame"
; измините этот IP в соответствии с с IP сервера!
serverIP$="0.0.0.0"

; Попытка соединения
joinResults=JoinNetGame(gamename$,serverIP$)

Select joinResults
Case 1
Print "Подключение прошло удачно!"
Default
Print "Подключение прошло неудачно.."
End Select
WaitKey()
 
Ответить с цитированием
Старый 30.12.2006, 12:39   #5
Progger_Leo
 
Сообщений: n/a
Re: Перевод раздела Direct Play

StopNetGame

Параметры

Отсутствуют.

Описание

Используйте эту команду для завершения настоящей сетевой игры (начатой с помощью команды StartNetGame()). Если возможно, хостинг игровой сессии будет передан другой машине, присоединившийся к этой игре.

Пример

; пример stopNetGame()

newGame = StartNetGame()
; Проверка стутуса сетевой игры
If newGame = 0 Then
print "Невозможно начать сетевую игру."
ElseIf newGame = 1
print "Подключение успешно."
ElseIf newGame = 2
print "Новая сетевая игра не была начата."
EndIf
waitkey()
StopNetGame()
print "Сетевая игра закончена."
 
Ответить с цитированием
Старый 30.12.2006, 12:47   #6
Progger_Leo
 
Сообщений: n/a
Re: Перевод раздела Direct Play

CreateNetPlayer (name$)

Пармаметры

name$ = имя создающегося игрока

Описание

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

Пример

; пример CreateNetPlayer

newGame = StartNetGame()
; Проверка статуса сетевой игры.
If newGame = 0 Then
Print "Игра не может быть начата."
End

ElseIf newGame = 1
Print "Соединение было удачно."
ElseIf newGame = 2
Print "Новая сетевая игра начата!"
EndIf

; Создание случайного имени игрока
name$="Player" + Rand(100)

; Получение уникального ID для каждого игрока
; и создание самого игрока
playerID=CreateNetPlayer(name$)

If playerID = 0 Then
Print "Игрок не может быть создан!"
Else
Print "Игрок" + name$ + " создан и получил ID#" + playerID
End If
WaitKey()
 
Ответить с цитированием
Старый 30.12.2006, 12:53   #7
Progger_Leo
 
Сообщений: n/a
Re: Перевод раздела Direct Play

DeleteNetPlayer playerID

Параметры

playerID = значение ID игрока, даваемое ему командой CreateNetPlayer

Описание

Используя ID игрока, сгенерированное командой CreteNetPlayer, эта команда удаляет созданного игрока из сетевой игры. Также отправляется специальное сообщение всем подключенным машинам (смотри NetMsgType).

Пример

; пример DeleteNetPlayer

newGame = StartNetGame()
; Проверка статуса сетевой игры. If newGame = 0 Then
Print "Невозможно начать новую игру."
End

ElseIf newGame = 1
Print "Подключение к игре было удачным!"
ElseIf newGame = 2
Print "Новая сетевая игра начата!"
EndIf

; Создание случайного имени игрока
name$="Player" + Rand(100)

; Получение уникального ID игрока
; и создание самого игрока
playerID=CreateNetPlayer(name$)

If playerID = 0 Then
Print "Игрок не был создан!"
Else
Print "Игрок " + name$ + " создан и получил ID#" + playerID
WaitKey()
; удаление игрока!
DeleteNetPlayer playerID
Print "Локальный игрок был удален!"
End If
waitkey()
 
Ответить с цитированием
Старый 30.12.2006, 13:08   #8
Progger_Leo
 
Сообщений: n/a
Re: Перевод раздела Direct Play

NetPlayerName$ (playerID)

Параметры

playerID = ID игрока, данный ему командой CreateNetPlayer

Описание

Для начала, эта команда работает ТОЛЬКО если вы уже подключились к сетевой игре через StartNetGame или JoinNetGame и вы уже создали игрока через СreateNetPlayer (вы должны создать игрока, чтобы эта команда не бездействовала).Используйте эту команду вместе с командой NetMsgFrom(для получения ID игрока) чтобы узнать имя игрока, приславшего вам сообщение. Эта команда возвращает текстовую строку.
Вы будете использовать NetMsgType, NetMsgFrom и NetMsgTo чтобы получить больше информации о сообщении.
Пример требует, чтобы вы запустить его на локальной машине вместе с примером SendNetMsg.

Пример

; пример NetPlayerName$()
; --------------------
; Запустите этот пример с подключающимся компьютером, чтобы "посмотреть"
; на действие команды SendNetMsg. Запустите тот пример
; на локальной машине.
;
; Эта программа сообщит вам, когда игрок коснется стенки

; Используйте это вместo JoinNetGame - проще будет
StartNetGame()

; Создание игрока. Игрок должен быть создан для получения сообщений!
playerID=CreateNetPlayer("Shane")

; Цикл с проверкой статуса
While Not KeyHit(1)

; Проверка получения сообщений
If RecvNetMsg() Then

; если да, мы должны узнать тип сообщения
msgType=NetMsgType()

; тип 1-99 означает сообщение пользователя
If msgType>0 And msgType<100 Then

; Давайте посмотрим, от кого пришло сообщение.
msgFrom=NetMsgFrom()

; Давайте примем само сообщение!
msgData$=NetMsgData$()

; Вывод сообщения на экран
Print msgData$
Print "(Сообщение пришло от:"+ NetPlayerName$(NetMsgFrom()) + ")"
End If
End If
Wend
 
Ответить с цитированием
Старый 30.12.2006, 13:40   #9
Progger_Leo
 
Сообщений: n/a
Re: Перевод раздела Direct Play

NetPlayerLocal (playerID)

Параметры

playerID = номер ID игрока (данный командой CreateNetPlayer)

Описание

Для начала, эта команда работает ТОЛЬКО если вы уже подключились к сетевой игре через StartNetGame или JoinNetGame и вы уже создали игрока через СreateNetPlayer (вы должны создать игрока, чтобы эта команда не бездействовала).

Используйте эту команду вместе с NetMsgFrom (для получения ID игрока) для проверки: этот игрок на локальной машине? Вы наверняка желаете добавить в ваше приложение возможность переписываться. А для этого нужно знать, кто писал сообщение: игрока на локальной или удаленной машине.Вы будете использовать NetMsgType, NetMsgFrom и NetMsgTo чтобы получить больше информации о сообщении.

Пример требует, чтобы вы запустить его на локальной машине вместе с примером SendNetMsg.

Пример

; пример NetPlayerLocal
; --------------------
; --------------------
; Запустите этот пример с подключающимся компьютером, чтобы "посмотреть"
; на действие команды SendNetMsg. Запустите тот пример
; на локальной машине.
;
; Эта программа сообщит вам, когда игрок коснется стенки

; Используйте это вместo JoinNetGame - проще будет
StartNetGame()

; Создание игрока. Игрок должен быть создан для получения сообщений!
playerID=CreateNetPlayer("Shane")

; Цикл с проверкой статуса
While Not KeyHit(1)

; Проверка получения сообщений
If RecvNetMsg() Then

; если да, мы должны узнать тип сообщения
msgType=NetMsgType()

; тип 1-99 означает сообщение пользователя
If msgType>0 And msgType<100 Then

; Давайте посмотрим, от кого пришло сообщение.
msgFrom=NetMsgFrom()

; Давайте примем само сообщение!
msgData$=NetMsgData$()


; Вывод сообщения на экран
Print msgData$
if NetPlayerLocal(NetMsgFrom()) then
print "(Это сообщение было отправлено от локального игрока)"
end if
End If
End If
Wend
 
Ответить с цитированием
Старый 30.12.2006, 13:48   #10
Progger_Leo
 
Сообщений: n/a
Re: Перевод раздела Direct Play

RecvNetMsg()

Параметры

Отсутствуют.

Описание

Для начала, эта команда работает ТОЛЬКО если вы уже подключились к сетевой игре через StartNetGame или JoinNetGame и вы уже создали игрока через СreateNetPlayer (вы должны создать игрока, чтобы эта команда не бездействовала).

Возвращает TRUE, если получено новое сообщение или FALSE если нет новых сообщений. Обычно получив сообщение, запускается функция, анализирующая его и берущая из него информацию. Вы будете использовать NetMsgType, NetMsgFrom и NetMsgTo чтобы получить больше информации о сообщении.

Пример требует, чтобы вы запустить его на локальной машине вместе с примером SendNetMsg.

Пример

; пример RecvNetMsg
; --------------------
; Запустите этот пример с подключающимся компьютером, чтобы "посмотреть"
; на действие команды SendNetMsg. Запустите тот пример
; на локальной машине.
;
; Эта программа сообщит вам, когда игрок коснется стенки

; Используйте это вместo JoinNetGame - проще будет
StartNetGame()

; Создание игрока. Игрок должен быть создан для получения сообщений!
playerID=CreateNetPlayer("Shane")

; Цикл с проверкой статуса
While Not KeyHit(1)

; Проверка получения сообщений
If RecvNetMsg() Then

; если да, мы должны узнать тип сообщения
msgType=NetMsgType()

; тип 1-99 означает сообщение пользователя
If msgType>0 And msgType<100 Then

; Давайте посмотрим, от кого пришло сообщение.
msgFrom=NetMsgFrom()

; Давайте примем само сообщение!
msgData$=NetMsgData$()


; Вывод сообщения на экран
Print msgData$
end if
End If
End If
Wend
 
Ответить с цитированием
Старый 30.12.2006, 13:56   #11
Progger_Leo
 
Сообщений: n/a
Re: Перевод раздела Direct Play

NetMsgType()

Параметры

Отсутствуют.

Описание

Для начала, эта команда работает ТОЛЬКО если вы уже подключились к сетевой игре через StartNetGame или JoinNetGame и вы уже создали игрока через СreateNetPlayer (вы должны создать игрока, чтобы эта команда не бездействовала). Возвращаемое значение 1-99 означает, что это пользовательское сообщение, 100 означает, что к игре подключился новый игрок, 101 означает, что игрок покинул сетевую игру(NetMsgFrom возвращает имя ушедшего игрока), 102 означает что сервер покинул игру и ДАННАЯ машина теперь будет сервером.
Если вы получили 200, это свидетельствует о том, что сессия прервана, и вы должны покинуть игру
Вы будете использовать NetMsgType, NetMsgFrom и NetMsgTo чтобы получить больше информации о сообщении.
Пример требует, чтобы вы запустить его на локальной машине вместе с примером SendNetMsg.

Пример

; примерм NetMsgType()
; --------------------
; Запустите этот пример с подключающимся компьютером, чтобы "посмотреть"
; на действие команды SendNetMsg. Запустите тот пример
; на локальной машине.
;
; Эта программа сообщит вам, когда игрок коснется стенки

; Используйте это вместo JoinNetGame - проще будет
StartNetGame()

; Создание игрока. Игрок должен быть создан для получения сообщений!
playerID=CreateNetPlayer("Shane")

; Цикл с проверкой статуса
While Not KeyHit(1)

; Проверка получения сообщений
If RecvNetMsg() Then

; если да, мы должны узнать тип сообщения
msgType=NetMsgType()

; тип 1-99 означает сообщение пользователя
If msgType>0 And msgType<100 Then

; Давайте посмотрим, от кого пришло сообщение.
msgFrom=NetMsgFrom()

; Давайте примем само сообщение!
msgData$=NetMsgData$()


; Вывод сообщения на экран
Print msgData$
End If
End If
Wend
 
Ответить с цитированием
Старый 30.12.2006, 14:01   #12
Progger_Leo
 
Сообщений: n/a
Re: Перевод раздела Direct Play

NetMsgFrom()

Параметры

Отсутствуют.

Описание

Для начала, эта команда работает ТОЛЬКО если вы уже подключились к сетевой игре через StartNetGame или JoinNetGame и вы уже создали игрока через СreateNetPlayer (вы должны создать игрока, чтобы эта команда не бездействовала).

Возвращаемое значение показывает ID игрока (данный ему командой CreateNetPlayer), который послал сообщение. Используйте эту команду для совершения действий на локальном компьютере.

Вы будете использовать NetMsgType, NetMsgFrom и NetMsgTo чтобы получить больше информации о сообщении.
Пример требует, чтобы вы запустить его на локальной машине вместе с примером SendNetMsg.

Пример

; NetMsgFrom() example
; --------------------
; Запустите этот пример с подключающимся компьютером, чтобы "посмотреть"
; на действие команды SendNetMsg. Запустите тот пример
; на локальной машине.
;
; Эта программа сообщит вам, когда игрок коснется стенки

; Используйте это вместo JoinNetGame - проще будет
StartNetGame()

; Создание игрока. Игрок должен быть создан для получения сообщений!
playerID=CreateNetPlayer("Shane")

; Цикл с проверкой статуса
While Not KeyHit(1)

; Проверка получения сообщений
If RecvNetMsg() Then

; если да, мы должны узнать тип сообщения
msgType=NetMsgType()

; тип 1-99 означает сообщение пользователя
If msgType>0 And msgType<100 Then

; Давайте посмотрим, от кого пришло сообщение.
msgFrom=NetMsgFrom()

; Давайте примем само сообщение!
msgData$=NetMsgData$()


; Вывод сообщения на экран
Print msgData$
End If
End If
Wend
 
Ответить с цитированием
Старый 30.12.2006, 14:08   #13
Progger_Leo
 
Сообщений: n/a
Re: Перевод раздела Direct Play

NetMsgTo()

Параметры

Отсутствуют.

Описание

Для начала, эта команда работает ТОЛЬКО если вы уже подключились к сетевой игре через StartNetGame или JoinNetGame и вы уже создали игрока через СreateNetPlayer (вы должны создать игрока, чтобы эта команда не бездействовала).

Возвращаемое значение этой команды показывает, ID игрока(данный ему командой CreateNetPlayer), которому предназначалось сообщение

Вы будете использовать NetMsgType, NetMsgFrom и NetMsgTo чтобы получить больше информации о сообщении.

Пример требует, чтобы вы запустить его на локальной машине вместе с примером SendNetMsg.

Пример

; NetMsgTo() example
;--------------------
; Запустите этот пример с подключающимся компьютером, чтобы "посмотреть"
; на действие команды SendNetMsg. Запустите тот пример
; на локальной машине.
;
; Эта программа сообщит вам, когда игрок коснется стенки

; Используйте это вместo JoinNetGame - проще будет
StartNetGame()

; Создание игрока. Игрок должен быть создан для получения сообщений!
playerID=CreateNetPlayer("Shane")

; Цикл с проверкой статуса
While Not KeyHit(1)

; Проверка получения сообщений
If RecvNetMsg() Then

; если да, мы должны узнать тип сообщения
msgType=NetMsgType()

; тип 1-99 означает сообщение пользователя
If msgType>0 And msgType<100 Then

; Давайте посмотрим, от кого пришло сообщение.
msgFrom=NetMsgFrom()

; Давайте примем само сообщение!
msgData$=NetMsgData$()


; Вывод сообщения на экран
Print msgData$
Print "(Сообщение адресовалось игроку:"+ NetMsgTo() + ")"
End If
End If
Wend
 
Ответить с цитированием
Старый 30.12.2006, 14:11   #14
Progger_Leo
 
Сообщений: n/a
Re: Перевод раздела Direct Play

NetMsgData$()

Параметры

Отсутствуют.

Описание

Для начала, эта команда работает ТОЛЬКО если вы уже подключились к сетевой игре через StartNetGame или JoinNetGame и вы уже создали игрока через СreateNetPlayer (вы должны создать игрока, чтобы эта команда не бездействовала).

Возвращаемое текстовое значение показывает текст сообщения.

Вы будете использовать NetMsgType, NetMsgFrom и NetMsgTo чтобы получить больше информации о сообщении.

Пример требует, чтобы вы запустить его на локальной машине вместе с примером SendNetMsg.

Пример

; пример NetMsgData$()
;--------------------
; Запустите этот пример с подключающимся компьютером, чтобы "посмотреть"
; на действие команды SendNetMsg. Запустите тот пример
; на локальной машине.
;
; Эта программа сообщит вам, когда игрок коснется стенки

; Используйте это вместo JoinNetGame - проще будет
StartNetGame()

; Создание игрока. Игрок должен быть создан для получения сообщений!
playerID=CreateNetPlayer("Shane")

; Цикл с проверкой статуса
While Not KeyHit(1)

; Проверка получения сообщений
If RecvNetMsg() Then

; если да, мы должны узнать тип сообщения
msgType=NetMsgType()

; тип 1-99 означает сообщение пользователя
If msgType>0 And msgType<100 Then

; Давайте посмотрим, от кого пришло сообщение.
msgFrom=NetMsgFrom()

; Давайте примем само сообщение!
msgData$=NetMsgData$()


; Вывод сообщения на экран
Print msgData$
Print "(Сообщение адресовалось игроку:"+ NetMsgTo() + ")"
End If
End If
Wend
 
Ответить с цитированием
Старый 30.12.2006, 14:33   #15
Progger_Leo
 
Сообщений: n/a
Re: Перевод раздела Direct Play

SendNetMsg type,data$,from,to,reliable

Параметры

type = число 1-99
data$ = текстовое содержание сообщения
from = ID отправителя
to = ID получателя (0=общее)
reliable = режим посылки сообщения

Описание

Для начала, эта команда работает ТОЛЬКО если вы уже подключились к сетевой игре через StartNetGame или JoinNetGame и вы уже создали игрока через СreateNetPlayer (вы должны создать игрока, чтобы эта команда не бездействовала).Это самая распространенная из сетевых команд. Эта команда позволяет посылать сообщения отдельному игроку или всем сразу в сетевой игре. Другие игроки используют RecvNetMsg для получения ваших сообщений.
Параметр TYPE это число между 1 и99. Эти значения говорят о том, что это пользовательские сообщения.

Параметр Data$ содержит строку, посылаемую сообщением. Полезно знать, что из-за низкого трафика, вы должны совмещать разные сообщения в одно. Для примера, вы должны отправить X, Y и номер кадра одной строкой, например такой: "200,100,4" и получатель должен разобрать её.

FROM - это ID игрока посылающего сообщение, это значение дает команда CreateNetPlayer.

TO - это ID игрока, которому вы хотите послать сообщения. Значение по умолчанию 0, означает, что сообщение отошлется ВСЕМ игрокам.
Параметр RELIABLE ставит приоритет сообщения. Если приоритет высокий, то сообщение посылается очень быстро, иначе отошлется раза в 3 медленее.

Пример требует, чтобы вы запустили эту программу на локальной машине, а на удаленном компьютере вы должны запустить пример команды RecvNetMsg.

Пример

; пример SendNetMsg
; ------------------
; Запустите этот пример на локальном компьютере
; запустите пример RecvNetMsg с удаленного компьютера

; Графический режим с двойной буферизацией
Graphics 640,480,16
SetBuffer BackBuffer()

; Создание сетевой игры БЕЗ требований
joinStatus=HostNetGame("ShaneGame")

; Создание типа, содержащего информацию об игроке
Type multi
Field x
Field y
Field id
Field name$
Field xspeed
Field boxColor
End Type

; проверка статуса игры
If joinStatus=2 Then
Print "Хостинг игры начат... "
Else
Print "Хостинг игры не начат!"
End
End If

; Создание 5 локальных игроков используя типы
For t = 1 To 5
; Новый образец типв
player.multi = New Multi
; заполнение значения ID'a игрока
playerID=CreateNetPlayer("Player" + t)

; если игрок создан, задаем случайные параметры
If playerID <> 0 Then
player
ame$="Player" + t
playerx = Rand(640)
playery = Rand(480)
playeroxColor = Rand(255)
playerxspeed = Rand(1,5)
; Print some text results
Print "Игрок" + t + " был подключен к игре с ID=" + playerID
Else
Print "Игрок не может подключится!"
End If
Next

; Созданы все. Ожидание нажатия клавиши
Print "Все локальные игроки подключены! Нажмите любую клавишу для продолжения..."
WaitKey()

; Цикл
While Not KeyHit(1)
Cls
; обновления для всех игроков
For player = Each multi
Color playeroxColor,playeroxColor,playeroxColor
Rect playerx,playery,10,10,1
Text playerx-10,playery-15,player
ame$
playerx = playerx + playerxspeed
If playerx > 640 Or playerx < 0 Then
playerxspeed=-playerxspeed
message$="Игрок с ID #" + playerID + " стукнулся об стенкуll!"
;Посылка сообщений всем игрокам
SendNetMsg Rand(1,99),message$,playerid,0
End If
Next
Flip
Wend
End
 
Ответить с цитированием
Ответ


Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Описание раздела SBJoker iPhone 0 24.09.2009 23:53
Права раздела SubZer0 Наш форум 0 17.08.2009 20:08
Востоновление ntfs раздела на диске, как? Trilliput Болтовня 23 05.01.2008 12:09


Часовой пояс GMT +4, время: 18:38.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com