Wie du willst. Das ganze "Script" muss an deine Vorstellungen und Ideen angepasst werden. Deswegen hab ich keinen direkten RPG Maker Code geschrieben, sondern verallgemeinert. Strait Insertion ist schwieriger, passt aber besser.Zitat von lokipoki
Ja. Sozusagen ist die Item-Posi-Liste eine Highscoreliste mit den zB. zehn meist vorhandenen Items. Nur wird es nie einen elften "Rang" geben, da das ja beim Item-Aufsammeln ausgeschlossen werden muss. Ist also noch ein Platz frei, wird das neue Item eingeordnet indem die entsprechenden alten verrrückt werden.Zitat von lokipoki
Ja, gut mitgedacht. Da hab ich einen Fehler gemacht um im Nachhinein vergessen was zu sagen:Zitat von lokipoki
Wenn das aufgesammelte Item noch nicht im Inventar ist, wird es einfach reingesteckt - also der Code ausgeführt. Gibt es aber das Item im Inventar schon (was häufig der Fall sein wird), müsste man es ja an eine andere Position stellen. Deswegen löscht man vor dem Aufnehmen des Items den Inhalt der ItemPosiVars (auf null setzen) uns sortiert noch mal die ganze ItemPosiListe (Kartenhand) von vorne. Beim Kartenspiel-Beispiel würde das bedeuten, dass es auch nuller Karten gibt die beim Ziehen auf dem Tisch liegen gelassen werden.
Beim genannten Quellcode bedeutet also *Komplette ItemPosi-Liste leeren mit Schleife oder einzeln* dass es nochmal einen Loop ganz außenrum gibt, der die Var2 definiert. Es wird also nicht nur das gerade aufgenommene Item einsortiert, sondern alle Items > null in die Liste einfügt. Damit das jetzt nicht zu kompliziert wird, nochmal der Vorgang in Stichpunkten:
1. Das Item +1 (statt zum zB. sechs jetzt sieben Heiltränke)
2. Die ItemPosiVars = 0 (Highscoreliste der Itemanzahl leeren)
3. Erstes Item mit Anzahl > Null suchen und einsortieren (Erste Karte in die Hand nehmen)
4. Zweites Item mit Anzahl > Null suchen und einsortierem (zweite Karte in die Hand sortieren)
5. So oft wiederholen wie ItemPosiVars vorhanden (Karten aufnehmen und einsortieren, wenn max. Kartenhandzahl noch nicht erreicht)
Würde man Bubble Sort nehmen, müsste man bei 1000 verschiedenen Items im Spiel auch 1000 ItemPosiVars machen.