Aldeia RPG

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

Suporte ao desenvolvimento de jogos


2 participantes

    Conclusão do Duelo

    avatar
    Souza
    Novato
    Novato


    Mensagens : 9
    Créditos : 0

    Conclusão do Duelo Empty Conclusão do Duelo

    Mensagem por Souza Sáb Abr 22, 2023 3:38 pm

    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
    Kotol
    Kotol
    Moderador Local
    Moderador Local


    Mensagens : 77
    Créditos : 17

    Conclusão do Duelo Empty Re: Conclusão do Duelo

    Mensagem por Kotol Sáb Abr 22, 2023 9:59 pm

    Quando aceitar é só mandar um "PlayerWarp Index, Mapa, X, Y" , não?
    avatar
    Souza
    Novato
    Novato


    Mensagens : 9
    Créditos : 0

    Conclusão do Duelo Empty Re: Conclusão do Duelo

    Mensagem por Souza Sáb Abr 22, 2023 10:09 pm

    Fiz isso só que teleportou um player
    Kotol
    Kotol
    Moderador Local
    Moderador Local


    Mensagens : 77
    Créditos : 17

    Conclusão do Duelo Empty Re: Conclusão do Duelo

    Mensagem por Kotol Dom Abr 23, 2023 4:07 am

    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...
    avatar
    Souza
    Novato
    Novato


    Mensagens : 9
    Créditos : 0

    Conclusão do Duelo Empty Re: Conclusão do Duelo

    Mensagem por Souza Dom Abr 23, 2023 6:03 am

    obrigado. agora eu tenho um caminho kkkkkkk
    Kotol
    Kotol
    Moderador Local
    Moderador Local


    Mensagens : 77
    Créditos : 17

    Conclusão do Duelo Empty Re: Conclusão do Duelo

    Mensagem por Kotol Dom Abr 23, 2023 11:51 am

    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.

    Conteúdo patrocinado


    Conclusão do Duelo Empty Re: Conclusão do Duelo

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Nov 22, 2024 1:40 pm