Advertisement
Rajang

[RGSS3] Quest system (easy to custom :) )

Jun 24th, 2014
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.70 KB | None | 0 0
  1. #=============================================================================
  2. #
  3. #          Journal de quêtes          v. 1.0
  4. #          by MHRajang
  5. #
  6. #=============================================================================
  7.  
  8. # Scene journal
  9. class Scene_MHRQuests < Scene_Base
  10.   # Lancement de la scène
  11.   def start
  12.     super
  13.     create_title
  14.     create_commands
  15.     create_window_message
  16.   end
  17.   # Création de la fenêtre de titre
  18.   def create_title
  19.     @title = Window_Help.new(1)
  20.     @title.set_text("         Journal de quêtes")
  21.   end
  22.   # Création de la fenêtre de sélection
  23.   def create_commands
  24.     @window_selection = Window_List.new(0, 48)
  25.     @window_selection.set_handler(:quest1, method(:quest1))
  26.     @window_selection.set_handler(:quest2, method(:quest2))
  27.     @window_selection.set_handler(:quest3, method(:quest3))
  28.     @window_selection.set_handler(:quest4, method(:quest4))
  29.     @window_selection.set_handler(:quest5, method(:quest5))
  30.     @window_selection.set_handler(:quest6, method(:quest6))
  31.     @window_selection.set_handler(:quest7, method(:quest7))
  32.     @window_selection.set_handler(:quest8, method(:quest8))
  33.     @window_selection.set_handler(:quest9, method(:quest9))
  34.     @window_selection.set_handler(:quest10, method(:quest10))
  35.     @window_selection.set_handler(:quest11, method(:quest11))
  36.     @window_selection.set_handler(:quest12, method(:quest12))
  37.     @window_selection.set_handler(:quest13, method(:quest13))
  38.     @window_selection.set_handler(:quest14, method(:quest14))
  39.     @window_selection.set_handler(:quest15, method(:quest15))
  40.     @window_selection.set_handler(:quest16, method(:quest16))
  41.     @window_selection.set_handler(:cancel, method(:return_scene))
  42.   end
  43.  
  44.   def create_window_message
  45.     @message = Window_Base.new(160, 48, 480, 432)
  46.   end
  47.  
  48.   def display_message(text, number)
  49.     @message.draw_text(0, 0, 320, 38, text)
  50.     if number == 0
  51.       message = V[1]
  52.     else message = "To do"
  53.     end
  54.     @message.draw_text(0, 20, 280, 38, message)
  55.     @message.show
  56.   end
  57.  
  58.   def quest1
  59.     display_message("Slimes", 1) # 0=To do 1=Done (How to change in-game ?)
  60.     SceneManager.call(Scene_MHRQuests)         # ALWAYS PUT THIS AFTER DESCRIPTION !!!
  61.   end
  62.   def quest2
  63.     display_message("Orcs", 0)
  64.     SceneManager.call(Scene_MHRQuests)        # ALWAYS PUT THIS AFTER DESCRIPTION !!!
  65.   end
  66.   def quest3
  67.     msgbox_p("this is the quest3 description")
  68.     SceneManager.call(Scene_MHRQuests)
  69.   end
  70.   def quest4
  71.     msgbox_p("quest4 description")
  72.   end
  73.   def quest5
  74.   end
  75.   def quest6
  76.   end
  77.   def quest7
  78.   end
  79.   def quest8
  80.   end
  81.   def quest9
  82.   end
  83.   def quest10
  84.   end
  85.   def quest11
  86.   end
  87.   def quest12
  88.   end
  89.   def quest13
  90.   end
  91.   def quest14
  92.   end
  93.   def quest15
  94.   end
  95.   def quest16
  96.   end
  97.  
  98.   # Attente de la pression du bouton C
  99.   def pre_terminate
  100.     super
  101.     loop do
  102.       Graphics.update
  103.       Input.update
  104.       break if Input.trigger?(:C)
  105.     end
  106.   end
  107. end
  108.  
  109. # Fenêtre de sélection d'arme
  110. class Window_List < Window_Command
  111.   # Création de la liste de selection
  112.   def make_command_list
  113.     add_command("Slimes", :quest1)
  114.     add_command("quest2", :quest2)
  115.     add_command("quest3", :quest3)
  116.     add_command("quest4", :quest4)
  117.     add_command("quest5", :quest5)
  118.     add_command("quest6", :quest6)
  119.     add_command("blabla", :quest7)
  120.     add_command("blabla", :quest8)
  121.     add_command("blabla", :quest9)
  122.     add_command("blabla", :quest10)
  123.     add_command("blabla", :quest11)
  124.     add_command("blabla", :quest12)
  125.     add_command("blabla", :quest13)
  126.     add_command("blabla", :quest14)
  127.     add_command("blabla", :quest15)
  128.     add_command("blabla", :quest16)
  129.     add_command("Stop", :goout)
  130.   end
  131. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement