Ich hatte schon seit längerem die Idee, eine Tutorialserie zum VX über bestimmte Events zu machen. Ich werde nicht die Database, Grundfunktionen oder ähnliches erläutern! Ich zeige lediglich, wie man einige nützliche Events (und evt. Scripts) erstellt.
Die fertigen Scripts findet ihr im unteren Teil dieses Posts.
Updates:
03.09.2012 Post des vierzehnten Tutorials
30.08.2012 Post des dreizehnten Tutorials
29.08.2012 Post des zwölften Tutorials
13.01.2012 Post des elften Tutorials (zwei Parts)
27.12.2011 Post des zehnten (Wunsch-)Tutorials
19.11.2011 Post des neunten Tutorials
04.11.2011 Post des achten Tutorials
03.11.2011 Post des siebten Tutorials
22.10.2011 Post des sechsten Tutorials
22.10.2011 Post des fünften Tutorials
22.10.2011 Post des vierten Tutorials
03.10.2011 Post des dritten Tutorials
03.10.2011 Post des zweiten Tutorials
02.10.2011 Post des ersten Tutorials
02.10.2011 Erstellung des Threads
Tutorials:
RPG Maker VX Tutorial: Objekte per Taste untersuchen (http://www.youtube.com/watch?v=Y2Q0y1p8Vpk#)
In diesem Tutorial wird gezeigt, wie ihr ein Taste zum Untersuchen der Spielobjekte einbauen könnt.
RPG Maker VX Tutorial: Eislaufen (per Events) (http://www.youtube.com/watch?v=JWRNoIE6mt8#)
In diesem Tutorial wird gezeigt, wie eine Eisbahn (die Möglichkeit zum Eislaufen) in ein Projekt integriert werden kann.
RPG Maker VX Tutorial: Zufällig generierte Landschaft (http://www.youtube.com/watch?v=p3uDxUsvuK0#)
In diesem Tutorial wird gezeigt, wie eine zufällige Mapauswahl in ein Projekt integriert werden kann.
RPG Maker VX Tutorial: Tag und Nacht System (http://www.youtube.com/watch?v=dkoIIgje0mg#)
In diesem Tutorial wird gezeigt, wie ein Tag und Nachtsystem in ein Projekt integriert werden kann.
RPG Maker VX Tutorial: Nutzung des Tag und Nachtsystemes (http://www.youtube.com/watch?v=jDONo-thugM#)
In diesem Tutorial wird gezeigt, wie die Uhrzeit des Tag und Nachtsystem in einem Projekt für Auswirkungen auf das Spielgeschehen genutzt werden kann.
RPG Maker VX Tutorial: Erweitertes Tag und Nachtsystem (Minuten, Stunden, Tage, Monate, Jahre) (http://www.youtube.com/watch?v=jPL7PuAX8tk#)
In diesem Tutorial wird gezeigt, wie das Tag und Nachtsystem um Minuten, Tage, Monate und Jahre erweitert werden kann.
RPG Maker VX Tutorial: Pausemenü scripten (http://www.youtube.com/watch?v=ucW4z1XXULk#)
In diesem Tutorial wird gezeigt, wie ein Pausemenü gescriptet werden kann.
RPG Maker VX Tutorial: Pausemenü mit Bildern und Texten erweitern (http://www.youtube.com/watch?v=utXGaILGPEY#)
In diesem Tutorial wird gezeigt, wie das Pausemenü mit Bildern und Texten erweitert werden kann.
RPG Maker VX Tutorial: Cheaten Teil 1 (Tastenkombination) (http://www.youtube.com/watch?v=O5lBOhgDgoA#)
In diesem Tutorial wird gezeigt, wie man eine Cheatfunktion (Tastenkombinaton) in das eigene Spiel integrieren kann.
RPG Maker VX Tutorial: Geld wirtschaften (http://www.youtube.com/watch?v=0oLQgzveh7Y#)
Ein eigener Betrieb mit Arbeitern? Kein Problem!
RPG Maker VX Tutorial: Window on Map (permanent) Part 1 (http://www.youtube.com/watch?v=9SL3Gn6LxXM#)
RPG Maker VX Tutorial: Window on Map (permanent) Part 2 (http://www.youtube.com/watch?v=9dW68o6TEZ8#)
Window auf Map scripten? Einfach zusehen und lernen!
RPG Maker VX Tutorial: Renngeschwindigkeit abhängig von Agilität machen (http://www.youtube.com/watch?v=BqqOTW0mEWc#)
In diesem Tutorial wird gezeigt, wie die Renngeschwindigkeit (SHIFT-Taste) abhängig vom Agilitätswert des ersten Partymembers gemacht werden kann.
RPG Maker VX Tutorial: Script für Auswahlmöglichkeiten / Menüpunkte (http://www.youtube.com/watch?v=BzRinQPI0Jg#)
In diesem Tutorial wird gezeigt, wie ein Fenster mit Auswahlmöglichkeiten gescripted werden kann. Da dies eigentlich recht einfach ist, habe ich versucht alle Dinge genau zu erklären.
RPG Maker VX Tutorial: Klassenauswahl (http://www.youtube.com/watch?v=E716PkEZmjI#ws)
In diesem Tutorial wird gezeigt, wie eine Klassenauswahl in das Spiel integriert werden kann.
Scripte:
RPG Maker VX Tutorial: Pausemenü scripten + Erweiterung
#####################################################################################
# Pausescript by PDM #
# V.2 , 4. November.2011 #
#####################################################################################
module Pause
Text = ""
Text2 = ""
end
class Scene_Pausemenü < Scene_Base
def start
create_background
@pause_window = Window_Pause.new(-16, -16, 576, 448)
end
def terminate
dispose_background
@pause_window.dispose
end
def update
@pause_window.update
if Input.trigger?(Input::X)
Sound.play_cancel
$scene = Scene_Map.new
end
end
def create_background
@pauseback_sprite = Sprite.new
@pauseback_sprite.bitmap = $game_temp.background_bitmap
@pauseback_sprite.color.set(0, 0, 0, 0)
end
def dispose_background
@pauseback_sprite.dispose
end
end
class Window_Pause < Window_Base
def initialize(x, y, width, height)
super(x, y, width, height)
@image = Cache.picture("Standbild")
self.contents.blt(0, 0, @image, @image.rect)
self.opacity = 0
self.contents.font.color = text_color(15)
self.contents.draw_text(110, 80, 544, WLH, "Pause: Drücke A zum fortfahren.")
self.contents.draw_text(120, 360, 544, WLH, "#{Pause::Text}")
self.contents.draw_text(120, 384, 544, WLH, "#{Pause::Text2}")
end
end
RPG Maker VX Tutorial: Window on Map (permanent)
#####################################################################################
# Aufgabenfenster V. 1.0 #
# scripted by PDM #
#####################################################################################
module Mapwindow
TITEL = "Aufgabe: " # <- Überschrift im Aufgabenfenster
X_POS = 0 # <- X-Position des Fensters
Y_POS = 0 # <- Y-Position des Fensters
BREITE = 544 # <- Breite des Fensters
HÖHE = 56 # <- Höhe des Fensters
OPACITY = 255 # <- Durchsichtigkeit
AUFTRAG = ""
AUFTRAG_1 = "Suche ein Heilkraut."
AUFTRAG_2 = "Such einen Pilz."
AUFTRAG_3 = "Freu dich."
# Ab hier nichts ändern! (Außer du weist, was du tust.)
end
include Mapwindow
#####################################################################################
class Scene_Map < Scene_Base
def start
super
$game_map.refresh
@spriteset = Spriteset_Map.new
@message_window = Window_Message.new
if AUFTRAG == ""
else
@aufgaben_window = Window_Mapwindow.new(X_POS, Y_POS, BREITE, HÖHE)
end
end
def terminate
super
if $scene.is_a?(Scene_Battle)
@spriteset.dispose_characters
end
snapshot_for_background
@spriteset.dispose
@message_window.dispose
if @aufgaben_window == nil
else
@aufgaben_window.dispose
end
if $scene.is_a?(Scene_Battle)
perform_battle_transition
end
end
def update
super
$game_map.interpreter.update
$game_map.update
$game_player.update
$game_system.update
@spriteset.update
@message_window.update
if AUFTRAG == ""
elsif @aufgaben_window == nil
@aufgaben_window = Window_Mapwindow.new(X_POS, Y_POS, BREITE, HÖHE)
else
@aufgaben_window.refresh
end
unless $game_message.visible
update_transfer_player
update_encounter
update_call_menu
update_call_debug
update_scene_change
end
end
end
##################################################################################
class Window_Mapwindow < Window_Base
def initialize(x, y, width, height)
super (x, y, width, height)
refresh
end
def refresh
self.contents.clear
self.opacity = OPACITY
self.contents.draw_text(0, 0, width, WLH, "#{TITEL}" + "#{eval("#{AUFTRAG}")}")
end
end
RPG Maker VX Tutorial: Renngeschwindigkeit abhängig von Agilität machen
module TV
Agi1 = 10
Agi2 = 20
Agi3 = 30
Agi4 = 40
Dash1 = 2
Dash2 = 3
Dash3 = 5
Dash4 = 8
end
include TV
class Game_Character
def update_move
distance = 2 ** @move_speed # Convert to movement distance
########
actor = $game_party.members[0]
@character_tempo = actor.agi
if @character_tempo >= Agi4
distance *= Dash4 if dash?
elsif @character_tempo >= Agi3
distance *= Dash3 if dash?
elsif @character_tempo >= Agi2
distance *= Dash2 if dash?
elsif @character_tempo >= Agi1
distance *= Dash1 if dash?
end
@real_x = [@real_x - distance, @x * 256].max if @x * 256 < @real_x
@real_x = [@real_x + distance, @x * 256].min if @x * 256 > @real_x
@real_y = [@real_y - distance, @y * 256].max if @y * 256 < @real_y
@real_y = [@real_y + distance, @y * 256].min if @y * 256 > @real_y
update_bush_depth unless moving?
if @walk_anime
@anime_count += 1.5
elsif @step_anime
@anime_count += 1
end
end
end
RPG Maker VX Tutorial: Script für Auswahlmöglichkeiten / Menüpunkte
module Auswahlscript
VOC1 = "Menü"
VOC2 = "Beenden"
VOC3 = "Items"
ZIEL1 = "Scene_Menu"
ZIEL2 = "Scene_End"
ZIEL3 = "Scene_Item"
ZIEL_ABBRUCH = "Scene_Map"
end
include Auswahlscript
class Scene_Auswahl< Scene_Base
def initialize(menu_index = 0)
@menu_index = menu_index
end
def start
super
create_menu_background
create_command_window
end
def terminate
super
dispose_menu_background
@command_window.dispose
end
def update
super
update_menu_background
@command_window.update
update_command_selection
end
def create_command_window
s1 = VOC1
s2 = VOC2
s3 = VOC3
@command_window = Window_Command.new(200, [s1, s2, s3])
@command_window.index = @menu_index
# Ausgrauen
if ZIEL1 == ""
@command_window.draw_item(0, false)
elsif ZIEL2 == ""
@command_window.draw_item(1, false)
elsif ZIEL3 == ""
@command_window.draw_item(2, false)
end
end
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = eval("#{ZIEL_ABBRUCH}").new
elsif Input.trigger?(Input::C)
# Funktionen ausschalten
if ZIEL1 == "" and @command_window.index == 0
Sound.play_buzzer
return
elsif ZIEL2 == "" and @command_window.index == 1
Sound.play_buzzer
return
elsif ZIEL3 == "" and @command_window.index == 2
Sound.play_buzzer
return
end
# Funktionierende Funktionen
Sound.play_decision
case @command_window.index
when 0
$scene = eval("#{ZIEL1}").new
when 1
$scene = eval("#{ZIEL2}").new
when 2
$scene = eval("#{ZIEL3}").new
end
end
end
end