usando 39dll.dll receber id de players e comandos

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

usando 39dll.dll receber id de players e comandos

Mensagem por charlles.rafael em 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

Número de Mensagens : 82
Idade : 23
Data de inscrição : 30/09/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://charllesrafael.blogspot.com

Voltar ao Topo Ir em baixo

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

Mensagem por Kapoty em 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

Ranking : Nota B
Número de Mensagens : 635
Data de inscrição : 05/11/2011
Notas recebidas : E + D + C + B + D +B + A
Reputação : 22
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

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

Mensagem por charlles.rafael em 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

Número de Mensagens : 82
Idade : 23
Data de inscrição : 30/09/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://charllesrafael.blogspot.com

Voltar ao Topo Ir em baixo

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

Mensagem por Conteúdo patrocinado Hoje à(s) 11:35


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum