Lieber Besucher, herzlich willkommen bei: RPG Studio - Make your World real. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Sonntag, 12. Juni 2011, 22:55

Itemaufnahme verhindern

Hallo zusammen,
ich komme an einer Stelle nicht weiter und bin mir nicht sicher, ob man das noch mit Events lösen kann. Und zwar möchte ich verhindern, dass man Items kaufen oder ausammeln kann, wenn man bspw. schon 10 Stück in seinem Inventar hat (die Abfrage dafür steht bereits).
An sich ließe sich die Itemaufnahme ja dadurch verhindern, indem man ein neues Eventfester mit einem aktivierten switch erstellt. Das muss sich aber doch mit Sicherheit noch einfacher lösen lassen, oder? Außerdem lässt sich dadurch ja nicht verhindern, dass man Items im Shop kaufen kann.

Danke für die Hilfe :).

Rash

Knappe

Motto: Gute Spiele hat man im Herzen nicht in der Konsole.

  • Nachricht senden

2

Montag, 13. Juni 2011, 11:22

Hast du schon mal das Itemlimit im RGSS verändert?
Ich glaub das war irgendwo bei "game_party".
RR

3

Montag, 13. Juni 2011, 12:39

Ne das hab ich noch nicht getestet und habs mir grade mal angeschaut. Bezieht sich das Maximum aber nicht nur auf eine Itemart und nicht auf die Gesamtzahl?

Folgendes möchte ich konkret umsetzen:
Man kann maximal 50 Items insgesamt im Inventar haben. Wenn die Grenze erreicht ist, soll man weder welche kaufen noch aufsammeln können. Hat man allerdings ein spezielles Item im Inventar (Tasche), kann man maximal 80 Items insgesamt im Inventar haben.

Mein bisheriger Ansatz ist ein Comment Event.
Dabei wird die Itemanzahl in verschiedenen variablen gespeichert und in einer zusammengezählt.
Danach setzen 2 Conditional Branches ein: Wenn das Item Tasche im Inventar UND wenn die Variable der zusammengezählten Items >= 80 ist, dann könnte man ein switch umlegen, der als neue Eventseite bei jedem Item ist, was man auf dem Boden aufsammeln kann (aber das versuch ich zu verhindern, da muss es ja noch eine bessere Lösung geheben). Ist das Item "Tasche" nicht im Inventar, trifft das ganze schon bei 50 ein.

Das ganze sieht bisher so aus und ist bisher zu testzwecken auf 2 Items begrenzt, die zusammengezählt werden.
Spoiler
Bild
zum Lesen den Text mit der Maus markieren

4

Montag, 13. Juni 2011, 15:15

Mit einer kleinen Script-ergänzug wird es leichter. Füge das über Main ein:

Spoiler

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
class Game_Party
  attr_accessor :item_inventar_max
  def initialize
# Create actor array
@actors = []
# Initialize amount of gold and steps
@gold = 0
@steps = 0
# Create amount in possession hash for items, weapons, and armor
@items = {}
@weapons = {}
@armors = {}
@item_inventar_max = 10
  end
  def gain_item(item_id, n)
# Update quantity data in the hash.
if item_id > 0
  if (item_sum + n) > @item_inventar_max
    n = @item_inventar_max - item_sum
  end
  @items[item_id] = [[item_number(item_id) + n, 0].max, 99].min
end
  end
  def item_sum
sum = 0
@items.values.each do |i|
  sum += i
end
return sum
  end
end
zum Lesen den Text mit der Maus markieren


Mit $game_party.item_inventar_max änderst die Anzahl der Items die man ingesamt tragen kann.
Zum Beispiel maximal 21 Items:

Ruby Quellcode

1
$game_party.item_inventar_max = 21


Edit: Könnte auch nützlich sein: Die Summe aller Items im Inventar erfährst du mit $game_party.item_sum.
Zum Beispiel könntest du die Summe in die erste Variabel speichern:

Ruby Quellcode

1
$game_variables[1] = $game_party.item_sum


Hoffe geholfen zu haben. :kumpel:

5

Montag, 13. Juni 2011, 16:01

Jap danke, das wirft nach vorne^^

6

Dienstag, 14. Juni 2011, 14:45

Mit einer kleinen Script-ergänzug wird es leichter. Füge das über Main ein:

Spoiler

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
class Game_Party
  attr_accessor :item_inventar_max
  def initialize
# Create actor array
@actors = []
# Initialize amount of gold and steps
@gold = 0
@steps = 0
# Create amount in possession hash for items, weapons, and armor
@items = {}
@weapons = {}
@armors = {}
@item_inventar_max = 10
  end
  def gain_item(item_id, n)
# Update quantity data in the hash.
if item_id > 0
  if (item_sum + n) > @item_inventar_max
    n = @item_inventar_max - item_sum
  end
  @items[item_id] = [[item_number(item_id) + n, 0].max, 99].min
end
  end
  def item_sum
sum = 0
@items.values.each do |i|
  sum += i
end
return sum
  end
end
zum Lesen den Text mit der Maus markieren


Mit $game_party.item_inventar_max änderst die Anzahl der Items die man ingesamt tragen kann.
Zum Beispiel maximal 21 Items:

Ruby Quellcode

1
$game_party.item_inventar_max = 21


Edit: Könnte auch nützlich sein: Die Summe aller Items im Inventar erfährst du mit $game_party.item_sum.
Zum Beispiel könntest du die Summe in die erste Variabel speichern:

Ruby Quellcode

1
$game_variables[1] = $game_party.item_sum


Hoffe geholfen zu haben. :kumpel:

Wie jetzt?
Muss ein Insert gemacht werden oder in Main rein?
Oder wie?
  • Vorwort


    Comming Soon.
  • Meine Skills


    :light-bulb: Ideen: :cookie-chocolate: :cookie-chocolate: :cookie-chocolate: :cookie-chocolate: :cookie2:
    :palette: Grafik: :cookie-chocolate: :cookie2: :cookie2: :cookie2: :cookie2:
    :book: Story: :cookie-chocolate: :cookie-chocolate: :cookie2: :cookie2: :cookie2:
    :game: Eventen: :cookie-chocolate: :cookie-chocolate: :cookie2: :cookie2: :cookie2:
    Bild Mappen: :cookie-chocolate: :cookie2: :cookie2: :cookie2: :cookie2:
    :quill: Scripten: :cookie2: :cookie2: :cookie2: :cookie2: :cookie2:
  • Meine 1. Story


    Meine 1. Story


    :ruby: Titel: Noch Unbekannt!

    :light-bulb: Idee: In Bearbeitung!
    :palette: Grafik: Noch nichts angefangen
    :book: Story: In Bearbeitung!
    :wrench-screwdriver: Technik: In Bearbeitung!
    :map: Maps
    1%

7

Dienstag, 14. Juni 2011, 16:13

Wie jetzt?
Muss ein Insert gemacht werden oder in Main rein?
Oder wie?
Erstellt im Script Editor über Main mit Insert eine leere Seite und in diese kopiere das gepostet Script.

In Zukunft achte bitte darauf deine Fragen höflicher zu stellen. Zumindest wenn du Hilfe erwarten willst.

8

Mittwoch, 15. Juni 2011, 19:02

Wie jetzt?
Muss ein Insert gemacht werden oder in Main rein?
Oder wie?
Erstellt im Script Editor über Main mit Insert eine leere Seite und in diese kopiere das gepostet Script.

In Zukunft achte bitte darauf deine Fragen höflicher zu stellen. Zumindest wenn du Hilfe erwarten willst.

Sry hatte keine Wirklich gute Laune...
Habe ein Error.
Wie kann ich das Fixxen?
  • Vorwort


    Comming Soon.
  • Meine Skills


    :light-bulb: Ideen: :cookie-chocolate: :cookie-chocolate: :cookie-chocolate: :cookie-chocolate: :cookie2:
    :palette: Grafik: :cookie-chocolate: :cookie2: :cookie2: :cookie2: :cookie2:
    :book: Story: :cookie-chocolate: :cookie-chocolate: :cookie2: :cookie2: :cookie2:
    :game: Eventen: :cookie-chocolate: :cookie-chocolate: :cookie2: :cookie2: :cookie2:
    Bild Mappen: :cookie-chocolate: :cookie2: :cookie2: :cookie2: :cookie2:
    :quill: Scripten: :cookie2: :cookie2: :cookie2: :cookie2: :cookie2:
  • Meine 1. Story


    Meine 1. Story


    :ruby: Titel: Noch Unbekannt!

    :light-bulb: Idee: In Bearbeitung!
    :palette: Grafik: Noch nichts angefangen
    :book: Story: In Bearbeitung!
    :wrench-screwdriver: Technik: In Bearbeitung!
    :map: Maps
    1%

9

Donnerstag, 16. Juni 2011, 17:06

Schon ok. :)

Verwendest du noch andere Scripte? Und was für ein Error ist es?
Beschreibe ihn etwas.

Social Bookmarks