Dear visitor, welcome to RPG Studio - Make your World real. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.
Zum Text: Funktioniert! :D
Zum Bild: Klappt! :D
Zum PS: Ja, kein Problem, hab ein Worddoku wo genau steht, was für was ist und es fällt mr auch leichter, wenn alles in einzelne Scripts aufgeteilt ist XD
Danke dir! X3
Eine Frage hab ich noch: Wieso kann ich den Cursor im Rezeptmenü noch bewegen, wenn das Help-Window visible ist und im Freien Kochen nicht?
Ich seh den Unterschied nicht :<<- Hatte vergessen, dass das Fenster nicht geupdated werden soll, wenn das Help_Window visible ist XD
Erstmal wieder fertig! XD
Zum Bild: Klappt! :D
Zum PS: Ja, kein Problem, hab ein Worddoku wo genau steht, was für was ist und es fällt mr auch leichter, wenn alles in einzelne Scripts aufgeteilt ist XD
Danke dir! X3
Eine Frage hab ich noch: Wieso kann ich den Cursor im Rezeptmenü noch bewegen, wenn das Help-Window visible ist und im Freien Kochen nicht?
Ich seh den Unterschied nicht :<<- Hatte vergessen, dass das Fenster nicht geupdated werden soll, wenn das Help_Window visible ist XD
Erstmal wieder fertig! XD
Notfalldiscord: Hier klicken
-
Joseys Wuselei
-
Meine Story - Pausiert
Lust auf Abenteuer?
So richtig mit Selbstbestimmung?
Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
"Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
Hier die Antwort:
Hier könnt ihr euren Lieblingschar wählen ;D
Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt. -
Meine Arbeiten
-
Meine Fähigkeiten
Maker:XP
Pixeln:
Mappen:
Eventen:
Scripten:
Komponieren:
-
(Mein) Autismus
Ich bin im autistischen Sprektrum-
sollte ich mich komisch verhalten, oder unhöflich wirken
(oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
ist das nicht beabsichtigt.
Josey. Epicgarantie.
Nehmt das bloß nicht ernst! D: -
Meine Welt
Mein Ehemann Kain!:*
Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
Er verdient einfach einen Platz () in meiner Signatur! XD
-
Mein Support
Der In-Game-Charset-Generator!
Erstelle Random-NPCs mit Charsetteilen!
Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
Bastelt mal Banner! : D
-
Meine beendeten Contests
[Pixelcontest] Rund um den Kürbis
Abstimmung
Siegerehrung
Das Wunder der Berge
Abstimmung
Siegerehrung -
Meine Contests
Ein Schreibcontest in Arbeit! : D
-
-
Joseys Spiele
-
Endless Ending
-
Scripted Desaster
Scripted Desaster
("nicht ganz so ernstes Projekt")
Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.
Das bedeutet doch Spaß... -
Pokémon EV
Pokemon EV
("Zeitvertreib nebenbei - Kreatief-Helfer")
Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
Ist inzwischen alles schonmal dagewesen. XD -
Lost Island
Harvest Moon - Lost Island
(Arbeitstitel, "Eventtechnik-Projekt")
Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
Das Spiel ist ein Harvest Moon Abklatsch. XD
Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
-
-
Joseys Fortschritt
-
Endless Ending
Story: 60%
Charas: 20%
Maps: 01%
Zeichnungen: 05%
Grafiken: 30%
Scripte: 70%
Musik: 00%
...ist nicht viel, huh? ^^° -
Scripted Desaster
Story: 10%
Charas: 60%
Maps: 30%
Zeichnungen: 01%
Grafiken: 60%
Scripte: 70%
Musik: 00%
Gut Ding... -
Pokemon EV
Story: 60%
Charas: 10%
Maps: 00%
Zeichnungen: 00%
Grafiken: 80%
Scripte: 90%
Musik: 70%
Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht... -
Lost Island
Story: 100%
Charas: 10%
Maps: 90%
Zeichnungen: 00%
Grafiken: 60%
Scripte: 90%
Musik: 00%
Das macht richtig Spaß XD
-
-
Huiii
Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.
This post has been edited 1 times, last edit by "Josey" (Mar 20th 2019, 7:57pm)
Mag sich jemand das Script nochmal kurz anschauen und mir helfen, das Commandmenü zweispaltig zu machen? Das krieg ich nicht hin :)
Hier einmal der Scriptteil, um den es geht:
Das Modul dazu:
Die Scene:
Das normale Window_Command:
Wenn du das ganze Ding brauchst, bitte bescheid sagen, dann kommt ne Demo per PN. Das Script ist inzwischen zu sehr in alles andere integriert, um es sauber herauszulösen.
Zu beachten ist hier nur- neben der automatischen Auswahl der Kategorien aus dem Modul, dass das Ding sich den Index merkt, wo er zuletzt war, wenn man C drückt und den Index löscht, wnen man Zurück oder ESC drückt :)
Momentan sieht das Menü so aus:

Ich möchte es gerne so haben:

1.) Das ist mein bisheriges Edit des Window_Command, aktuell gibt es ein column_max = 2 im Initialize, und es funktioniert auch technisch (also die Klicks der unteren drei müssen in der rechten Spalte passieren), aber die Schriftzüge und das Fenster passen sich nicht an XD
Hier der Edit der Scene:
Ich versuche grad die Höhe des Fensters anzupassen.
Zeile 45 in der Scene:
Ich muss @window_commands gegen @window_commands/2 austauschen, aber das klappt nicht, weil @window_commands keine Zahl ist. Aber scheinbar doch, weils dort als Zahl gilt. Kann mir das einer erklären?
2.) Ich will, dass leere Kategorien ausgegraut und nicht anklickbar sind (siehe Zeile 33). Da fehlen mir Befehle :/
Hilfe? XD
Hier einmal der Scriptteil, um den es geht:
Das Modul dazu:
![]() |
Ruby Source code |
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 |
module CRAFTING # ---------------------------------------------------------------------------- # Recipe Categories # ---------------------------------------------------------------------------- # RECIPE_CATEGORIES ist ein Array, dessen Elemente Objekte / Structs / Hashs # sind. Sowohl das Array selbst als auch die einzelnen Elemente sind # dynamisch erweiterbar, ohne dass es einen Eingriff in andere Skripte gibt. RECIPE_CATEGORIES = [ # Vorspeisen {:category_id => 1, :category_name => "Vorspeisen", :recipe_ids => [1,2] }, # Hauptgerichte {:category_id => 2, :category_name => "Hauptgerichte", :recipe_ids => [3,4] }, # Desserts {:category_id => 3, :category_name => "Desserts", :recipe_ids => [5,0] }, # Anderes {:category_id => 4, :category_name => "Anderes", :recipe_ids => [1,0,6] } ] |
highlight to read
Die Scene:
![]() |
Ruby Source code |
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 |
#============================================================================== # ** Scene_Crafting_Start #------------------------------------------------------------------------------ # Crafting menu (choice) #============================================================================== class Scene_Crafting_Recipe_Menu < Scene_Animation # Include HM main module for game data include HM include CRAFTING def initialize(menu_index = 0) @menu_index = menu_index end #-------------------------------------------------------------------------- # * Main #-------------------------------------------------------------------------- def main # Window commands @window_commands = [] @category_ids = [] # Füge noch "Alle Rezepte"-Option ein @window_commands.push("Alle Rezepte") @category_ids.push(0) # Gehe jede Kategorie durch aus RECIPE_CATEGORIES for category in RECIPE_CATEGORIES do @window_commands.push(category[:category_name]) @category_ids.push(category[:category_id]) end # Füge noch "Zurück"-Option hinzu @window_commands.push("Zurück") text = "Welches Rezept?" # Make windows # Korrektur y-Koordinate @command_window = Window_Command.new(640, @window_commands) @command_window.x = 0 @command_window.y = 480 - @command_window.height @command_window.index = @menu_index#0 @help_window = Window_Help.new(0,256,640,64) # Korrektur y-Koordinate @help_window.y = 480 - @command_window.height - @help_window.height @help_window.set_text(text,0) @skill_window = Window_HM_Crafting_Skill.new(0,0) # Background sprite inititialize_animation(0) # Get actor @actor = $game_party.actors[0] # Execute transition Graphics.transition # Main loop loop do # Update game screen Graphics.update # Update input information Input.update # Frame update update # Abort loop if screen is changed if $scene != self break end end # Prepare for transition Graphics.freeze # Dispose sprite dispose_sprites # Dispose windows @command_window.dispose @help_window.dispose @skill_window.dispose end #-------------------------------------------------------------------------- # * Update #-------------------------------------------------------------------------- def update # Sprite update_sprites # Command Window @command_window.update # Command update_command end #-------------------------------------------------------------------------- # * Update Command #-------------------------------------------------------------------------- def update_command # ENTER if Input.trigger?(Input::C) # Play cancel SE $game_system.se_play($data_system.decision_se) # Zurück Button if @command_window.index == (@window_commands.size-1) # Zurück # Play cancel SE $game_system.se_play($data_system.cancel_se) # Switch to map screen $scene = Scene_Crafting_Start.new else # Gehe zu "Kochen nach Rezept" $scene = Scene_Crafting_Recipe.new(@category_ids[@command_window.index]) end return end # ESC if Input.trigger?(Input::B) # Play cancel SE $game_system.se_play($data_system.cancel_se) # Switch to map screen $scene = Scene_Crafting_Start.new return end end #-------------------------------------------------------------------------- # * Class End #-------------------------------------------------------------------------- end |
highlight to read
Das normale Window_Command:
![]() |
Ruby Source code |
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 |
#============================================================================== # ** Window_Command #------------------------------------------------------------------------------ # This window deals with general command choices. #============================================================================== class Window_Command < Window_Selectable #-------------------------------------------------------------------------- # * Object Initialization # width : window width # commands : command text string array #-------------------------------------------------------------------------- def initialize(width, commands) # Compute window height from command quantity super(0, 0, width, commands.size * 32 + 32) @item_max = commands.size @commands = commands self.contents = Bitmap.new(width - 32, @item_max * 32) refresh self.index = 0 end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear for i in 0...@item_max draw_item(i, normal_color) end end #-------------------------------------------------------------------------- # * Draw Item # index : item number # color : text color #-------------------------------------------------------------------------- def draw_item(index, color) self.contents.font.color = color rect = Rect.new(4, 32 * index, self.contents.width - 8, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.draw_text(rect, @commands[index]) end #-------------------------------------------------------------------------- # * Disable Item # index : item number #-------------------------------------------------------------------------- def disable_item(index) draw_item(index, disabled_color) end end |
highlight to read
Wenn du das ganze Ding brauchst, bitte bescheid sagen, dann kommt ne Demo per PN. Das Script ist inzwischen zu sehr in alles andere integriert, um es sauber herauszulösen.
Zu beachten ist hier nur- neben der automatischen Auswahl der Kategorien aus dem Modul, dass das Ding sich den Index merkt, wo er zuletzt war, wenn man C drückt und den Index löscht, wnen man Zurück oder ESC drückt :)
Momentan sieht das Menü so aus:
Ich möchte es gerne so haben:
1.) Das ist mein bisheriges Edit des Window_Command, aktuell gibt es ein column_max = 2 im Initialize, und es funktioniert auch technisch (also die Klicks der unteren drei müssen in der rechten Spalte passieren), aber die Schriftzüge und das Fenster passen sich nicht an XD
![]() |
Ruby Source code |
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 |
#============================================================================== # ** Window_Command #------------------------------------------------------------------------------ # This window deals with general command choices. #============================================================================== class Window_Command2 < Window_Selectable #-------------------------------------------------------------------------- # * Object Initialization # width : window width # commands : command text string array #-------------------------------------------------------------------------- def initialize(width, commands) # Compute window height from command quantity super(0, 0, width, commands.size * 32 + 32) @column_max = 2 @item_max = commands.size @commands = commands self.contents = Bitmap.new(width - 32, @item_max * 32) refresh self.index = 0 end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear for i in 0...@item_max draw_item(i, normal_color) end end #-------------------------------------------------------------------------- # * Draw Item # index : item number # color : text color #-------------------------------------------------------------------------- def draw_item(index, color) self.contents.font.color = color rect = Rect.new(4, 32 * index, self.contents.width - 8, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.draw_text(rect, @commands[index]) end #-------------------------------------------------------------------------- # * Disable Item # index : item number #-------------------------------------------------------------------------- def disable_item(index) draw_item(index, disabled_color) end end |
highlight to read
Hier der Edit der Scene:
![]() |
Ruby Source code |
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 |
#============================================================================== # ** Scene_Crafting_Start #------------------------------------------------------------------------------ # Crafting menu (choice) #============================================================================== class Scene_Crafting_Recipe_Menu < Scene_Animation # Include HM main module for game data include HM include CRAFTING def initialize(menu_index = 0) @menu_index = menu_index end #-------------------------------------------------------------------------- # * Main #-------------------------------------------------------------------------- def main # Window commands @window_commands = [] @category_ids = [] # Füge noch "Alle Rezepte"-Option ein @window_commands.push("Alle Rezepte") @category_ids.push(0) # Gehe jede Kategorie durch aus RECIPE_CATEGORIES for category in RECIPE_CATEGORIES do @window_commands.push(category[:category_name]) @category_ids.push(category[:category_id]) end # Füge noch "Zurück"-Option hinzu @window_commands.push("Zurück") # # Wenn eine Unterkategorie keine Items enthält, ausgrauen und # # unanklickbar machen # if a..@window_commands <= 0 # Jede Kategorie durchschauen # # Enthält keine Items # @command_window.disable_item(a) # ausgrauen # diable index a # unanklickbar machen # end text = "Welches Rezept?" # Make windows # Korrektur y-Koordinate @command_window = Window_HM_Command.new(640, @window_commands) @command_window.x = 0 @command_window.y = 480 - @command_window.height @command_window.index = @menu_index#0 @help_window = Window_Help.new(0,256,640,64) # Korrektur y-Koordinate @help_window.y = 480 - @command_window.height - @help_window.height @help_window.set_text(text,0) @skill_window = Window_HM_Crafting_Skill.new(0,0) # Background sprite inititialize_animation(0) # Get actor @actor = $game_party.actors[0] # Execute transition Graphics.transition # Main loop loop do # Update game screen Graphics.update # Update input information Input.update # Frame update update # Abort loop if screen is changed if $scene != self break end end # Prepare for transition Graphics.freeze # Dispose sprite dispose_sprites # Dispose windows @command_window.dispose @help_window.dispose @skill_window.dispose end #-------------------------------------------------------------------------- # * Update #-------------------------------------------------------------------------- def update # Sprite update_sprites # Command Window @command_window.update # Command update_command end #-------------------------------------------------------------------------- # * Update Command #-------------------------------------------------------------------------- def update_command # ENTER if Input.trigger?(Input::C) # Play cancel SE $game_system.se_play($data_system.decision_se) # Zurück Button if @command_window.index == (@window_commands.size-1) # Zurück # Play cancel SE $game_system.se_play($data_system.cancel_se) # Switch to map screen $scene = Scene_Crafting_Start.new else # Gehe zu "Kochen nach Rezept" $scene = Scene_Crafting_Recipe.new(@category_ids[@command_window.index]) end return end # ESC if Input.trigger?(Input::B) # Play cancel SE $game_system.se_play($data_system.cancel_se) # Switch to map screen $scene = Scene_Crafting_Start.new return end end #-------------------------------------------------------------------------- # * Class End #-------------------------------------------------------------------------- end |
highlight to read
Ich versuche grad die Höhe des Fensters anzupassen.
Zeile 45 in der Scene:
![]() |
Ruby Source code |
1 |
@command_window = Window_HM_Command.new(640, @window_commands) |
Ich muss @window_commands gegen @window_commands/2 austauschen, aber das klappt nicht, weil @window_commands keine Zahl ist. Aber scheinbar doch, weils dort als Zahl gilt. Kann mir das einer erklären?
2.) Ich will, dass leere Kategorien ausgegraut und nicht anklickbar sind (siehe Zeile 33). Da fehlen mir Befehle :/
Hilfe? XD
Notfalldiscord: Hier klicken
-
Joseys Wuselei
-
Meine Story - Pausiert
Lust auf Abenteuer?
So richtig mit Selbstbestimmung?
Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
"Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
Hier die Antwort:
Hier könnt ihr euren Lieblingschar wählen ;D
Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt. -
Meine Arbeiten
-
Meine Fähigkeiten
Maker:XP
Pixeln:
Mappen:
Eventen:
Scripten:
Komponieren:
-
(Mein) Autismus
Ich bin im autistischen Sprektrum-
sollte ich mich komisch verhalten, oder unhöflich wirken
(oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
ist das nicht beabsichtigt.
Josey. Epicgarantie.
Nehmt das bloß nicht ernst! D: -
Meine Welt
Mein Ehemann Kain!:*
Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
Er verdient einfach einen Platz () in meiner Signatur! XD
-
Mein Support
Der In-Game-Charset-Generator!
Erstelle Random-NPCs mit Charsetteilen!
Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
Bastelt mal Banner! : D
-
Meine beendeten Contests
[Pixelcontest] Rund um den Kürbis
Abstimmung
Siegerehrung
Das Wunder der Berge
Abstimmung
Siegerehrung -
Meine Contests
Ein Schreibcontest in Arbeit! : D
-
-
Joseys Spiele
-
Endless Ending
-
Scripted Desaster
Scripted Desaster
("nicht ganz so ernstes Projekt")
Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.
Das bedeutet doch Spaß... -
Pokémon EV
Pokemon EV
("Zeitvertreib nebenbei - Kreatief-Helfer")
Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
Ist inzwischen alles schonmal dagewesen. XD -
Lost Island
Harvest Moon - Lost Island
(Arbeitstitel, "Eventtechnik-Projekt")
Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
Das Spiel ist ein Harvest Moon Abklatsch. XD
Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
-
-
Joseys Fortschritt
-
Endless Ending
Story: 60%
Charas: 20%
Maps: 01%
Zeichnungen: 05%
Grafiken: 30%
Scripte: 70%
Musik: 00%
...ist nicht viel, huh? ^^° -
Scripted Desaster
Story: 10%
Charas: 60%
Maps: 30%
Zeichnungen: 01%
Grafiken: 60%
Scripte: 70%
Musik: 00%
Gut Ding... -
Pokemon EV
Story: 60%
Charas: 10%
Maps: 00%
Zeichnungen: 00%
Grafiken: 80%
Scripte: 90%
Musik: 70%
Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht... -
Lost Island
Story: 100%
Charas: 10%
Maps: 90%
Zeichnungen: 00%
Grafiken: 60%
Scripte: 90%
Musik: 00%
Das macht richtig Spaß XD
-
-
Huiii
Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.
This post has been edited 1 times, last edit by "Josey" (May 10th 2020, 4:09pm)
Richtig gut. :-) Du bist ja selber schon gut zurecht gekommen.
Nur Kleinigkeiten fehlen noch.
In Zeile 15, musst Du die Anzahl der Einträge im commands-Array durch zwei (die Anzahl der Spalten) teilen.
Und dann die Berechnung der Zellen bei Draw-Item.
Im originalen Window_Command gibt es nur eine Spalte, deswegen wird die X-Koordinate konstant mit 4 angegeben. Wir leihen uns die Mathematik aus der Klasse Window_Selectable aus, die für die Berechnung des cursor_rect verwendet wird.
Bezüglich deiner zweiten Frage mit dem Ausgrauen, wäre meine Idee nach dem das Window erstellt und eingerichtet wurde das folgende zu schreiben
Dadurch sollten sie ausgegraut werden - sie können aber trotzdem angeklickt werden.
Zumindest ist so meine Theorie. Ich habe nicht ganz verstanden, wie RECIPE_CATEGORIES funktioniert.
Nur Kleinigkeiten fehlen noch.
Quoted
1.) Das ist mein bisheriges Edit des Window_Command, aktuell gibt es ein column_max = 2 im Initialize, und es funktioniert auch technisch (also die Klicks der unteren drei müssen in der rechten Spalte passieren), aber die Schriftzüge und das Fenster passen sich nicht an XD
In Zeile 15, musst Du die Anzahl der Einträge im commands-Array durch zwei (die Anzahl der Spalten) teilen.
![]() |
Ruby Source code |
15 |
super(0, 0, width, commands.size/2 * 32 + 32) |
Und dann die Berechnung der Zellen bei Draw-Item.
![]() |
Ruby Source code |
38 39 40 41 42 43 44 45 |
self.contents.font.color = color # Calculate column width column_width = self.width / @column_max - 32 # Calculate cell coordinates x = index % @column_max * (column_width + 32) y = index / @column_max * 32 rect = Rect.new( 4 + x, y, column_width - 8, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) |
Im originalen Window_Command gibt es nur eine Spalte, deswegen wird die X-Koordinate konstant mit 4 angegeben. Wir leihen uns die Mathematik aus der Klasse Window_Selectable aus, die für die Berechnung des cursor_rect verwendet wird.
Quoted
2.) Ich will, dass leere Kategorien ausgegraut und nicht anklickbar sind
Bezüglich deiner zweiten Frage mit dem Ausgrauen, wäre meine Idee nach dem das Window erstellt und eingerichtet wurde das folgende zu schreiben
![]() |
Ruby Source code |
48 49 50 51 52 53 |
@command_window.index = @menu_index#0 for a in 1..(@window_commands.size-2) if RECIPE_CATEGORIES[a][recipe_ids].empty? @command_window.disable_item(a) end end |
Dadurch sollten sie ausgegraut werden - sie können aber trotzdem angeklickt werden.
Zumindest ist so meine Theorie. Ich habe nicht ganz verstanden, wie RECIPE_CATEGORIES funktioniert.
Das große Scientia Wiki zur Spielentwicklung 
Was ist das RGSS ? RGSS-Dokumentation auf Sc
Kyoshiros Makerkurs
Musik von Shabraxxx für euch
Guide zu den Audioformaten
Skripte von mir (Auswahl):
Atmungssystem
| Streichholzsystem
| Animiert durch Bücher blättern
Random : Marktsystem für Kardor
| Staterelated Battlergraphic
| Hinweis auf mögliche Aktionen
SelfSwitchExpirationtimer Skript - Gameplayerweiterung für Pilzesammler und Farmspiele
Meine Skripte werden gerade hier gesammelt.

Was ist das RGSS ? RGSS-Dokumentation auf Sc
Kyoshiros Makerkurs

Musik von Shabraxxx für euch

Guide zu den Audioformaten

Skripte von mir (Auswahl):
Atmungssystem






Random : Marktsystem für Kardor








Danke X//D
Ich hab mir Mühe gegeben *___*
1.) Super, danke dir! :D
Zum Glück kopier ich nicht nur stoisch, die Zeile self.contents.draw_text fehlte (falls es wer anders auch ausprobieren will)
Aber jetzt hab ich da unten so einen Pfeil, als obs da noch tiefer ginge. Wie kann ich den entfernen? :3
2.) Da kieg ich jetzt ne Fehlermeldung:
---------------------------
Script 'Scene_Crafting_Recipe_Menu' line 52: NameError occurred.
undefined local variable or method `recipe_ids' for #<Scene_Crafting_Recipe_Menu:0x811aa50>
---------------------------
RECIPE_CATEGORIES wird nur in diesem Script verwendet, dass du da siehst und im Modul sind diese beiden EInträge die einzigen, wo das vorkommt:
Hab mal :recipe_ids an der Stelle probiert, ging auch nicht :<
Aber so wirds nur ausgegraut, aber anklickbar immer noch? Dann müsste ich nur in der Scene noch bei C die Abfrage stellen, ob die aktuelle Cetegorie_ID disabled wurde, oder? :D
Danke dir! :D
Ich hab mir Mühe gegeben *___*
1.) Super, danke dir! :D
Zum Glück kopier ich nicht nur stoisch, die Zeile self.contents.draw_text fehlte (falls es wer anders auch ausprobieren will)
Aber jetzt hab ich da unten so einen Pfeil, als obs da noch tiefer ginge. Wie kann ich den entfernen? :3
2.) Da kieg ich jetzt ne Fehlermeldung:
---------------------------
Script 'Scene_Crafting_Recipe_Menu' line 52: NameError occurred.
undefined local variable or method `recipe_ids' for #<Scene_Crafting_Recipe_Menu:0x811aa50>
---------------------------
RECIPE_CATEGORIES wird nur in diesem Script verwendet, dass du da siehst und im Modul sind diese beiden EInträge die einzigen, wo das vorkommt:
![]() |
Ruby Source code |
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 |
#============================================================================== # ** module CRAFTING #------------------------------------------------------------------------------ # Contains game data for crafting system. #============================================================================== module CRAFTING # ---------------------------------------------------------------------------- # Recipe Categories # ---------------------------------------------------------------------------- # RECIPE_CATEGORIES ist ein Array, dessen Elemente Objekte / Structs / Hashs # sind. Sowohl das Array selbst als auch die einzelnen Elemente sind # dynamisch erweiterbar, ohne dass es einen Eingriff in andere Skripte gibt. RECIPE_CATEGORIES = [ # Vorspeisen {:category_id => 1, :category_name => "Vorspeisen", :recipe_ids => [1,2] }, # Hauptgerichte {:category_id => 2, :category_name => "Hauptgerichte", :recipe_ids => [3,4] }, # Desserts {:category_id => 3, :category_name => "Desserts", :recipe_ids => [5,0] }, # Anderes {:category_id => 4, :category_name => "Anderes", :recipe_ids => [1,0,6] } ] # ---------------------------------------------------------------------------- # get_category_recipe_ids : Returns recipe array of category with # id category_id. # ---------------------------------------------------------------------------- def self.get_category_recipe_ids(category_id) recipe_ids = nil for category in RECIPE_CATEGORIES if category[:category_id] == category_id recipe_ids = category[:recipe_ids] break end end return recipe_ids end |
highlight to read
Hab mal :recipe_ids an der Stelle probiert, ging auch nicht :<
Aber so wirds nur ausgegraut, aber anklickbar immer noch? Dann müsste ich nur in der Scene noch bei C die Abfrage stellen, ob die aktuelle Cetegorie_ID disabled wurde, oder? :D
Danke dir! :D
Notfalldiscord: Hier klicken
-
Joseys Wuselei
-
Meine Story - Pausiert
Lust auf Abenteuer?
So richtig mit Selbstbestimmung?
Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
"Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
Hier die Antwort:
Hier könnt ihr euren Lieblingschar wählen ;D
Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt. -
Meine Arbeiten
-
Meine Fähigkeiten
Maker:XP
Pixeln:
Mappen:
Eventen:
Scripten:
Komponieren:
-
(Mein) Autismus
Ich bin im autistischen Sprektrum-
sollte ich mich komisch verhalten, oder unhöflich wirken
(oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
ist das nicht beabsichtigt.
Josey. Epicgarantie.
Nehmt das bloß nicht ernst! D: -
Meine Welt
Mein Ehemann Kain!:*
Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
Er verdient einfach einen Platz () in meiner Signatur! XD
-
Mein Support
Der In-Game-Charset-Generator!
Erstelle Random-NPCs mit Charsetteilen!
Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
Bastelt mal Banner! : D
-
Meine beendeten Contests
[Pixelcontest] Rund um den Kürbis
Abstimmung
Siegerehrung
Das Wunder der Berge
Abstimmung
Siegerehrung -
Meine Contests
Ein Schreibcontest in Arbeit! : D
-
-
Joseys Spiele
-
Endless Ending
-
Scripted Desaster
Scripted Desaster
("nicht ganz so ernstes Projekt")
Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.
Das bedeutet doch Spaß... -
Pokémon EV
Pokemon EV
("Zeitvertreib nebenbei - Kreatief-Helfer")
Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
Ist inzwischen alles schonmal dagewesen. XD -
Lost Island
Harvest Moon - Lost Island
(Arbeitstitel, "Eventtechnik-Projekt")
Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
Das Spiel ist ein Harvest Moon Abklatsch. XD
Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
-
-
Joseys Fortschritt
-
Endless Ending
Story: 60%
Charas: 20%
Maps: 01%
Zeichnungen: 05%
Grafiken: 30%
Scripte: 70%
Musik: 00%
...ist nicht viel, huh? ^^° -
Scripted Desaster
Story: 10%
Charas: 60%
Maps: 30%
Zeichnungen: 01%
Grafiken: 60%
Scripte: 70%
Musik: 00%
Gut Ding... -
Pokemon EV
Story: 60%
Charas: 10%
Maps: 00%
Zeichnungen: 00%
Grafiken: 80%
Scripte: 90%
Musik: 70%
Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht... -
Lost Island
Story: 100%
Charas: 10%
Maps: 90%
Zeichnungen: 00%
Grafiken: 60%
Scripte: 90%
Musik: 00%
Das macht richtig Spaß XD
-
-
Huiii
Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.
Upps, ja weil das Content Bitmap noch so lang ist, als gäbe es @item_max viele Zeilen.
Du kannst entweder fix durch 2 teilen, oder Du benutzt die Variable @column_max an der Stelle (die ja dann definiert ist) die den Wert 2 hat. Das ist dir überlassen.
Nächster Versuch für das ausgrauen:
Du kannst entweder fix durch 2 teilen, oder Du benutzt die Variable @column_max an der Stelle (die ja dann definiert ist) die den Wert 2 hat. Das ist dir überlassen.
![]() |
Ruby Source code |
1 |
self.contents = Bitmap.new(width - 32, @item_max/@column_max * 32) |
Nächster Versuch für das ausgrauen:
![]() |
Ruby Source code |
1 2 3 4 5 6 |
@command_window.index = @menu_index#0 for a in 1..(@window_commands.size-2) if CRAFTING.get_category_recipe_ids(@category_ids[a]).empty? @command_window.disable_item(a) end end |
Das große Scientia Wiki zur Spielentwicklung 
Was ist das RGSS ? RGSS-Dokumentation auf Sc
Kyoshiros Makerkurs
Musik von Shabraxxx für euch
Guide zu den Audioformaten
Skripte von mir (Auswahl):
Atmungssystem
| Streichholzsystem
| Animiert durch Bücher blättern
Random : Marktsystem für Kardor
| Staterelated Battlergraphic
| Hinweis auf mögliche Aktionen
SelfSwitchExpirationtimer Skript - Gameplayerweiterung für Pilzesammler und Farmspiele
Meine Skripte werden gerade hier gesammelt.

Was ist das RGSS ? RGSS-Dokumentation auf Sc
Kyoshiros Makerkurs

Musik von Shabraxxx für euch

Guide zu den Audioformaten

Skripte von mir (Auswahl):
Atmungssystem






Random : Marktsystem für Kardor








1.) Okay, das funktioniert jetzt, danke XD
Aber wenn man eine ungerade Zahl an Kategorien hat, wird das "Zurück" unten nicht mehr hingeschrieben. Man kann es anklicken, aber das Feld ist leer Oo
2.) Zum Ausgrauen:
Das funktioniert halb. XD
Ich hab das offenbar was nicht bedacht :/
Die Kategorie wird dann ausgegraut, wenn in der Kategorie im Modul nichts drin ist. Aber im Modul wird nur festgelegt, welche Rezepte in welcher Kategorie sind und das prüft dein Codeschnippsel grad.
Was er aber prüfen müsste wäre, ob AKTUELL ein Rezept der Kategorie dem Menü hinzugefügt wurde. ._.
Wenn man eine der Kategorien bestätigt, kommt man hier rein:
Das Recipe_Window dazu:
Dort werden die Kategorien gefüllt, glaub ich.
Die Kategorie sollte grau sein, bis mindestens ein passendes Rezept gelernt wurde (mit "$game_party.add_recipe(x)").
Aktuell sind alle Kategorien weiß, weil sich dein Codeschnippsel auf die Module bezieht, die alle gefüllt sind und nicht darauf, ob wenigstens ein passendes Rezept gelernt wurde.
Hier wird add_recipe definiert, falls das wichtig ist:
tl;dr:
Die Frage ist aktuell: "Ist ein Rezept im Modul"
Sollte aber so lauten: "Wurde ein Rezept in der Kategorie hinzugefügt?"
Vlt ist es so übersichtlicher: Das sind alle Edits, die Mitsch gemacht hat, als er die Kategorien für mich eingebaut hat:
1.) Dein neues Menü
2.) Scene_Crafting_Recipe
Main Methode ersetzen sowie die obere (neue) initialize Methode hinzufügen:
4.) Window_HM_Recipes
initialize und refresh Methoden aktualisieren.
3.) CRAFTING
Ganz unten diese neue Methode einfügen.
PS:
Wird die Category_ID 0 übergeben, interpretiert das der Skript in Window_HM_Recipes als "Alle Rezepte anzeigen".[/quote]
Sorry, ich bin doof. XD°
Wie fragt man nochmal ab, ob die Kategorie disabled wurde? @_@
?
Ich wollte es hier einbauen:
Aber wenn man eine ungerade Zahl an Kategorien hat, wird das "Zurück" unten nicht mehr hingeschrieben. Man kann es anklicken, aber das Feld ist leer Oo
2.) Zum Ausgrauen:
Das funktioniert halb. XD
Ich hab das offenbar was nicht bedacht :/
Die Kategorie wird dann ausgegraut, wenn in der Kategorie im Modul nichts drin ist. Aber im Modul wird nur festgelegt, welche Rezepte in welcher Kategorie sind und das prüft dein Codeschnippsel grad.
Was er aber prüfen müsste wäre, ob AKTUELL ein Rezept der Kategorie dem Menü hinzugefügt wurde. ._.
Wenn man eine der Kategorien bestätigt, kommt man hier rein:
![]() |
Ruby Source code |
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 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 |
#============================================================================== # ** Scene_Crafting_Recipe #------------------------------------------------------------------------------ # Crafting menu. Crafting with recipes. #============================================================================== class Scene_Crafting_Recipe < Scene_Animation # Include HM main module for game data include HM #-------------------------------------------------------------------------- # * Initialize #-------------------------------------------------------------------------- def initialize(category_id = 0) @category_id = category_id end #-------------------------------------------------------------------------- # * Main #-------------------------------------------------------------------------- def main # Initialize crafting class for calculations @crafting = Game_Crafting.new # Main Windows (step 1) @recipe_window = Window_HM_Recipes.new(50,26, @category_id) @help_window_step1 = Window_Help.new(50, 158, 541, 64) @material_window = Window_HM_Material.new(50,222) # Result windows @result_window_icon = Window_HM_Result_Icon.new(254, 90, 132, 132) @result_window_icon.visible = false @help_window_result = Window_Help.new(70, 222, 500, 255) @help_window_result.visible = false # Background sprite inititialize_animation(1) # Sprite @sprite = RPG::Sprite.new(Viewport.new(0, 0, 640, 480)) @sprite.z = 999 @sprite.x = 320 @sprite.y = 240 # Result text @result_text = "" # Start step = 0 initialize_step_1 # Get actor @actor = $game_party.actors[0] # Help_Window @help_window = Window_Help.new(0, 276, 640, 204) @help_window.z = 999 @help_window.visible = false # Execute transition Graphics.transition # Main loop loop do # Update game screen Graphics.update # Update input information Input.update # Frame update update # Abort loop if screen is changed if $scene != self break end end # Prepare for transition Graphics.freeze # Dispose windows @crafting = nil @recipe_window.dispose @material_window.dispose @help_window_step1.dispose @result_window_icon.dispose @help_window_result.dispose @help_window.dispose # Dispose sprites @sprite.dispose dispose_sprites end #-------------------------------------------------------------------------- # * Update #-------------------------------------------------------------------------- def update # Background animation update_sprites case @step when 1 if !@help_window.visible @recipe_window.update @material_window.update end when 2 @result_window_icon.update @help_window_result.update end # Command update_command # Help Window update_help # Sprite @sprite.update end #-------------------------------------------------------------------------- # * Update Help Window #-------------------------------------------------------------------------- def update_help case @step when 1 # Recipe Choice @material_window.set_recipe(@recipe_window.recipe) item = @recipe_window.product @help_window_step1.set_text_xy(item == nil ? "" : item.name,4,0,true) end end #-------------------------------------------------------------------------- # * Update Command #-------------------------------------------------------------------------- def update_command # R - Show item information if Input.trigger?(Input::A) if @help_window.visible # Play cancel SE $game_system.se_play($data_system.cancel_se) @help_window.visible = false return else # Play deccision se $game_system.se_play($data_system.decision_se) item2 = @recipe_window.product # Zeichnet Itembeschreibung im Fenster an der Stelle x = 4, y = 0 (Anfang). # Durch den "true" Trigger, wird der alte Content des Fensters gelöscht. @help_window.draw_description(item2.description, 4, 0, true) # Is a item selected? if !item2.nil? @help_window.y = 232 @help_window.height = 248 @help_window.visible = true else # no item is selected (empty help window) $game_system.se_play($data_system.buzzer_se) end return end end # ESC if Input.trigger?(Input::B) if @help_window.visible # Play cancel SE $game_system.se_play($data_system.cancel_se) @help_window.visible = false return else # Play cancel SE $game_system.se_play($data_system.cancel_se) if @step == 1 # Return to stat choice $scene = Scene_Crafting_Recipe_Menu.new(@category_id) return else # Switch to map screen $scene = Scene_Map.new return end end end # L (Q) if Input.trigger?(Input::L) if @help_window.visible #nichts else if @step == 0 # Play Decision SE $game_system.se_play($data_system.decision_se) initialize_step_1 return end end end # ENTER if Input.trigger?(Input::C) if @help_window.visible #nichts else if @step == 1 if $game_party.available_recipes.size > 0 craft_item else # No recipes known $game_system.se_play($data_system.buzzer_se) end elsif @step == 2 # Play cancel SE $game_system.se_play($data_system.cancel_se) # Switch to map screen ICG.PlayerState_carry() $scene = Scene_Map.new end return end end end #-------------------------------------------------------------------------- # * Item crafting #-------------------------------------------------------------------------- def craft_item # Is item craftable? recipe = $game_party.available_recipes[@recipe_window.index] result_array = @crafting.craftable(recipe) result = result_array[0] item_value = result_array[1] mean_values = result_array[2] # Quality calculation max_value = @crafting.max_value(recipe) quality = item_value / max_value * 100 quality = quality.to_i if result # Item can be craftet result_array = @crafting.crafting_success?(recipe, quality) crafting_success = result_array[0] skill_points = result_array[1] if crafting_success # Crafting successful type = 0 # Play SE Audio.se_play("Audio/SE/" + CRAFTING::SUCCESS_SE, 90, 100) @crafting.craft_item(recipe, item_value, mean_values) @product = @crafting.get_product(recipe, item_value) #max_value = @crafting.max_value(recipe) #quality = item_value / max_value * 100 #quality = quality.to_i # set text @result_text = "Es ist gelungen! /n " @result_text += "Ich habe " + @product.name + " gekocht! /n" @result_text += "Die Qualität ist " + quality.to_s + "%. /n" if $game_switches[CRAFTING::NEW_RECIPE] == true @result_text += "Super! Ich hab das Rezept zum ersten Mal gekocht! /n" $game_switches[CRAFTING::NEW_RECIPE] = false end if skill_points > 0 if skill_points == 1 @result_text += "Ich erhalte einen Skillpunkt. /n" else @result_text += "Ich erhalte " + skill_points.to_s + " Skillpunkte. /n" end else @result_text += "Ich konnte meine Kochfähigkeit nicht verbessern." end # Give actor skill points $game_party.actors[0].crafting_skill += skill_points @my_interpreter = Interpreter.new @my_interpreter.cooking_level_berechnung if $game_switches[CRAFTING::LEVEL_UP] == true #Skillevel erhöht cooking_level = $game_party.actors[0].cooking_level @result_text += "Yay! Mein Koch-Level hat sich auf " + cooking_level.to_s + " erhöht! /n" $game_switches[CRAFTING::LEVEL_UP] = false end else # Crafting failed type = 1 # Play SE Audio.se_play("Audio/SE/" + CRAFTING::FAILURE_SE, 90, 100) @crafting.craft_item(recipe, item_value, mean_values) @product = @crafting.get_failed_product # set text @result_text = "Kochen fehlgeschlagen! /n " @result_text += "Ich habe " + @product.name + " gekocht... /n" @result_text += "Ich konnte meine Kochfähigkeit nicht verbessern." end # Equip actor equip_actor(recipe) # Play animation play_animation(type) # Show result show_result_window else # Can not craft item (not enough material) $game_system.se_play($data_system.buzzer_se) end end #-------------------------------------------------------------------------- # * Equips actor with crafted item #-------------------------------------------------------------------------- def equip_actor(recipe) if !CRAFTING::FAILURE_PRODUCTS.include?(@product.id) # item could have been craftet multiply times n = @crafting.product_amount(recipe) p n if n > 1 $game_party.add_fridge_item(@product.id, n-1) end end # Equip crafted item @actor.equip_item(@product.id) end #-------------------------------------------------------------------------- # * Show result window after crafting item #-------------------------------------------------------------------------- def show_result_window # Product Item @result_window_icon.set_item(@product) @result_window_icon.visible = true @result_window_icon.z = 999 # Text @help_window_result.draw_description(@result_text,4,0,false) @help_window_result.visible = true @help_window_result.z = 999 # next step @step = 2 end #-------------------------------------------------------------------------- # * initialize_step_0 #-------------------------------------------------------------------------- def initialize_step_0 @recipe_window.index = 0 @recipe_window.visible = false @help_window_step1.visible = false @material_window.visible = false @step = 0 end #-------------------------------------------------------------------------- # * initialize_step_1 #-------------------------------------------------------------------------- def initialize_step_1 @recipe_window.visible = true @help_window_step1.visible = true @material_window.visible = true @step = 1 end #-------------------------------------------------------------------------- # * play_animation(type) : plays success/fail animation. # typ : 0 = success, 1 = fail #-------------------------------------------------------------------------- def play_animation(type) # hide windows @recipe_window.visible = false @help_window_step1.visible = false @material_window.visible = false # Get animation if type == 0 @sprite.animation($data_animations[CRAFTING::SUCCESS_ANIMATION],true) wait_frames = CRAFTING::SUCCESS_DURATION elsif type == 1 @sprite.animation($data_animations[CRAFTING::FAILURE_ANIMATION],true) wait_frames = CRAFTING::FAILURE_DURATION end # Animation wait while wait_frames > 0 do Graphics.update # Background animation update_sprites @sprite.update wait_frames -=1 end # Change background change_sprites(type) end #-------------------------------------------------------------------------- # * Class End #-------------------------------------------------------------------------- end |
highlight to read
Das Recipe_Window dazu:
![]() |
Ruby Source code |
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 |
#============================================================================== # ** Window_HM_Recipes #------------------------------------------------------------------------------ # Selectable Window for store classes (cupboard, fridge). #============================================================================== class Window_HM_Recipes < Window_HM_Selectable attr_reader :cursor_window #-------------------------------------------------------------------------- # * Object Initialization # type : "cupboard" or "fridge" #-------------------------------------------------------------------------- def initialize(x,y, category_id = 0) super(x, y, 541, 132) self.x = x self.y = y choose_inventory @recipes = [] @product = nil @avaiable_recipes = [] @category_id = category_id refresh self.index = 0 # If in battle, move window to center of screen # and make it semi-transparent if $game_temp.in_battle self.y = 64 self.height = 256 self.back_opacity = 160 end end #-------------------------------------------------------------------------- # * Get Item #-------------------------------------------------------------------------- def product if @recipes[index].nil? return nil end products = @recipes[index][@recipes[index].size-3] if (products.size-1) / 2 == 0 @product = $data_items[products[(products.size-1)/2+1]] else @product = $data_items[products[(products.size-1)/2]] end return @product end #-------------------------------------------------------------------------- # * Get Recipe #-------------------------------------------------------------------------- def recipe return @recipes[self.index] end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh if self.contents != nil self.contents.dispose self.contents = nil end # Get available recipes @avaiable_recipes = $game_party.available_recipes # Filter recipes by category when there is a category filer. # If category id is 0, all recipes are displayed. if @category_id > 0 category_recipe_ids = CRAFTING.get_category_recipe_ids(@category_id) if !category_recipe_ids.nil? for recipe in @avaiable_recipes if category_recipe_ids.include?(recipe[0]) @recipes.push(recipe) end end else # No category filter @recipes = @avaiable_recipes end else # No category filter @recipes = @avaiable_recipes end # Sort recipes by id @recipes.sort!{ |a,b| a[0] <=> b[0] } @item_max = @recipes.size # If item count is not 0, make a bit map and draw all items if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * @cursor_xy) else self.contents = Bitmap.new(width - 32, height - 32) end for i in 0...@recipes.size draw_item(i) end end #-------------------------------------------------------------------------- # * Draw Item # index : item number #-------------------------------------------------------------------------- def draw_item(index) # Get product products = @recipes[index][@recipes[index].size-3] if (products.size-1) / 2 == 0 product = $data_items[products[(products.size-1)/2+1]] else product = $data_items[products[(products.size-1)/2]] end difficulty = @recipes[index][@recipes[index].size-2] number = products[products.size-1] if !product.nil? self.contents.font.color = normal_color # Coordinates x = @offset_x + index % @column_max * (@height + @abstand_x) y = @offset_y + index / @column_max * (@height + @abstand_y) rect = Rect.new(x, y, self.width / @column_max - 32, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) bitmap = RPG::Cache.icon(product.icon_name) opacity = 255 self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 90, 90), opacity) self.contents.draw_text(x + 66, y + 66, 24, 32, "x"+number.to_s, 2) # Difficulty self.contents.font.color = difficulty_color(difficulty) self.contents.draw_text(x - 4, y - 4, 24, 32, difficulty.to_s, 2) end end #-------------------------------------------------------------------------- # * difficulty_color : returns difficulty color #-------------------------------------------------------------------------- def difficulty_color(difficulty) # Get current crafting skill crafting_skill = $game_party.actors[0].cooking_level #crafting_skill delta_skill = difficulty - crafting_skill # Get difficulty color if delta_skill >= CRAFTING::UPPER_BLACK color = CRAFTING::COLOR_BLACK elsif delta_skill >= CRAFTING::UPPER_RED color = CRAFTING::COLOR_RED elsif delta_skill >= CRAFTING::UPPER_ORANGE color = CRAFTING::COLOR_ORANGE elsif delta_skill >= CRAFTING::UPPER_YELLOW color = CRAFTING::COLOR_YELLOW else color = CRAFTING::COLOR_GREEN end return color end #-------------------------------------------------------------------------- # * Help Text Update #-------------------------------------------------------------------------- def update_help #@help_window.set_text_xy(self.item == nil ? "" : self.item.name,4,0,true) #@help_window.draw_description(self.item == nil ? "" : self.item.description,4,32,false) end #-------------------------------------------------------------------------- # * Update Cursor Rectangle #-------------------------------------------------------------------------- def update_cursor_rect # If cursor position is less than 0 if @index < 0 self.cursor_rect.empty return end # Get current row row = @index / @column_max # If current row is before top row if row < self.top_row # Scroll so that current row becomes top row self.top_row = row end # If current row is more to back than back row if row > self.top_row + (self.page_row_max - 1) # Scroll so that current row becomes back row self.top_row = row - (self.page_row_max - 1) end # Calculate cursor width #cursor_width = self.width / @column_max - 32 cursor_width = @c_width # Calculate cursor coordinates #x = @index % @column_max * (cursor_width + 32) x = @index % @column_max * (@height + @abstand_x) #y = @index / @column_max * @c_height - self.oy y = @index / @column_max * (@height + @abstand_y)- self.oy # Update cursor rectangle self.cursor_rect.set(x, y, cursor_width, @c_height) end #-------------------------------------------------------------------------- # * Get Top Row #-------------------------------------------------------------------------- def top_row # Divide y-coordinate of window contents transfer origin by 1 row # height of 32 return self.oy / @cursor_xy end #-------------------------------------------------------------------------- # * Set Top Row # row : row shown on top #-------------------------------------------------------------------------- def top_row=(row) # If row is less than 0, change it to 0 if row < 0 row = 0 end # If row exceeds row_max - 1, change it to row_max - 1 if row > row_max - 1 row = row_max - 1 end # Multiply 1 row height by 32 for y-coordinate of window contents # transfer origin self.oy = row * @cursor_xy end #-------------------------------------------------------------------------- # * Get Number of Rows Displayable on 1 Page #-------------------------------------------------------------------------- def page_row_max # Subtract a frame height of 32 from the window height, and divide it by # 1 row height of 32 return (self.height - 32) / @cursor_xy end #-------------------------------------------------------------------------- # * Choose inventory # * type = 0 : kleine Tasche # * type = 1 : große Tasche # * type = 2 : kleiner Rucksack # * type = 3 : mittelgroßer Rucksack # * type = 4 : großer Rucksack #-------------------------------------------------------------------------- def choose_inventory # Get inventory parameters # @column_max : Anzahl der Spalten # @height : Icon Höhe # @offset_x : Offset in x Richtung (Icon und Cursor) # @offset_y : Offset in y Richtung (Icon und Cursor) # @abstand_x : Abstand zwischen 2 Icons in x-Richtung # @abstand_y : Abstand zwischen 2 Icons in y-Richtung # @cursor_xy : Cursorabmessung (Annahme, dass er quadratisch ist) # @item_max : max. angezeigte Items # Window Parameter @column_max = 5 @height = 90 @offset_x = 5 @offset_y = 1 @abstand_x = 13 @abstand_y = 10 # Cursor @cursor_xy = 100 @c_width = @cursor_xy @c_height = @cursor_xy # Items #@item_max = 28 end end |
highlight to read
Dort werden die Kategorien gefüllt, glaub ich.
Die Kategorie sollte grau sein, bis mindestens ein passendes Rezept gelernt wurde (mit "$game_party.add_recipe(x)").
Aktuell sind alle Kategorien weiß, weil sich dein Codeschnippsel auf die Module bezieht, die alle gefüllt sind und nicht darauf, ob wenigstens ein passendes Rezept gelernt wurde.
Hier wird add_recipe definiert, falls das wichtig ist:
![]() |
Ruby Source code |
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 |
#============================================================================== # ** Game_Party #------------------------------------------------------------------------------ # Crafting System #------------------------------------------------------------------------------ # New methods: # - available recipes # - has_material?(material_group) # - add_recipe(recipe_id) # - crafting_item_number(item_id) # - gain_base_item(item_id, n) #============================================================================== class Game_Party include CRAFTING #----------------------------------------------------------------------------- # has_material? #----------------------------------------------------------------------------- def has_material?(material_group) result = false amount = material_group[material_group.size-1] # Iterate through materials for i in 0...material_group.size-1 item_id = material_group[i] if (item_number_fridge(item_id) >= amount) result = true end end # return result return result end #----------------------------------------------------------------------------- # add_recipe(recipe_id) : Adds recipe with recipe_ID to available recipes #----------------------------------------------------------------------------- def add_recipe(recipe_id) # Recipe is not already available if !@available_recipes.include?(RECIPES[recipe_id]) # Searching recipe for i in 0...RECIPES.size current_recipe = RECIPES[i] if current_recipe[0] == recipe_id # Recipe was found in crafting module @available_recipes.push(current_recipe) break end end end end #-------------------------------------------------------------------------- # * recipe_known?(recipe_id) : Returns true if the recipe with the ID # recipe_Id is known by the party. #-------------------------------------------------------------------------- def recipe_known?(recipe_id) result = false # Pass through recipe array for i in 0...@available_recipes.size # Get current recipe current_recipe = @available_recipes[i] # Get current recipe ID current_recipe_id = current_recipe[0] # Has current recipe the id recipe_id? if current_recipe_id == recipe_id # Id are equivalent result = true break end end # Return return result end #-------------------------------------------------------------------------- # * has_baseitem?(baseitem_id) : Diese Methode überprüft, ob der Spieler das # Base Item mit der ID baseitem_id # (Eingabeparameter) besitzt. #-------------------------------------------------------------------------- def has_baseitem?(baseitem_id) # wird auf true gesetzt, wenn das Item vorhanden ist # Überprüfe, ob das baseitem im Hash abgelegt ist # Die Anzahl ist > 0, daher ist das Item vorhanden # Gebe das Ergebnis zurück return base_item_number(baseitem_id) > 0 end #-------------------------------------------------------------------------- # * crafting_item_number(item_id) # Return Item ID of crafting item #-------------------------------------------------------------------------- def crafting_item_number(item_id) # If quantity data is in the hash, use it. If not, return 0 return @crafting_items.include?(item_id) ? @crafting_items[item_id] : 0 end #-------------------------------------------------------------------------- # * gain_base_item(item_id, n) # Gain crafting item for crafting system. #-------------------------------------------------------------------------- def gain_crafting_item(item_id, n) # Update quantity data in the hash. if item_id > 0 @crafting_items[item_id] = [[crafting_item_number(item_id) + n, 0].max, 99].min end end end |
highlight to read
tl;dr:
Die Frage ist aktuell: "Ist ein Rezept im Modul"
Sollte aber so lauten: "Wurde ein Rezept in der Kategorie hinzugefügt?"
Vlt ist es so übersichtlicher: Das sind alle Edits, die Mitsch gemacht hat, als er die Kategorien für mich eingebaut hat:
1.) Dein neues Menü
![]() |
Ruby Source code |
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 |
#============================================================================== # ** Scene_Crafting_Start #------------------------------------------------------------------------------ # Crafting menu (choice) #============================================================================== class Scene_Crafting_Recipe_Menu < Scene_Animation # Include HM main module for game data include HM include CRAFTING #-------------------------------------------------------------------------- # * Main #-------------------------------------------------------------------------- def main # Window commands s1 = "Vorspeisen" s2 = "Hauptgerichte" s3 = "Desserts" s4 = "Zurück" @window_commands = [] @category_ids = [] # Gehe jede Kategorie durch aus RECIPE_CATEGORIES for category in RECIPE_CATEGORIES do @window_commands.push(category[:category_name]) @category_ids.push(category[:category_id]) end # Füge noch "Alle Rezeopte"-Option ein @window_commands.push("Alle Rezepte") @category_ids.push(0) # Füge noch "Zurück"-Option hinzu @window_commands.push("Zurück") text = "Welches Rezept?" # Make windows # Korrektur y-Koordinate @command_window = Window_Command.new(640, @window_commands) @command_window.x = 0 @command_window.y = 480 - @command_window.height @command_window.index = 0 @help_window = Window_Help.new(0,256,640,64) # Korrektur y-Koordinate @help_window.y = 480 - @command_window.height - @help_window.height @help_window.set_text(text,0) @skill_window = Window_HM_Crafting_Skill.new(0,0) # Background sprite inititialize_animation(0) # Get actor @actor = $game_party.actors[0] # Execute transition Graphics.transition # Main loop loop do # Update game screen Graphics.update # Update input information Input.update # Frame update update # Abort loop if screen is changed if $scene != self break end end # Prepare for transition Graphics.freeze # Dispose sprite dispose_sprites # Dispose windows @command_window.dispose @help_window.dispose @skill_window.dispose end #-------------------------------------------------------------------------- # * Update #-------------------------------------------------------------------------- def update # Sprite update_sprites # Command Window @command_window.update # Command update_command end #-------------------------------------------------------------------------- # * Update Command #-------------------------------------------------------------------------- def update_command # ENTER if Input.trigger?(Input::C) # Play cancel SE $game_system.se_play($data_system.decision_se) # Zurück Button if @command_window.index == (@window_commands.size-1) # Zurück # Play cancel SE $game_system.se_play($data_system.cancel_se) # Switch to map screen $scene = Scene_Crafting_Start.new else # Gehe zu "Kochen nach Rezept" $scene = Scene_Crafting_Recipe.new(@category_ids[@command_window.index]) end return end # ESC if Input.trigger?(Input::B) # Play cancel SE $game_system.se_play($data_system.cancel_se) # Switch to map screen $scene = Scene_Crafting_Start.new return end end #-------------------------------------------------------------------------- # * Class End #-------------------------------------------------------------------------- end |
2.) Scene_Crafting_Recipe
Main Methode ersetzen sowie die obere (neue) initialize Methode hinzufügen:
![]() |
Ruby Source code |
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 |
#-------------------------------------------------------------------------- # * Initialize #-------------------------------------------------------------------------- def initialize(category_id = 0) @category_id = category_id end #-------------------------------------------------------------------------- # * Main #-------------------------------------------------------------------------- def main # Initialize crafting class for calculations @crafting = Game_Crafting.new # Main Windows (step 1) @recipe_window = Window_HM_Recipes.new(50,26, @category_id) @help_window_step1 = Window_Help.new(50, 158, 541, 64) @material_window = Window_HM_Material.new(50,222) # Result windows @result_window_icon = Window_HM_Result_Icon.new(254, 90, 132, 132) @result_window_icon.visible = false @help_window_result = Window_Help.new(70, 222, 500, 255) @help_window_result.visible = false # Background sprite inititialize_animation(1) # Sprite @sprite = RPG::Sprite.new(Viewport.new(0, 0, 640, 480)) @sprite.z = 999 @sprite.x = 320 @sprite.y = 240 # Result text @result_text = "" # Start step = 0 initialize_step_1 # Get actor @actor = $game_party.actors[0] # Help_Window @help_window = Window_Help.new(0, 276, 640, 204) @help_window.z = 999 @help_window.visible = false # Execute transition Graphics.transition # Main loop loop do # Update game screen Graphics.update # Update input information Input.update # Frame update update # Abort loop if screen is changed if $scene != self break end end # Prepare for transition Graphics.freeze # Dispose windows @crafting = nil @recipe_window.dispose @material_window.dispose @help_window_step1.dispose @result_window_icon.dispose @help_window_result.dispose @help_window.dispose # Dispose sprites @sprite.dispose dispose_sprites end |
4.) Window_HM_Recipes
initialize und refresh Methoden aktualisieren.
![]() |
Ruby Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
def initialize(x,y, category_id = 0) super(x, y, 541, 132) self.x = x self.y = y choose_inventory @recipes = [] @product = nil @avaiable_recipes = [] @category_id = category_id refresh self.index = 0 # If in battle, move window to center of screen # and make it semi-transparent if $game_temp.in_battle self.y = 64 self.height = 256 self.back_opacity = 160 end end |
![]() |
Ruby Source code |
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 |
def refresh if self.contents != nil self.contents.dispose self.contents = nil end # Get available recipes @avaiable_recipes = $game_party.available_recipes # Filter recipes by category when there is a category filer. # If category id is 0, all recipes are displayed. if @category_id > 0 category_recipe_ids = CRAFTING.get_category_recipe_ids(@category_id) if !category_recipe_ids.nil? for recipe in @avaiable_recipes if category_recipe_ids.include?(recipe[0]) @recipes.push(recipe) end end else # No category filter @recipes = @avaiable_recipes end else # No category filter @recipes = @avaiable_recipes end # Sort recipes by id @recipes.sort!{ |a,b| a[0] <=> b[0] } @item_max = @recipes.size # If item count is not 0, make a bit map and draw all items if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * @cursor_xy) else self.contents = Bitmap.new(width - 32, height - 32) end for i in 0...@recipes.size draw_item(i) end end |
3.) CRAFTING
Ganz unten diese neue Methode einfügen.
![]() |
Ruby Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# ---------------------------------------------------------------------------- # get_category_recipe_ids : Returns recipe array of category with # id category_id. # ---------------------------------------------------------------------------- def self.get_category_recipe_ids(category_id) recipe_ids = nil for category in RECIPE_CATEGORIES if category[:category_id] == category_id recipe_ids = category[:recipe_ids] break end end return recipe_ids end |
PS:
Wird die Category_ID 0 übergeben, interpretiert das der Skript in Window_HM_Recipes als "Alle Rezepte anzeigen".[/quote]
highlight to read
Sorry, ich bin doof. XD°
Wie fragt man nochmal ab, ob die Kategorie disabled wurde? @_@
![]() |
Ruby Source code |
1 |
is_@command_window.disabled? |
?
Ich wollte es hier einbauen:
![]() |
Ruby Source code |
1 2 3 4 5 6 7 |
# if Kategorie disabled # $game_system.se_play($data_system.buzzer_se) # else $game_system.se_play($data_system.decision_se) # Gehe zu "Kochen nach Rezept" $scene = Scene_Crafting_Recipe.new(@category_ids[@command_window.index]) # end |
Notfalldiscord: Hier klicken
-
Joseys Wuselei
-
Meine Story - Pausiert
Lust auf Abenteuer?
So richtig mit Selbstbestimmung?
Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
"Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
Hier die Antwort:
Hier könnt ihr euren Lieblingschar wählen ;D
Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt. -
Meine Arbeiten
-
Meine Fähigkeiten
Maker:XP
Pixeln:
Mappen:
Eventen:
Scripten:
Komponieren:
-
(Mein) Autismus
Ich bin im autistischen Sprektrum-
sollte ich mich komisch verhalten, oder unhöflich wirken
(oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
ist das nicht beabsichtigt.
Josey. Epicgarantie.
Nehmt das bloß nicht ernst! D: -
Meine Welt
Mein Ehemann Kain!:*
Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
Er verdient einfach einen Platz () in meiner Signatur! XD
-
Mein Support
Der In-Game-Charset-Generator!
Erstelle Random-NPCs mit Charsetteilen!
Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
Bastelt mal Banner! : D
-
Meine beendeten Contests
[Pixelcontest] Rund um den Kürbis
Abstimmung
Siegerehrung
Das Wunder der Berge
Abstimmung
Siegerehrung -
Meine Contests
Ein Schreibcontest in Arbeit! : D
-
-
Joseys Spiele
-
Endless Ending
-
Scripted Desaster
Scripted Desaster
("nicht ganz so ernstes Projekt")
Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.
Das bedeutet doch Spaß... -
Pokémon EV
Pokemon EV
("Zeitvertreib nebenbei - Kreatief-Helfer")
Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
Ist inzwischen alles schonmal dagewesen. XD -
Lost Island
Harvest Moon - Lost Island
(Arbeitstitel, "Eventtechnik-Projekt")
Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
Das Spiel ist ein Harvest Moon Abklatsch. XD
Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
-
-
Joseys Fortschritt
-
Endless Ending
Story: 60%
Charas: 20%
Maps: 01%
Zeichnungen: 05%
Grafiken: 30%
Scripte: 70%
Musik: 00%
...ist nicht viel, huh? ^^° -
Scripted Desaster
Story: 10%
Charas: 60%
Maps: 30%
Zeichnungen: 01%
Grafiken: 60%
Scripte: 70%
Musik: 00%
Gut Ding... -
Pokemon EV
Story: 60%
Charas: 10%
Maps: 00%
Zeichnungen: 00%
Grafiken: 80%
Scripte: 90%
Musik: 70%
Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht... -
Lost Island
Story: 100%
Charas: 10%
Maps: 90%
Zeichnungen: 00%
Grafiken: 60%
Scripte: 90%
Musik: 00%
Das macht richtig Spaß XD
-
-
Huiii
Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.
This post has been edited 2 times, last edit by "Josey" (May 13th 2020, 7:20pm)
Quoted
1.) Okay, das funktioniert jetzt, danke XD
Aber wenn man eine ungerade Zahl an Kategorien hat, wird das "Zurück" unten nicht mehr hingeschrieben. Man kann es anklicken, aber das Feld ist leer Oo
Du hast recht, die Berechnung der Höhe ist mit @item_max/@column_max etwas ungenau. Window_Item benutzt die Funktion row_max, die besser ausrechnet, wieviele Zeilen das Fenster hat. Benutz das einfach auch:
![]() |
Ruby Source code |
1 |
self.contents = Bitmap.new(width - 32, row_max * 32) |
Quoted
Die Frage ist aktuell: "Ist ein Rezept im Modul"
Sollte aber so lauten: "Wurde ein Rezept in der Kategorie hinzugefügt?"
Nächste Idee:
![]() |
Ruby Source code |
1 2 3 4 5 6 |
@command_window.index = @menu_index#0 for a in 1..(@window_commands.size-2) if CRAFTING.get_category_recipe_ids(@category_ids[a]).any?{|recipe_id| $game_party.recipe_known?(recipe_id)} @command_window.disable_item(a) end end |
Ich werde ja nicht müde, dich neue Sachen ausprobieren zu lassen. :-)
Wenn das funktioniert, kannst Du diese Abfrage auch später nutzen:
![]() |
Ruby Source code |
1 2 3 4 5 |
if @command_window.index == 0 or CRAFTING.get_category_recipe_ids(@category_ids[@command_window.index]).any?{|recipe_id| $game_party.recipe_known?(recipe_id)} print("Kategorie "Alle Rezepze" gewählt oder die Kategorie ist verfügbar") else print("Kategorie gesperrt") end |
Das große Scientia Wiki zur Spielentwicklung 
Was ist das RGSS ? RGSS-Dokumentation auf Sc
Kyoshiros Makerkurs
Musik von Shabraxxx für euch
Guide zu den Audioformaten
Skripte von mir (Auswahl):
Atmungssystem
| Streichholzsystem
| Animiert durch Bücher blättern
Random : Marktsystem für Kardor
| Staterelated Battlergraphic
| Hinweis auf mögliche Aktionen
SelfSwitchExpirationtimer Skript - Gameplayerweiterung für Pilzesammler und Farmspiele
Meine Skripte werden gerade hier gesammelt.

Was ist das RGSS ? RGSS-Dokumentation auf Sc
Kyoshiros Makerkurs

Musik von Shabraxxx für euch

Guide zu den Audioformaten

Skripte von mir (Auswahl):
Atmungssystem






Random : Marktsystem für Kardor








Du hast recht, die Berechnung der Höhe ist mit @item_max/@column_max etwas ungenau. Window_Item benutzt die Funktion row_max, die besser ausrechnet, wieviele Zeilen das Fenster hat. Benutz das einfach auch:
![]()
Ruby Source code
1 self.contents = Bitmap.new(width - 32, row_max * 32)
Vielen Dank, das funktioniert! :D
Quoted
Nächste Idee:
![]()
Ruby Source code
1 2 3 4 5 6 @command_window.index = @menu_index#0 for a in 1..(@window_commands.size-2) if CRAFTING.get_category_recipe_ids(@category_ids[a]).any?{|recipe_id| $game_party.recipe_known?(recipe_id)} @command_window.disable_item(a) end end
Ich werde ja nicht müde, dich neue Sachen ausprobieren zu lassen. :-)
Und ich werd nicht müde, immer wieder nachzufragen XD
Also- das funktioniert, allerdings nur so:
![]() |
Ruby Source code |
1 2 3 4 5 6 |
for a in 1..(@window_commands.size-2) if CRAFTING.get_category_recipe_ids(@category_ids[a]).any?{|recipe_id| $game_party.recipe_known?(recipe_id)} else @command_window.disable_item(a) end end |
:P
Quoted
Wenn das funktioniert, kannst Du diese Abfrage auch später nutzen:
![]()
Ruby Source code
1 2 3 4 5 if @command_window.index == 0 or CRAFTING.get_category_recipe_ids(@category_ids[@command_window.index]).any?{|recipe_id| $game_party.recipe_known?(recipe_id)} print("Kategorie "Alle Rezepze" gewählt oder die Kategorie ist verfügbar") else print("Kategorie gesperrt") end
Yay, das klappt! XD
Ich danke dir! :D
Notfalldiscord: Hier klicken
-
Joseys Wuselei
-
Meine Story - Pausiert
Lust auf Abenteuer?
So richtig mit Selbstbestimmung?
Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
"Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
Hier die Antwort:
Hier könnt ihr euren Lieblingschar wählen ;D
Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt. -
Meine Arbeiten
-
Meine Fähigkeiten
Maker:XP
Pixeln:
Mappen:
Eventen:
Scripten:
Komponieren:
-
(Mein) Autismus
Ich bin im autistischen Sprektrum-
sollte ich mich komisch verhalten, oder unhöflich wirken
(oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
ist das nicht beabsichtigt.
Josey. Epicgarantie.
Nehmt das bloß nicht ernst! D: -
Meine Welt
Mein Ehemann Kain!:*
Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
Er verdient einfach einen Platz () in meiner Signatur! XD
-
Mein Support
Der In-Game-Charset-Generator!
Erstelle Random-NPCs mit Charsetteilen!
Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
Bastelt mal Banner! : D
-
Meine beendeten Contests
[Pixelcontest] Rund um den Kürbis
Abstimmung
Siegerehrung
Das Wunder der Berge
Abstimmung
Siegerehrung -
Meine Contests
Ein Schreibcontest in Arbeit! : D
-
-
Joseys Spiele
-
Endless Ending
-
Scripted Desaster
Scripted Desaster
("nicht ganz so ernstes Projekt")
Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.
Das bedeutet doch Spaß... -
Pokémon EV
Pokemon EV
("Zeitvertreib nebenbei - Kreatief-Helfer")
Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
Ist inzwischen alles schonmal dagewesen. XD -
Lost Island
Harvest Moon - Lost Island
(Arbeitstitel, "Eventtechnik-Projekt")
Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
Das Spiel ist ein Harvest Moon Abklatsch. XD
Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
-
-
Joseys Fortschritt
-
Endless Ending
Story: 60%
Charas: 20%
Maps: 01%
Zeichnungen: 05%
Grafiken: 30%
Scripte: 70%
Musik: 00%
...ist nicht viel, huh? ^^° -
Scripted Desaster
Story: 10%
Charas: 60%
Maps: 30%
Zeichnungen: 01%
Grafiken: 60%
Scripte: 70%
Musik: 00%
Gut Ding... -
Pokemon EV
Story: 60%
Charas: 10%
Maps: 00%
Zeichnungen: 00%
Grafiken: 80%
Scripte: 90%
Musik: 70%
Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht... -
Lost Island
Story: 100%
Charas: 10%
Maps: 90%
Zeichnungen: 00%
Grafiken: 60%
Scripte: 90%
Musik: 00%
Das macht richtig Spaß XD
-
-
Huiii
Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.
Wenn ich nicht weiß, wieviele Items im Itemmenü der Spieler hat, aber wissen will, dass der Cursor gerade "ganz unten" ist- wie kann ich das abfragen? Mit Item_max ja nicht. Kann ich irgendwie abfragen, wieviele verschiedene Items gerade da sind und damit berechnen, wieviele Zeilen es sind und mir da die letzte ausspucken lassen?
Ich habe diesen Befehl in dem Schrank-System:
und ich kann hiermit die Zahl speichern:
$game_variables[1]=$game_party.total_amount_horse
Leider werden alle Items gezählt, auch die, die gestapelt sind. :/
Kann ich das irgendwie umgehen?
Also wenn da im Schrank folgendes drin ist:
2x Trank, 1xSupertrank, 3xHypertrank
Soll die Zahl 3 ergeben und nicht 6 :<
Ich habe diesen Befehl in dem Schrank-System:
![]() |
Ruby Source code |
1 2 3 4 5 6 7 8 9 10 |
#-------------------------------------------------------------------------- # * total_amount_cupboard: Returns total amount of stored items #-------------------------------------------------------------------------- def total_amount_cupboard @amount = 0 for i in 0...@quantity_cupboard.size @amount += @quantity_cupboard[i] end return @amount end |
und ich kann hiermit die Zahl speichern:
$game_variables[1]=$game_party.total_amount_horse
Leider werden alle Items gezählt, auch die, die gestapelt sind. :/
Kann ich das irgendwie umgehen?
Also wenn da im Schrank folgendes drin ist:
2x Trank, 1xSupertrank, 3xHypertrank
Soll die Zahl 3 ergeben und nicht 6 :<
highlight to read
Erledigt, hab woanders eine Methode geklaut, die funktioniert XD
![]() |
Ruby Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#-------------------------------------------------------------------------- # * inventory_space: Returns occupied space of stored items #-------------------------------------------------------------------------- def inventory_space @amount = 0 for i in 0...@items_cupboard.size if @quantity_cupboard[i] >= 1 # Flag nil @amount += 1 end end return @amount end |
Danke Vergangenheits-Mitsch XD
Notfalldiscord: Hier klicken
-
Joseys Wuselei
-
Meine Story - Pausiert
Lust auf Abenteuer?
So richtig mit Selbstbestimmung?
Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
"Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
Hier die Antwort:
Hier könnt ihr euren Lieblingschar wählen ;D
Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt. -
Meine Arbeiten
-
Meine Fähigkeiten
Maker:XP
Pixeln:
Mappen:
Eventen:
Scripten:
Komponieren:
-
(Mein) Autismus
Ich bin im autistischen Sprektrum-
sollte ich mich komisch verhalten, oder unhöflich wirken
(oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
ist das nicht beabsichtigt.
Josey. Epicgarantie.
Nehmt das bloß nicht ernst! D: -
Meine Welt
Mein Ehemann Kain!:*
Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
Er verdient einfach einen Platz () in meiner Signatur! XD
-
Mein Support
Der In-Game-Charset-Generator!
Erstelle Random-NPCs mit Charsetteilen!
Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
Bastelt mal Banner! : D
-
Meine beendeten Contests
[Pixelcontest] Rund um den Kürbis
Abstimmung
Siegerehrung
Das Wunder der Berge
Abstimmung
Siegerehrung -
Meine Contests
Ein Schreibcontest in Arbeit! : D
-
-
Joseys Spiele
-
Endless Ending
-
Scripted Desaster
Scripted Desaster
("nicht ganz so ernstes Projekt")
Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.
Das bedeutet doch Spaß... -
Pokémon EV
Pokemon EV
("Zeitvertreib nebenbei - Kreatief-Helfer")
Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
Ist inzwischen alles schonmal dagewesen. XD -
Lost Island
Harvest Moon - Lost Island
(Arbeitstitel, "Eventtechnik-Projekt")
Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
Das Spiel ist ein Harvest Moon Abklatsch. XD
Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
-
-
Joseys Fortschritt
-
Endless Ending
Story: 60%
Charas: 20%
Maps: 01%
Zeichnungen: 05%
Grafiken: 30%
Scripte: 70%
Musik: 00%
...ist nicht viel, huh? ^^° -
Scripted Desaster
Story: 10%
Charas: 60%
Maps: 30%
Zeichnungen: 01%
Grafiken: 60%
Scripte: 70%
Musik: 00%
Gut Ding... -
Pokemon EV
Story: 60%
Charas: 10%
Maps: 00%
Zeichnungen: 00%
Grafiken: 80%
Scripte: 90%
Musik: 70%
Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht... -
Lost Island
Story: 100%
Charas: 10%
Maps: 90%
Zeichnungen: 00%
Grafiken: 60%
Scripte: 90%
Musik: 00%
Das macht richtig Spaß XD
-
-
Huiii
Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.
This post has been edited 1 times, last edit by "Josey" (Jun 28th 2020, 11:37pm)
Vielleicht kommt Playm oder Mitsch ja hier vorbei und kann mir hier helfen XD
Ich habe versucht, ein "Name_Window" zu erstellen. Dieses erscheint, wenn man im Kühlschrankmenü (blauer Kerl) W drückt. Das Fenster wird sauber gefüllt und es hüpft auch mit.
Alles paletti.
Aber nu ist da eine unsauberkeit und die kommt vermutlich von meinem katastrophalen Lösungsversuchen (mit variablen und so) XD°
Wenn man im unteren Fenster ganz rechts runter geht und im oberen Fenster ganz links oben bleibt, sieht man das Fenster "springen". Das passiert, weil die Koordinaten des Name_Windows langsamer übergeben werden, als der Index.
Habs mit unsichtbar und wieder sichtbar machen probiert, habe versucht, das klappt auch nicht.
Ich kriegs auch nicht hin, das Namen-fenster direkt an die richtige Position zu rücken- also die Koordinaten direkt richtig zu übergeben. Wenn ich von einem Fenster zum anderen Wechsle, wird das richtige Fenster aktiviert, aber das Namen-fenster bleibt erstmal auf der alten position im neuen Fenster. So entstehen die Sprünge.
Einfach mal ins Menü gehen, W drücken. Rechts runter gehen. Q immer wieder drücken (wechseln). Dann sieht mans.
Die Koordinaten übergebe ich an die Variablen in "Window_HM_Store" Zeile 153/154
Das Fenster wird definiert in "Window_HM_Name"
Den Rest findet ihr in "Scene_HM_Fridge" -> Vor allem in "update_command" (Press Button Q/"L") und in "update_help" und allem, was von den beiden Punkten aus angetriggert wird.
Ich hab viel Blödsinn gemacht und muss vermutlich danach erstmal aufräumen XD°
Das ist aber leider das Beste, was ich hinkriege.
Ich hoffe mir kann jemand helfen. Bin ausgelaugt.
Ich habe versucht, ein "Name_Window" zu erstellen. Dieses erscheint, wenn man im Kühlschrankmenü (blauer Kerl) W drückt. Das Fenster wird sauber gefüllt und es hüpft auch mit.
Alles paletti.
Aber nu ist da eine unsauberkeit und die kommt vermutlich von meinem katastrophalen Lösungsversuchen (mit variablen und so) XD°
Wenn man im unteren Fenster ganz rechts runter geht und im oberen Fenster ganz links oben bleibt, sieht man das Fenster "springen". Das passiert, weil die Koordinaten des Name_Windows langsamer übergeben werden, als der Index.
Habs mit unsichtbar und wieder sichtbar machen probiert, habe versucht, das klappt auch nicht.
Ich kriegs auch nicht hin, das Namen-fenster direkt an die richtige Position zu rücken- also die Koordinaten direkt richtig zu übergeben. Wenn ich von einem Fenster zum anderen Wechsle, wird das richtige Fenster aktiviert, aber das Namen-fenster bleibt erstmal auf der alten position im neuen Fenster. So entstehen die Sprünge.
Einfach mal ins Menü gehen, W drücken. Rechts runter gehen. Q immer wieder drücken (wechseln). Dann sieht mans.
Die Koordinaten übergebe ich an die Variablen in "Window_HM_Store" Zeile 153/154
Das Fenster wird definiert in "Window_HM_Name"
Den Rest findet ihr in "Scene_HM_Fridge" -> Vor allem in "update_command" (Press Button Q/"L") und in "update_help" und allem, was von den beiden Punkten aus angetriggert wird.
Ich hab viel Blödsinn gemacht und muss vermutlich danach erstmal aufräumen XD°
Das ist aber leider das Beste, was ich hinkriege.
Ich hoffe mir kann jemand helfen. Bin ausgelaugt.
Notfalldiscord: Hier klicken
-
Joseys Wuselei
-
Meine Story - Pausiert
Lust auf Abenteuer?
So richtig mit Selbstbestimmung?
Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
"Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
Hier die Antwort:
Hier könnt ihr euren Lieblingschar wählen ;D
Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt. -
Meine Arbeiten
-
Meine Fähigkeiten
Maker:XP
Pixeln:
Mappen:
Eventen:
Scripten:
Komponieren:
-
(Mein) Autismus
Ich bin im autistischen Sprektrum-
sollte ich mich komisch verhalten, oder unhöflich wirken
(oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
ist das nicht beabsichtigt.
Josey. Epicgarantie.
Nehmt das bloß nicht ernst! D: -
Meine Welt
Mein Ehemann Kain!:*
Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
Er verdient einfach einen Platz () in meiner Signatur! XD
-
Mein Support
Der In-Game-Charset-Generator!
Erstelle Random-NPCs mit Charsetteilen!
Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
Bastelt mal Banner! : D
-
Meine beendeten Contests
[Pixelcontest] Rund um den Kürbis
Abstimmung
Siegerehrung
Das Wunder der Berge
Abstimmung
Siegerehrung -
Meine Contests
Ein Schreibcontest in Arbeit! : D
-
-
Joseys Spiele
-
Endless Ending
-
Scripted Desaster
Scripted Desaster
("nicht ganz so ernstes Projekt")
Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.
Das bedeutet doch Spaß... -
Pokémon EV
Pokemon EV
("Zeitvertreib nebenbei - Kreatief-Helfer")
Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
Ist inzwischen alles schonmal dagewesen. XD -
Lost Island
Harvest Moon - Lost Island
(Arbeitstitel, "Eventtechnik-Projekt")
Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
Das Spiel ist ein Harvest Moon Abklatsch. XD
Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
-
-
Joseys Fortschritt
-
Endless Ending
Story: 60%
Charas: 20%
Maps: 01%
Zeichnungen: 05%
Grafiken: 30%
Scripte: 70%
Musik: 00%
...ist nicht viel, huh? ^^° -
Scripted Desaster
Story: 10%
Charas: 60%
Maps: 30%
Zeichnungen: 01%
Grafiken: 60%
Scripte: 70%
Musik: 00%
Gut Ding... -
Pokemon EV
Story: 60%
Charas: 10%
Maps: 00%
Zeichnungen: 00%
Grafiken: 80%
Scripte: 90%
Musik: 70%
Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht... -
Lost Island
Story: 100%
Charas: 10%
Maps: 90%
Zeichnungen: 00%
Grafiken: 60%
Scripte: 90%
Musik: 00%
Das macht richtig Spaß XD
-
-
Huiii
Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.
also ich kann partout nicht feststellen was du mit "unsauberkeit" meinst josey.
habs grade mal getestet und es sah wirklich sauber aus. (vlt hab ich auch was verkehrt gemacht?)
was mir aber aufgefallen ist, ist die tatsache dass du die rgss102.dll benutzt und ich die erst auf die 04 updaten musste. vllt hakts ja deshalb bei dir? Kann aber auch sein dass das hier nichts damit zutun hat.
habs grade mal getestet und es sah wirklich sauber aus. (vlt hab ich auch was verkehrt gemacht?)
was mir aber aufgefallen ist, ist die tatsache dass du die rgss102.dll benutzt und ich die erst auf die 04 updaten musste. vllt hakts ja deshalb bei dir? Kann aber auch sein dass das hier nichts damit zutun hat.
Ich habe kein Talent.
Meister Tentakel besitzt das ganze Talent.
Meister Tentakel besitzt das ganze Talent.
Ich benutze mit Absicht die alte, weil die neue bei mir nur Probleme gemacht hast, vor allem mit dem RGSS3 Projekt. Die "updates" waren echt kacke. :/
Im Video hier sieht mans. Das kleine Fenster springt umher. Es hüpft erst ins obere Fenster ohne die Position zu updaten.
Im Video hier sieht mans. Das kleine Fenster springt umher. Es hüpft erst ins obere Fenster ohne die Position zu updaten.
Notfalldiscord: Hier klicken
-
Joseys Wuselei
-
Meine Story - Pausiert
Lust auf Abenteuer?
So richtig mit Selbstbestimmung?
Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
"Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
Hier die Antwort:
Hier könnt ihr euren Lieblingschar wählen ;D
Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt. -
Meine Arbeiten
-
Meine Fähigkeiten
Maker:XP
Pixeln:
Mappen:
Eventen:
Scripten:
Komponieren:
-
(Mein) Autismus
Ich bin im autistischen Sprektrum-
sollte ich mich komisch verhalten, oder unhöflich wirken
(oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
ist das nicht beabsichtigt.
Josey. Epicgarantie.
Nehmt das bloß nicht ernst! D: -
Meine Welt
Mein Ehemann Kain!:*
Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
Er verdient einfach einen Platz () in meiner Signatur! XD
-
Mein Support
Der In-Game-Charset-Generator!
Erstelle Random-NPCs mit Charsetteilen!
Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
Bastelt mal Banner! : D
-
Meine beendeten Contests
[Pixelcontest] Rund um den Kürbis
Abstimmung
Siegerehrung
Das Wunder der Berge
Abstimmung
Siegerehrung -
Meine Contests
Ein Schreibcontest in Arbeit! : D
-
-
Joseys Spiele
-
Endless Ending
-
Scripted Desaster
Scripted Desaster
("nicht ganz so ernstes Projekt")
Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.
Das bedeutet doch Spaß... -
Pokémon EV
Pokemon EV
("Zeitvertreib nebenbei - Kreatief-Helfer")
Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
Ist inzwischen alles schonmal dagewesen. XD -
Lost Island
Harvest Moon - Lost Island
(Arbeitstitel, "Eventtechnik-Projekt")
Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
Das Spiel ist ein Harvest Moon Abklatsch. XD
Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
-
-
Joseys Fortschritt
-
Endless Ending
Story: 60%
Charas: 20%
Maps: 01%
Zeichnungen: 05%
Grafiken: 30%
Scripte: 70%
Musik: 00%
...ist nicht viel, huh? ^^° -
Scripted Desaster
Story: 10%
Charas: 60%
Maps: 30%
Zeichnungen: 01%
Grafiken: 60%
Scripte: 70%
Musik: 00%
Gut Ding... -
Pokemon EV
Story: 60%
Charas: 10%
Maps: 00%
Zeichnungen: 00%
Grafiken: 80%
Scripte: 90%
Musik: 70%
Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht... -
Lost Island
Story: 100%
Charas: 10%
Maps: 90%
Zeichnungen: 00%
Grafiken: 60%
Scripte: 90%
Musik: 00%
Das macht richtig Spaß XD
-
-
Huiii
Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.
So. Erster Problelauf.
Ersetz mal bitte HM_Menu durch:
Kann aber nicht versprechen, dass es das Problem dauerhaft löst.
kurzer Nachtrag: Nach 2min testen ist es zwar nochmal ein einziges Mal passiert, aber erst als ich die q und w Tasten gedrückt hab, als würds um die Wurst gehen.
Von außen würde ich behaupten: Für den normalen Spieler ist das nichts mehr was von Bedeutung ist.
Ersetz mal bitte HM_Menu durch:
![]() |
Ruby Source code |
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 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 |
#============================================================================== # ** Scene_HM_Menu #------------------------------------------------------------------------------ # HM item and equipment menu. ICG eingebaut #============================================================================== class Scene_HM_Menu < Scene_Animation attr_reader :index # cursor position attr_reader :help_window # help window # Include HM main module for game data include HM #-------------------------------------------------------------------------- # * Main #-------------------------------------------------------------------------- def main # Background sprite inititialize_animation(3) # Make windows @item_window = Window_HM_Item.new @help_window = Window_Help.new(0, 300, 640, 180) @tool_hm_window = Window_HM_Activeslot.new(24, 19, 132, 132,"tool") @hand_hm_window = Window_HM_Activeslot.new(24, 160, 132, 132,"item") # Cursor Window @cursor_window_item = Window_HM_DualCursor.new(0,0,132,132) @cursor_window_tool = Window_HM_DualCursor.new(0,0,132,132) @cursor_window_hand = Window_HM_DualCursor.new(0,0,132,132) @item_window.cursor_window = @cursor_window_item @tool_hm_window.cursor_window = @cursor_window_tool @hand_hm_window.cursor_window = @cursor_window_hand # Special @actor = $game_party.actors[0] @trigger = false @choose_window = false @equip_tool = false @equip_hand = false @selected_index1 = -1 @selected_item1 = nil @menu_case = 0 # Execute transition Graphics.transition # Main loop loop do # Update game screen Graphics.update # Update input information Input.update # Frame update update # Abort loop if screen is changed if $scene != self break end end # Refresh map $game_map.refresh # Prepare for transition # $game_map.need_refresh = true Graphics.freeze # Dispose of windows @cursor_window_item.dispose @cursor_window_tool.dispose @cursor_window_hand.dispose @item_window.dispose @help_window.dispose @tool_hm_window.dispose @hand_hm_window.dispose # Dispose sprites dispose_sprites end #-------------------------------------------------------------------------- # * Update #-------------------------------------------------------------------------- def update # Sprite update_sprites if @trigger @item_window.active = true # @item_window.index = 0 @trigger = false end # Tastaturabfrage if @menu_case == 0 update_command_main else update_command_second end update_help # Windows if @item_window.active @item_window.update end @item_window.select_update @help_window.update @tool_hm_window.update @hand_hm_window.update end #-------------------------------------------------------------------------- # * update_help #-------------------------------------------------------------------------- def update_help if @tool_hm_window.active? item = @tool_hm_window.item? elsif @hand_hm_window.active? item = @hand_hm_window.item? elsif @item_window.active item = @item_window.item end @help_window.set_text_xy(item == nil ? "" : item.name,4,0,true) @help_window.draw_description(item == nil ? "" : item.description,4,32,false) end #-------------------------------------------------------------------------- # * update_command_main # Selecting slots. #-------------------------------------------------------------------------- def update_command_main # C if Input.trigger?(Input::C)# # Quick equip if @item_window.active # Equip selected Item @selected_index1 = @item_window.index @selected_item1 = @item_window.item # Equip if $game_party.kind[@selected_index1] == "weapon" equip(0) # Play equip SE $game_system.se_play($data_system.equip_se) elsif $game_party.kind[@selected_index1] == "item" if !@actor.item_fix? equip(1) # Play equip SE $game_system.se_play($data_system.equip_se) else $game_system.se_play($data_system.buzzer_se) end end elsif @tool_hm_window.active? if $game_party.actors[0].tool_slot # etwas ausgerüstet ist: # Empty Slot @selected_item1 = nil # Empty equip(0) # Play equip SE $game_system.se_play($data_system.equip_se) else # das Feld ist leer # rüste die nächste Weapon aus $game_party.equip_next_tool @item_window.refresh @tool_hm_window.refresh @hand_hm_window.refresh end elsif @hand_hm_window.active? if $game_party.actors[0].item_slot # etwas in der Hand ist: # Empty Slot @selected_item1 = nil # Empty if !@actor.item_fix? equip(1) # Play equip SE ICG.PlayerState_normal() $game_system.se_play($data_system.equip_se) else $game_system.se_play($data_system.buzzer_se) end else # das Feld ist leer # rüste die nächste Weapon aus $game_party.equip_next_item @item_window.refresh @tool_hm_window.refresh @hand_hm_window.refresh end end reset return end # Q if Input.trigger?(Input::L)# if @item_window.active # Select Item @item_window.selected(@item_window.index,@item_window.row) @selected_index1 = @item_window.index @selected_item1 = @item_window.item @menu_case = 1 $game_system.se_play($data_system.decision_se) return elsif @tool_hm_window.active? @tool_hm_window.selected(1) @equip_tool = true @menu_case = 2 $game_system.se_play($data_system.decision_se) return elsif @hand_hm_window.active? if !@actor.item_fix? # Item can be equipped? @hand_hm_window.selected(1) @equip_hand = true @menu_case = 3 $game_system.se_play($data_system.decision_se) else # Cancel $game_system.se_play($data_system.buzzer_se) # reset end return end end # ESC if Input.trigger?(Input::B) $trag_variables[1] = $game_party.actors[0].item_id $trag_variables[2] = $game_party.actors[0].tool_id if $trag_variables[2] == 0 $trag_variables[2] = $game_party.actors[0].seed_id end # Play cancel SE $game_system.se_play($data_system.cancel_se) # Switch to map screen $scene = Scene_Map.new return end # Item Window if @item_window.active # Switch to Slots if Input.trigger?(Input::LEFT) && @item_window.left_column? # Play Cursore SE $game_system.se_play($data_system.cursor_se) $game_variables[219] = @item_window.index if $game_variables[220] == 0 @tool_hm_window.active(true) @item_window.active = false @item_window.index = -1 else @hand_hm_window.active(true) @item_window.active = false @item_window.index = -1 end return end end # Slots if @hand_hm_window.active? || @tool_hm_window.active? # DOWN if Input.trigger?(Input::DOWN) if $game_switches[90] rucksackgroesse = 0 elsif $game_switches[91] rucksackgroesse = 3 else rucksackgroesse = 4 end # Play Cursore SE $game_system.se_play($data_system.cursor_se) if @tool_hm_window.active? x = $game_variables[219] + rucksackgroesse $game_variables[219] = x @tool_hm_window.active(false) @hand_hm_window.active(true) else x = $game_variables[219] - rucksackgroesse $game_variables[219] = x @tool_hm_window.active(true) @hand_hm_window.active(false) end end # UP if Input.trigger?(Input::UP) if $game_switches[90] rucksackgroesse = 0 elsif $game_switches[91] rucksackgroesse = 3 else rucksackgroesse = 4 end # Play Cursore SE $game_system.se_play($data_system.cursor_se) if @hand_hm_window.active? x = $game_variables[219] - rucksackgroesse $game_variables[219] = x @tool_hm_window.active(true) @hand_hm_window.active(false) else x = $game_variables[219] + rucksackgroesse $game_variables[219] = x @tool_hm_window.active(false) @hand_hm_window.active(true) end end # RIGHT if Input.trigger?(Input::RIGHT) # Play Cursore SE $game_system.se_play($data_system.cursor_se) # Switch to Items @item_window.index = $game_variables[219] @tool_hm_window.active(false) @hand_hm_window.active(false) @trigger = true return end end end #-------------------------------------------------------------------------- # * update_command_second # Handle Action. #-------------------------------------------------------------------------- def update_command_second # ENTER if Input.trigger?(Input::L) || Input.trigger?(Input::C) case @menu_case when 1 # Item Window was selected if @item_window.active # Switch Items if (!@selected_item1.nil? && !@item_window.item.nil? && @selected_index1 != @item_window.index) $game_system.se_play($data_system.equip_se) switch_items reset return else # Cancel $game_system.se_play($data_system.buzzer_se) reset return end elsif @tool_hm_window.active? # Equip Tool if ($game_party.hm_kind[@selected_index1] != "item" or @selected_item1.nil?) $game_system.se_play($data_system.equip_se) equip(0) reset return else # Cancel $game_system.se_play($data_system.buzzer_se) # reset return end elsif @hand_hm_window.active? # Equip Item if ($game_party.hm_kind[@selected_index1] == "item" && !@actor.item_fix?) or (@selected_item1.nil?) $game_system.se_play($data_system.equip_se) equip(1) reset return else # Cancel $game_system.se_play($data_system.buzzer_se) # reset return end else # Cancel end when 2 # Tool Window was selected if @item_window.active # Select Item @selected_index1 = @item_window.index @selected_item1 = @item_window.item # Equip Tool if ($game_party.hm_kind[@selected_index1] != "item" or @selected_item1.nil?) $game_system.se_play($data_system.equip_se) equip(0) reset return else # Cancel $game_system.se_play($data_system.buzzer_se) # reset return end else # Cancel $game_system.se_play($data_system.buzzer_se) reset return end when 3 # Hand Window was selected if @item_window.active # Select Item @selected_index1 = @item_window.index @selected_item1 = @item_window.item # Equip Item if ($game_party.hm_kind[@selected_index1] == "item" or @selected_item1.nil?) $game_system.se_play($data_system.equip_se) equip(1) reset return else # Cancel $game_system.se_play($data_system.buzzer_se) # reset return end else # Cancel $game_system.se_play($data_system.buzzer_se) reset return end end end # ESC if Input.trigger?(Input::B) $game_system.se_play($data_system.buzzer_se) reset return end # Item Window if @item_window.active # Switch to Slots if Input.trigger?(Input::LEFT) && @item_window.left_column? # Play Cursore SE $game_system.se_play($data_system.cursor_se) if $game_variables[220] == 0 @tool_hm_window.active(true) @item_window.active = false @item_window.index = -1 else @hand_hm_window.active(true) @item_window.active = false @item_window.index = -1 end return end end # Slots if @hand_hm_window.active? || @tool_hm_window.active? # DOWN if Input.trigger?(Input::DOWN) if $game_switches[90] rucksackgroesse = 0 elsif $game_switches[91] rucksackgroesse = 3 else rucksackgroesse = 4 end # Play Cursore SE $game_system.se_play($data_system.cursor_se) if @tool_hm_window.active? x = $game_variables[219] + rucksackgroesse $game_variables[219] = x @tool_hm_window.active(false) @hand_hm_window.active(true) else x = $game_variables[219] - rucksackgroesse $game_variables[219] = x @tool_hm_window.active(true) @hand_hm_window.active(false) end end # UP if Input.trigger?(Input::UP) if $game_switches[90] rucksackgroesse = 0 elsif $game_switches[91] rucksackgroesse = 3 else rucksackgroesse = 4 end # Play Cursore SE $game_system.se_play($data_system.cursor_se) if @hand_hm_window.active? x = $game_variables[219] - rucksackgroesse $game_variables[219] = x @tool_hm_window.active(true) @hand_hm_window.active(false) else x = $game_variables[219] + rucksackgroesse $game_variables[219] = x @tool_hm_window.active(false) @hand_hm_window.active(true) end end # RIGHT if Input.trigger?(Input::RIGHT) # Play Cursore SE $game_system.se_play($data_system.cursor_se) # Switch to Items @item_window.index = $game_variables[219] @tool_hm_window.active(false) @hand_hm_window.active(false) @trigger = true return end end end #-------------------------------------------------------------------------- # * equip : handels tool, seed and item equip # slot: tool/seed = 0, item = 1 #-------------------------------------------------------------------------- def equip(slot = 0) # Get selected Item item = @selected_item1 item_id = !item.nil? ? item.id : 0 amount = 0 # if its a seed # Selected Item if item.is_a?(RPG::Weapon) if item.name.include?("samen") || item.name.include?("Samen") || item.name.include?("dünger") || item.name.include?("Dünger") # item is a seed # Equip this seed amount = $game_party.weapon_number(item.id) if @actor.seed_id > 0 @actor.equip(1,item_id,amount) else @actor.equip(3,item_id,amount) end else # item is a tool # Equip this tool if @actor.tool_id > 0 @actor.equip(0,item_id) else @actor.equip(4,item_id) end end elsif item.is_a?(RPG::Item) # item is a item # Equip this item @actor.equip(2,item_id,0,@selected_index1) elsif item.nil? case slot when 0 if @actor.tool_id > 0 @actor.equip(0,item_id) elsif @actor.seed_id > 0 @actor.equip(1,item_id) end when 1 @actor.equip(2,item_id) end end # Refresh windows @item_window.refresh @tool_hm_window.refresh @hand_hm_window.refresh end #-------------------------------------------------------------------------- # * switch_items : Switches two items in Window_Item #-------------------------------------------------------------------------- def switch_items # Switch Items $game_party.switch_items(@selected_index1,@item_window.index) # Refresh windows @item_window.refresh @tool_hm_window.refresh @hand_hm_window.refresh end #-------------------------------------------------------------------------- # * reset : Reset Selection #-------------------------------------------------------------------------- def reset # Reset cursor windows @item_window.selected(-1) @tool_hm_window.selected(-1) @hand_hm_window.selected(-1) # Reset parameters @equip_tool = false @equip_hand = false @selected_index1 = -1 @selected_item1 = nil @menu_case = 0 end #-------------------------------------------------------------------------- # * Class End #-------------------------------------------------------------------------- end |
highlight to read
Kann aber nicht versprechen, dass es das Problem dauerhaft löst.
kurzer Nachtrag: Nach 2min testen ist es zwar nochmal ein einziges Mal passiert, aber erst als ich die q und w Tasten gedrückt hab, als würds um die Wurst gehen.
Von außen würde ich behaupten: Für den normalen Spieler ist das nichts mehr was von Bedeutung ist.
Ich habe kein Talent.
Meister Tentakel besitzt das ganze Talent.
Meister Tentakel besitzt das ganze Talent.
Ich kann gar keine Änderungen finden, außer
attr_reader :index # cursor position
attr_reader :help_window # help window
:<
Jedenfalls siehts bei mir noch genauso aus.
Die W Taste brauchst du nur einmal am Anfang drücken, danach nur noch Q.
attr_reader :index # cursor position
attr_reader :help_window # help window
:<
Jedenfalls siehts bei mir noch genauso aus.
Die W Taste brauchst du nur einmal am Anfang drücken, danach nur noch Q.
Notfalldiscord: Hier klicken
-
Joseys Wuselei
-
Meine Story - Pausiert
Lust auf Abenteuer?
So richtig mit Selbstbestimmung?
Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
"Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
Hier die Antwort:
Hier könnt ihr euren Lieblingschar wählen ;D
Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt. -
Meine Arbeiten
-
Meine Fähigkeiten
Maker:XP
Pixeln:
Mappen:
Eventen:
Scripten:
Komponieren:
-
(Mein) Autismus
Ich bin im autistischen Sprektrum-
sollte ich mich komisch verhalten, oder unhöflich wirken
(oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
ist das nicht beabsichtigt.
Josey. Epicgarantie.
Nehmt das bloß nicht ernst! D: -
Meine Welt
Mein Ehemann Kain!:*
Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
Er verdient einfach einen Platz () in meiner Signatur! XD
-
Mein Support
Der In-Game-Charset-Generator!
Erstelle Random-NPCs mit Charsetteilen!
Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
Bastelt mal Banner! : D
-
Meine beendeten Contests
[Pixelcontest] Rund um den Kürbis
Abstimmung
Siegerehrung
Das Wunder der Berge
Abstimmung
Siegerehrung -
Meine Contests
Ein Schreibcontest in Arbeit! : D
-
-
Joseys Spiele
-
Endless Ending
-
Scripted Desaster
Scripted Desaster
("nicht ganz so ernstes Projekt")
Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.
Das bedeutet doch Spaß... -
Pokémon EV
Pokemon EV
("Zeitvertreib nebenbei - Kreatief-Helfer")
Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
Ist inzwischen alles schonmal dagewesen. XD -
Lost Island
Harvest Moon - Lost Island
(Arbeitstitel, "Eventtechnik-Projekt")
Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
Das Spiel ist ein Harvest Moon Abklatsch. XD
Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
-
-
Joseys Fortschritt
-
Endless Ending
Story: 60%
Charas: 20%
Maps: 01%
Zeichnungen: 05%
Grafiken: 30%
Scripte: 70%
Musik: 00%
...ist nicht viel, huh? ^^° -
Scripted Desaster
Story: 10%
Charas: 60%
Maps: 30%
Zeichnungen: 01%
Grafiken: 60%
Scripte: 70%
Musik: 00%
Gut Ding... -
Pokemon EV
Story: 60%
Charas: 10%
Maps: 00%
Zeichnungen: 00%
Grafiken: 80%
Scripte: 90%
Musik: 70%
Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht... -
Lost Island
Story: 100%
Charas: 10%
Maps: 90%
Zeichnungen: 00%
Grafiken: 60%
Scripte: 90%
Musik: 00%
Das macht richtig Spaß XD
-
-
Huiii
Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.
Oha, das ist ja eine mega smarte Lösung von dir Josey :-D
ich selber würde das mit den Variablen nicht so machen, aber Du hast für dich eine Lösung gefunden die funktioniert, richtig nice. :-)
Du weißt ja, dass die Game_Variablen 218 und 220 erst die aktuellen Werte gesetzt bekommen, wenn die Methode update_cursor_rect im nächsten Frame aufgerufen wird.
Die Methode macht auf jeden Fall nichts schlimmes, also kannst Du die - wenn das jeweilige Fenster active ist - immer aufrufen. Also wäre mein Vorschlag, bevor Du die Variablen benutzt in Scene_HM_Fridge einfach die Methode aufzurufen.
PS: Ehrlicherweise habe ich erstmal gar nichts verstanden. x) Habe 5 Minuten gebraucht, um erstmal zu verstehen, dass es nicht um das Esc-Menü geht sondern ich den Typen anquatschen muss. Und dann musste ich mich erstmal in deinen Code reinfuchsen. Aber dann ging es. :-)
ich selber würde das mit den Variablen nicht so machen, aber Du hast für dich eine Lösung gefunden die funktioniert, richtig nice. :-)
Du weißt ja, dass die Game_Variablen 218 und 220 erst die aktuellen Werte gesetzt bekommen, wenn die Methode update_cursor_rect im nächsten Frame aufgerufen wird.
Die Methode macht auf jeden Fall nichts schlimmes, also kannst Du die - wenn das jeweilige Fenster active ist - immer aufrufen. Also wäre mein Vorschlag, bevor Du die Variablen benutzt in Scene_HM_Fridge einfach die Methode aufzurufen.
![]() |
Ruby Source code |
289 290 291 292 293 294 295 296 |
# Name Window @name_window.width = $game_variables[300] + 64 @name_window.set_text_xy(item == nil ? "" : item.name,4,0,true) @item_window.update_cursor_rect if @item_window.active # Variablen aktuallisieren, wenn das Item-Fenster aktiv ist @fridge_window.update_cursor_rect if @fridge_window.active # Variablen aktuallisieren, wenn das Fridge-Fenster aktiv ist pos = 200-@name_window.width |
PS: Ehrlicherweise habe ich erstmal gar nichts verstanden. x) Habe 5 Minuten gebraucht, um erstmal zu verstehen, dass es nicht um das Esc-Menü geht sondern ich den Typen anquatschen muss. Und dann musste ich mich erstmal in deinen Code reinfuchsen. Aber dann ging es. :-)
Das große Scientia Wiki zur Spielentwicklung 
Was ist das RGSS ? RGSS-Dokumentation auf Sc
Kyoshiros Makerkurs
Musik von Shabraxxx für euch
Guide zu den Audioformaten
Skripte von mir (Auswahl):
Atmungssystem
| Streichholzsystem
| Animiert durch Bücher blättern
Random : Marktsystem für Kardor
| Staterelated Battlergraphic
| Hinweis auf mögliche Aktionen
SelfSwitchExpirationtimer Skript - Gameplayerweiterung für Pilzesammler und Farmspiele
Meine Skripte werden gerade hier gesammelt.

Was ist das RGSS ? RGSS-Dokumentation auf Sc
Kyoshiros Makerkurs

Musik von Shabraxxx für euch

Guide zu den Audioformaten

Skripte von mir (Auswahl):
Atmungssystem






Random : Marktsystem für Kardor








Ich habe später vor, die Game_Variablen durch Josey_Variablen zu ersetzen (um sie fürs Spiel frei zu haben)- ich wüsste einfach nicht, wie ich eine Zahl sonst von Script A nach Script B rüber krieg XD
...gibt es da eine andere Lösung?
Danke für das Lob, ich geb mir Mühe selbstständig zu werden :P
Ah, sorry, dass man den blauen Kerl anquatschen muss, stand nur im obersten Post ._.
Die Lösung funktioniert!
Die Methode an der Stelle nochmal zu updaten, da hät ich echt mal drauf kommen können. Aber ich hät eh nicht gewusst wie XD
Vielen Dank!
...gibt es da eine andere Lösung?
Danke für das Lob, ich geb mir Mühe selbstständig zu werden :P
Ah, sorry, dass man den blauen Kerl anquatschen muss, stand nur im obersten Post ._.
Die Lösung funktioniert!
Die Methode an der Stelle nochmal zu updaten, da hät ich echt mal drauf kommen können. Aber ich hät eh nicht gewusst wie XD
Vielen Dank!
Notfalldiscord: Hier klicken
-
Joseys Wuselei
-
Meine Story - Pausiert
Lust auf Abenteuer?
So richtig mit Selbstbestimmung?
Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
"Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
Hier die Antwort:
Hier könnt ihr euren Lieblingschar wählen ;D
Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt. -
Meine Arbeiten
-
Meine Fähigkeiten
Maker:XP
Pixeln:
Mappen:
Eventen:
Scripten:
Komponieren:
-
(Mein) Autismus
Ich bin im autistischen Sprektrum-
sollte ich mich komisch verhalten, oder unhöflich wirken
(oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
ist das nicht beabsichtigt.
Josey. Epicgarantie.
Nehmt das bloß nicht ernst! D: -
Meine Welt
Mein Ehemann Kain!:*
Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
Er verdient einfach einen Platz () in meiner Signatur! XD
-
Mein Support
Der In-Game-Charset-Generator!
Erstelle Random-NPCs mit Charsetteilen!
Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
Bastelt mal Banner! : D
-
Meine beendeten Contests
[Pixelcontest] Rund um den Kürbis
Abstimmung
Siegerehrung
Das Wunder der Berge
Abstimmung
Siegerehrung -
Meine Contests
Ein Schreibcontest in Arbeit! : D
-
-
Joseys Spiele
-
Endless Ending
-
Scripted Desaster
Scripted Desaster
("nicht ganz so ernstes Projekt")
Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.
Das bedeutet doch Spaß... -
Pokémon EV
Pokemon EV
("Zeitvertreib nebenbei - Kreatief-Helfer")
Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
Ist inzwischen alles schonmal dagewesen. XD -
Lost Island
Harvest Moon - Lost Island
(Arbeitstitel, "Eventtechnik-Projekt")
Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
Das Spiel ist ein Harvest Moon Abklatsch. XD
Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
-
-
Joseys Fortschritt
-
Endless Ending
Story: 60%
Charas: 20%
Maps: 01%
Zeichnungen: 05%
Grafiken: 30%
Scripte: 70%
Musik: 00%
...ist nicht viel, huh? ^^° -
Scripted Desaster
Story: 10%
Charas: 60%
Maps: 30%
Zeichnungen: 01%
Grafiken: 60%
Scripte: 70%
Musik: 00%
Gut Ding... -
Pokemon EV
Story: 60%
Charas: 10%
Maps: 00%
Zeichnungen: 00%
Grafiken: 80%
Scripte: 90%
Musik: 70%
Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht... -
Lost Island
Story: 100%
Charas: 10%
Maps: 90%
Zeichnungen: 00%
Grafiken: 60%
Scripte: 90%
Musik: 00%
Das macht richtig Spaß XD
-
-
Huiii
Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Similar threads
-
RGSS 1 Probleme & Talk »
-
Menu-scenes im Secret of Mana Stil, Verbesserungsvorschläge (May 3rd 2011, 1:41pm)
-
Skript-Anfragen »
-
Eigens Menü erstellen ? (Jan 24th 2011, 4:24pm)
-
RGSS 1 Probleme & Talk »
-
Probleme mit eigenem Menü (Nov 5th 2009, 3:45pm)
-
RGSS 1 Probleme & Talk »
-
Neues Scene_Load (Apr 7th 2009, 1:11pm)
-
RGSS 1 Probleme & Talk »
-
Frage: Wie macht man es das sich das Item fenster öfnet? (Dec 3rd 2006, 8:38pm)