• Login

Dear visitor, welcome to RPG Studio - Make your World real. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Sunday, June 12th 2011, 10:55pm

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.

  • Send private message

2

Monday, June 13th 2011, 11:22am

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

3

Monday, June 13th 2011, 12:39pm

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
highlight to read

4

Monday, June 13th 2011, 3:15pm

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

Spoiler

Ruby Source code

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
highlight to read


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

Ruby Source code

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 Source code

1
$game_variables[1] = $game_party.item_sum


Hoffe geholfen zu haben. :kumpel:

5

Monday, June 13th 2011, 4:01pm

Jap danke, das wirft nach vorne^^

6

Tuesday, June 14th 2011, 2:45pm

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

Spoiler

Ruby Source code

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
highlight to read


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

Ruby Source code

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 Source code

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

Tuesday, June 14th 2011, 4:13pm

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

Wednesday, June 15th 2011, 7:02pm

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

Thursday, June 16th 2011, 5:06pm

Schon ok. :)

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

Social bookmarks