bartek2940 - Czw 28 Kwi, 2011 19:01 Temat postu: Proszę o pomoc ze skryptemUżywam Menu z dodatkami (MOG Menu) z poprawkami od naszej ulubionej moderatorki i Map Slide (jest na Forum).
Czy można by sprawić, by w nazwie lokacji nie wyświetlał się nawias z Map Slide?
Lub jeśli nie da rady, to usunąć nazwę lokacji.
Bardzo proszę o pomoc.
Oto oba skrypty:
Spoiler:
MOG MENU z usuniętym zapisem
Spoiler:
Kod:
##################################################
# Mog Basic Menu Plus V 1.0 #
##################################################
# By Moghunter
# korekta SaE
##############
#==============================================================================
# NOTE: Tylko najnowsza wersja jest wersją obslugiwaną.
#
# v1.1
# - naprawiony bug z wielkością mapy
# - dodano jakąś opcję przesówania krawędzi
#==============================================================================
#==============================================================================
#
# Aby "przewijać" w nazwie mapy wpisujemy:
# Nazwę mapy [MET ID_Mapy_Dolnej ID_Mapy_Lewej ID_Mapy_Prawej ID_Mapy_Górnej] np.:
# Wyspa [MET 1 2 3 4]
# Jeśli ma nie przewijać wpisujemy ID 0 (zero)
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# Map Name (New)
#--------------------------------------------------------------------------
def map_name
return load_data("Data/MapInfos.rvdata")[@map_id].name
end
end
class Game_Character
#--------------------------------------------------------------------------
# Public Instance Variables (New)
#--------------------------------------------------------------------------
attr_accessor :real_x
attr_accessor :real_y
end
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# Determine if Same Position Event is Triggered (Mod)
#--------------------------------------------------------------------------
alias ow_mapslide_game_player_ceth check_event_trigger_here unless $@
def check_event_trigger_here(triggers)
if $game_temp.no_trigger
$game_temp.no_trigger = false
return false
end
ow_mapslide_game_player_ceth(triggers)
end
#--------------------------------------------------------------------------
# Processing of Movement via input from the Directional Buttons (Mod)
#--------------------------------------------------------------------------
alias ow_mapslide_game_player_move_by_input move_by_input unless $@
def move_by_input
return unless movable?
return if $game_map.interpreter.running?
if self.x == 0 or self.x == ($game_map.width - 1) or self.y == 0 or
self.y == ($game_map.height - 1) and OW_MAP_SLIDE::MAP_EDGE
dir = $game_player.direction
map_id = [0] * 9
$game_map.map_name.scan(/\[MET (\d+) (\d+) (\d+) (\d+)\]/i)
map_id[2] = $1.to_i if self.y == ($game_map.height - 1)
map_id[4] = $2.to_i if self.x == 0
map_id[6] = $3.to_i if self.x == ($game_map.width - 1)
map_id[8] = $4.to_i if self.y == 0
if map_id[dir] == 0
ow_mapslide_game_player_move_by_input
return
end
x = $game_player.x
y = $game_player.y
new_map = load_data(sprintf("Data/Map%03d.rvdata", map_id[dir]))
case dir
when 2; y = 0
when 4; x = (new_map.width - 1)
when 6; x = 0
when 8; y = (new_map.height - 1)
end
$game_player.reserve_transfer(map_id[dir], x, y, dir)
else
$game_temp.no_trigger = false
ow_mapslide_game_player_move_by_input
end
end
end
class Spriteset_Map
#--------------------------------------------------------------------------
# Public Instance Variables (New)
#--------------------------------------------------------------------------
attr_accessor :tilemap
attr_accessor :picture_sprites
end
class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# Player Transfer Processing (Mod)
#--------------------------------------------------------------------------
alias ow_mapslide_scene_map_upd_tr_player update_transfer_player unless $@
def update_transfer_player
if $game_switches[OW_MAP_SLIDE::DISABLE_SWITCH]
ow_mapslide_scene_map_upd_tr_player
else
return unless $game_player.transfer?
w = Graphics.width
h = Graphics.height
speed = OW_MAP_SLIDE::SLIDE_SPEED
$game_player.real_y += 28 if $game_player.direction == 8
@spriteset.update
$game_temp.scroll = true
@hold = Sprite.new
@hold.bitmap = Graphics.snap_to_bitmap
@hold.z = 1
if $game_player.in_vehicle?
$game_map.vehicles[$game_player.vehicle_type].transparent = true
else
$game_player.transparent = true
end
@spriteset.dispose
$game_player.perform_transfer
$game_map.autoplay
$game_map.update
@spriteset = Spriteset_Map.new
case $game_player.direction
when 2
@spriteset.tilemap.oy += h + ($game_map.height * 32 - h) * 2
$game_temp.slide_x = 0
$game_temp.slide_y = h
for i in 0...h / speed
@hold.oy += speed
@spriteset.tilemap.oy += speed
$game_temp.slide_y -= speed
@spriteset.update_characters
Graphics.update
end
when 4
@spriteset.tilemap.ox -= w + ($game_map.width * 32 - w) * 2
$game_temp.slide_x = -w
$game_temp.slide_y = 0
for i in 0...w / speed
@hold.ox -= speed
@spriteset.tilemap.ox -= speed
$game_temp.slide_x += speed
@spriteset.update_characters
Graphics.update
end
when 6
@spriteset.tilemap.ox += w + ($game_map.width * 32 - w) * 2
$game_temp.slide_x = w
$game_temp.slide_y = 0
for i in 0...w / speed
@hold.ox += speed
@spriteset.tilemap.ox += speed
$game_temp.slide_x -= speed
@spriteset.update_characters
Graphics.update
end
when 8
@spriteset.tilemap.oy -= h + ($game_map.height * 32 - h) * 2
$game_temp.slide_x = 0
$game_temp.slide_y = -h
for i in 0...h / speed
@hold.oy -= speed
@spriteset.tilemap.oy -= speed
$game_temp.slide_y += speed
@spriteset.update_characters
Graphics.update
end
end
@hold.bitmap.dispose
@hold.dispose
Input.update
case $game_player.direction
when 2
$game_player.real_y -= 256
when 4
$game_player.real_x += 256
when 6
$game_player.real_x -= 256
when 8
$game_player.real_y += 256
end
$game_temp.no_trigger = true
if $game_player.in_vehicle?
$game_map.vehicles[$game_player.vehicle_type].transparent = false
else
$game_player.transparent = false
end
$game_temp.scroll = false
end
end
end
Angius - Czw 28 Kwi, 2011 22:00
Kod:
class Game_Map
attr_reader :map_id
def mpname
$mpname = load_data("Data/MapInfos.rvdata")
$mpname[@map_id].name
end
end
class Window_Mapname < Window_Base
def initialize(x, y)
super(x, y, 160, WLH + 64)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 120, WLH, Szkodnik_Sae::Lokacja)
self.contents.font.color = normal_color
self.contents.draw_text(4, WLH+2, 120, WLH, $game_map.mpname.to_s, 2)
end
end
Spróbuj to wywalić z MOG-aAyene - Pią 29 Kwi, 2011 11:40 Jeśli wyrzuci ten fragment, to wyskoczy błąd - usunąłby w końcu nowo dodane okno 'Window_Mapname'.
Żeby nie wyświetlało tych komentarzy w nazwie mapy... może spróbuj zamienić fragment:
Kod:
def mpname
$mpname = load_data("Data/MapInfos.rvdata")
$mpname[@map_id].name
end
na:
Kod:
def mpname
mpname = load_data("Data/MapInfos.rvdata")
nn = mpname[@map_id].name
if nn.include?("MET")
nn.scan(/\[MET (\d+) (\d+) (\d+) (\d+)\]/i)
['MET ','[', ']', $1, $2, $3, $4].each {|i| nn.gsub!(i) {''} }
end
return nn
end