# XP,VX通用,游戏中按F5开启通行显示,可以自由修改 $showpass = false $fuxver = self module Fux2 BUTTON = "F5" # 快捷键,在游戏中按下开启本脚本功能 VER = $fuxver ? "VX" : "XP" OPACITY = 150 # 显示通行度图层的透明度(0-255) # 下面请勿随意修改 BLOCK = {"XP"=>{2=>["↓",8,8],4=>["←",0,0],6=>["→",16,0],8=>["↑",8,-8]}, "VX"=>{2=>["",0,0],4=>["",0,0],6=>["",0,0],0x08=>["",0,0]}} SET = {"VX"=>[8,Color.new(255,0,0,OPACITY),[1]],"XP"=>[4,Color.new(100,0,100,OPACITY),[2,4,6,8]]} end class Spriteset_Map include Fux2 alias:ini:initialize def initialize @passble = Sprite.new @passble.z = 99999999 @passble.x = -$game_map.display_x/4 @passble.y = -$game_map.display_y/4 @passble.bitmap = Bitmap.new($game_map.width*32,$game_map.height*32) @passble.bitmap.font.size = 16 @passble.bitmap.font.color = Color.new(255,255,255,200) for px in 0...$game_map.width for py in 0...$game_map.height temp = [] SET[VER][2].each do |i| temp << i if $game_map.passable?(px,py,i) end if temp == SET[VER][2] @passble.bitmap.fill_rect(px*32,py*32,32,32,Color.new(0,0,255,OPACITY)) elsif temp == [] @passble.bitmap.fill_rect(px*32,py*32,32,32,Color.new(255,0,0,OPACITY)) else @passble.bitmap.fill_rect(px*32,py*32,32,32,SET[VER][1]) temp.each do |j| @passble.bitmap.draw_text(px*32+BLOCK[VER][j][1],py*32+BLOCK[VER][j][2],32,32,BLOCK[VER][j][0]) end end end end ini end alias:ud:update def update ud @passble.visible = $showpass @passble.x = -$game_map.display_x/SET[VER][0] @passble.y = -$game_map.display_y/SET[VER][0] @passble.update end alias:dis:dispose def dispose dis @passble.dispose end end class Scene_Map alias:ud:update def update ud eval("$showpass = !$showpass if Input.trigger?(Input::#{Fux2::BUTTON})") end end # rpg.blue