• Anmelden

1

Montag, 23. Juni 2008, 22:25

Reihenfolge der Gegenstände

Hallo zusammen,

ich suche eine Möglichkeit, die Gegenstände im Inventar und in Läden alphabetisch anzuordnen, nicht nach den Nummern in der Datenbank. Und die Lösung "Sortier sie doch in der Datenbank so wie du willst" gilt nicht, weil ich dann erstens mein Spiel nochmal ziemlich umbauen müsste, und zweitens Platz für mir eventuell noch einfallende Gegenstände lassen müsste - Dann wird die Liste der Gegenstände unübersichtlich und viel zu lang.

Schon mal danke im Vorraus.

2

Montag, 23. Juni 2008, 23:00

Kein Problem. Füge diesen Code:

Ruby Quellcode

1
@data.sort! {|x,y| x.name <=> y.name}


an diesen Stellen ein.

1. Window_Item unter Zeile 57...

Ruby Quellcode

1
2
3
4
5
6
...
    end
    @data.sort! {|x,y| x.name <=> y.name}
    # If item count is not 0, make a bit map and draw all items
    @item_max = @data.size
...


2. Window_ShopBuy unter Zeile 45. Also wieder über "@item_max = @data.size".

3. Window_ShopSell unter Zeile 46.

~Monsta

3

Montag, 23. Juni 2008, 23:23

Danke Monsta, du hast mir verdammt viel Arbeit erspart! Super!
Blöde Frage: Kann man da auch andere Reihenfolgen skripten? Zum Beispiel wenn ich einen "Großen Heiltrank der Menschen" und einen "Heiltrank der Menschen" habe, dass die nebeneinander sind?

4

Montag, 23. Juni 2008, 23:32

Nach folgendes Werten kannst du sortieren:

Ruby Quellcode

1
["@consumable", "@animation1_id", "@name", "@minus_state_set", "@icon_name", "@recover_hp_rate", "@common_event_id", "@mdef_f", "@price", "@occasion", "@plus_state_set", "@recover_sp", "@parameter_points", "@menu_se", "@pdef_f", "@scope", "@element_set", "@recover_sp_rate", "@parameter_type", "@animation2_id", "@hit", "@id", "@description", "@recover_hp", "@variance"]


Aber du kannst nur nach einem Wert sortieren.

Eventuell kannst du das Problem auch mit einem Präfix lösen?

z.B. Vor jede Potion z.B. "Heiltrank: " oder so...

5

Dienstag, 24. Juni 2008, 01:22

Das mit dem Präfix ist eine geniale Idee, danke Monsta!
Ich dreh den Namen einfach um: "Heiltrank der Menschen" -> "Menschen-Heiltrank"

Social Bookmarks