Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
Conclusão do Duelo
2 participantes
Página 1 de 1
Conclusão do Duelo
fala galera, blz?
então, estou fazendo um sistema onde existe um pedido de duelo igual o do sistema de party da engine, seleciona o amiguinho e clica no botão e o pedido e enviado.
eu não estou conseguindo fazer com que os 2 jogadores teleporte para o mesmo mapa.
alguém poderia me da uma luz.
e se não for pedir demais, os jogadores pararem em locais diferentes do mapa. obrigado
então, estou fazendo um sistema onde existe um pedido de duelo igual o do sistema de party da engine, seleciona o amiguinho e clica no botão e o pedido e enviado.
eu não estou conseguindo fazer com que os 2 jogadores teleporte para o mesmo mapa.
alguém poderia me da uma luz.
e se não for pedir demais, os jogadores pararem em locais diferentes do mapa. obrigado
Souza- Novato
- Mensagens : 9
Créditos : 0
Re: Conclusão do Duelo
Quando aceitar é só mandar um "PlayerWarp Index, Mapa, X, Y" , não?
Kotol- Moderador Local
- Mensagens : 77
Créditos : 17
Re: Conclusão do Duelo
Ah, mas no caso você tem que usar o "PlayerWarp INDEX...." e "PlayerWarp theTarget..." , mas lembra de colocar os checkup's de:
-Se Index ou theTarget estiverem Online;
-Se Index ou theTarget tiver numero válido (> 0 e < Max_Players);
Até porque o erro mais comum é alguem demorando a responder um pedido de PVP, o outro jogador desloga e seu server cai porque o Index deslogado não existe(isso quando existe teleporta outro jogador que logou em cima do index que saiu)...
De preferência faça um "Index" and "GetPlayerName" pra também verificar isso futuramente...
-Se Index ou theTarget estiverem Online;
-Se Index ou theTarget tiver numero válido (> 0 e < Max_Players);
Até porque o erro mais comum é alguem demorando a responder um pedido de PVP, o outro jogador desloga e seu server cai porque o Index deslogado não existe(isso quando existe teleporta outro jogador que logou em cima do index que saiu)...
De preferência faça um "Index" and "GetPlayerName" pra também verificar isso futuramente...
Kotol- Moderador Local
- Mensagens : 77
Créditos : 17
Re: Conclusão do Duelo
obrigado. agora eu tenho um caminho kkkkkkk
Souza- Novato
- Mensagens : 9
Créditos : 0
Re: Conclusão do Duelo
Faz assim:
Você já tem "TempPlayer(Index/theTarget).Invite" , grava o index do desafiante no Index de quem chama e o nome.
Tipo se eu sou "Index" e você "theTarget" e eu te convido, eu pego declarado assim:
TempPlayer(Index).InviteIndex = theTarget
TempPlayer(Index).InviteIndexName = trim$(GetPlayerName(theTarget))
Por que nome? Porque digamos que eu te convido e você sai do jogo. Quando isso acontece, o slot do seu index sai, mas outro jogador com outro login pega o slot do Index, ou seja, se você só checar o index para tarefas de longo prazo direcionados ao jogador específico, o jogador vai ser puxado sem estar PVP.
Mas enfim, aí você faz o resto tipo:
If TempPlayer(Index).InviteIndex > 0 'Temos um Index
If FindPlayer(trim$(TempPlayer(Index).InviteIndexName)) and IsPlaying(TempPlayer(Index).InviteIndex) Then 'Ou seja, jogador existe na lista de nomes e está online
'Código do warp
PlayerWarp Index, MapaDaArena, XdaArena, YdaArena
PlayerWarp TempPlayer(Index).InviteIndex, MapaDaArena, XdaArena, YdaArena
End if
End if
Lembrete: Lembra de quando terminar a luta na arena, você zerar os "TempPlayers" para InviteIndex e o InviteIndexName. Ao entrar no jogo não tem necessidade já que sempre que um jogador sai, o "ClearPlayer" limpa o TempPlayer e Player do slot que deslogou, então a preocupação é de quem ainda está no jogo.
Você já tem "TempPlayer(Index/theTarget).Invite" , grava o index do desafiante no Index de quem chama e o nome.
Tipo se eu sou "Index" e você "theTarget" e eu te convido, eu pego declarado assim:
TempPlayer(Index).InviteIndex = theTarget
TempPlayer(Index).InviteIndexName = trim$(GetPlayerName(theTarget))
Por que nome? Porque digamos que eu te convido e você sai do jogo. Quando isso acontece, o slot do seu index sai, mas outro jogador com outro login pega o slot do Index, ou seja, se você só checar o index para tarefas de longo prazo direcionados ao jogador específico, o jogador vai ser puxado sem estar PVP.
Mas enfim, aí você faz o resto tipo:
If TempPlayer(Index).InviteIndex > 0 'Temos um Index
If FindPlayer(trim$(TempPlayer(Index).InviteIndexName)) and IsPlaying(TempPlayer(Index).InviteIndex) Then 'Ou seja, jogador existe na lista de nomes e está online
'Código do warp
PlayerWarp Index, MapaDaArena, XdaArena, YdaArena
PlayerWarp TempPlayer(Index).InviteIndex, MapaDaArena, XdaArena, YdaArena
End if
End if
Lembrete: Lembra de quando terminar a luta na arena, você zerar os "TempPlayers" para InviteIndex e o InviteIndexName. Ao entrar no jogo não tem necessidade já que sempre que um jogador sai, o "ClearPlayer" limpa o TempPlayer e Player do slot que deslogou, então a preocupação é de quem ainda está no jogo.
Kotol- Moderador Local
- Mensagens : 77
Créditos : 17
Tópicos semelhantes
» Duelo ERM
» Naruto Duelo
» Duelo Fogomax x Sakuuray775
» Duelo De Irmãos Thales x Ricardo
» Duelo Amigavel Thales x Fogomax
» Naruto Duelo
» Duelo Fogomax x Sakuuray775
» Duelo De Irmãos Thales x Ricardo
» Duelo Amigavel Thales x Fogomax
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|