Suporte no desenvolvimento de jogos


    VXA-OS - Crie seu MMO com RPG Maker

    Blast
    Blast
    Administrador
    Administrador

    Medalhas : VXA-OS - Crie seu MMO com RPG Maker - Página 37 94JxvVXA-OS - Crie seu MMO com RPG Maker - Página 37 ZgLkiRU
    Mensagens : 5012
    Créditos : 1111
    Cash : 0

    VXA-OS - Crie seu MMO com RPG Maker - Página 37 Empty Re: VXA-OS - Crie seu MMO com RPG Maker

    Mensagem por Blast em Sex Ago 09, 2019 10:11 am

    iLight escreveu:To com o piquenho prroblema do audio 117 que nao da para ficar de tela cheia
    Qual erro?


    _________________
    VXA-OS - Crie seu MMO com RPG Maker - Página 37 AIymW
    ShellTun
    ShellTun
    Novato
    Novato

    Mensagens : 19
    Créditos : 1
    Cash : 0

    VXA-OS - Crie seu MMO com RPG Maker - Página 37 Empty Re: VXA-OS - Crie seu MMO com RPG Maker

    Mensagem por ShellTun em Dom Ago 11, 2019 2:20 pm

    VXA-OS - Crie seu MMO com RPG Maker - Página 37 Sem_tz13


    Esse o o Problema nao consigo colocar tela cheia fica assim nao mudei nada!
    avatar
    Brayan96
    Novato
    Novato

    Mensagens : 4
    Créditos : 0
    Cash : 0

    VXA-OS - Crie seu MMO com RPG Maker - Página 37 Empty Re: VXA-OS - Crie seu MMO com RPG Maker

    Mensagem por Brayan96 em Seg Ago 12, 2019 3:24 pm

    VXA-OS - Crie seu MMO com RPG Maker - Página 37 Sin_tz1VXA-OS - Crie seu MMO com RPG Maker - Página 37 Sin_tz11Olá, tenho problemas no painel do administrador, não posso teletransportar ou enviar itens, já que o painel só mostra uma seção da lista destes e não há nenhuma barra para selecionar os primeiros, como no caso do Eu tenho mapas numerados, alguém sabe como eu posso consertar isso, ou o Valentine planeja consertar isso em futuras atualizações?
    ShellTun
    ShellTun
    Novato
    Novato

    Mensagens : 19
    Créditos : 1
    Cash : 0

    VXA-OS - Crie seu MMO com RPG Maker - Página 37 Empty Re: VXA-OS - Crie seu MMO com RPG Maker

    Mensagem por ShellTun em Seg Ago 12, 2019 10:34 pm

    @Brayan96 escreveu:VXA-OS - Crie seu MMO com RPG Maker - Página 37 Sin_tz1VXA-OS - Crie seu MMO com RPG Maker - Página 37 Sin_tz11Olá, tenho problemas no painel do administrador, não posso teletransportar ou enviar itens, já que o painel só mostra uma seção da lista destes e não há nenhuma barra para selecionar os primeiros, como no caso do Eu tenho mapas numerados, alguém sabe como eu posso consertar isso, ou o Valentine planeja consertar isso em futuras atualizações?
    mano o seu ta pegando tela cheia?
    avatar
    Brayan96
    Novato
    Novato

    Mensagens : 4
    Créditos : 0
    Cash : 0

    VXA-OS - Crie seu MMO com RPG Maker - Página 37 Empty Re: VXA-OS - Crie seu MMO com RPG Maker

    Mensagem por Brayan96 em Ter Ago 13, 2019 12:10 am

    [size=36]não, é apenas parte do jogo, o resto é minha mesa[/size]
    Blast
    Blast
    Administrador
    Administrador

    Medalhas : VXA-OS - Crie seu MMO com RPG Maker - Página 37 94JxvVXA-OS - Crie seu MMO com RPG Maker - Página 37 ZgLkiRU
    Mensagens : 5012
    Créditos : 1111
    Cash : 0

    VXA-OS - Crie seu MMO com RPG Maker - Página 37 Empty Re: VXA-OS - Crie seu MMO com RPG Maker

    Mensagem por Blast em Qui Ago 15, 2019 9:17 pm

    Correções de bugs da versão 1.1.3:
    Correção nas coordenadas das animações:
    1) No script [VS] Sprite_Character do cliente, após def end_sprites adicione:
    Código:
     def update_position
        move_animation(@character.screen_x - x, @character.screen_y - y)
        self.x = @character.screen_x
        self.y = @character.screen_y
        self.z = @character.screen_z
      end
      def move_animation(dx, dy)
        if @animation && @animation.position != 3
          @ani_ox += dx
          @ani_oy += dy
          @ani_sprites.each do |sprite|
            sprite.x += dx
            sprite.y += dy
          end
        end
      end

    Correção no registro de atividades do servidor:
    1) No arquivo logger.rb da pasta Scripts do SERVIDOR, substitua:
    Código:
    type = type.integer? ? type == Constants::GROUP_ADMIN ? 'Admin' : 'Monitor' : type
    2) Por:
    Código:
    type = type.is_a?(Integer) ? type == Constants::GROUP_ADMIN ? 'Admin' : 'Monitor' : type

    Correção na experiência do nível máximo:
    1) No arquivo game_client.rb da pasta Scripts do SERVIDOR, substitua o def change_exp por:
    Código:
    def change_exp(exp)
     return if @level == Configs::MAX_LEVEL && exp > @exp
     $server.send_player_exp(self, exp - @exp)
     @exp = [[exp, exp_for_level(Configs::MAX_LEVEL)].min, 0].max
     level_up while !max_level? && @exp >= next_level_exp
     level_down while @exp < current_level_exp
     end
    2) No script [VS] Game_Actor do CLIENTE, depois do def max_level, ADICIONE:
    Código:
     def change_exp(exp, show)
        @exp[@class_id] = [[exp, exp_for_level(Configs::MAX_LEVEL)].min, 0].max
        last_level = @level
        last_skills = skills
        level_up while !max_level? && self.exp >= next_level_exp
        level_down while self.exp < current_level_exp
        display_level_up if show && @level > last_level
        refresh
      end

    Correção no recebimento de dados:
    1) Substitua o script [VS] Network do CLIENTE por este:
    Código:
    #==============================================================================
    # ** Network
    #------------------------------------------------------------------------------
    #  Esta classe lida com a rede.
    #------------------------------------------------------------------------------
    #  Autor: Valentine
    #==============================================================================

    class Network
      
      include Send_Data, Handle_Data
      
      attr_reader   :motd, :actors, :vip_time
      
      def initialize
        @group = Constants::GROUP_STANDARD
        @in_game = false
        @vip_time = nil
        @socket = nil
        @message = nil
        @m_size = 0
        @player_id = -1
        @motd = ''
        @actors = {}
      end
      
      def connect
        @socket = SocketLib.new(Configs::HOST, Configs::PORT)
      end
      
      def disconnect
        return unless connected?
        @socket.close
        @socket = nil
      end
      
      def connected?
        @socket
      end
      
      def connection_lost?(status)
        status == -1
      end
      
      def standard_group?
        @group == Constants::GROUP_STANDARD
      end
      
      def vip?
        @vip_time > Time.now
      end
      
      def server_online?
        retry_count = 0
        successful = false
        while !successful && retry_count < 2
          begin
            connect
            successful = true
          rescue
            retry_count += 1
          end
        end
        successful
      end
      
      def update
        # Se a conexão não foi fechada e há dados para ler
        until !@socket || @socket.eof?
          if @message
            receive_message_gradually
          else
            receive_full_message
          end
        end
      end
      
      def receive_full_message
        b_size = @socket.recv_non_block(2)
        if connection_lost?(b_size) || b_size.size < 2
          $alert_msg ||= Vocab::ConnectionFailed
          DataManager.back_login
          return
        end
        size = b_size.unpack('s')[0]
        message = @socket.recv_non_block(size)
        if message.size - 4 == size
          handle_messages(message)
        else
          @message = message
          @m_size = size
        end
      end
      
      def receive_message_gradually
        message = @socket.recv_non_block(@m_size - @message.size)
        @message << message
        if @message.size - 4 == @m_size
          msgbox('Por favor, tire print deste erro e reporte-o à staff.\nErro: o pacote não chegou inteiro inicialmente, mas o problema já foi resolvido!')
          handle_messages(@message)
          @message = nil
        end
      end
      
    end

    Correção no envio de dados:
    1) Substitua o script [VS] Send_Data do CLIENTE por este:
    Código:
    #==============================================================================
    # ** Send_Data
    #------------------------------------------------------------------------------
    #  Este módulo envia as mensagens para o servidor.
    #------------------------------------------------------------------------------
    #  Autor: Valentine
    #==============================================================================

    module Send_Data
      
      def send_login(user, pass)
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_LOGIN)
        buffer.write_string(user)
        buffer.write_string(VXAOS::md5(pass))
        buffer.write_short(Configs::GAME_VERSION)
        @socket.send(buffer.to_s)
      end
      
      def send_new_account(user, pass, email)
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_NEW_ACCOUNT)
        buffer.write_string(user)
        buffer.write_string(VXAOS::md5(pass))
        buffer.write_string(email)
        buffer.write_short(Configs::GAME_VERSION)
        @socket.send(buffer.to_s)
      end
      
      def send_new_character(actor_id, name, character_index, class_id, sex, params, points)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_NEW_CHAR)
        buffer.write_byte(actor_id)
        buffer.write_string(name)
        buffer.write_byte(character_index)
        buffer.write_short(class_id)
        buffer.write_byte(sex)
        params.each { |param| buffer.write_byte(param) }
        buffer.write_byte(points)
        @socket.send(buffer.to_s)
      end
      
      def send_remove_character(actor_id, pass)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_REMOVE_CHAR)
        buffer.write_byte(actor_id)
        buffer.write_string(VXAOS::md5(pass))
        @socket.send(buffer.to_s)
      end
      
      def send_use_character(actor_id)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_USE_CHAR)
        buffer.write_byte(actor_id)
        @socket.send(buffer.to_s)
      end
      
      def check_ping
        return unless @socket
        $ping_start = Time.now
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_PING)
        @socket.send(buffer.to_s)
      end
      
      def send_player_movement(direction)
        # Se o jogador foi desconectado, mas ainda não saiu
        #da cena do mapa e tentou andar no momento imeditamente
        #posterior ao encerramento da conexão
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_PLAYER_MOVE)
        buffer.write_byte(direction)
        @socket.send(buffer.to_s)
      end
      
      def send_chat_message(message, talk_type, player_name = '')
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_CHAT_MSG)
        buffer.write_string(message)
        buffer.write_byte(talk_type)
        buffer.write_string(player_name)
        @socket.send(buffer.to_s)
      end
      
      def send_player_attack
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_PLAYER_ATTACK)
        @socket.send(buffer.to_s)
      end
      
      def send_use_item(item_id)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_USE_ITEM)
        buffer.write_short(item_id)
        @socket.send(buffer.to_s)
      end
      
      def send_use_skill(skill_id)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_USE_SKILL)
        buffer.write_short(skill_id)
        @socket.send(buffer.to_s)
      end
      
      def send_change_hotbar(id, type, item_id)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_CHANGE_HOTBAR)
        buffer.write_byte(id)
        buffer.write_byte(type)
        buffer.write_short(item_id)
        @socket.send(buffer.to_s)
      end
      
      def send_use_hotbar(id)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_USE_HOTBAR)
        buffer.write_byte(id)
        @socket.send(buffer.to_s)
      end
      
      def send_target(target_id, type)
        # Se o alvo está sendo selecionado após
        #chamar a cena do login
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_TARGET)
        buffer.write_byte(type)
        buffer.write_short(target_id)
        @socket.send(buffer.to_s)
      end
      
      def send_add_drop(item_id, kind, amount)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_ADD_DROP)
        buffer.write_short(item_id)
        buffer.write_byte(kind)
        buffer.write_short(amount)
        @socket.send(buffer.to_s)
      end
      
      def send_remove_drop(drop_id)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_REMOVE_DROP)
        buffer.write_byte(drop_id)
        @socket.send(buffer.to_s)
      end
      
      def send_add_param(param_id)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_PLAYER_PARAM)
        buffer.write_byte(param_id)
        @socket.send(buffer.to_s)
      end
      
      def send_player_equip(item_id, slot_id)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_PLAYER_EQUIP)
        buffer.write_byte(slot_id)
        buffer.write_short(item_id)
        @socket.send(buffer.to_s)
      end
      
      def send_open_friends
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_OPEN_FRIENDS)
        @socket.send(buffer.to_s)
      end
      
      def send_remove_friend(index)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_REMOVE_FRIEND)
        buffer.write_byte(index)
        @socket.send(buffer.to_s)
      end
      
      def send_leave_party
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_LEAVE_PARTY)
        @socket.send(buffer.to_s)
      end
      
      def send_choice(index)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_CHOICE)
        buffer.write_byte(index)
        @socket.send(buffer.to_s)
      end
      
      def send_bank_item(item_id, kind, amount)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_BANK_ITEM)
        buffer.write_short(item_id)
        buffer.write_byte(kind)
        buffer.write_short(amount)
        @socket.send(buffer.to_s)
      end
      
      def send_bank_gold(amount)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_BANK_GOLD)
        buffer.write_int(amount)
        @socket.send(buffer.to_s)
      end
      
      def send_close_bank
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_CLOSE_BANK)
        @socket.send(buffer.to_s)
      end
      
      def send_close_shop
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_CLOSE_SHOP)
        @socket.send(buffer.to_s)
      end
      
      def send_buy_item(index, amount)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_BUY_ITEM)
        buffer.write_byte(index)
        buffer.write_short(amount)
        @socket.send(buffer.to_s)
      end
      
      def send_sell_item(item_id, kind, amount)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_SELL_ITEM)
        buffer.write_short(item_id)
        buffer.write_byte(kind)
        buffer.write_short(amount)
        @socket.send(buffer.to_s)
      end
      
      def send_choice_telepot(index)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_CHOICE_TELEPORT)
        buffer.write_byte(index)
        @socket.send(buffer.to_s)
      end
      
      def send_request(type, player_id = -1)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_REQUEST)
        buffer.write_byte(type)
        buffer.write_short(player_id)
        @socket.send(buffer.to_s)
      end
      
      def send_accept_request
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_ACCEPT_REQUEST)
        @socket.send(buffer.to_s)
      end
      
      def send_decline_request
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_DECLINE_REQUEST)
        @socket.send(buffer.to_s)
      end
      
      def send_trade_item(item_id, kind, amount)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_TRADE_ITEM)
        buffer.write_short(item_id)
        buffer.write_byte(kind)
        buffer.write_short(amount)
        @socket.send(buffer.to_s)
      end
      
      def send_trade_gold(amount)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_TRADE_GOLD)
        buffer.write_int(amount)
        @socket.send(buffer.to_s)
      end
      
      def send_close_trade
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_CLOSE_TRADE)
        @socket.send(buffer.to_s)
      end
      
      def send_admin_command(command, str1, str2 = 0, str3 = 0, str4 = 0)
        return unless @socket
        buffer = Buffer_Writer.new
        buffer.write_byte(Constants::PACKET_ADMIN_COMMAND)
        buffer.write_byte(command)
        buffer.write_string(str1)
        buffer.write_int(str2)
        buffer.write_int(str3)
        buffer.write_short(str4)
        @socket.send(buffer.to_s)
      end
      
    end

    Em breve atualizarei o link de download para incluir estas correções.


    _________________
    VXA-OS - Crie seu MMO com RPG Maker - Página 37 AIymW
    Blast
    Blast
    Administrador
    Administrador

    Medalhas : VXA-OS - Crie seu MMO com RPG Maker - Página 37 94JxvVXA-OS - Crie seu MMO com RPG Maker - Página 37 ZgLkiRU
    Mensagens : 5012
    Créditos : 1111
    Cash : 0

    VXA-OS - Crie seu MMO com RPG Maker - Página 37 Empty Re: VXA-OS - Crie seu MMO com RPG Maker

    Mensagem por Blast em Qui Ago 15, 2019 9:47 pm

    Versão 1.1.4 disponível

    LOG:
    -Bônus de ouro, experiência e drop também admitem números decimais;
    -Tempo mínimo para falar novamente no bate-papo global adicionado;
    -Erro ao enviar mensagens para o servidor corrigido;
    -Erro nas coordenadas das animações corrigido;
    -Erro ao receber dados do servidor corrigido;
    -Erros no log corrigidos.


    _________________
    VXA-OS - Crie seu MMO com RPG Maker - Página 37 AIymW
    saask
    saask
    Novato
    Novato

    Mensagens : 22
    Créditos : 3
    Cash : 0

    VXA-OS - Crie seu MMO com RPG Maker - Página 37 Empty Re: VXA-OS - Crie seu MMO com RPG Maker

    Mensagem por saask em Ter Set 03, 2019 12:19 pm

    Uma duvida, o Projeto esta muito bom, mais gostaria de saber se vai ter algum tipo de proteção para nossos ressources, no caso como maioria dos jogos ainda vao estar em beta nao tem tanta importancia mais caso o jogo fique muito bom e atinja uma grande parte de players muitos vao poder ter acesso a nossos ressources e scripts, vai ter algo desse tipo uma segurança para os arquivos ?
    Blast
    Blast
    Administrador
    Administrador

    Medalhas : VXA-OS - Crie seu MMO com RPG Maker - Página 37 94JxvVXA-OS - Crie seu MMO com RPG Maker - Página 37 ZgLkiRU
    Mensagens : 5012
    Créditos : 1111
    Cash : 0

    VXA-OS - Crie seu MMO com RPG Maker - Página 37 Empty Re: VXA-OS - Crie seu MMO com RPG Maker

    Mensagem por Blast em Qui Set 05, 2019 12:18 pm

    @saask escreveu:Uma duvida, o Projeto esta muito bom, mais gostaria de saber se vai ter algum tipo de proteção para nossos ressources, no caso como maioria dos jogos ainda vao estar em beta nao tem tanta importancia mais caso o jogo fique muito bom e atinja uma grande parte de players muitos vao poder ter acesso a nossos ressources e scripts, vai ter algo desse tipo uma segurança para os arquivos ?
    Já tem vários programas na internet que protegem os recursos.


    _________________
    VXA-OS - Crie seu MMO com RPG Maker - Página 37 AIymW
    GuLabonia
    GuLabonia
    Novato
    Novato

    Mensagens : 9
    Créditos : 0
    Cash : 0

    VXA-OS - Crie seu MMO com RPG Maker - Página 37 Empty Re: VXA-OS - Crie seu MMO com RPG Maker

    Mensagem por GuLabonia em Qui Set 12, 2019 11:30 am

    Mano, não tô conseguindo nem abrir o Game.exe, baixei a versão que você diz e, quando vou abrir, já dá erro de Cursor... Aonde vou nos arquivos pra corrigir?

    Conteúdo patrocinado

    VXA-OS - Crie seu MMO com RPG Maker - Página 37 Empty Re: VXA-OS - Crie seu MMO com RPG Maker

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qua Nov 13, 2019 4:59 pm