por Valentine Dom Jul 07, 2019 9:24 am
Correções de bugs da versão 1.1.0:
Correção do bug do Menu:
1) No script
Window_Menu do cliente, procure por:
- Código:
def logout
SceneManager.scene.fadeout_all
SceneManager.exit
end
2) Substitua por:
- Código:
def logout
exit
end
Correção do bug da caixa de texto:
1) No script
Text_Box do cliente, procure por:
- Código:
@text_width = @back.bitmap.text_size(text).width
2) Substitua por:
- Código:
@text_width = [@back.bitmap.text_size(text).width, width - 13].min
Correção do bug do mouse:
1) No script
Mouse do cliente, procure por:
- Código:
def self.tile_x
# Corrige o display_x, já que a tela se move 16 pixel
#na horizontal e 32 pixel na vertical
x = $game_map.display_x > 0 ? self.x + 16 : self.x
(x / 32 + $game_map.display_x).to_i
end
2) Substitua por:
- Código:
def self.tile_x
# Corrige o display_x, já que a tela pode se mover
#16 em vez de 32 pixel na horizontal se a largura da
#resolução for superior a 1000
x = $game_map.display_x > 0 && $game_map.display_x > $game_map.display_x.to_i ? self.x + 16 : self.x
(x / 32 + $game_map.display_x).to_i
end
Correção do bug dos itens:
1) No arquivo
game_battle.rb que fica dentro da pasta Scripts do servidor, procure por:
- Código:
value = (mhp - effect.value1 + effect.value2) * 1.0#rec
2) Substitua por:
- Código:
value = (mhp * effect.value1 + effect.value2) * 1.0#rec
Correção do bug dos projéteis:
1) No script
[VS] Game_Player do CLIENTE, procure por:
- Código:
def blocked_passage?
2) Embaixo adicione:
- Código:
# Retorna falso se o jogador e o alvo estiverem nas
#mesmas coordenadas, pois, nesta versão do Ruby, o
#atan2 retorna um erro
return false if pos?(@target.x, @target.y)
3) Agora no script
[VS] Game_Projectile, procure por:
- Código:
def to_angle(start_x, start_y, target_x, target_y)
4) Embaixo adicione:
- Código:
# Retorna 0 se o alvo e o projétil estiverem nas
#mesmas coordenadas, pois, nesta versão do Ruby, o
#atan2 retorna um erro
5) Por fim, abra o arquivo
game_battle.rb na pasta Scripts do SERVIDOR e procure por:
- Código:
def max_passage(target)
6) Embaixo adicione:
- Código:
return [target.x, target.y] if pos?(target.x, target.y)
Correção do bug da tela:
1) No script
[VS] Game_Map do cliente, substitua todo o
def in_screen por:
- Código:
def in_screen?(object)
return false if object.real_x <= @display_x - 4
return false if object.real_x >= @display_x + Graphics.width / 32 + 3
return false if object.real_y <= @display_y - 4
return false if object.real_y >= @display_y + Graphics.height / 32 + 3
return true
end
2) Antes de
[VS] Game_Map adicione este script:
- Código:
#==============================================================================
# ** Game_Temp
#------------------------------------------------------------------------------
# Esta classe lida com dados temporários que não são
# salvos pelo jogo.
#------------------------------------------------------------------------------
# Autor: Valentine
#==============================================================================
class Game_Temp
attr_accessor :need_update
def initialize
@common_event_id = 0
@fade_type = 0
@need_update = false
end
end
3) No script
[VS] Game_Character, procure por:
- Código:
if sx.abs > 2 || sy.abs > 2
4) Embaixo adicione:
- Código:
$game_temp.need_update = true
5) Agora no script
[VS] Spriteset_Map substitua todo o
def update_characters por:
- Código:
def update_characters
refresh_characters unless @map_id == $game_map.map_id
@character_sprites.each {|sprite| sprite.update if $game_map.in_screen?(sprite.character) || $game_temp.need_update }
end
6) Substitua todo o
def update_objects por:
- Código:
def update_objects
@player_sprites.each_value { |player| player.update if $game_map.in_screen?(player.character) || $game_temp.need_update }
@drop_sprites.each { |drop| drop.update if $game_map.in_screen?(drop.character) || $game_temp.need_update }
$game_temp.need_update = false
update_projectiles
update_target
update_cursor_move
update_admin_msg
end
Todas essas correções estarão na versão 1.1.1.
Última edição por Valentine em Dom Jul 07, 2019 9:29 am, editado 1 vez(es)