39 Dll - Ajuda com sprite_index

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

39 Dll - Ajuda com sprite_index

Mensagem por LeandroDaher em Qui 22 Jul 2010, 19:03

Galera,eu to fasendo um game online,mas tenho uma dúvida simples,mas q para min é quase impossivel,como eu mando a informação pra outro jogador q um perssoangen trocou de sprite?
Por favor,quem sabe usar a 39dll,por favor me enssinem,ou c tiver uma engine por aí na net,me passe pf...VLWs,FLWs.

LeandroDaher

Número de Mensagens : 357
Idade : 20
Data de inscrição : 13/05/2010
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: 39 Dll - Ajuda com sprite_index

Mensagem por dungeon333 em Qui 22 Jul 2010, 19:20

no evento do jogador enviar a mensagem
Código:

clearbuffer() // limpamos o buffer para escrever do 0
writebyte(100) // id da mensagem quando for recebida
writeint(sprite_index) // enviamos nosso sprite
sendmessage(TCP) // eviamos para o servidor ou para outro player
e na hroa de receber(geralmente no servidor)
Código:

if (receivemessage()) // se receber uma mensagem
{
messageid = readbyte() // le o id da mensagem
if messageid == 100 // se for 100 ( receber o sprite_index )
{
sprite_index = readint() // lemos o sprite que foi enviado e colocamos na variavel sprite_index
}
}
}

dungeon333

Número de Mensagens : 351
Data de inscrição : 29/05/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: 39 Dll - Ajuda com sprite_index

Mensagem por LeandroDaher em Qui 22 Jul 2010, 19:46

Mals cara,mas n funfou,poderia fazer uma engine?

LeandroDaher

Número de Mensagens : 357
Idade : 20
Data de inscrição : 13/05/2010
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: 39 Dll - Ajuda com sprite_index

Mensagem por dungeon333 em Qui 22 Jul 2010, 19:57

como vc ta enviando as mensagens? vc ja conseguiu fazer algo na 39dll ?
eh um jogo com para 2 players ou mais ?

dungeon333

Número de Mensagens : 351
Data de inscrição : 29/05/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: 39 Dll - Ajuda com sprite_index

Mensagem por LeandroDaher em Qui 22 Jul 2010, 19:59

Com mais de 2 players,e o server será via hamachi,e to usando uma engine americana cujo darei os créditos,quer ela?Quem sabe vc nun conssegui me ajudar ?Tbm te darei créditos,flws.

LeandroDaher

Número de Mensagens : 357
Idade : 20
Data de inscrição : 13/05/2010
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: 39 Dll - Ajuda com sprite_index

Mensagem por dungeon333 em Qui 22 Jul 2010, 20:03

envia ela

dungeon333

Número de Mensagens : 351
Data de inscrição : 29/05/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: 39 Dll - Ajuda com sprite_index

Mensagem por rafasgb em Qui 22 Jul 2010, 20:14

Não funciona por que você está enviando o sprite_index como int....

Faça o seguinte...
Crie uma variavel com número assim:
Código:

AtualSprite= 1

Você poderá utilizar números de 0 a 255 usando essa técnica... Cada número representa um sprite.

Quando mudar de sprite mude o valor do Atualsprite para um valor desejado...
Exemplo
Código:

If(andando)
{
AtualSprite= 2;
}
else
if(parado)
{
AtualSprite= 1;
}


Você envia para o servidor com esse código.

Código:
clearbuffer() // limpamos o buffer para escrever do 0
writebyte(100) // id da mensagem quando for recebida
writebyte(AtualSprite) // enviamos nosso sprite
sendmessage(TCP) // eviamos para o servidor ou para outro player


Código:

if (receivemessage()) // se receber uma mensagem
{
messageid = readbyte() // le o id da mensagem
if messageid == 100 // se for 100 ( receber o sprite_index )
{
SpriteRecebido=readbyte()
switch(SpriteRecebido)
{
case 0: //se for recebido o número 0
sprite_index= meusprite;//define para o sprite relacionado com o nº 0
break;

case 1:// se for recebido 1
sprite_index = meusprite2;//define para o sprite relacionado com o nº 1
break;

}
}

}
}

rafasgb

Ranking : Nota A
Número de Mensagens : 581
Idade : 21
Data de inscrição : 19/05/2008
Notas recebidas : A
Reputação : -32
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   : 1

Voltar ao Topo Ir em baixo

Re: 39 Dll - Ajuda com sprite_index

Mensagem por LeandroDaher em Qui 22 Jul 2010, 20:28

rafasgb,lá a variável sendmessage(TCP),não quer q eu envie a engine e vc add isso pra min?FLWs.

LeandroDaher

Número de Mensagens : 357
Idade : 20
Data de inscrição : 13/05/2010
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: 39 Dll - Ajuda com sprite_index

Mensagem por rafasgb em Qui 22 Jul 2010, 21:09

TPC = variavel que armazena o servidor...

rafasgb

Ranking : Nota A
Número de Mensagens : 581
Idade : 21
Data de inscrição : 19/05/2008
Notas recebidas : A
Reputação : -32
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   : 1

Voltar ao Topo Ir em baixo

Re: 39 Dll - Ajuda com sprite_index

Mensagem por dungeon333 em Qui 22 Jul 2010, 21:17

rafasgb escreveu:Não funciona por que você está enviando o sprite_index como int....

Faça o seguinte...
Crie uma variavel com número assim:
Código:

AtualSprite= 1

Você poderá utilizar números de 0 a 255 usando essa técnica... Cada número representa um sprite.

Quando mudar de sprite mude o valor do Atualsprite para um valor desejado...
Exemplo
Código:

If(andando)
{
AtualSprite= 2;
}
else
if(parado)
{
AtualSprite= 1;
}


Você envia para o servidor com esse código.

Código:
clearbuffer() // limpamos o buffer para escrever do 0
writebyte(100) // id da mensagem quando for recebida
writebyte(AtualSprite) // enviamos nosso sprite
sendmessage(TCP) // eviamos para o servidor ou para outro player


Código:

if (receivemessage()) // se receber uma mensagem
{
messageid = readbyte() // le o id da mensagem
if messageid == 100 // se for 100 ( receber o sprite_index )
{
SpriteRecebido=readbyte()
switch(SpriteRecebido)
{
case 0: //se for recebido o número 0
sprite_index= meusprite;//define para o sprite relacionado com o nº 0
break;

case 1:// se for recebido 1
sprite_index = meusprite2;//define para o sprite relacionado com o nº 1
break;

}
}

}
}
sprite_index eh um numero quando vc cria um sprite por exemplo aparece "sprite23" o numero dele eh 23 o problema eh que os 2 projetos "tem que ser o mesmo" ou seja o servidor e client juntos senao nao funciona
tenta comparar por exemplo
Código:

if (sprite23 == 23)
{
show_message("constante 'sprite23' = 23");
}

dungeon333

Número de Mensagens : 351
Data de inscrição : 29/05/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: 39 Dll - Ajuda com sprite_index

Mensagem por Janx em Sex 23 Jul 2010, 00:42

@rafasgb
Não vejo problemas em usar int para enviar a mensagem. Claro que isso envia uma quantidade maior de bytes, mas isso não é motivo de não estar funcionando.
Mas seria bom que existisse uma variavel de "estados", mais ou menos como você mostrou ai, para enviar qual seria o sprite.
Dependendo do estado, só pode ser uma sprite não é? Happy

@dungeon333
Acho que existe algum problema na sua lógica...
Se sprite23 = 23
objeto23 = 23?
script23 = 23?
...

@leandrohackerx
Você sabe como funciona um jogo online?
Você conseguiu editar a engine a ponto de adicionar mais funções entre a comunicação entre players?
Você sabe que em um jogo com várias pessoas, um jogador envia a mensagem dele para todos certo? Mas não diretamente (a não ser que ele seja o server), mas para o servidor e ele repassa para todos os outros. Você fez isso?

"Servidor via hamachi", Isso não é obrigatoriamente necessário... e o Hamachi só vai funcionar como uma comunicação em "lan". Só é necessário usar o hamachi se você usa internet compartilhada.

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: 39 Dll - Ajuda com sprite_index

Mensagem por Conteúdo patrocinado Hoje à(s) 00:57


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