Suporte no desenvolvimento de jogos


    [VXA-OS] LM² - No PvP Zone/Region

    LeonM²
    LeonM²
    Moderador Local
    Moderador Local

    Mensagens : 1790
    Créditos : 139
    Cash : 0

    [VXA-OS] LM² - No PvP Zone/Region Empty [VXA-OS] LM² - No PvP Zone/Region

    Mensagem por LeonM² em Qua Jun 26, 2019 5:22 pm

    LM² - No PvP Zone/Region

    Alteração simples para criar uma zona não pvp dentro de um mapa pvp.
    Impede que jogadores ataquem ou sejam atacados dentro das zonas.
    Como meu pc está com problemas não tenho como gifar ou gravar um vídeo.


    Como instalar:
    Para instalar é bem simples, insira no módulo [VS] Configs no cliente e no configs.ini do servidor(esse passo é opcional segundo Val, porém melhor garantir) o seguinte código.

    Código:
    NO_PVP_ZONE = 55 #LM² - No PvP Zone

    Sendo 55 a region/região no mapa. Recomendo não alterar a menos que saiba o que esta fazendo.
    No cliente, vá no script [VS] Game_Player na linha 114 abaixo do trecho acima do end:

        elsif !$game_map.pvp
       $windows[:chat].write_message(Vocab::NonPvP, Configs::ERROR_COLOR)
        return false
    Adicione esse código:

    Código:
        #LM² - NO PvP Zone
        elsif $game_map.pvp && $game_map.region_id(@x, @y) == Configs::NO_PVP_ZONE
          $windows[:chat].write_message(Vocab::NonPvP, Configs::ERROR_COLOR)
          return false
        elsif $game_map.pvp && $game_map.region_id(x, y) == Configs::NO_PVP_ZONE
          $windows[:chat].write_message(Vocab::NonPvP, Configs::ERROR_COLOR)
          return false      
        end
    [VXA-OS] LM² - No PvP Zone/Region Unknown
    No mesmo script vá até a linha 163(Após adicionar o código acima) abaixo do trecho acima do end
    :
        elsif @target.admin?
          $windows[:chat].write_message(Vocab::AttackAdmin, Configs::ERROR_COLOR)
          return false
    Adicione esse código:
    Código:
       #LM² - NO PvP Zone
        elsif @target.is_a?(Game_NetPlayer) && $game_map.pvp && $game_map.region_id(@x, @y) == Configs::NO_PVP_ZONE
          $windows[:chat].write_message(Vocab::NonPvP, Configs::ERROR_COLOR)
          return false  
        elsif @target.is_a?(Game_NetPlayer) && $game_map.pvp && $game_map.region_id(@target.x, @target.y) == Configs::NO_PVP_ZONE
          $windows[:chat].write_message(Vocab::NonPvP, Configs::ERROR_COLOR)
          return false      
    [VXA-OS] LM² - No PvP Zone/Region Unknown
    No cliente é apenas isso.

    Agora no servidor abra o script game_battle.rb.
    Procure por def attack_normal, na linha 176, abaixo do trecho:
       
      next if !client&.in_game? || client.map_id != @map_id || !in_front?(client) || client.admin?
    Adicione esse código:
    Código:
         #LM² - No PvP Zone
          return if $server.maps[@map_id].region_id(client.x, client.y) == NO_PVP_ZONE
          return if $server.maps[@map_id].region_id(@x, @y) == NO_PVP_ZONE
    [VXA-OS] LM² - No PvP Zone/Region Unknown
    No mesmo script, linha 191(após a alteração acima), abaixo do trecho:
       return unless target && in_range?(target, range)
    Adicione esse código:
    Código:
       #LM² - No PvP Zone
        return if @target.type == Constants::TARGET_PLAYER && $server.maps[@map_id].region_id(target.x, target.y) == NO_PVP_ZONE
        return if @target.type == Constants::TARGET_PLAYER && $server.maps[@map_id].region_id(@x, @y) == NO_PVP_ZONE  
    [VXA-OS] LM² - No PvP Zone/Region Unknown
    Isso é tudo.

    Agradecimentos:

    Valentine pelo VXA-OS.
    LeonM² por fazer essa modificação.
    Quem sugeriu esse sistema no server do discord do VXA-OS que eu não lembro.

    Qualquer erro ou duvida, comentar no tópico ou deixar no server do VXA-OS.

    Edit:
    Adicionei imagens de como é para ficar o código, para ilustrar bem a instalação.


    _________________
    Caso precise de suporte para algum dos meus scripts, me adicione no Discord: LeonM²#9597
    Haseo
    Haseo
    Ocasional
    Ocasional

    Mensagens : 153
    Créditos : 3
    Cash : 0

    [VXA-OS] LM² - No PvP Zone/Region Empty Re: [VXA-OS] LM² - No PvP Zone/Region

    Mensagem por Haseo em Ter Jul 16, 2019 12:19 am

    Como faço pra ativar a proteção ? Tipo fiz uma arena e tem o público e o centro aonde que vai ter o povo.
    LeonM²
    LeonM²
    Moderador Local
    Moderador Local

    Mensagens : 1790
    Créditos : 139
    Cash : 0

    [VXA-OS] LM² - No PvP Zone/Region Empty Re: [VXA-OS] LM² - No PvP Zone/Region

    Mensagem por LeonM² em Ter Jul 16, 2019 10:01 am

    Basta colocar no mapa a região com a id configurada por
    NO_PVP_ZONE = 55 #LM² - No PvP Zone
    http://prntscr.com/ofryvm
    Nesse link tem uma imagem de exemplo bem clara.
    Uma vez nessa área não pode atacar, nem ser atacado. Mesmo em mapa pvp.


    _________________
    Caso precise de suporte para algum dos meus scripts, me adicione no Discord: LeonM²#9597

    Conteúdo patrocinado

    [VXA-OS] LM² - No PvP Zone/Region Empty Re: [VXA-OS] LM² - No PvP Zone/Region

    Mensagem por Conteúdo patrocinado

      Tópicos similares

      -

      Data/hora atual: Ter Ago 20, 2019 6:36 am