Inventar speichern?

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Uterus
Frischling
Frischling
Beiträge: 5
Registriert: 17.08.2013, 02:41

Inventar speichern?

Beitrag von Uterus »

Hallo.

In meinem Spiel verliert der Charakter irgendwann alle bis dahin eingesammelten Gegenständen, weil sie ihm abgenommen werden, soll sie später aber wieder zu sich nehmen können.

Es ist ein bisschen wie bei Zak McKracken oder Monkey Island 2. Bei Zak McKracken kann man in Katmandu eingesperrt werden und verliert alles außer einem Feuerzeug. Wenn man sich befreit / befreien lassen hat, kann man die Gegenstände aus einem Schrank wieder aufnehmen. Dafür muss AGS aber irgendwie speichern, welche Gegenstände der Protagonist bis dato aufgenommen hat.

Gibt es ein Script, um das zu realisieren?

Danke.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Re: Inventar speichern?

Beitrag von KhrisMUC »

Du kannst einfach einem Dummy-Charakter alles übergeben, und es nachher zurückholen.

Code: Alles auswählen

// in GlobalScript.ash
import void GiveAllInventory(this Character*, Character *target);

// in GlobalScript.asc
void GiveAllInventory(this Character*, Character *target) {
  int i = 1;
  while (i <= Game.InventoryItemCount) {
    target.InventoryQuantity[i] += this.InventoryQuantity[i];
    this.InventoryQuantity[i] = 0;
    i++;
  }
  if (this == player || target == player) UpdateInventory();
}
Jetzt einfach player.GiveAllInventory(cDummy); benutzen, und wenn er die Items wieder bekommt, cDummy.GiveAllInventory(player);
Use gopher repellent on funny little man
Antworten