GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


usando 39dll.dll receber id de players e comandos

2 participantes

Ir para baixo

usando 39dll.dll receber id de players e comandos Empty usando 39dll.dll receber id de players e comandos

Mensagem por charlles.rafael Qua 31 Jul 2013, 11:14

ola gente , eu gostaria de saber como eu recebo dados do servidor e mandar os dados pra instancia certa
eu estou fazendo assim: quando selecionado o personagem , o jogador é mandado pra room rm_principal ai quando entra outro jogador o servidor identifica isso e cria o objeto (oteste) mas quando entra um terceiro as informações do terceiro vai pro char do 3 e 2 , tipo nao to conseguindo fazer as instancias ser diferenciadas, acaba mandando pra todos os objetos (oteste) tudo recebido pelo servidor, como faço pra eu receber os dados do servidor e mandar pra instancia certa?? eu to usando a dll  39ll.dll, se  alguem puder me ajudar a receber os dados ou algum código que faça isso por favor me ajudem

o código que recebe os dados do servidor é esse:
Código:
var msg,a,s,d,i,g      r,e,t,u;
msg = readbyte()


switch(msg)
{
    case 1://caso for novo jogador
        
        a = readushort()//recebe x
        s = readushort()//recebe y
        d = readstring()//recebe nome
        g = readbyte()//le id
        global.playerid = g
        
        
        if (d != oEu.nome)
        {
        
        i = instance_create(x,y,oteste)
        i.x = a//recebe x
        i.y = s//recebe y
        i.nome = d//recebe nome
        i.playerid = g
        room_instance_add(rm_teste,x,y,oteste)

        }
        
    
    break
    
    case 2://atualiza informações de novo jogador
        
        
        e = readushort()//recebe x
        r = readushort()//recebe y
        t = readstring()//recebe nome
        u = readbyte()//id
        
        if (!instance_exists(oteste)) //criar oteste se nao ouver
        {
        i = instance_create(x,y,oteste)
        i.x = e//recebe x
        i.y = r//recebe y
        i.nome = t//recebe nome
        i.playerid = u//recebe id
        room_instance_add(rm_teste,x,y,oteste)
        }else
        {
            //i= oteste.playerid
        
            with (oteste)//  <<< daqui pra baixo que acho que ta errado
            {
                if( i.playerid = u)
                {
                    self.x = e
                    self.y = r
    
                }
            }
        }
        
      
    break
    
}

espero que posam me ajudar

obs: como eu faço pra quando o player logar ele identificar todos os outros logados??


Última edição por charlles.rafael em Sex 02 Ago 2013, 10:29, editado 1 vez(es)
charlles.rafael
charlles.rafael

Data de inscrição : 30/09/2012
Reputação : 0
Número de Mensagens : 82
Prêmios : usando 39dll.dll receber id de players e comandos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://charllesrafael.blogspot.com

Ir para o topo Ir para baixo

usando 39dll.dll receber id de players e comandos Empty Re: usando 39dll.dll receber id de players e comandos

Mensagem por Kapoty Qua 31 Jul 2013, 13:32

O problema deve estar nesta parte:

Código:
 with (oteste)//  <<< daqui pra baixo que acho que ta errado
            {
                if( i.playerid = u)
                {
                    self.x = e
                    self.y = r
    
                }
            }

Este objeto "oteste" não está checando se o seu id é o id recebido, acho que o certo seria assim:

Código:
if oteste.playerid = u {
oteste.x=e;
oteste.y=r;
}
Kapoty
Kapoty

Games Ranking : Nota B

Notas recebidas : E + D + C + B + D +B + A
Data de inscrição : 05/11/2011
Reputação : 22
Número de Mensagens : 635
Prêmios : usando 39dll.dll receber id de players e comandos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

usando 39dll.dll receber id de players e comandos Empty Re: usando 39dll.dll receber id de players e comandos

Mensagem por charlles.rafael Qua 31 Jul 2013, 18:28

ola Kapoty, tipo eu ja tentei isso e consegui fazer funcionar assim:
Código:
with (oteste)
            {
                
            
            if( self.playerid = u)
                {
                    self.x = e
                    self.y = r
                }
            }

mas ainda tem um problema, quando eu conecto mais de 2 pessoas a 3 pessoa nao identifica a primeiro e se conecto uma 4 pessoa a 4 não identifica a 2 pessoa e assim por diante, acho que o erra ta no codigo que passei la em cima se alguem puder me ajudar, tipo eu preciso de uma condicao pra verificar se o que eu to mandando ja existe e se nao existir ai si cria um novo objeto (oteste)

obrigado Kapoty por tentar me ajudar blz Happy

obs: estranho é que o jogador 1 e 2 identificao o resto normalmente (estranho ne) se alguém puder me ajudar Very Happy
charlles.rafael
charlles.rafael

Data de inscrição : 30/09/2012
Reputação : 0
Número de Mensagens : 82
Prêmios : usando 39dll.dll receber id de players e comandos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://charllesrafael.blogspot.com

Ir para o topo Ir para baixo

usando 39dll.dll receber id de players e comandos Empty Re: usando 39dll.dll receber id de players e comandos

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos