• Anmelden

1

Samstag, 18. September 2010, 09:35

Simple Questlog 1.2

Hallo,

ich habe mir den Simple QuestLog 1.2 besorgt. Nur muss man jetzt den immer über Events oder so aufrufen. Der Code dazu lautet:
$scene = Scene_Questlog.new

Kann man nicht einen anderen Skript bauen/den Skript umschreiben, dass man auch über das Menü auf den Questlog kommt?


Hier nochmal der Link: http://www.rpg-studio.de/scriptdb/de/Simple-Questlog.html

Seyo

2

Samstag, 18. September 2010, 09:42

^^ Ja, ist möglich. Auch über eben genau diesen Befehl. Wenn du das Questlog im Menü haben willst, musst du es nur um einen Punkt erweitern und entsprechend den Aufruf einbauen.
Brauchst du dabei Hilfe? Hast du das normale VX-Menü, oder ein anders? Und an welcher Stelle genau soll das Questlog auf zu rufen sein?
Bild Frohe Weihnachten und einen guten Rutsch ins neue Jahr!

MV Ressourcen | Homepage

3

Samstag, 18. September 2010, 11:06

Also. Am besten gebe ich einen Screenshot vom Menü. (Ist im Anhang) Dort soll ungefähr der Button sein.
Und ja, ich brauche Hilfe :)
»Seyo« hat folgendes Bild angehängt:
  • Unbenannt.jpg

4

Samstag, 18. September 2010, 11:10

Warum soll es so abgespalten sein? Soll man es nicht normal beim durch klicken mit auswählen können? Also in die Liste mit rein?
Bild Frohe Weihnachten und einen guten Rutsch ins neue Jahr!

MV Ressourcen | Homepage

5

Samstag, 18. September 2010, 11:13

Ja, das geht auch. Nur so finde ich es geschmackvoller. Aber es kann auch in der Liste sein.

Irrlicht

Leuchtendes Irgendwas

Motto: Keep shining!

  • Nachricht senden

6

Samstag, 18. September 2010, 13:49

Ich hab das Auswahlfenster des Menüs durch eine etwas erweiterte Version ersetzt (hoffe ich hab mich dabei nicht zu sehr verzettelt):

Spoiler: Menüauswahl

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
class Window_MenueCommand < Window_Command
 
  def initialize(width, commands, column_max = 1, row_max = 0, spacing = 32)
    @last_command = commands.size > 1 ? commands.pop : nil
    @last_command_window = Window_Base.new(0, 416 - 64 - 2 * WLH, width, 32 + WLH)
    @last_command_window.create_contents
    super(width, commands, column_max, row_max, spacing)
    @commands.push(@last_command) if @last_command != nil
  end
 
  def refresh
    super
    draw_item(@commands.size)
  end  
 
  #-------------------------------------------------------------------------
  # draw_item : if index is equal to command_size (1 higher than highest 
  #  command-window-index) the last-command-window-command will be drawn.
  #-------------------------------------------------------------------------
  def draw_item(index, enabled = true)
    if index == @item_max
      return if @last_command == nil
      @last_command_window.contents.clear
      @last_command_window.contents.font.color = normal_color
      @last_command_window.contents.font.color.alpha = enabled ? 255 : 128
      @last_command_window.contents.draw_text(4, 0, self.width - 32 - 8, WLH, @last_command, 0)      
    else
      super(index, enabled)
    end
  end  
 
  #-------------------------------------------------------------------------
  # update / dispose : now also updates/disposes the last-command-window
  #-------------------------------------------------------------------------
  def update
    super
    @last_command_window.update if @index == @item_max
  end
 
  def dispose
    @last_command_window.dispose
    super
  end  
 
  #--------------------------------------------------------------------------
  # * Move cursor down
  #     wrap : Wraparound allowed
  #--------------------------------------------------------------------------
  def cursor_down(wrap = false)
    if (@index < @item_max - @column_max)
      @index = @index + @column_max
    elsif (@index < @item_max and @last_command != nil)
      @index = @item_max
    elsif wrap and @column_max == 1
      @index = 0
    end
  end
  #--------------------------------------------------------------------------
  # * Move cursor up
  #     wrap : Wraparound allowed
  #--------------------------------------------------------------------------
  def cursor_up(wrap = false)
    if @index > @column_max - 1
      @index -= @column_max
    elsif wrap and @last_command != nil
      @index = @item_max 
    end
  end
 
  #--------------------------------------------------------------------------
  # update cursor : now switches between the command-window and the 
  #  last-command-window
  #--------------------------------------------------------------------------
  def update_cursor
    if @index != @item_max
      @last_command_window.cursor_rect.empty
      super
    else
      self.cursor_rect.empty
      @last_command_window.cursor_rect = Rect.new(0,0, self.width - 32, WLH)
    end
  end  
 
end  
 
class Scene_Menu < Scene_Base
 
  #--------------------------------------------------------------------------
  # Add "Scene_Questlog" to command_selection
  #--------------------------------------------------------------------------
  alias_method(:update_command_selection_IL_changes_wclcw, :update_command_selection) unless method_defined?(:update_command_selection_IL_changes_wclcw)
  def update_command_selection
    update_command_selection_IL_changes_wclcw
    if Input.trigger?(Input::C) and @command_window.index == 7
      $scene = Scene_Questlog.new
    end
  end
 
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    s7 = "Level up Punkte"
    s8 = "Questlog"
    @command_window = Window_MenueCommand.new(160, [s1, s2, s3, s4, s5, s6, s7, s8])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(4, false)     # Disable save
    end
  end
 
end  
zum Lesen den Text mit der Maus markieren


Füge das mal als neues Script über Main ein.
Wenn du die Auswahlpunkte des Menüs bereits geändert hast musst du sie hier nochmal ersetzen (siehe Ende des Scripts).

ED: Das Script wurde um 14:20 editiert, da ich vergessen hatte den Aufruf des Questlogs richtig einzufügen...

Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von »Irrlicht« (18. September 2010, 16:34)


7

Samstag, 18. September 2010, 14:18

Jetzt wird es zwar angezeigt, aber es passiert nichts wenn ich auf Questlog klicke.

Edit: Ok
Edit2: Nur wird der Log automatisch geöffnet :) Also, man muss nicht Enter drücken. Sorry, falls ich bisschen nerve.

Irrlicht

Leuchtendes Irgendwas

Motto: Keep shining!

  • Nachricht senden

8

Samstag, 18. September 2010, 14:21

Edit: ich hatte natürlich auf die Schnelle vergessen zu testen^^

Wenn sich das Questlog sofort öffnen sollte wenn du mit dem Cursor darauf gehst kopier dir das Script jetzt nochmal^^

9

Samstag, 18. September 2010, 14:22

Immer einen Schritt voraus bist du :)

Irrlicht

Leuchtendes Irgendwas

Motto: Keep shining!

  • Nachricht senden

10

Samstag, 18. September 2010, 14:27

Letzte Anmerkung fürs erste:
Wenn du möchtest dass der Cursor beim Schließen des Questlogs auch wieder auf den Punkt "Questlog" zurückspringt müsstest du in Zeile 140 des Questlogscripts

$scene = Scene_Menu.new
durch
$scene = Scene_Menu.new(7)

ersetzen.
(So, hoffe das wars jetzt aber^^)

11

Samstag, 18. September 2010, 14:38

Ja, danke.

Ähnliche Themen

Social Bookmarks