• Anmelden

Mitsch93

Drachentöter

  • »Mitsch93« ist der Autor dieses Themas

Motto: Aufgeben ist es, was den Menschen tötet. Nur der Mensch, der sich weigert aufzugeben, hat sich das Recht verdient, auf dem glanzvollen Pfad der Menschheit zu wandeln.

  • Nachricht senden

1

Sonntag, 18. September 2011, 20:28

Verknüpfen von zwei Fensterklassen

Edit
Warum schwer, wenn es auch leicht geht:
Ich habe mein ursprüngliches Problem gefunden, weshalb ich das Menü
wechseln wollte: Zwei Fensterklassen, genauer gesagt "Help"- Windows.

Wie gesagt, werden die Slots von Enhanced Waffen im
Infofenster (Help- Window) nicht angezeigt.
Eigenlich wird das im Equipment Upgrade System geregelt,
allerdings nur für das Standartmenü.
Im Equipment Upgrade System gibt es einen Unterpunkt Window_EnhanceSlots_Help,
in dem geregelt wird, dass im Help-Fenster auch die Slots der Waffen und Rüstungen angezeigt werden.

Kann jemand diese Fensterklasse mit den HelpFensterklassen aus dem CMS verknüpfen,
sodass die Slots auch angezeigt werden (Im Item- und Ausrüstungsmenü)?

Links:
Equipment Upgrade System: KLICK MICH
Quelltext meines CMS ist bereits leicht
verändert, deshalb bitte den Quellcode
aus dem Anhang benutzen.

MfG
Mitsch93
»Mitsch93« hat folgende Datei angehängt:
  • CMS Mitsch93.txt (125,14 kB - 2 mal heruntergeladen - zuletzt: 19. September 2011, 21:26)

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Mitsch93« (19. September 2011, 18:57)


Kagurame

Alopex Lagopus

Motto: Ich Böse, Du Teufel

  • Nachricht senden

2

Montag, 19. September 2011, 14:16

Kannst du bitte das durchgestrichene wieder lesbar machen oder kurz neu formulieren? Ich kann es so leider nicht lesen und weis daher nicht, was dein Problem im Moment ist.
Wenn du den text lesbar / verständlich machst, schau ich mal drüber, ob ich was damit anfangen kann.
Bild

  • Hallo

    Tabs klicken unso, ne?
  • Lyric

    Meine schwarze Liste, beginnt mit einem Satz:
    "Wer zuletzt lacht, lacht am besten!", und am Ende ist noch Platz.
    Auf der Liste meiner Feinde, ist auch für euch noch Platz
    Wer zuletzt lacht, lacht am besten!
    Merkt euch diesen Satz!

    Ode an die Feindschaft von Saltatio Mortis

  • Outtakes

    • Nummer 3
      20.09.2012 - 19:46
      "Yah, ich bin ihre Motivazin." "Motivazin - gibts das jetzt in der Apotheke rezeptflichtig?"
    • Ich mag Kekse
    • Nummer 2
      08.09.2012 - 01:29 Uhr
      "Die Erlebnismacher zu Hannovre - Exlibre - ääääh... Excalibur"

      *Lachflash*
    • Nummer 1
      07.09.2012 - 22:58 Uhr
      *Bööarps* - Die Erlebnismacher zu Hannovre - Excalibur... "Mahlzeit... also... doch nicht Mahlzeit... war nur die Website"
      "Ich hab gerülpst -.-" "Du hast was?" *LACHFLASH*
      "Nicht dein Ernst, oder?" "DOCH!" *LACHFLASH second tour*
  • Profile

    Bild
  • Ich

    Dass bin ich:

    Maker: RPG-XP, RPG-VX
    Story:
    Für andere mehr als für mich: 60%

    Grafik:
    Ich werde besser: 35%

    Pixeln:
    Ich stehe an den Anfängen: 7%

    Mapping:
    Es fehlen nur noch (alle) Feinheiten: 67%

    Scripting:
    Informatiker, mittlerweile auch andere Sachen am skripten: 93%
  • Neues aus der SB

    Neues aus der SB:

    Spoiler: Die Camper
    (03:41:36) Kagurame: n8 du
    (03:41:37) Irrlicht: Nacht Mozilla
    (03:41:47) MozillaBabybird: Kagu: der witz war flach
    (03:42:01) Kagurame: welcher witz?
    (03:42:14) Heatra: geh nicht benji
    (03:42:21) Heatra: spiel lieber ats2 :D
    (03:42:25) MozillaBabybird: nacht leute ^^ ijemand sollte diesen verlauf im studio bash posten, damit die mal wissen wer die echten camper hier sind :D
    (03:42:35) Kagurame: ich bin scripten
    (03:42:38) MozillaBabybird: Heat: tut mir sorry xD
    (03:42:40) Kagurame: ich mach das...^^
    (03:42:48) MozillaBabybird: bis .... mittag ?
    (03:42:49) Heatra: ^^
    (03:42:55) MozillaBabybird: ja mittag dürfte passen
    (03:42:56) MozillaBabybird: :D
    (03:42:57) Kagurame: ^^
    (03:43:02) Heatra: ich steh morgen eh erst um 5 uhr mittags auf
    (03:43:07) Kagurame: bis heute
    (03:43:11) Steve: MozillaBabybird verlässt den Chat.
    (03:43:15) Kagurame: ich so um 3
    zum Lesen den Text mit der Maus markieren


    Spoiler: Die Informatiker vom Dienst
    (03:05:32) Ankou: bist du dir SICHER, dass es die Performance an der Stelle kritisch ist und c.a. 30% sind KEIN großer Unterschied?
    (03:05:41) Ankou: oh
    (03:05:45) Ankou: okay
    (03:06:21) Asandril: Oh Ha was habt Ihr gerade für ein Thema?
    (03:06:41) Ankou: das ist in der Tat eine performancekritische angelegenheit, aber ich denke dennoch nicht, dass das die Dinge sind auf die du dein Hauptaugenmerk richten solltest.
    (03:07:01) Heatra: maschine
    (03:07:01) Ankou: derartige Mikrooptimierungen werden Performanceprobleme sogut wie niemals beseitigen können
    (03:07:01) Irrlicht: anhand der Tatsache dass es 20 000 000 Durchläufe waren nicht wirklich :-/
    (03:07:08) Ankou: änder was konzeptionelles oder lass es bleiben.
    (03:07:31) Ankou: evtl. kannst du mehr der Interpretation nach vorne verlagern
    (03:08:06) Ankou: aber solche Dinge zu versuchen wie die case Abfragen durch send zu ersetzen in der Hoffnung ein paar Prozent einzusparen bringens dir nicht
    (03:08:26) Asandril: Bin ich gerade hier in einem Kurs gelandet ..
    (03:08:36) Irrlicht: hatte mal in Erwägung gezogen die Befehle evtl. schonmal etwas "vorzuinterpretieren", aber das dürfte dann mehr Speicher verbrauchen als es Geschwindigkeit bringt...
    (03:09:11) Ankou: Asandril: ja, erstaunlich, angetrunken an Silvester über so etwas zu reden
    (03:09:28) Heatra: -> lampenfieber
    (03:09:40) Asandril: Kann ich nur beipflichten.
    (03:09:46) Irrlicht: atm bin ich mir nicht sicher was genau den doch vergleichsweise erheblichen Lag von Parallel-Process-Events verursacht (oder ob es einfach an der gesammten Masse liegt) wenn ich bei 2 000 000 solcher Durchläufe unter einer Sek. bleibe...
    (03:09:57) Ankou: Irrlicht: das ist durchaus üblich. Speicher gegen Geschwindigkeit einzustauschen ist sehr populär und bringt oft viel
    (03:11:23) Irrlicht: mal schaun :)
    zum Lesen den Text mit der Maus markieren


    Spoiler: Auch noch später^^
    (03:32:35) (Kagurame_AnkündigungImForumMach): es da ne methode wie beim xp?
    (03:32:48) Irrlicht: Cache.system("Iconset")
    bekommst das Iconset
    (03:32:50) (Kagurame_AnkündigungImForumMach): brauche es dringend, aber nix gefunden bisher
    (03:33:01) (Kagurame_AnkündigungImForumMach): und dann per id?
    (03:33:06) (Kagurame_AnkündigungImForumMach): drauf zugreifen?
    (03:33:07) Irrlicht: Index berechnet sich einfach aus
    x = index % 16
    y = index / 16
    (03:33:17) Irrlicht: afaik warens 16 nebeneinander^^
    (03:33:28) (Kagurame_AnkündigungImForumMach): ok, danke.
    (03:33:51) (Kagurame_AnkündigungImForumMach): ich glaub ich scripte dann noch ein bissl
    (03:34:01) Steve: (Kagurame_AnkündigungImForumMach​) heißt jetzt Kagurame.
    (03:34:04) Irrlicht: im XP hast die einzelnen Icons anhand des Namens aus dem Icon-Ordner aufgerufen
    (03:34:09) Steve: Kagurame ist nun Scripten!
    (03:34:17) Irrlicht: (geht natürlich im VX auch, aber wozu gibts das Iconset)
    (03:34:23) Kagurame: ja ich weis, daher war ich heut mittag verwirrt
    zum Lesen den Text mit der Maus markieren

Mitsch93

Drachentöter

  • »Mitsch93« ist der Autor dieses Themas

Motto: Aufgeben ist es, was den Menschen tötet. Nur der Mensch, der sich weigert aufzugeben, hat sich das Recht verdient, auf dem glanzvollen Pfad der Menschheit zu wandeln.

  • Nachricht senden

Irrlicht

Leuchtendes Irgendwas

Motto: Keep shining!

  • Nachricht senden

4

Montag, 19. September 2011, 21:26

Könntest du den CMS-Quelltext evtl. neu hochladen? In dem jetzigen fehlen diverse Zeichen (u.A. offenbar sämtliche >, :, ?)

Mitsch93

Drachentöter

  • »Mitsch93« ist der Autor dieses Themas

Motto: Aufgeben ist es, was den Menschen tötet. Nur der Mensch, der sich weigert aufzugeben, hat sich das Recht verdient, auf dem glanzvollen Pfad der Menschheit zu wandeln.

  • Nachricht senden

5

Montag, 19. September 2011, 21:34

Habe es jetzt nochmal neu kopiert, müsste alles dabei sein.
»Mitsch93« hat folgende Datei angehängt:
  • CMS2 Mitsch93.txt (126,15 kB - 1 mal heruntergeladen - zuletzt: 19. September 2011, 21:41)

Irrlicht

Leuchtendes Irgendwas

Motto: Keep shining!

  • Nachricht senden

6

Mittwoch, 21. September 2011, 14:20

Ich hab mal auf die Schnelle versucht das Slot-Fenster zu integrieren, allerdings dürfte das Slotfenster bei 5 Slots ca. 40% des Hilfefensters beanspruchen.
Außerdem sollte der Scollbug im Ausrüstungsmenü behoben sein. (Das Script sollte unterhalb des CMS eingefügt werden)
Spoiler

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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
#==============================================================================
# ** Window_NewHelp  -> Besitzt nun ein Slotfenster zum Anzeigen von Item-Slots:
#==============================================================================
class Window_NewHelp < Window_Base
 
  #--------------------------------------------------------------------------
  # * Objekt-Initialisierung
  #--------------------------------------------------------------------------
  unless private_method_defined?(:initialize_ILC_extended_One_Scene_CMS_by_LegACy)
    alias_method(:initialize_ILC_extended_One_Scene_CMS_by_LegACy, :initialize)
  end
  def initialize(*args)
    # Slot-Fenster
    @slot_window = Window_EnhanceSlots_Help.new
    # vermutete Anzahl der angezeigten Slots
    @slots_shown = 0
    initialize_ILC_extended_One_Scene_CMS_by_LegACy(*args)
  end
 
  #--------------------------------------------------------------------------
  # * Slot-Fenster-Item setzen
  #--------------------------------------------------------------------------
  def slot_item=(item)
    # Aktualisieren:
    unless @slot_window.weapon == item
      # Bestimme die vermutete, neue Slot-Zahl (-> x-Position des Slotfensters)
      case item
      when RPG::Weapon, RPG::Armor
        if item.is_a?(Enhanced_Weapon) or item.is_a?(Enhanced_Armor)
          @slots_shown = item.slots
        elsif item.element_set.include?($five_slots_element_id)
          @slots_shown = 5
        elsif item.element_set.include?($four_slots_element_id)
          @slots_shown = 4
        elsif item.element_set.include?($three_slots_element_id)
          @slots_shown = 3
        elsif item.element_set.include?($two_slots_element_id)
          @slots_shown = 2
        elsif item.element_set.include?($one_slot_element_id)
          @slots_shown = 1
        else
          @slots_shown = 0
        end
      else
        @slots_shown = 0
      end
      # aktualisiere Slotfenster
      @slot_window.weapon = item
      @slot_window.refresh
      # korrigiere x-Position
      reset_slot_window_x
    end
  end
 
  #--------------------------------------------------------------------------
  # * Dispose
  #--------------------------------------------------------------------------
  unless method_defined?(:dispose_ILC_extended_One_Scene_CMS_by_LegACy)
    alias_method(:dispose_ILC_extended_One_Scene_CMS_by_LegACy, :dispose)
  end
  def dispose(*args)
    dispose_ILC_extended_One_Scene_CMS_by_LegACy(*args)
    @slot_window.dispose
  end
 
  #--------------------------------------------------------------------------
  # * Setze x - Koordinate / Breite
  #--------------------------------------------------------------------------
  unless method_defined?(:xSET_ILC_extended_One_Scene_CMS_by_LegACy)
    alias_method(:xSET_ILC_extended_One_Scene_CMS_by_LegACy, :x=)
  end
  def x=(*args)
    xSET_ILC_extended_One_Scene_CMS_by_LegACy(*args)
    reset_slot_window_x
  end
 
  unless method_defined?(:widthSET_ILC_extended_One_Scene_CMS_by_LegACy)
    alias_method(:widthSET_ILC_extended_One_Scene_CMS_by_LegACy, :width=)
  end
  def width=(*args)
    widthSET_ILC_extended_One_Scene_CMS_by_LegACy(*args)
    reset_slot_window_x
  end
 
  # * Aktualisiere x - Koordinate des Slot-Fensters
  def reset_slot_window_x
    @slot_window.x = self.x + self.width - (@slots_shown + 1) * 32 + 10
  end
 
  #--------------------------------------------------------------------------
  # * Setze y - Koordinate
  #--------------------------------------------------------------------------
  unless method_defined?(:ySET_ILC_extended_One_Scene_CMS_by_LegACy)
    alias_method(:ySET_ILC_extended_One_Scene_CMS_by_LegACy, :y=)
  end
  def y=(*args)
    ySET_ILC_extended_One_Scene_CMS_by_LegACy(*args)
    @slot_window.y = self.y - 6
  end
 
  #--------------------------------------------------------------------------
  # * Setze z - Koordinate
  #--------------------------------------------------------------------------
  unless method_defined?(:zSET_ILC_extended_One_Scene_CMS_by_LegACy)
    alias_method(:zSET_ILC_extended_One_Scene_CMS_by_LegACy, :z=)
  end
  def z=(*args)
    zSET_ILC_extended_One_Scene_CMS_by_LegACy(*args)
    @slot_window.z = self.z
  end
 
  #--------------------------------------------------------------------------
  # * Bestimme Sichtbarkeit
  #--------------------------------------------------------------------------
  unless method_defined?(:visibleSET_ILC_extended_One_Scene_CMS_by_LegACy)
    alias_method(:visibleSET_ILC_extended_One_Scene_CMS_by_LegACy, :visible=)
  end
  def visible=(*args)
    visibleSET_ILC_extended_One_Scene_CMS_by_LegACy(*args)
    reset_slot_window_visibility
  end  
 
  # * Setze Sichtbarkeit des Slot-Fensters  
  def show_slot_window=(verity)
    @show_slot_window = verity
    reset_slot_window_visibility
  end
 
  # * Aktualisiere Sichtbarkeit des Slot-Fensters  
  def reset_slot_window_visibility
    @slot_window.visible = (self.visible and @show_slot_window)
  end
end
 
 
#==============================================================================
# ** Window_NewItem  -> Aktualisiert nun das Item im Slot-Fenster
#==============================================================================
class Window_NewItem < Window_Selectable
 
  #--------------------------------------------------------------------------
  # * Text des Hilfefensters aktualisieren
  #--------------------------------------------------------------------------
  unless method_defined?(:update_help_ILC_extended_One_Scene_CMS_by_LegACy)
    alias_method(:update_help_ILC_extended_One_Scene_CMS_by_LegACy, :update_help)
  end
  def update_help
    update_help_ILC_extended_One_Scene_CMS_by_LegACy
    @help_window.slot_item = self.item
  end
end
 
 
#==============================================================================
# ** Window_NewEquipment  -> Aktualisiert nun das Item im Slot-Fenster
#    -> Die Bestimmung der obersten und untersten angezeigten Zeile wurde der
#       Zeilenhöhe von 24 angepasst um einen Scrollbug zu umgehen.
#==============================================================================
class Window_Equipment < Window_Selectable
 
  #--------------------------------------------------------------------------
  # * korrigierte oberste Zeile bestimmen (Scrollbug)
  #--------------------------------------------------------------------------
  def top_row
    return self.oy / 24
  end
  #--------------------------------------------------------------------------
  # * korrigierte unterste angezeigte Zeile bestimmen (Scrollbug)
  #--------------------------------------------------------------------------
  def page_row_max
    return (self.height - 32) / 24
  end
 
  #--------------------------------------------------------------------------
  # * Text des Hilfefensters aktualisieren
  #--------------------------------------------------------------------------
  unless method_defined?(:update_help_ILC_extended_One_Scene_CMS_by_LegACy)
    alias_method(:update_help_ILC_extended_One_Scene_CMS_by_LegACy, :update_help)
  end
  def update_help
    update_help_ILC_extended_One_Scene_CMS_by_LegACy
    @help_window.slot_item = self.item
  end
end
 
#==============================================================================
# ** Window_EquipmentItem  -> Aktualisiert nun das Item im Slot-Fenster
#    -> Die Item-Auswahl wurde um die "verbesserten" Items erweitert
#       (C&P aus dem "Enhanced Equipment"-Script)
#==============================================================================
class Window_EquipmentItem < Window_Selectable
 
  #--------------------------------------------------------------------------
  # * Text des Hilfefensters aktualisieren
  #--------------------------------------------------------------------------
  unless method_defined?(:update_help_ILC_extended_One_Scene_CMS_by_LegACy)
    alias_method(:update_help_ILC_extended_One_Scene_CMS_by_LegACy, :update_help)
  end
  def update_help
    update_help_ILC_extended_One_Scene_CMS_by_LegACy
    @help_window.slot_item = self.item
  end
 
  #--------------------------------------------------------------------------
  # * Neuzeichnen
  #--------------------------------------------------------------------------
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    # Add equippable weapons
    if @equip_type == 0
      weapon_set = $data_classes[@actor.class_id].weapon_set
      for i in 1 ... $data_weapons.size
        if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
          @data.push($data_weapons[i])
        end
        # Charlie: add new weapons which cannot be part of the weapon set
        if i > $game_party.max_database_weapon_id
          if $game_party.weapon_number(i) > 0 and weapon_set.include?($data_weapons[i].ref_id)
            @data.push($data_weapons[i])
          end
        end
      end
    end
    # Add equippable armor
    if @equip_type != 0
      armor_set = $data_classes[@actor.class_id].armor_set
      for i in 1 ... $data_armors.size
        if $game_party.armor_number(i) > 0 and armor_set.include?(i)
          if $data_armors[i].kind == @equip_type - 1
            @data.push($data_armors[i])
          end
        end
        # Charlie: add new armors which cannot be part of the armor set
        if i > $game_party.max_database_armor_id
          if $game_party.armor_number(i) > 0 and armor_set.include?($data_armors[i].ref_id)
            if $data_armors[i].kind == @equip_type - 1
              @data.push($data_armors[i])
            end
          end
        end
      end
    end
    # Add blank page
    @data.push(nil)
    # Make a bitmap and draw all items
    @item_max = @data.size
    self.contents = Bitmap.new(width - 32, row_max * 32)      
    self.contents.draw_text(4, 0, 204, 32, 'Ablegen', 1)
    for i in 0...@item_max - 1
      draw_item(i)
    end
  end
end
 
 
#==============================================================================
# ** Scene_Menu  -> Scrolling über  L/R  aktualisiert nun den Actor um einen
#                   Bug in Verbindung mit dem Ausrüstungsmenü zu umgehen
#    -> die Sichtbarkeit des Slotfensters wird geregelt
#==============================================================================
class Scene_Menu
 
  #--------------------------------------------------------------------------
  # * Scroll-Update (Actorwechsel über L / R)
  #--------------------------------------------------------------------------
  unless method_defined?(:update_scroll_ILC_extended_One_Scene_CMS_by_LegACy)
    alias_method(:update_scroll_ILC_extended_One_Scene_CMS_by_LegACy, :update_scroll)
  end
  def update_scroll
    update_scroll_ILC_extended_One_Scene_CMS_by_LegACy
    # aktualisiere den aktuellen Actor:
    if Input.trigger?(Input::L) or Input.trigger?(Input::R)
      @actor = $game_party.actors[@status_window.index]
    end
  end
 
  #--------------------------------------------------------------------------
  # * Frame Update (when command window is active)
  #--------------------------------------------------------------------------
  unless method_defined?(:update_command_ILC_extended_One_Scene_CMS_by_LegACy)
    alias_method(:update_command_ILC_extended_One_Scene_CMS_by_LegACy, :update_command)
  end
  def update_command
    update_command_ILC_extended_One_Scene_CMS_by_LegACy
    if Input.trigger?(Input::C)
      # Zeige Slots wenn Items (Index = 0) oder Equip (Index = 2) ausgewählt
      show_slots = (@command_window.index == 0 or @command_window.index == 2)
      @help_window.show_slot_window = show_slots
    end
  end  
end
zum Lesen den Text mit der Maus markieren

Mitsch93

Drachentöter

  • »Mitsch93« ist der Autor dieses Themas

Motto: Aufgeben ist es, was den Menschen tötet. Nur der Mensch, der sich weigert aufzugeben, hat sich das Recht verdient, auf dem glanzvollen Pfad der Menschheit zu wandeln.

  • Nachricht senden

7

Donnerstag, 22. September 2011, 17:12

Hey, erstmal danke, es funktioniert.

Wegen dem Platz:
Kann man das Menü so editieren, dass z.B. Ausrüstungs-/Item- und Statusbildschirme eine Scene.new
werden? Dann wäre mehr Platz für das HelFenster und somit auch für Itembeschreibungen, dann wäre
nicht alles so gequetscht. Vorallem beim Ausrüstungs- bzw. Statusfenster ist das schlimm, wenn da
längere Waffen/Rüstungsnamen angezeigt werden.

Aktualisierung der Itembeschreibung:
Mit den Slots werden ja die Stats der Items erhöht.
Im Projekt stehen bei mir die Beschreibungen der Items wie folgt:
z.B.
ATK: 21 (+1 BEW, +2 GES Haupthand)
Wenn man jetzt per Slots Attribute erhöht, sollte man das, wenn möglich, auch in
der Itembeschreibung sehen können.
Da bietet sich ja vielleicht ein Skript an, sodass ich in der Database
z.B. \w[x].atk in der Beschreibung eingeben brauche, und die aktuelle
ATK der Waffe wird angezeigt.
Könnte man sowas machen für Waffen und Rüstungen?

Edit
Noch was dringliches:
Beim Aufrufen des Shop- Fensters kommt es zu einem Error:
Script 'Window EnhanceSlots_Help" line 201: No Method Error occured.
undefined method 'item' for nil:NilClass


Der Shopskript ist im Anhang.
»Mitsch93« hat folgende Datei angehängt:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Mitsch93« (22. September 2011, 17:12)


Irrlicht

Leuchtendes Irgendwas

Motto: Keep shining!

  • Nachricht senden

8

Sonntag, 25. September 2011, 20:55

Huhu,

Zum Edit:
Das Problem liegt daran dass das Fenster, aus welchem das Slotfenster seine Informationen beziehen will im neuen Shopsystem gar nicht existiert.

Die einfachste Möglichkeit das Problem zu beheben wäre in diesem Fall das "Shopsystem"-Script unterhalb des "Window EnhanceSlots_Help"-Scripts einzufügen, allerdings hätte das zur Folge dass das Slotfenster im Shopsystem nicht verwendet wird.

Eine andere Möglichkeit:
Ändere in Zeile 201 des "Window EnhanceSlots_Help"-Scripts (die Zeile in der der Fehler auftrat) alle 4 @buy_window in @list_window ab. Danach sollte das Slotfenster zumindest schonmal funktionieren.

Das Slotfenster lässt sich mit der Z bzw. Shift - Taste unsichtbar schalten, im Shopsystem wird der Taste bereits eine weitere Funktion zugewiesen.
Auch wenn sich die beiden Funktionen gegenseitig nicht beeinträchtigen wäre es in dem Fall ggf. ratsam die Taste umzulegen: das kannst du in Zeile 204, indem du das Input::A durch eine andere Taste ersetzt oder die Zeile zusammen mit den zwei folgenden auskommentierst (um die Funktion für das Slotfenster zu deaktivieren).

Um die Position des Slotfensters an die des Infofensters azupassen könnte nach Zeile 190 eine weitere Zeile eingefügt werden:
@enhance_slots_help_window.y += 288

Zur Beschreibung:
Spoiler

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
module RPG
 
  # Waffen:
  class Weapon
 
    def original_description # Unveränderte Beschreibung
      return @description
    end
 
    def description          # Umgesetzte Beschreibung
      return @description.gsub(/\\(?:(atk|pdef|mdef)|(str|dex|agi|int))/i){
        send($1.nil? ? ($2.downcase + "_plus").to_sym : $1.downcase.to_sym).to_s }
    end
  end
 
  # Rüstungen:
  class Armor
 
    def original_description # Unveränderte Beschreibung
      return @description
    end
 
    def description          # Umgesetzte Beschreibung
      return @description.gsub(/\\(?:(eva|pdef|mdef)|(str|dex|agi|int))/i){
        send($1.nil? ? ($2.downcase + "_plus").to_sym : $1.downcase.to_sym).to_s }
    end
  end
end
 
# Modifizierte Waffen:
class Enhanced_Weapon < RPG::Weapon
 
  unless private_method_defined?(:initialize_ILC_gain_original_description)
    alias_method(:initialize_ILC_gain_original_description, :initialize)
  end
  def initialize(*args)
    initialize_ILC_gain_original_description(*args)
    @description = $data_weapons[@ref_id].original_description
  end
end
 
# Modifizierte Rüstungen:
class Enhanced_Armor < RPG::Armor
 
  unless private_method_defined?(:initialize_ILC_gain_original_description)
    alias_method(:initialize_ILC_gain_original_description, :initialize)
  end
  def initialize(*args)
    initialize_ILC_gain_original_description(*args)
    @description = $data_armors[@ref_id].original_description
  end
end
zum Lesen den Text mit der Maus markieren

Anschließend kannst du in der Beschreibung einer Waffe bzw. Rüstung \wert eingeben um an der entsprechenden Stelle den Bonus für den entsprechenden Wertes (ATK, PDEF, MDEF, EVA, STR, DEX; AGI, INT) anzeigen zu lassen. Allerdings funktioniert das Ganze bisher nur für die Waffe/Rüstung zu der die Beschreibung gehört (Hoffe hatte dich hier nicht missverstanden. Oder wolltest du in der Beschreibung auf jede beliebige Waffe/Rüstung zugreifen?)

Zum ersten Punkt:
Du kannst ohne weiteres auch eine neue Scene aufrufen wenn ein Menüpunkt ausgewählt wurde, in dem Fall könntest ab Zeile 2103? 9 Zeilen auskommentieren:
Spoiler: diese

Ruby Quellcode

1
2
3
4
5
6
7
8
9
          @equip_window.active = true
          @equip_window.index = 0
          @equip_window.update_actor(@actor)
#---------------------------------------------------------------------# GEÄNDERT
          @equipitem_window.update_actor(@actor)
          @equipstat_window.update_actor(@actor)
#-------------------------------------------------------------------------------
          @help_window.active = true
          @status_window.active = false
zum Lesen den Text mit der Maus markieren

...und durch $scene = Scene_Equip.new(@status_window.index) ersetzen um das normale Ausrüstungsmenü aufzurufen. Da gerade beim Ausrüstungs- und Statusmenü noch Platz nach außen bleibt könnte man u.U. dort z.B. auch die Fenster etwas verbreitern.

Btw: Ich hatte noch ein mittlerweile leicht verstaubtes, zu meiner Schande aber immernoch sehr unfertiges Projekt gefunden, bei dem sich nun die Frage nach Aktualität des Problems stellen würde (falls du dich an den dazugehörigen Beitrag erinnern solltest :D):
»Irrlicht« hat folgendes Bild angehängt:
  • CMS2.jpg

Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »Irrlicht« (25. September 2011, 21:50)


Mitsch93

Drachentöter

  • »Mitsch93« ist der Autor dieses Themas

Motto: Aufgeben ist es, was den Menschen tötet. Nur der Mensch, der sich weigert aufzugeben, hat sich das Recht verdient, auf dem glanzvollen Pfad der Menschheit zu wandeln.

  • Nachricht senden

9

Dienstag, 27. September 2011, 20:24

Hey,

erstmal ein fettes fettes DANKE :D
Du bist echt mein Retter :D
Funzt auch alles wunderbar ohne Komplikationen.

Zu der Fenstergröße des CMS:
Gegen die Darstellung des CMS ist nichts einzuwenden.
Allerdings ist dadurch, dass alle Fenster auf einmal sozusagen auf
einem 640x480 px Bild sind, der Platz ja sehr beschränkt und ich verwende
des öfteren auch mal längere Itemnamen- und Beschreibungen, was dazu führt,
dass der Text abgehakt oder sehr sehr eingequetscht angezeigt wird.
Also ist eigentlich nur ein Schöhnheitsfehler des Menüs.

Ich hatte auch schon einen neuen Thread deswegen aufgemacht, in dem
ich das nocheinmal detailierten erkläre.

PS:
Funktioniert das alles mit den Rüstungsklassen bzw. glaubst
du dass es trotz den Neuerungen funktioniert?
Sonst würde ich das mit ins Projekt aufnehmen.

Irrlicht

Leuchtendes Irgendwas

Motto: Keep shining!

  • Nachricht senden

10

Dienstag, 27. September 2011, 21:31

Huhu,

Zu den Rüstungen:
Bisher ist das Ganze leider wie gesagt noch sehr unfertig.
Der Screen zeigt auch nicht mehr als einen ersten, teils aus Platzhaltern bestehenden Entwurf. Eine Erweiterung der Ausrüstung ist zwar schon vorhanden, allerdings weder gut getestet noch im Menü umgesetzt. Nachdem ich nun wieder über das Projekt gestolpert bin wäre die Frage daher ob du die zusätzliche Ausrüstung nach wie vor brauchst sodass es sich lohnen würde das Ganze nochmal zu entstauben und fortzusetzen (der ursprüngliche Thread ist ja nun gut 2 Monate alt).

Das generelle "Problem" beim Verschieben der Fenster im CMS ist halt, dass die Position der Fenster an mehreren Stellen mit der erwarteten Position verglichen wird (Das Itemmenü wird z.B. nur aktualisiert wenn das zugehörige Itemfenster genau die X-Position 144 erreicht hat).
Bisher hab ich mich allerdings da noch nicht vollständig durchgewühlt.

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »Irrlicht« (28. September 2011, 11:42)


Mitsch93

Drachentöter

  • »Mitsch93« ist der Autor dieses Themas

Motto: Aufgeben ist es, was den Menschen tötet. Nur der Mensch, der sich weigert aufzugeben, hat sich das Recht verdient, auf dem glanzvollen Pfad der Menschheit zu wandeln.

  • Nachricht senden

11

Mittwoch, 28. September 2011, 14:00

Eigentlich würden mir jetzt ein weiterer Schmuckslot und ein Umhangslot ausreichen.

Und hier hatte ich den Thread mit den Fenstern:
CMS Fenster bearbeiten - Skript-Anfragen - RPG Studio - Make your World real
Hm, meinst du dass das auch weniger umständlich geht als mit Verschieben?

Social Bookmarks