Mir ist heute aufgefallen das ich in meinen Spiel nicht mit einem normalen Zufallssystem über Commen Events weiter komme.
Grund dafür, so in eine Truhe mehr als 200 Gegenstände zu verstauen ist einfach vollkommen unübersichtlich und ich will später nicht raten ob ich da das richtige stehen habe...
Also dachte ich mir heute... schreib doch ein Script dafür... was genauso funktioniert wie ein Commen Event nur... das wird auch unsagbar nervig und du hast wirklich wenig Ahnung von Ruby...
Mein Verbrechen in Ruby sieht bis nun so aus....
So weit so schlecht... nun... es könnte in dieser Art funktionieren, wenn ich noch rausfinde wie ich den Namen des Gegenstands, welchen man aus der Truhe bekommt, in einer Nachricht wiedergebe.
Leider sehe ich es nun kommen, dass das auch vollkommen überladen wird und mehrere hundert Zeilen an kopierten Code bekomme was einfach nur grauenvoll ist und im schlimmsten Fall das Spiel zum ruckeln bringt (je nachdem wie viele Gegenstände es am Ende wirklich werden).
Jemand eine Idee wie man das schöner lösen könnte?
Eine Idee hätte ich noch, weiß aber nicht wie man das in Ruby umsetzen kann.
Es könnte vielleicht ja möglich sein, dass man in die Notes eines Gegenstands einen Kommentar verfasst aller <hier könnte ihr Befehl stehen>
So was hab ich schon bei Skills gesehen und dann setzt das Script das um (wie zum Beispiel bei Pokeballscrips Monster fangen)
Jetzt könnte man ja sagen <store> oder so und der Gegenstand wird in einer Liste hinterlegt und dann wird über einen Zufallswert der Gegenstand aus der Liste an Platz x genommen und in das Inventar gelegt mit z.B. der Meldung "x mal Heiltrank erhalten"
Denke aber das Letzteres wesentlich schwerer umzusetzen ist.
Bin auch für andere Vorschläge offen...
Freue mich jedenfalls auf Hilfe und Ideen
habe dir gerade folgendes Script erstellt (einfach über main einfügen):
Das Script funktioniert wie folgt:
Über die Variable "@var_id" kannst du bestimmen, in welcher Variable die Anzahl + der Itemname gespeichert werden soll. Damit kannst du dann im Event die Variable über die Messagebox anzeigen lassen.
Nimmst du beispielsweise die "@var_id = 9", kannst du in der Messagebox folgenden Befehl verwenden: Dahinter kannst du dann bspw. " erhalten!" einfügen. Wenn der Spieler dann beispielsweise 5 Potions aus der Truhe erhält, gibt die Messagebox folgendes aus: "5x Potion erhalten!".
Die Items pro Truhe stellst du über folgende Notetags her: ch_type bestimmt dabei den Typ der Truhe. (Beispiel: "Blau", "Selten", "Golden") - per "," getrennt können hier mehrere angegeben werden. (Bspw: "rot,blau,gelb") ch_amount bestimmt wie oft dieses Item dem Spieler hinzugefügt wird. Gibst du bei einer Potion bspw. hier eine "5" an, erhält der Spieler 5 Potions, wenn dieses Item zufällig gewählt wird. Optionaler Befehl. ch_chance bestimmt die Chance, dieses Item zu erhalten. Alle Items, die hier nichts stehen haben, sind einmal in der Liste eingetragen. Du könntest bei der Potion hier jetzt eine 10 eintragen, dann wird die Potion 10 mal in der Liste dieser Truhe stehen und somit die Chance erhöht.
Öffnet der Spieler nun eine Truhe mit dem Typ "rot", wird dieser zu 80% 5x Potion und zu 20% 1x Bombe erhalten.
Öffnet der Spieler nun eine Truhe mit dem Typ "blau", wird dieser zu ca. 58% 5x Potion, zu ca. 28% 2x Helm und zu ca. 14% 1x Altes Schwert.
Eine Truhe öffnest du mit dem Befehl (im Event ein Script ausführen [Button unten rechts auf der 3. Seite]):
(in Klammern steht der ch_type)
Ich hoffe, es funktioniert, wie du es dir vorstellst. Ansonsten einfach nachfragen.
PS: Hat das andere Script, zum Lernen von Skills über Items, eigentlich zu deiner Zufriedenheit funktioniert?
Wahnsinn, dass ist genau das, was ich gesucht habe
Vielen lieben Dank
Nur ich habe noch eine Frage, kann man irgendwie variabel sagen wie viele dieser Items in der Truhe sind? (nicht so wichtig aber wäre für Heiltränke ganz lustig)
@Skilllernen
Sorry, ich habe total verplant dir bescheid zu sagen, dass Script ist klasse, vielen lieben Dank.
Wahnsinn, dass ist genau das, was ich gesucht habe
Vielen lieben Dank
Nur ich habe noch eine Frage, kann man irgendwie variabel sagen wie viele dieser Items in der Truhe sind? (nicht so wichtig aber wäre für Heiltränke ganz lustig)
@Skilllernen
Sorry, ich habe total verplant dir bescheid zu sagen, dass Script ist klasse, vielen lieben Dank.
...
Meinst du mit dieser Frage, ob es möglich wäre es einzustellen, dass nicht immer X-Items drin sind, sondern in einer bestimmten Range? => Dass es bspw. sein kann, dass der Held mal 5 Potions direkt erhält - mal nur 3? Oder wie ist diese Frage zu verstehen? x3
Edit:
Habe es einfach mal im glauben, dass meine Annahme richtig ist, angepasst:
Einfach das alte hiermit ersetzen. Beim Befehl für die Anzahl kannst du nun eine Range eingeben (Minimum-Maximum ohne Leerzeichen, getrennt durch Bindestrich):
<ch_amount: 3-6>