Malian - Nie 17 Sty, 2010 12:10 Temat postu: Mapa teleportacjiDzięki temu skryptowi można przenieść się w dowolne miejsce, więc maksymalna liczba tym razem nie musi być 4 lecz nawet z 20 punktów widocznych na mapie świata.
class Window_Command2 < Window_Selectable
def initialize(width, commands)
super(240, 0, width, 64)
@item_max = commands.size
@commands = commands
self.contents = Bitmap.new(width - 32, @item_max * 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
refresh
self.index = 0
end
def refresh
self.contents.clear
for i in 0...@item_max
draw_item(i, normal_color)
end
end
def draw_item(index, color)
self.contents.font.color = color
rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.draw_text(rect, @commands[index])
end
def disable_item(index)
draw_item(index, disabled_color)
end
end
#=========================================================================
#=========================================================================
#=========================================================================
class Scene_Mpdtwf
def initialize(menu_index = 0)
@menu_index = menu_index
end
def main
@sprite = Sprite.new
s1 = "Samotna Góra"
s2 = "Elfi las"
s3 = "Wulkan"
s4 = "Dolina"
s5 = "Tajemna wyspa"
s6 = "Zielona wyspa"
@command_window = Window_Command2.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@sprite.bitmap.dispose
@sprite.dispose
@command_window.dispose
end
def update
@command_window.update
if @command_window.active
update_command
return
end
end
def update_command
case @command_window.index
when 0 #Samotna góra
@sprite.bitmap = RPG::Cache.picture("gory")
when 1 # Elfi las
@sprite.bitmap = RPG::Cache.picture("las")
when 2 # Wulkan
@sprite.bitmap = RPG::Cache.picture("wulkan")
when 3 # Dolina
@sprite.bitmap = RPG::Cache.picture("dolina")
when 4 # Tajemna wyspa
@sprite.bitmap = RPG::Cache.picture("tajemnicza")
when 5 # Zielona wyspa
@sprite.bitmap = RPG::Cache.picture("zielona")
end
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 0 #Samotna góra
$game_system.se_play($data_system.decision_se)
$scene = $game_map.setup(1)
$scene = $game_player.moveto(9, 7)
$scene = Scene_Map.new
when 1 # Elfi las
$game_system.se_play($data_system.decision_se)
$scene = $game_map.setup(2)
$scene = $game_player.moveto(9, 7)
$scene = Scene_Map.new
when 2 # Wulkan
$game_system.se_play($data_system.decision_se)
$scene = $game_map.setup(3)
$scene = $game_player.moveto(9, 7)
$scene = Scene_Map.new
when 3 # Dolina
$game_system.se_play($data_system.decision_se)
$scene = $game_map.setup(4)
$scene = $game_player.moveto(9, 7)
$scene = Scene_Map.new
when 4 # Tajemna wyspa
$game_system.se_play($data_system.decision_se)
$scene = $game_map.setup(5)
$scene = $game_player.moveto(9, 7)
$scene = Scene_Map.new
when 5 # Zielona wyspa
$game_system.se_play($data_system.decision_se)
$scene = $game_map.setup(6)
$scene = $game_player.moveto(9, 7)
$scene = Scene_Map.new
end
return
end
end
end
Skrypt jest dostosowany do tych obrazków (oczywiście można go edytować, tylko trzeba własne obrazki dać do folderu Pictures oraz zmodyfikować skrypt, mi się to nie wydaje trudne):
Spoiler:
Firestorm109 - Sob 06 Mar, 2010 21:18 A jakoś się wywołuje ten skrypt czy coś ?Melvin - Sob 06 Mar, 2010 21:44 Robisz zdarzenie, przechodzisz do 3 zakładki. Wchodzisz w "Skrypt".
Wpisujesz:
Cytat:
$scene = Scene_Mpdtwf.new
Firestorm109 - Sob 06 Mar, 2010 22:12 Melvin tyle mi pomogleś ... nie no jesteś BOOSKKIII !!! :D co by było gdyby nie ty ..
chyba bym przestała kontynuować grę :DKumpel - Nie 21 Lis, 2010 12:20 A jak zrobić ,żeby nie było okna wiadomości i jakie id ma jaka mapa?Ayene - Nie 21 Lis, 2010 15:11 Kumpel, jakie id mapy? Chcesz wiedzieć, jak sprawdza się ID mapy? W edytorze na samym dole okna z rysowaniem mapy masz jej ID, np. 001 http://img221.imageshack....86/screengs.jpg
I o jakie okno wiadomości Tobie chodzi?Sabikku - Nie 21 Lis, 2010 15:29 Ukrycie okna wiadomości - "Change Text Options", http://rmxp.pl/encykloped...na=komendy&id=1 .Kumpel - Nie 21 Lis, 2010 15:33 Dzięki Ayene ;p nie zauważyłem tego ;D
Sabikku, nie chodzi mi o to bo to ja wiem ale
gdy włączam ten skrypt jest pole wiadomości z nazwą miejsca gdzie mam sie przeteleportowac. czy mozna by go usunąć zeby byly same obrazki?Sabikku - Nie 21 Lis, 2010 15:53 Pod