Alle Gegenstände entfernen und später zurückerhalten
Hallo zusammen,
die Überschrift sagt eigentlich schon alles.
Ich bräuchte ein Skript, dass dem Spieler alle Gegenstände im Inventar wegnimmt, diese aber speichert und sie ihm später wiedergibt.
Der Spieler wird nämlich in meinem Spiel in einen Kerker geworfen und logischerweise werden ihm seine Waffen usw. abgenommen. Damit der Spieler aber nicht umsonst alles gesammelt hat, soll er alles später wiedererhalten. Ist das möglich?
PS: Ich weiß, es ginge mit Variablen, ich will aber gar nicht dran denken, wie viel Aufwand das wäre.
die Überschrift sagt eigentlich schon alles.
Ich bräuchte ein Skript, dass dem Spieler alle Gegenstände im Inventar wegnimmt, diese aber speichert und sie ihm später wiedergibt.
Der Spieler wird nämlich in meinem Spiel in einen Kerker geworfen und logischerweise werden ihm seine Waffen usw. abgenommen. Damit der Spieler aber nicht umsonst alles gesammelt hat, soll er alles später wiedererhalten. Ist das möglich?
PS: Ich weiß, es ginge mit Variablen, ich will aber gar nicht dran denken, wie viel Aufwand das wäre.
erstell nen 2.held.. mit selbem name und Level ( kannst ja via Event einstellen ) wie der normale held...
Im kerker spielt man nun held 2..
Sobald er sein zeug zurückbekommt, wechelste wieder auf held 1 ( der immernoch alle objekte hat ).
Im kerker spielt man nun held 2..
Sobald er sein zeug zurückbekommt, wechelste wieder auf held 1 ( der immernoch alle objekte hat ).
There was a Cave,
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.
Das ist nicht so einfach, da ich kein reguläres Stufen-Aufstiegs-System benutze. Der Spieler kann aussuchen, welche Attribute er erhöhen will. Dann müsste ich auch das alles speichern, das ist auch ein ziemlicher Aufwand.
Ich habe es gerade mal ausprobiert. Wie stellst du dir das vor? Selbst wenn man alle Helden entfernt und neue hinzufügt, bleiben alle Gegenstände gleich.
Ich habe es gerade mal ausprobiert. Wie stellst du dir das vor? Selbst wenn man alle Helden entfernt und neue hinzufügt, bleiben alle Gegenstände gleich.
ok.. hab garde selber festgestellt, das des so ned funzt. du müsstest dafür die ganze party durch eine andere ersetzen...
There was a Cave,
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.
Benutzerinformationen überspringen
Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.
Nur Items oder auch Waffen und Rüstungen?
Benutzerinformationen überspringen
Motto: Man muss nicht alles mit RGSS machen, Eventtechnik for the world!
Willkommen in der Welt der Spieleprogrammierung : ohne Aufwand passiert nichts ... leider -.-*
Also ich hab über Brainstorming zwei Arten von Lösungen , die eine wäre das ganze per Switchen und Variablen zu steuern..
erst speicherst du ab ob und wie viele Items in Besitz hast, löscht alle Items und später machst du den Prozess wieder erneut und fügst sie hinzu.
Wie gesagt wäre mit etwas arbeit verbunden.
___
Die zweite Lösung die mir in den Sinn gekommen wäre ist ganz einfach die das man garnicht mehr auf die Items zugreifen kann. Man kennt das ja durch den nicht verfügbaren Speicherbutton, vielleicht geht das ja auch mit dem Item-Knopf, das der dann einfach "disabled" wird, sodass man gar nicht mehr auf Items zugreifen könnte.
___
Was mir beim schreiben der zweiten Lösung eben in den Sinn gekommen ist, einfach ein zweites Item-Fenster zu erstellen , aber halt ohne Item-Inhalt. Bspw. man nimmt ein switch "gefängniss" und wenn der an ist öffnet der dann wenn man im Menü ist nicht das normale Itemfenster sonder ein Fake-Itemfenster , welches zwar genauso aussieht , aber keinen Inhalt hat... und wenn man wieder seine Sachen hat , so macht man einfach den switch aus und das normale Itemfenster lässt sich wieder starten (man kann das sicherlich im RGSS steuern)
Also ich hab über Brainstorming zwei Arten von Lösungen , die eine wäre das ganze per Switchen und Variablen zu steuern..
erst speicherst du ab ob und wie viele Items in Besitz hast, löscht alle Items und später machst du den Prozess wieder erneut und fügst sie hinzu.
Wie gesagt wäre mit etwas arbeit verbunden.
___
Die zweite Lösung die mir in den Sinn gekommen wäre ist ganz einfach die das man garnicht mehr auf die Items zugreifen kann. Man kennt das ja durch den nicht verfügbaren Speicherbutton, vielleicht geht das ja auch mit dem Item-Knopf, das der dann einfach "disabled" wird, sodass man gar nicht mehr auf Items zugreifen könnte.
___
Was mir beim schreiben der zweiten Lösung eben in den Sinn gekommen ist, einfach ein zweites Item-Fenster zu erstellen , aber halt ohne Item-Inhalt. Bspw. man nimmt ein switch "gefängniss" und wenn der an ist öffnet der dann wenn man im Menü ist nicht das normale Itemfenster sonder ein Fake-Itemfenster , welches zwar genauso aussieht , aber keinen Inhalt hat... und wenn man wieder seine Sachen hat , so macht man einfach den switch aus und das normale Itemfenster lässt sich wieder starten (man kann das sicherlich im RGSS steuern)
Benutzerinformationen überspringen
Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.
Ich hab sogar ne Demo gemacht :D
Mit item_futsch im Call Script werden alle Ausrüstungen abgelegt und dann alle Gegenstände und Gold weggenommen.
Mit item_da wird alles wieder zurückgetan (nicht ausgerüstet, da hatte ich keine Lust zu =)
Lycosa Itemweg.rar
Mit item_futsch im Call Script werden alle Ausrüstungen abgelegt und dann alle Gegenstände und Gold weggenommen.
Mit item_da wird alles wieder zurückgetan (nicht ausgerüstet, da hatte ich keine Lust zu =)
Lycosa Itemweg.rar
Mir fehlen die Worte...
Wahnsinn!
Danke, Bahamut
. Auf dich ist echt Verlass. Dickes Lob.
EDIT: Ich bin auf einen Fehler gestoßen, den ich mir nicht wirklich erklären kann: Wenn man zwischen dem Verlieren und Zurückerhalten der Gegenstände speichert und neu lädt, bekommt man die Gegenstände nicht mehr... Woran liegt das?
EDIT 2: Ich habe die Zeile
gelöscht, jetzt funktioniert es. Vermutlich darf ich dem Spieler die Möglichkeit des Zurückerhaltens jetzt nicht öfter geben, sonst bekommt er alles doppelt, richtig?
Wahnsinn!
Danke, Bahamut
. Auf dich ist echt Verlass. Dickes Lob.EDIT: Ich bin auf einen Fehler gestoßen, den ich mir nicht wirklich erklären kann: Wenn man zwischen dem Verlieren und Zurückerhalten der Gegenstände speichert und neu lädt, bekommt man die Gegenstände nicht mehr... Woran liegt das?
EDIT 2: Ich habe die Zeile
|
|
Quellcode |
1 |
@@itemaufheb = [] |
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Lycosa« (24. September 2009, 22:38)
Benutzerinformationen überspringen
Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.
Verbessert :3
|
|
Ruby Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
class Game_System attr_accessor :itemaufheb alias_method :update_initialize_nb_skript_dingens_lycosa, :initialize def initialize(*args) @itemaufheb = [] update_initialize_nb_skript_dingens_lycosa(*args) end end class Interpreter def item_futsch # alle actors der party unausrüsten $game_party.actors.each {|i| (0..4).each {|type| i.equip(type, 0)}} # gold weg gold = $game_party.gold $game_party.lose_gold($game_party.gold) # items und ausrüstung weg item = $game_party.items weap = $game_party.weapons arm = $game_party.armors $game_party.items, $game_party.weapons, $game_party.armors = {}, {}, {} # alles merken $game_system.itemaufheb = [gold, item, weap, arm] end def item_da return if $game_system.itemaufheb.empty? gold, items, weapons, armors = @@itemaufheb $game_system.itemaufheb = [] # gold $game_party.gain_gold(gold) # der rest for meth in ["items", "weapons", "armors"] or_hash, new_hash = eval("$game_party.#{meth}"), eval("#{meth}") for id in new_hash.keys num = new_hash[id] if or_hash.include?(id) or_hash[id] += num else or_hash[id] = num end end end end end class Game_Party attr_accessor :items attr_accessor :weapons attr_accessor :armors end |
zum Lesen den Text mit der Maus markieren
Ähnliche Themen
-
RGSS 1 Probleme & Talk »-
Gegenstände löschen
(24. Januar 2009, 14:33)
-
Einsteigerhilfe »-
Gegenstände abgeben?^^
(7. Oktober 2008, 06:59)
-
Einsteigerhilfe »-
Reihenfolge der Gegenstände
(23. Juni 2008, 22:25)
-
Events & Technik »-
Angsthasen werden betrafft!
(6. Juni 2006, 18:38)
-
Events & Technik »-
Gegenstände aus Inventar entfernen
(16. Januar 2006, 18:19)


