Archiv verlassen und diese Seite im Standarddesign anzeigen : Items ausgrauen
Ken der Kot
24.08.2018, 22:14
Hey ho
Gibts eigentlich eine Möglichkeit (im KS, Vx Ace) den Itembefehl komplett auszugrauen für den Fall, daß keine Items im Inventar sind bzw für den Fall, daß sie im Kampf ausgehen? Weiß nicht ob der Maker das kann und online scheint noch keiner danach gefragt zu haben, deswegen mach ich das mal hier so.
Ken der ausgegraute Itemkot
Bearbeite in "Window_ActorCommand" die Methode "add_item_command"
def add_item_command
add_command(Vocab::item, :item)
end
Die ruft wie alle anderen Befehle, die ein Charakter im Kampf wählen kann, "add_command" auf. "add_command" hat ein optionales drittes Argument, das wahr oder falsch sein kann und darüber entscheidet ob der Befehl genutzt werden darf oder nicht (sieht man in dem Script beispielsweise ein paar Zeilen weiter oben bei "add_guard_command"). Die Liste mit den Items der Party ist während des Spiels durch Abfragen von "$game_party.items" verfügbar, wenn keine Items im Inventar sind ist die Größe der Liste 0.
Wenn wir also wissen wollen, ob die Party Items besitzt (Größe der Liste ist > 0) brauchen wir folgende Bedingung:
add_command(Vocab::item, :item, $game_party.items.size > 0)
Ungetestet, sollte aber funktionieren :enton:
Ken der Kot
25.08.2018, 00:27
Funktioniert einwandfrei, danke sehr (Y)
Ken der Kot
10.09.2018, 20:31
Hallo, Leute. Ich habe dasselbe nun auch für Skills versucht. Also die Skill-Option im Kampf soll vollständig ausgegraut werden, wenn keine Skills vorhanden sind. Eine Idee wie das genau zu machen ist?
Viele Grüße
Ken der Kot
class Window_ActorCommand < Window_Command
def add_skill_commands
@actor.added_skill_types.sort.each do |stype_id|
name = $data_system.skill_types[stype_id]
add_command(name, :skill, (@actor.skills.size > 0), stype_id)
end
end
end
Nicht getestet, sollte aber funktionieren.
Ken der Kot
10.09.2018, 22:28
Nicht getestet, sollte aber funktionieren.
Ja, es funktioniert wunderbar, vielen Dank!
Allerdings nimmt das Snippet den Command Name aus der Database und ich verwende ja dein Sprachenskript. Kannst du es so machen, daß er den Namen für Skills und Magie aus deinem Skript nimmt?
Das hättest du jetzt wirklich selbst lösen können ;)
Im Sprachenscript hast du folgenden Code (nur das "true" muss durch das rot markierte ersetzt werden):
class Window_ActorCommand < Window_Command
def add_skill_commands
@actor.added_skill_types.sort.each do |stype_id|
name = Vocab.get_skilltype(stype_id)
add_command(name, :skill, (@actor.skills.size > 0), stype_id)
end
end
end
Ken der Kot
10.09.2018, 22:56
Das hättest du jetzt wirklich selbst lösen können ;)
Überschätz mich mal nicht. :D Ich hab das Snippet unter das Language-Script kopiert und nicht im Script selbst diese Stelle geändert. Kann ja nicht funktionieren. Nun ist alles bestens, danke.
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.