UltimaForum

Pomoc [VXAce] - Zmiana wyświetlanej nazwy mapy

Rave - Pią 10 Sie, 2012 20:37
Temat postu: Zmiana wyświetlanej nazwy mapy
Zna ktoś, albo może napisać skrypt który umożliwi zmianę nazwy wyświetlanej mapy (to co się ustawia pod "prawdziwą" nazwą mapy) i ponownym wyświetleniem jej w górnym rogu ekranu?
Ayene - Pią 10 Sie, 2012 21:48

Jak ta zmiana ma się odbywać? Chcesz dla każdej mapy ustawić drugą stałą nazwę, czy kontrolować po prostu wyświetlanie dowolnej nazwy w wybranym przez Ciebie momencie?
Rave - Sob 11 Sie, 2012 01:10

Kontrolować zmianę w dowolnym momencie. Nawet jak tylko będę zmieniał raz, będzie to bardziej elastyczne jak będę potrzebował kilka razy zmienić nazwę.

No i, o ile RGSS3 na to pozwala, chciałbym aby ta nazwa zostawała nazwa "ustawiona", żeby po ponownym wejściu pokazywała się ustawiona nazwa, a nie ta co jest we właściwościach mapy.

Rave - Nie 12 Sie, 2012 21:55

I co? Pomoże ktoś?
Ayene - Nie 12 Sie, 2012 22:04

Tak, odrobinę cierpliwości. Napisanie/opracowanie takiego skryptu trochę zajmuje. Dodatkowo nie zawsze ma się czas i chęci. Postaram się do wtorku napisać.
Rave - Nie 12 Sie, 2012 23:33

OK, dzięki. I przepraszam jak to zabrzmiało jak próba wymuszenia ;). Nie miałem cię zamiaru poganiać ani nic, zwłaszcza że ci za to nic nie płacę.
Ayene - Sro 15 Sie, 2012 09:01

Spróbuj tego:
Spoiler:

Kod:
#==============================================================================
# ** Game_Map
#==============================================================================
class Game_Map
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor   :name                   
  attr_accessor   :new_name
  attr_reader     :map_id
  #--------------------------------------------------------------------------
  # * Object Initialization (alias)
  #--------------------------------------------------------------------------
  alias aye_gamemap_ini initialize
  def initialize
    aye_gamemap_ini
    @name = ''
    @new_name = {}
  end
  #--------------------------------------------------------------------------
  # * Display Map Name
  #--------------------------------------------------------------------------
  def display_name
    if @new_name.include?(@map_id)
      @new_name[@map_id]
    else
      @map.display_name
    end   
  end 
end

#==============================================================================
# ** Scene_Map
#==============================================================================
class Scene_Map < Scene_Base
  #--------------------------------------------------------------------------
  # * Display Map Name
  #--------------------------------------------------------------------------
  def name_display
    $game_map.new_name[$game_map.map_id] = $game_map.name if $game_map.name != ''
    @map_name_window.open
    $game_map.name = ''
  end 
end


Nazwę mapy zmieniasz za pomocą polecenia script, korzystając ze zmiennej:
Kod:
$game_map.name = 'NOWA NAZWA'

Jeśli od razu po tym chcesz wyświetlić tę nazwę, wpisz pod spodem:
Kod:
SceneManager.scene.name_display


Wskazane, abyś nazwę zmieniał bezpośrednio przed wyświetleniem, co automatycznie sprawi, że zostanie ona zapamiętana, dla tej konkretnej mapy, na której wywołałeś to polecenie.

Rave - Czw 16 Sie, 2012 03:38

Dzięki!

Powered by phpBB modified by Przemo © 2003 phpBB Group