Ajuda com script para instanciar objetos no servidor
2 participantes
Página 1 de 1
Ajuda com script para instanciar objetos no servidor
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class NodeCreator : NetworkBehaviour {
[SerializeField]
GameObject node;
GameObject Nodes;
[Space(10)]
[SerializeField]
int x,y;
public override void OnStartServer()
{
base.OnStartServer();
Debug.Log("OnStartServer Running");
CmdSpawnNodes(5,5);
}
[Command]
void CmdSpawnNodes(int MapGridScaleX,int MapGridScaleY)
{
for (int X = 0; X < MapGridScaleX; X++)
{
for (int Y = 0; Y < MapGridScaleY; Y++)
{
Network.Instantiate(node, transform.position = (new Vector3(X + (X * 3), 1, Y + (Y * 3))), transform.rotation, 0);
}
}
}
}
O comando não está funcionado. Da o seguinte erro:
Command function CmdSpawnNodes called on server.
UnityEngine.Debug:LogError(Object)
NodeCreator:CallCmdSpawnNodes(Int32, Int32)
NodeCreator:OnStartServer() (at Assets/Scripts/PropsScript/NodeCreator.cs:19)
UnityEngine.Networking.NetworkManagerHUD:OnGUI()
Feromark2013- Membro
- PONTOS : 2992
REPUTAÇÃO : 4
Idade : 20
Áreas de atuação : C##
Respeito as regras :
Re: Ajuda com script para instanciar objetos no servidor
na unity nova você tem que fazer algo assim:
dê uma olhada nesse video:
lá pro final tem o que você quer mas dê uma olhada no video todo se possivel, irá te esclarecer melhor
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class NodeCreator : NetworkBehaviour {
[SerializeField]
GameObject node;
GameObject Nodes;
[Space(10)]
[SerializeField]
int x,y;
public override void OnStartServer() {
base.OnStartServer();
Debug.Log("OnStartServer Running");
CmdSpawnNodes(5,5);
}
[Command]
void CmdSpawnNodes(int MapGridScaleX,int MapGridScaleY) {
for (int X = 0; X < MapGridScaleX; X++) {
for (int Y = 0; Y < MapGridScaleY; Y++) {
GameObject NodeInstanciate = (GameObject)Instantiate(node, transform.position = (new Vector3(X + (X * 3), 1, Y + (Y * 3))), transform.rotation, 0);
Spawn(NodeInstanciate);
}
}
}
}
dê uma olhada nesse video:
lá pro final tem o que você quer mas dê uma olhada no video todo se possivel, irá te esclarecer melhor
Phph09- Profissional
- PONTOS : 3791
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: Ajuda com script para instanciar objetos no servidor
mt obrigado cara, vou testar aqui.Phph09 escreveu:na unity nova você tem que fazer algo assim:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class NodeCreator : NetworkBehaviour {
[SerializeField]
GameObject node;
GameObject Nodes;
[Space(10)]
[SerializeField]
int x,y;
public override void OnStartServer() {
base.OnStartServer();
Debug.Log("OnStartServer Running");
CmdSpawnNodes(5,5);
}
[Command]
void CmdSpawnNodes(int MapGridScaleX,int MapGridScaleY) {
for (int X = 0; X < MapGridScaleX; X++) {
for (int Y = 0; Y < MapGridScaleY; Y++) {
GameObject NodeInstanciate = (GameObject)Instantiate(node, transform.position = (new Vector3(X + (X * 3), 1, Y + (Y * 3))), transform.rotation, 0);
Spawn(NodeInstanciate);
}
}
}
}
dê uma olhada nesse video:
lá pro final tem o que você quer mas dê uma olhada no video todo se possivel, irá te esclarecer melhor
Feromark2013- Membro
- PONTOS : 2992
REPUTAÇÃO : 4
Idade : 20
Áreas de atuação : C##
Respeito as regras :
Re: Ajuda com script para instanciar objetos no servidor
Cara, eu usei o comando Spawn, mas ele não existia. Ai eu pesquisei sobre ele na internet e descobri que o comando certo é NetworkServer.Spawn(...);Phph09 escreveu:na unity nova você tem que fazer algo assim:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class NodeCreator : NetworkBehaviour {
[SerializeField]
GameObject node;
GameObject Nodes;
[Space(10)]
[SerializeField]
int x,y;
public override void OnStartServer() {
base.OnStartServer();
Debug.Log("OnStartServer Running");
CmdSpawnNodes(5,5);
}
[Command]
void CmdSpawnNodes(int MapGridScaleX,int MapGridScaleY) {
for (int X = 0; X < MapGridScaleX; X++) {
for (int Y = 0; Y < MapGridScaleY; Y++) {
GameObject NodeInstanciate = (GameObject)Instantiate(node, transform.position = (new Vector3(X + (X * 3), 1, Y + (Y * 3))), transform.rotation, 0);
Spawn(NodeInstanciate);
}
}
}
}
dê uma olhada nesse video:
lá pro final tem o que você quer mas dê uma olhada no video todo se possivel, irá te esclarecer melhor
Feromark2013- Membro
- PONTOS : 2992
REPUTAÇÃO : 4
Idade : 20
Áreas de atuação : C##
Respeito as regras :
Tópicos semelhantes
» [Ajuda] Preciso de ajuda para controlar e alterar o valor de Lerp de varios objetos
» [Duvida] script para criar um servidor automaticamente
» Script para visualizar objetos igual ao do Resident Evil 7
» Ajuda com O Script de coletar objetos e transição de cena
» Script para possuir objetos
» [Duvida] script para criar um servidor automaticamente
» Script para visualizar objetos igual ao do Resident Evil 7
» Ajuda com O Script de coletar objetos e transição de cena
» Script para possuir objetos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos