Siema. Szukając skryptów natrafiłem znany skrypt. Pozwala nam się teleportować w dane miejsce.
Skrypt:
Spoiler:
Kod:
#===============================================================================
# [VX] Portale VX Org. Waypoints VX
# Ver. 1.5
# Autor: Mundane
# Mail: mundane92@gmail.com
# Tłumaczenie: Czeliosss
#-------------------------------------------------------------------------------
# Podziękowania:
# Yeyinde pomoc przy skrypcie
#
# Historia:
# 8/17/08 - Ulepszenie skryptu Ver. 1.5
#-------------------------------------------------------------------------------
module WayVX
#-------------------------------------------------------------------------------
# * Konfiguracja
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Ustawienia Portali:
#-------------------------------------------------------------------------------
# Aby zrobić portal skorzystaj z tego wzoru:
# WAYPOINTS = [
# [C, S, M, X, Y, N],
# [C, S, M, X, Y, N]
# ]
# C: Numer portalu. Zaczynamy od 0.
# S: Numer przełącznika, który jest potrzebny do aktywacji portalu.
# M: ID mapy, na której znajduje się portal.
# X: Współrzędna na osi X.
# Y: Współrzędna na osi Y.
# N: Nazwa portalu.
#-------------------------------------------------------------------------------
WAYPOINTS = [ #C S M X Y N
[0, 0, 1, 8, 6, "Ogród"],
[1, 1, 2, 8, 6, "Bagna"],
[2, 2, 3, 8, 6, "Las"] # Ostatni bez przecinka
] # Nie usuwaj
# Opcje i Muzyka:
TELEPORT_SE = "Audio/SE/Teleport" # Muzyka podczas teleportacji.
TELEPORT_ANIM = 41 # ID animacji w Bazie Danych
WINDOW_RIGHT = false # Położenie okna. True - po lewej, False - po prawej
#-------------------------------------------------------------------------------
end
#-------------------------------KONIEC KONFIGURACJI-----------------------------
#-------------------------------------------------------------------------------
# * Window_WaypointHelp
#-------------------------------------------------------------------------------
class Window_WaypointHelp < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# x : window X coordinate
# y : window Y coordinate
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 258, 60)
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.draw_text(4, 0, 250, 24, 'Wybierz Portal')
end
end
#==============================================================================
# ** Window_Waypoints
#------------------------------------------------------------------------------
# This window deals with Waypoint selection.
#==============================================================================
class Window_Waypoints < Window_Selectable
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :commands # command
#--------------------------------------------------------------------------
# * Object Initialization
# width : window width
# commands : command string array
# column_max : digit count (if 2 or more, horizontal selection)
# row_max : row count (0: match command count)
# spacing : blank space when items are arrange horizontally
#--------------------------------------------------------------------------
def initialize(width, commands, column_max = 1, row_max = 0, spacing = 32)
if row_max == 0
row_max = (commands.size + column_max - 1) / column_max
end
super(0, 0, width, row_max * WLH + 32, spacing)
@commands = commands
@item_max = commands.size
@column_max = column_max
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
for i in 0...@item_max
draw_item(i)
end
end
#--------------------------------------------------------------------------
# * Draw Item
# index : item number
# enabled : enabled flag. When false, draw semi-transparently.
#--------------------------------------------------------------------------
def draw_item(index, enabled = true)
rect = item_rect(index)
rect.x += 4
rect.width -= 8
self.contents.clear_rect(rect)
self.contents.font.color = normal_color
self.contents.font.color.alpha = enabled ? 255 : 128
self.contents.draw_text(rect, @commands[index])
end
end
#===============================================================================
# ** Scene_Waypoints
#===============================================================================
class Scene_Waypoints < Scene_Base
#--------------------------------------------------------------------------
# * Object Initialization
# menu_index : command cursor's initial position
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#-----------------------------------------------------------------------------
# * Start processing
#-----------------------------------------------------------------------------
def start
super
create_menu_background
create_command_window
if WayVX::WINDOW_RIGHT == true
@wayhelp_window = Window_WaypointHelp.new(286,0)
else
@wayhelp_window = Window_WaypointHelp.new(0,0)
end
end
#--------------------------------------------------------------------------
# * Termination Processing
#--------------------------------------------------------------------------
def terminate
super
dispose_menu_background
@command_window.dispose
@wayhelp_window.dispose
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
update_menu_background
@command_window.update
@wayhelp_window.update
if @command_window.active
update_command_selection
end
end
#--------------------------------------------------------------------------
# * Create Command Window
#--------------------------------------------------------------------------
# * Add your waypoints here!
#--------------------------------------------------------------------------
def create_command_window
commands = WayVX::WAYPOINTS.collect{|waypoint| waypoint[5]}
@command_window = Window_Waypoints.new(258, commands)
waypoint = WayVX::WAYPOINTS[@command_window.index]
@command_window.index = @menu_index
if WayVX::WINDOW_RIGHT == true
@command_window.x = 286
@command_window.y = 60
else
@command_window.y = 60
WayVX::WAYPOINTS.each do |waypoint|
if waypoint[1] > 0 && !$game_switches[waypoint[1]]
@command_window.draw_item(waypoint[0], false)
end
end
#-----------------------------------------------------------------------------
# * Update Command Selection
#-----------------------------------------------------------------------------
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
waypoint = WayVX::WAYPOINTS[@command_window.index]
if waypoint[1] > 0 && !$game_switches[waypoint[1]]
Sound.play_buzzer
return
else
Audio.se_play(WayVX::TELEPORT_SE)
$game_player.animation_id = WayVX::TELEPORT_ANIM
$game_map.setup(waypoint[2])
$game_player.moveto(waypoint[3], waypoint[4])
$game_player.refresh
$scene = Scene_Map.new
RPG::BGM.fade(120)
RPG::BGS.fade(120)
Graphics.fadeout(30)
Graphics.wait(40)
Graphics.frame_count = 0
RPG::BGM.stop
$game_map.autoplay
end
end
end
end
end
end
SS:
Spoiler:
Wywołanie skryptu:
Kod:
$scene = Scene_Waypoints.new
Instrukacja:
Wklej nad main.
Konfiguracja:
Wszystko w instrukcji.
Pzdr.
________________________ ...Amelanduil & FireBlade words will be remembered... ...Amelanduil & FireBlade acts will be remembered... ...Amelanduil & FireBlade never gonna die...
Nie pisać, bo nie odpiszę.
Ostatnio zmieniony przez Czeliosss Wto 27 Lip, 2010 10:24, w całości zmieniany 2 razy
A jest możliwość w tym skrypcie zrobić coś takiego że gdy wybierzemy lokację to najpierw pokaże się animacja i dopiero nas przeniesie w wybrane miejsce? Jeśli ktoś wie to proszę o pomoc i z góry dzięki
Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Pon 03 Maj, 2010 12:19
Podmień skrypt i zobacz, czy o to chodziło?
Spoiler:
Kod:
#===============================================================================
# [VX] Portale VX Org. Waypoints VX
# Ver. 1.5
# Autor: Mundane
# Mail: mundane92@gmail.com
# Tłumaczenie: Czeliosss
#-------------------------------------------------------------------------------
# Podziękowania:
# Yeyinde pomoc przy skrypcie
#
# Historia:
# 8/17/08 - Ulepszenie skryptu Ver. 1.5
#-------------------------------------------------------------------------------
module WayVX
#-------------------------------------------------------------------------------
# * Konfiguracja
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Ustawienia Portali:
#-------------------------------------------------------------------------------
# Aby zrobić portal skorzystaj z tego wzoru:
# WAYPOINTS = [
# [C, S, M, X, Y, N],
# [C, S, M, X, Y, N]
# ]
# C: Numer portalu. Zaczynamy od 0.
# W: Numer przełącznika, który jest potrzebny do aktywacji portalu.
# M: ID mapy, na której znajduje się portal.
# X: Współrzędna na osi X.
# Y: Współrzędna na osi Y.
# N: Nazwa portalu.
#-------------------------------------------------------------------------------
WAYPOINTS = [ #C S M X Y N
[0, 0, 1, 8, 6, "Ogród"],
[1, 1, 2, 8, 6, "Bagna"],
[2, 2, 3, 8, 6, "Las"]
]
# Optional Aesthetic and Audio Configuration:
TELEPORT_SE = "Audio/SE/Teleport" # Muzyka podczas teleportacji.
TELEPORT_ANIM = 41 # ID animacji w Bazie Danych
WINDOW_RIGHT = false # Położenie okna. True - po lewej, False - po prawej
#-------------------------------------------------------------------------------
end
#-------------------------------KONIEC KONFIGURACJI-----------------------------
#-------------------------------------------------------------------------------
# Window_WaypointHelp
#-------------------------------------------------------------------------------
class Window_WaypointHelp < Window_Base
def initialize(x, y)
super(x, y, 258, 60)
refresh
end
def refresh
self.contents.clear
self.contents.draw_text(4, 0, 250, 24, 'Wybierz Portal')
end
end
Tak mniej więcej Jest ok tylko mam jeszcze pytanie czy dało by się gdy wejdę na teleport pokazuje mi inną animację i trwa ona dłużej i gdy mnie przeniesie do wybranego miejsca jest inna animacja? (sorry za kłopot)
Pomógł: 53 razy Dołączył: 30 Gru 2009 Posty: 515 Skąd: Ruda Śląska
Wysłany: Nie 30 Maj, 2010 18:14
Czeliosss napisał/a:
[C, S, M, X, Y, N],
# [C, S, M, X, Y, N]
# ]
# C: Numer portalu. Zaczynamy od 0.
# W: Numer przełącznika, który jest potrzebny do aktywacji portalu.
# M: ID mapy, na której znajduje się portal.
# X: Współrzędna na osi X.
# Y: Współrzędna na osi Y.
# N: Nazwa portalu.
Nie powinno być zamiast:
# W: Numer przełącznika, który jest potrzebny do aktywacji portalu.
to:
# S: Numer przełącznika, który jest potrzebny do aktywacji portalu.
Ale świetny. Przyda się jak będę np. w centrum ruin z magicznym kryształem albo można też stworzyć przedmiot "Kryształ teleportu" zrobić typowe zdarzenie które wywołuje ten skrypt
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum