Помогите с multiplayer - Форум Игроделов
Пн, 20 Май 2024, 01:59 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » HELP & FAQ » Помогите с multiplayer
Помогите с multiplayer
MrKyzminДата: Вт, 18 Сен 2012, 15:38 | Сообщение # 1
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
Народ написал скрипт multiplayer:

http://narod.ru/disk/12172389001/Connect.js.html

Все работает но не видно игроков как это исправить.


/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +
 
СообщениеНарод написал скрипт multiplayer:

http://narod.ru/disk/12172389001/Connect.js.html

Все работает но не видно игроков как это исправить.

Автор - MrKyzmin
Дата добавления - 18 Сен 2012 в 15:38
HunjethДата: Ср, 19 Сен 2012, 02:56 | Сообщение # 2
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
читай мануал если есть к M2H Networking Tutorial
или посмотри тут пример
http://unity3d.com/support....example
 
Сообщениечитай мануал если есть к M2H Networking Tutorial
или посмотри тут пример
http://unity3d.com/support....example

Автор - Hunjeth
Дата добавления - 19 Сен 2012 в 02:56
MrKyzminДата: Ср, 19 Сен 2012, 18:34 | Сообщение # 3
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
Спасибо но все уже получил скачав другие скрипты надо было поставить SpawnPpint что бы появлялись игроки. Но появилась новая проблема: когда игроки присоединяются к игре вроде все нормально но если двигаюсь я двигается другой игрок если двигается он двигаюсь я как это исправить вот видео от куда брал скрипты:

http://www.youtube.com/watch?v=gsX_akNEzR4


/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +
 
СообщениеСпасибо но все уже получил скачав другие скрипты надо было поставить SpawnPpint что бы появлялись игроки. Но появилась новая проблема: когда игроки присоединяются к игре вроде все нормально но если двигаюсь я двигается другой игрок если двигается он двигаюсь я как это исправить вот видео от куда брал скрипты:

http://www.youtube.com/watch?v=gsX_akNEzR4

Автор - MrKyzmin
Дата добавления - 19 Сен 2012 в 18:34
HunjethДата: Ср, 19 Сен 2012, 18:50 | Сообщение # 4
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
надо построить игру запустить ее создать сервер а с юнити присоедениться к серверу
наверно у тебя переменные в статик или 2 игрока в редакторе


Сообщение отредактировал Hunjeth - Ср, 19 Сен 2012, 19:53
 
Сообщениенадо построить игру запустить ее создать сервер а с юнити присоедениться к серверу
наверно у тебя переменные в статик или 2 игрока в редакторе

Автор - Hunjeth
Дата добавления - 19 Сен 2012 в 18:50
MrKyzminДата: Ср, 19 Сен 2012, 19:23 | Сообщение # 5
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
Нет просто мы видим один и тот же экран а рядом бот которым я играл и он двигается вместе с нами как это исправить что бы можно было играть нормально а не за одного и того же

/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +
 
СообщениеНет просто мы видим один и тот же экран а рядом бот которым я играл и он двигается вместе с нами как это исправить что бы можно было играть нормально а не за одного и того же

Автор - MrKyzmin
Дата добавления - 19 Сен 2012 в 19:23
HunjethДата: Ср, 19 Сен 2012, 19:55 | Сообщение # 6
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
Quote
а рядом бот которым я играл

я так понял ты прицепил камеру к другому игроку а упровляешь 1
тебе надо функции input поставть под boolean например
Code

var cancontrol : boolean;
if (cancontrol) {
Input.GetKeyDown()
Input.GetButton()
}


Сообщение отредактировал Hunjeth - Ср, 19 Сен 2012, 20:03
 
Сообщение
Quote
а рядом бот которым я играл

я так понял ты прицепил камеру к другому игроку а упровляешь 1
тебе надо функции input поставть под boolean например
Code

var cancontrol : boolean;
if (cancontrol) {
Input.GetKeyDown()
Input.GetButton()
}

Автор - Hunjeth
Дата добавления - 19 Сен 2012 в 19:55
MrKyzminДата: Чт, 04 Окт 2012, 22:52 | Сообщение # 7
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
тоесть

Добавлено (04.10.2012, 22:52)
---------------------------------------------
не нашол где менять такчто вот скрипты которые использовались

Code

var pgo: GameObject;
function OnNetworkLoadedLevel ()
{
Network.Instantiate(pgo,
transform.position,
transform.rotation, 0);
}
function OnPlayerDisconnected
(player : NetworkPlayer) {
Network.RemoveRPCs(player, 0);
Network.DestroyPlayerObjects
(player);


это был SpawnPoint кидаем на точку где игроки должны возраждаться

Code

function OnGUI() {
if(GUI.Button(new Rect
(20,100,50,50),"up"))
{
GameObject.Find("Player
(Clone)").transform.position =
new Vector3(0,5,0);
}
}


а это Control кидаем на игрока

Code

var remoteIP = "127.0.0.1";
var remotePort = 25000;
var listenPort = 25000;
var useNAT = false;
var yourIP = "";
var yourPort = "";
function OnGUI () {
// Проверка подключены ли вы к
Серверу или нет
if (Network.peerType ==
NetworkPeerType.Disconnected)
{
// Если вы подключены
if (GUI.Button (new Rect
(10,10,100,30),"Connect"))
{
Network.useNat = useNAT;
// Подключение к Серверу
Network.Connect(remoteIP,
remotePort);
}
if (GUI.Button (new Rect
(10,50,100,30),"Start Server"))
{
Network.useNat = useNAT;
// Создание Сервера
Network.InitializeServer(32,
listenPort);
// Сказать нашим объектам, что
уровень и сеть готова к работе
for (var go : GameObject in
FindObjectsOfType(GameObject))
{
go.SendMessage
("OnNetworkLoadedLevel",
SendMessageOptions.DontRequireReceiver);
}
}
// Создаем поля ip адрес и port
remoteIP = GUI.TextField(new
Rect(120,10,100,20),remoteIP);
remotePort = parseInt
(GUI.TextField(new
Rect
(230,10,40,20),remotePort.ToString
()));
}
else
{
// Получаем твой ip адрес и
port
ipaddress =
Network.player.ipAddress;
port =
Network.player.port.ToString();
GUI.Label(new Rect
(140,20,250,40),"IP Adress:
"+ipaddress+":"+port);
if (GUI.Button (new Rect
(10,10,100,50),"Disconnect"))
{
// Отключение от Сервера
Network.Disconnect(200);
}
}
}
function OnConnectedToServer () {
// Сказать всем объектам что
сцена и сеть готовы
for (var go : GameObject in
FindObjectsOfType(GameObject))
go.SendMessage
("OnNetworkLoadedLevel",
SendMessageOptions.DontRequireReceiver);
}


Этот скрипт кидаем на пустышку

Так вот где менять Input на Boolean


/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +
 
Сообщениетоесть

Добавлено (04.10.2012, 22:52)
---------------------------------------------
не нашол где менять такчто вот скрипты которые использовались

Code

var pgo: GameObject;
function OnNetworkLoadedLevel ()
{
Network.Instantiate(pgo,
transform.position,
transform.rotation, 0);
}
function OnPlayerDisconnected
(player : NetworkPlayer) {
Network.RemoveRPCs(player, 0);
Network.DestroyPlayerObjects
(player);


это был SpawnPoint кидаем на точку где игроки должны возраждаться

Code

function OnGUI() {
if(GUI.Button(new Rect
(20,100,50,50),"up"))
{
GameObject.Find("Player
(Clone)").transform.position =
new Vector3(0,5,0);
}
}


а это Control кидаем на игрока

Code

var remoteIP = "127.0.0.1";
var remotePort = 25000;
var listenPort = 25000;
var useNAT = false;
var yourIP = "";
var yourPort = "";
function OnGUI () {
// Проверка подключены ли вы к
Серверу или нет
if (Network.peerType ==
NetworkPeerType.Disconnected)
{
// Если вы подключены
if (GUI.Button (new Rect
(10,10,100,30),"Connect"))
{
Network.useNat = useNAT;
// Подключение к Серверу
Network.Connect(remoteIP,
remotePort);
}
if (GUI.Button (new Rect
(10,50,100,30),"Start Server"))
{
Network.useNat = useNAT;
// Создание Сервера
Network.InitializeServer(32,
listenPort);
// Сказать нашим объектам, что
уровень и сеть готова к работе
for (var go : GameObject in
FindObjectsOfType(GameObject))
{
go.SendMessage
("OnNetworkLoadedLevel",
SendMessageOptions.DontRequireReceiver);
}
}
// Создаем поля ip адрес и port
remoteIP = GUI.TextField(new
Rect(120,10,100,20),remoteIP);
remotePort = parseInt
(GUI.TextField(new
Rect
(230,10,40,20),remotePort.ToString
()));
}
else
{
// Получаем твой ip адрес и
port
ipaddress =
Network.player.ipAddress;
port =
Network.player.port.ToString();
GUI.Label(new Rect
(140,20,250,40),"IP Adress:
"+ipaddress+":"+port);
if (GUI.Button (new Rect
(10,10,100,50),"Disconnect"))
{
// Отключение от Сервера
Network.Disconnect(200);
}
}
}
function OnConnectedToServer () {
// Сказать всем объектам что
сцена и сеть готовы
for (var go : GameObject in
FindObjectsOfType(GameObject))
go.SendMessage
("OnNetworkLoadedLevel",
SendMessageOptions.DontRequireReceiver);
}


Этот скрипт кидаем на пустышку

Так вот где менять Input на Boolean

Автор - MrKyzmin
Дата добавления - 04 Окт 2012 в 22:52
HunjethДата: Пт, 05 Окт 2012, 16:43 | Сообщение # 8
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
надо в таком случае проверить твой ли это игрок
я про скрипт который управляет игроком
или сделать список кому каждое управление принадлежит


Сообщение отредактировал Hunjeth - Пт, 05 Окт 2012, 16:47
 
Сообщениенадо в таком случае проверить твой ли это игрок
я про скрипт который управляет игроком
или сделать список кому каждое управление принадлежит

Автор - Hunjeth
Дата добавления - 05 Окт 2012 в 16:43
MrKyzminДата: Вс, 04 Ноя 2012, 23:47 | Сообщение # 9
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
Тоесть... Немного не понял что мне нужно сделать

Добавлено (04.11.2012, 23:47)
---------------------------------------------
Если каждому игроку менять управление будет не удобно...просто работаю на хорор игрой и хочу сделать multilayer как в survivers...кто может помогите


/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +
 
СообщениеТоесть... Немного не понял что мне нужно сделать

Добавлено (04.11.2012, 23:47)
---------------------------------------------
Если каждому игроку менять управление будет не удобно...просто работаю на хорор игрой и хочу сделать multilayer как в survivers...кто может помогите


Автор - MrKyzmin
Дата добавления - 04 Ноя 2012 в 23:47
HunjethДата: Вс, 04 Ноя 2012, 23:59 | Сообщение # 10
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
надо разделить что показывать в интернете что только на тваем компе должно происходить
 
Сообщениенадо разделить что показывать в интернете что только на тваем компе должно происходить

Автор - Hunjeth
Дата добавления - 04 Ноя 2012 в 23:59
ЛевшаДата: Пн, 05 Ноя 2012, 00:25 | Сообщение # 11
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Условие - if (networkView.isMine) - определяет что это твой игрок на твоем клиенте.

X.cor.R (Prologue)
 
СообщениеУсловие - if (networkView.isMine) - определяет что это твой игрок на твоем клиенте.

Автор - Левша
Дата добавления - 05 Ноя 2012 в 00:25
Форум Игроделов » UNITY3D » HELP & FAQ » Помогите с multiplayer
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024