Ja, da bin ich wieder. Und schon wieder mit ner Javascript-Frage
Ich versuche gerade, in Yanflys Option Plugin einen eigenen Punkt hinzuzufügen, der nicht nur die Schalter AN und AUS besitzen soll. Konkret würde ich gerne dem Spieler die Möglichkeit geben, die Spielgeschwindigkeit zu verändern. Kennt man vielleicht aus diversen Aufbausimulationen, bei denen man die Zeit um einen Faktor 2 oder 4 oder ähnlich erhöhen kann, damit die Gebäude schneller gebaut werden, Geld schneller verdient wird, ect.
Dazu habe ich einen Eintrag von den Soundoptionen kopiert, in der Hoffnung, damit einen Balken von 1-100 zu bekommen, den ich dann entsprechend anpassen könnte. Ich denke, dass mir 3-4 verschiedene Einstellungen reichen würden (also ein Balken von 1 bis 4).
Zur Hälfte hab ich das auch geschafft, aber anstelle von Zahlen wird mir ON und OFF angezeigt und ich hab keine Ahnung, wo der Text herkommt. Das heißt, ich bräuchte wiedermal einen kleinen Exkurs in Sachen Javascript.
Hier der aktuelle Code:
this.addCommand(name, symbol, enabled, ext);
var rect = this.itemRectForText(index);
var statusWidth = this.statusWidth();
var titleWidth = rect.width - statusWidth;
this.resetTextColor();
this.changePaintOpacity(this.isCommandEnabled(index));
this.drawOptionsName(index);
var value = this.getConfigValue(symbol);
var rate = ((value) / 4).clamp(0, 1);
var gaugeColor1 = this.textColor(30);
var gaugeColor2 = this.textColor(31);
this.drawOptionsGauge(index, rate, gaugeColor1, gaugeColor2);
this.drawText(this.statusText(index), titleWidth, rect.y, statusWidth, 'center');
var index = this.index();
var symbol = this.commandSymbol(index);
var value = this.getConfigValue(symbol);
value += 1;
if (value > 4) {
value = 1;
}
value = value.clamp(1, 4);
this.changeValue(symbol, value);
var index = this.index();
var symbol = this.commandSymbol(index);
var value = this.getConfigValue(symbol);
value += 1;
value = value.clamp(1, 4);
this.changeValue(symbol, value);
var index = this.index();
var symbol = this.commandSymbol(index);
var value = this.getConfigValue(symbol);
value -= 1;
value = value.clamp(1, 4);
this.changeValue(symbol, value);
ConfigManager[symbol] = 1;
config[symbol] = ConfigManager[symbol];
var value = config[symbol];
if (value !== undefined) {
ConfigManager[symbol] = Number(value).clamp(1, 4);
} else {
ConfigManager[symbol] = 4;
}
Kann das Plugin auch gern zur Verfügung stellen, falls das erlaubt ist und es jemand nicht hat, aber gerne helfen würde.
Ingame funktioniert es mit den 4 Schritten im Balken, aber anstelle einer Zahl zeigt er ON und OFF an.