Arena/PvP Aleatório??

    Compartilhe

    Everson Sousa
    Iniciante
    Iniciante

    Mensagens : 45
    Créditos : 6

    Arena/PvP Aleatório??

    Mensagem por Everson Sousa em Qui Jan 02, 2014 3:23 am

    Olá! Tudo beleza?
    Será que alguém tem (ou consegui) fazer esse sistema para jogos online (Netplay V4.0.7)?
    A função é mais ou menos assim, vou tentar explicar...

    Ex¹: É como um sistema de sala PvP, mas de forma aleatória. Um jogador entraria em um mapa (como uma arena) e lá estaria esperando já um outro jogador, no caso aleatoriamente, isso sem nenhum dos dois ter entrado em contato, e nesse caso só poderia aparecer somente 2 jogadores, como se fosse um mapa offline, mas só daria para visualizar 2 jogadores. Vou tentar explicar de outra forma...

    Ex²: Jogador1 entra em uma sala chamada "Arena" (exemplo), e no momento que o Jogador1 entrar, já estaria um Jogador2 lá esperando. E lá eles lutariam e ganhariam um certo premio ou algo apostado.

    Os 2 jogadores se encontrariam de forma aleatoria para batalhar!!

    É mais ou menos assim, qualquer dúvida sobre a explicação, fazer um comentario. Será que alguem consegui fazer isso?

    Obrigado!!  Razz

    gladistony
    Membro Ativo
    Membro Ativo

    Mensagens : 336
    Créditos : 217

    Re: Arena/PvP Aleatório??

    Mensagem por gladistony em Qui Jan 02, 2014 12:22 pm

    Crie e adicione o seguinte script acima do main

    Código:
    #================================================================
    #================================================================
    #====================== PVP Arena V 1.0 =========================
    #================================================================
    #=======BY:Gladistony Silva======================================
    #=======Criada para o forum: Aldeiarpgbr ========================
    #=======A pedido de Everson Sousa ===============================
    #=======NÃO POSTA EM OUTRO FORUM SEM AUTORIZAÇÃO=================
    #================================================================
    #================================================================
    module PvpSystem
      SEMMAPAS = 'Nenhum mapa disponivel'
      @arenas = []
      @arenas.push([2,5,5,9,5])
      @arenas.push([3,1,1,10,10])
      @arenas.push([4,0,30,20,10])
      #[id do mapa, x do jogador 1, y do jogador 1, x do jogador 2, y do jogador 2]
    end

    #================================================================
    #=====================NAO EDITE ================================
    #================================================================

    module PvpSystem
      def self.scan
        @total = {}
        for jog in Network::Main.players
          @total[jog[1].map_id.to_i] = 0 if @total[jog[1].map_id] == nil
          @total[jog[1].map_id.to_i] += 1
        end
      end
      def self.scanmap(id)
        return @total[id.to_i].to_i
      end
      def self.escolhermapa
        scan
        possiveis = []
        for i in @arenas
          next if @total[i[0]] > 1
          possiveis.push(i)
        end
        return possiveis
      end
      def self.create
        a = escolhermapa
        b = rand(a.size)
        data = a[b]
        if data == nil
          p SEMMAPAS
          return
        end
        if scanmap(data[0]) == 1
          $game_temp.player_new_map_id = data[0]
          $game_temp.player_new_x = data[3]
          $game_temp.player_new_y = data[4]
          $game_temp.player_transferring = true
        else
          $game_temp.player_new_map_id = data[0]
          $game_temp.player_new_x = data[1]
          $game_temp.player_new_y = data[2]
          $game_temp.player_transferring = true
        end
      end
    end

    Para usar o sistema va em um evento e use o comando chamar script, depois digite 

    Código:
    PvpSystem.create


    Com isso o jogador sera levado para uma das arenas que você cadastrou. Para cadastra mais arenas voce deve colocar abaixo de @arenas = [] conforme o exemplo, no kso:
    @arenas.push([Id do mapa que fica a arena, posição x do 1º jogador, posição y do 1º jogador, posição x do 2º jogador, posição y do 2º jogador]

    Qualquer erro me avisa porque ainda não testei o sistema


    _________________



    Everson Sousa
    Iniciante
    Iniciante

    Mensagens : 45
    Créditos : 6

    Re: Arena/PvP Aleatório??

    Mensagem por Everson Sousa em Qui Jan 02, 2014 12:35 pm

    Deu esse erro olha:



    Última edição por Everson Sousa em Qui Jan 02, 2014 12:42 pm, editado 1 vez(es)

    gladistony
    Membro Ativo
    Membro Ativo

    Mensagens : 336
    Créditos : 217

    Re: Arena/PvP Aleatório??

    Mensagem por gladistony em Qui Jan 02, 2014 12:40 pm

    substitui o script por esse

    Código:
    #================================================================
    #================================================================
    #====================== PVP Arena V 1.0 =========================
    #================================================================
    #=======BY:Gladistony Silva======================================
    #=======Criada para o forum: Aldeiarpgbr ========================
    #=======A pedido de Everson Sousa ===============================
    #=======NÃO POSTA EM OUTRO FORUM SEM AUTORIZAÇÃO=================
    #================================================================
    #================================================================
    module PvpSystem
      SEMMAPAS = 'Nenhum mapa disponivel'
      @arenas = []
      @arenas.push([2,5,5,9,5])
      @arenas.push([3,1,1,10,10])
      @arenas.push([4,0,30,20,10])
      #[id do mapa, x do jogador 1, y do jogador 1, x do jogador 2, y do jogador 2]
    end

    #================================================================
    #=====================NAO EDITE ================================
    #================================================================

    module PvpSystem
      def self.scan
        @total = {}
        for jog in Network::Main.players
          @total[jog[1].map_id.to_i] = 0 if @total[jog[1].map_id] == nil
          @total[jog[1].map_id.to_i] += 1
        end
      end
      def self.scanmap(id)
        return @total[id.to_i].to_i
      end
      def self.escolhermapa
        scan
        possiveis = []
        for i in @arenas
          @total[i[0]] = 0 if @total[i[0]] == nil
          next if @total[i[0]] > 1
          possiveis.push(i)
        end
        return possiveis
      end
      def self.create
        a = escolhermapa
        b = rand(a.size)
        data = a[b]
        if data == nil
          p SEMMAPAS
          return
        end
        if scanmap(data[0]) == 1
          $game_temp.player_new_map_id = data[0]
          $game_temp.player_new_x = data[3]
          $game_temp.player_new_y = data[4]
          $game_temp.player_transferring = true
        else
          $game_temp.player_new_map_id = data[0]
          $game_temp.player_new_x = data[1]
          $game_temp.player_new_y = data[2]
          $game_temp.player_transferring = true
        end
      end
    end


    _________________



    Singelinho
    Colaborador
    Colaborador

    Medalhas :
    Mensagens : 228
    Créditos : 93

    Re: Arena/PvP Aleatório??

    Mensagem por Singelinho em Qui Jan 02, 2014 1:05 pm

    Boa Gradistony !! Até eu queria uma script assim...
    Não Leia !!:

    + 2 Créditos


    _________________
    Link--https://s3.amazonaws.com/cdn.catarse/uploads/redactor_rails/picture/data/16688/1.png

    Everson Sousa
    Iniciante
    Iniciante

    Mensagens : 45
    Créditos : 6

    Re: Arena/PvP Aleatório??

    Mensagem por Everson Sousa em Qui Jan 02, 2014 1:26 pm

    Muito bom Gadistony =D, obrigado mesmo pelo script!! +2 Cred
     Ewbt

      Data/hora atual: Ter Dez 06, 2016 2:55 pm