[XP-VX]Tutorial : Common Event dari Script
by reijubv
Keterangan : Tutorial ini mungkin hanya berguna bagi orang yang mengerti script.
Ini adalah tutorial sederhana (terinspirasi pertanyaan seseorang di PM tentang ini) yang menunjukkan bagaimana caranya menjalankan common event dari script yang dibuat oleh kita sendiri. Semoga bermanfaat . . .
Baiklah, pertama2 di Script Editor (F11) buat script baru dan copas/ketik yang ada di code box di bawah ini :
VX - Code:
-
class Game_Interpreter
attr_accessor (:child_interpreter, :depth)
end
XP - Code:
-
class Interpreter
attr_accessor (:child_interpreter, :depth)
end
Script diatas gunanya adalah untuk membuat variable depth dan child_interpreter supaya bisa diakses dari luar class.
Setelah itu, di dalam script punyamu yang ingin mengakses common event, buat sebuah variabel yang valuenya adalah Interpreter yang ada di dalam map.
copas/ketik script di bawah :
VX - Code:
-
interpreter = $game_map.interpreter
XP - Code:
-
interpreter = $game_system.map_interpreter
Kemudian kita buat variable yang valuenya adalah common event dengan Id yang kita inginkan.
copas/ketik script di bawah :
VX dan XP - Code:
-
c_event = $data_common_events[Id]
Id adalah Id dari common event yang mau kita jalankan, mulai dari 1.
Lalu kita buat variabel child_interpreter dari interpreter yang sudah kita buat tadi, dan valuenya adalah Interpreter/Game_Interpreter baru dengan depth yang ditambahkan 1
copas/ketik script di bawah :
VX - Code:
-
interpreter.child_interpreter = Game_Interpreter.new(interpreter.depth + 1)
XP - Code:
-
interpreter.child_interpreter = Interpreter.new(interpreter.depth + 1)
Nah, sekarang kita suruh child_interpreter supaya menjalankan common event yang kita set diatas.
copas/ketik script di bawah :
VX - Code:
-
interpreter.child_interpreter.setup(c_event.list)
Untuk Xp, karena prosedur setup meminta 2 input, yang 1 adalah daftar command eventnya dan yang 1 lagi Id dari eventnya,
kita set saja event Id jadi 0, karena kita tidak menyuruh event manapun memanggil common event
XP - Code:
-
interpreter.child_interpreter.setup(c_event.list,0)
Oke, cuma gitu aja ko, untuk contoh scriptnya, ini dia :
VX - Code:
-
module Rei
def self.call_ce
interpreter = $game_map.interpreter
c_event = $data_common_events[Id]
interpreter.child_interpreter = Game_Interpreter.new(interpreter.depth + 1 )
interpreter.child_interpreter.setup(c_event.list)
end
end
XP - Code:
-
module Rei
def self.call_ce
interpreter = $game_system.map_interpreter
c_event = $data_common_events[Id]
interpreter.child_interpreter = Interpreter.new(interpreter.depth + 1)
interpreter.child_interpreter.setup(c_event.list,0)
end
end
Semoga bermanfaat
:reijubv: