Ergebnis 1 bis 13 von 13

Thema: Item Limit (Ace)

  1. #1

    Item Limit (Ace)

    Sers Maker und Makerinnen,

    Sprecht, gibt es ein Script, das die Gesamtanzahl an Items bestimmter IDs im Inventar einem Limit unterwirft? Sagen wir, wir haben zwei Items mit den IDs 1 und 2. Vom ersten Item möchte ich maximal 10 im Inventar haben. Danach kann kein weiteres dieser Items aufgenommen werden. Für das zweite Item beträgt das Maximum 20 und für alle weiteren die üblichen 99. Ist dieses Unterfangen im Rahmen des Möglichen, oh Lordschaft?

    Ich fand jüngst auf meiner Suche diverse Scripte, die auch Gewicht (Respektive "Weight") der Items berücksichtigen. Sowas such ich aber tatsächlicherweise nicht. Mich düngt es lediglich nach einem Script, welches Items bestimmter IDs einem Limit unterwirft. Vielleicht existiert etwas in dieser Einfachheit?

    Es grüßt,

    Sire Ken von Kotelot

    Geändert von Ken der Kot (09.07.2019 um 17:57 Uhr)

  2. #2
    Sehr einfach - in der Hoffnung, dass VX Ace bei allen Klassen/Abfragen die Game_Party item_max verwendet
    Script:
    Code:
    class Game_Party < Game_Unit
      alias ldt_max_item_number max_item_number
      def max_item_number(item)
        (item.note =~  /<ldt_imax>(\d+)/i) ? $1.to_i : ldt_max_item_number(item)
      end
    end
    Damit kannst du auf der Item Seite in der Datenbank einfach folgendes Eintragen, um das Maximum festzulegen (x = eine Zahl):
    Code:
    <ldt_imax>X

  3. #3
    Danke für deine Hilfe nochmal, Linkey.

    Generelle Frage: Wie kann ich bewirken, dass bestimmte Items im Shop gar nicht erst auftauchen können?

  4. #4
    Das stellst du doch im Shop selbst ein. Wenn du das Shop Event erstellst, wählst du dort aus, welche Items im Shop angeboten werden.
    Oder meinst du für's Verkaufen?

  5. #5
    Ja, genau für's Verkaufen. Ich bin so weit, dass ich weiß, dass wenn ich einen Betrag von 0 Gold in der Database festlege, das Item zumindest nicht verkauft werden kann und ausgegraut dargestellt wird. Die nächste Stufe wäre dann, dass es als Folge auch gar nicht in der Auswahl angezeigt wird, da es ohnehin nicht "verkaufbar" ist.^^

  6. #6
    Code:
    class Window_ShopSell < Window_ItemList
      alias ldt_include? include?
      def include?(item)
        return false unless(enable?(item))
        return ldt_include?(item)
      end
    end

  7. #7
    Zitat Zitat von Linkey Beitrag anzeigen
    Code:
    class Window_ShopSell < Window_ItemList
      alias ldt_include? include?
      def include?(item)
        return false unless(enable?(item))
        return ldt_include?(item)
      end
    end
    Hmm, leider funktioniert das nicht bei mir. Die entsprechenden Items sind immer noch ausgegraut, anstatt weg.

  8. #8
    Wenn du das original Shopsystem verwendest, sollte es damit funktionieren. Im frischen Projekt funktioniert das zumindest

  9. #9
    Zitat Zitat von Linkey Beitrag anzeigen
    Wenn du das original Shopsystem verwendest, sollte es damit funktionieren. Im frischen Projekt funktioniert das zumindest
    Ach, Mist. Ich hab noch das Sell-Only-Shop-Script v1.0 von Enelvon. Dachte aber eigentlich nicht, dass das so viel am Default verändert. Abgesehen davon, dass es den "Kaufen"-Button deaktiviert.

    Geändert von Ken der Kot (12.07.2019 um 19:13 Uhr)

  10. #10
    Denke nicht, dass es an diesem Script liegt. Hast du es mal in einem neuen Projekt probiert?

  11. #11
    Zitat Zitat von Linkey Beitrag anzeigen
    Denke nicht, dass es an diesem Script liegt. Hast du es mal in einem neuen Projekt probiert?
    Ja, es funktioniert in einem neuen Projekt. Es funktioniert auch, wenn ich dieses Script hier rausnehme.



    (Das entfernt das Kategorienfenster. Find ich gut.)

    Jedenfalls ist dieses Script der "Übeltäter", aber wenn ich deinen Scriptschnipsel da reinkopiere, ändert das leider nichts.

  12. #12
    Solche Infos wären natürlich vorab schon ganz gut zu wissen

    Dein Script schreibt alles in die Item List rein (weil du die Kategorien ja entfernt hast).

    Ändere die Zeile mal in folgendes um (die andere Methode, die ich dir vorher genannt habe, brauchst du nicht mehr):

    Code:
    def make_item_list
    @data = $game_party.all_items.select {|item| enable?(item) }
    @data.push(nil) if include?(nil)
     end

  13. #13
    Zitat Zitat von Linkey Beitrag anzeigen
    Solche Infos wären natürlich vorab schon ganz gut zu wissen
    Sorry.

    Funktioniert jetzt astrein. Vielen Dank für deine Hilfe, Sir.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •