UltimaForum

Skrypty [XP] - Mapa teleportacji

Malian - Nie 17 Sty, 2010 12:10
Temat postu: Mapa teleportacji
Dzię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.

Skrypt:
Spoiler:

#==============================================================================
# ■ MPDTWF by Ferredingu (Partavis)
#==============================================================================
#==============================================================================
# ■ Window_Command
#------------------------------------------------------------------------------
#  一般的なコマンド選択を行うウィンドウです。
#==============================================================================

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ę :D

Kumpel - 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 :arrow: 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
Kod:
self.index = 0

Dorzuć:
Kod:
self.back_opacity = 0; self.opacity = 0; self.contents_opacity = 255

Kumpel - Nie 21 Lis, 2010 15:54

Danke Sabikku ;D

Powered by phpBB modified by Przemo © 2003 phpBB Group