• Anmelden

1

Montag, 11. Juli 2011, 05:18

Menü erweitern

Halli Hallo,

ich habe mal eine frage, vor ein paar monaten oder na ya, besser gesagt einem jahr habe
ich nach diesem Menü gefragt >>> Klick Hier <<<. Dieses hat Playm (an dieser stelle noch mal vielen dank! :) )
perfekt umgesetzt & erstellt, nun habe ich eine frage, kann man dieses erweitern?
Das Unten 2x 3 sachen angezeigt werden können? (Zum Bild ) das X steht für EIN Symbohl & es soll auch wenn man zb. 20
äpfel hat, nur einer angezeigt werden.

Beispiel mit Smiley:

:heart: x20

ansonsten kann ALLES so bleiben wie es ist. :)

Wäre supper, wenn es Möglich wäre, würde mich sehr freuen :)








2

Montag, 11. Juli 2011, 06:42

Ja es wäre möglich aber wie möchtest du das genau ?
ich versteh den zweck dazu noch nicht genaus sind es an der stelle immer äpfel oder stehen da immer ganz unterschiedliche items ?
wenn es immer die selben sind würde ich dir raten es über show picture zu machen da es sehr einfach ist ansonsten lad doch mal den quelltext des scripts hoch
  • Fähigkeiten

    Maker : :rmxp:
    :palette: : :star: :star-half: :star-empty: :star-empty: :star-empty: (Grafik)
    :document: : :star: :star: :star-empty: :star-empty: :star-empty: (Script)
    :wrench-screwdriver: : :star: :star: :star: :star-half: :star-empty: (Event)
    :light-bulb: : :star: :star: :star: :star-empty: :star-empty: (Ideen)
    :music: : :star-empty: :star-empty: :star-empty: :star-empty: :star-empty: (Musik)
    :trophy: : :star: :star: :star-empty: :star-empty: :star-empty: (Gesamt)
  • Projekt

    Secret of Dragon :arbeit.arbeit:

3

Montag, 11. Juli 2011, 07:15

Nein, da kommen immer andere Item's hin.
& wie mache ich das den wenn mit der anzahl dann? dafür kann ich ned immer neues Pic machen ._.

Quelltext ist zwar im Link, aber bitteschön

Spoiler: Script

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#============================================================================
# ** Sprite_InventarHUD
#============================================================================
class Sprite_InventarHUD < Sprite
  #--------------------------------------------------------------------------
  # * Initialize
  #--------------------------------------------------------------------------
  def initialize(viewport=nil)
	super(viewport);
	#----------------------------------------------------------
	# Array der später die Itemdaten enthält
	#----------------------------------------------------------
	@data = Array.new(3)
	#----------------------------------------------------------
	# Sprite Einstellungen
	#----------------------------------------------------------
	self.x = 0
	self.y = 480 - @data.size*24
	self.z = 5
	#----------------------------------------------------------
	# Array füllen:
	#----------------------------------------------------------
	# fuer jeden Heiltrank(Item#01) im Inventar, wird eine Flasche angezeigt
	@data[0]= InventarObjekt.new( 1, "Tränke", "021-Potion01",1)
	# fuer jeden Beutel(Item#26) im Inventar werden 5 Federn angezeigt
	@data[1]= InventarObjekt.new(26, "Federn", "037-Item06", 5 )
	# fuer jeden Apfel(Item#32) im Inventar, wird ein Apfel angezeigt
	@data[2]= InventarObjekt.new(32, "Äpfel" , "041-Item10", 1 )
	#----------------------------------------------------------
	self.bitmap = Bitmap.new(640, @data.size*24)
	refresh()
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh()
	# angezeigtes Bitmap säubern
	self.bitmap.clear()
	# leichten Schatten zeichnen
	self.bitmap.fill_rect(self.bitmap.rect, Color.new(20,20,20,15))
	# zeichne alles drauf
	@data.each_index{|index| draw_line(index) }
  end
  #--------------------------------------------------------------------------
  # * Zeichne eine Reihe
  #--------------------------------------------------------------------------
  def draw_line(id)
	# zeichne den Namen des InventarObjektes aufs Bitmap
	self.bitmap.draw_text(4, 24*id, 128, 24, @data[id].name)
	# lade das Icon
	src_bitmap = RPG::Cache.icon(@data[id].bild)
	# zeichne das Item n mal
	n = $game_party.item_number(@data[id].item_id) * @data[id].multi
	n.times do |i|
  	x_k = 128 + 24*i # Koordinate des Items auf der x-Achse
  	self.bitmap.blt(x_k, id*24, src_bitmap, src_bitmap.rect)
	end
  end
end
#============================================================================
# ** InventarObjekt
#============================================================================
class InventarObjekt
  def initialize(id, name="Item", bild_name="", multiplikator=1)
	@item_id= id        	# Die ID des Items in der Database
	@name   = name      	# der Name der im HUD angezeigt wird
	@bild   = bild_name 	# das Bild was angezeigt wird
	@multi  = multiplikator # der Multiplikator
  end
  attr_reader(:item_id, :name, :bild, :multi)
end
#============================================================================
 
#============================================================================
# ->->-> Anzeige auf der Map
#----------------------------------------------------------------------------
# durch diesen Edit (Scene_Map, Interpreter) wird der HUD auf der Map an-
# gezeigt und auch geupdatet.
#============================================================================
#============================================================================
# ** Scene_Map
#============================================================================
class Scene_Map
  attr_accessor(:inventar_hud, :gold_hud)
  alias_method(:gewohntes_main_pm, :main) if(!method_defined?(:gewohntes_main_pm))
  def main()
	@inventar_hud = Sprite_InventarHUD.new()
	@gold_hud = Sprite_GoldHUD.new()
	gewohntes_main_pm
	@inventar_hud.dispose()
	@gold_hud.dispose()
  end
end
#==============================================================================
# ** Interpreter
#==============================================================================
class Interpreter
  alias_method(:change_items, :command_126) if(!method_defined?(:change_items))
  #--------------------------------------------------------------------------
  # * Change Items
  #--------------------------------------------------------------------------
  def command_126
	change_items()
	if $scene.class == Scene_Map then
  	$scene.inventar_hud.refresh()
	end
	return true;
  end
end
zum Lesen den Text mit der Maus markieren








4

Montag, 11. Juli 2011, 07:40

ich kann mir das nochmal nach der arbeit anschauen falls dir bos dahin nicht schon geholfen hat
wenn ich mir das grob durchgeguckt habe ist da schon eine zeile das ein icon angezeigt wird !?
und auf dem bild was ich seh wird keine angezeigt.

Eins möchte ich noch wissen wie änderst du mit dem script die Items die angezeigt werden ?
  • Fähigkeiten

    Maker : :rmxp:
    :palette: : :star: :star-half: :star-empty: :star-empty: :star-empty: (Grafik)
    :document: : :star: :star: :star-empty: :star-empty: :star-empty: (Script)
    :wrench-screwdriver: : :star: :star: :star: :star-half: :star-empty: (Event)
    :light-bulb: : :star: :star: :star: :star-empty: :star-empty: (Ideen)
    :music: : :star-empty: :star-empty: :star-empty: :star-empty: :star-empty: (Musik)
    :trophy: : :star: :star: :star-empty: :star-empty: :star-empty: (Gesamt)
  • Projekt

    Secret of Dragon :arbeit.arbeit:

5

Montag, 11. Juli 2011, 08:12

Das wäre sehr nett :)

Zitat

wenn ich mir das grob durchgeguckt habe ist da schon eine zeile das ein icon angezeigt wird !?
sorry, es ist warscheinlich die uhrzeit, aber das verstehe ich nicht. .__.




Quellcode

1
2
3
4
5
6
# fuer jeden Heiltrank(Item#01) im Inventar, wird eine Flasche angezeigt 
@data[0]= InventarObjekt.new( 1, "Tränke", "021-Potion01",1) 
# fuer jeden Beutel(Item#26) im Inventar werden 5 Federn angezeigt 
@data[1]= InventarObjekt.new(26, "Federn", "037-Item06", 5 ) 
# fuer jeden Apfel(Item#32) im Inventar, wird ein Apfel angezeigt 
@data[2]= InventarObjekt.new(32, "Äpfel" , "041-Item10", 1 )


da kann man die Items ändern (Bereich rot gefärbt), soweit ich das verstanden habe & es funktioniert auch einbahn frei, aber da werden dann nur mehr tränke angezeigt, also wenn man 2 tränke hat (bsp.) werden da nicht 1x der trank & dann x2 (für die anzahl angezeigt, sondern 2x die grafik.








6

Montag, 11. Juli 2011, 08:20

ich werde einfach nachher mal ein ganz neues script schreiben das so ähnlich aussieht aber deinen wünschen entsprechen sollten kannst mir eine pm schreiben falls du noch extra wünsche hast ^^
ich bin ca halb 5 wieder zuhause also genug zeit zum überlegen ^^

@data[0]= InventarObjekt.new( 1, "Tränke", "021-Potion01",1)

"021-Potion01" ist doch der name eines Icons oder irre ich mich da jetzt ?
und in der def draw_line() wird das auch gezeichnet daher versteh ich nicht das keins angezeigt wird
oder ist das icon verändert worden ?
  • Fähigkeiten

    Maker : :rmxp:
    :palette: : :star: :star-half: :star-empty: :star-empty: :star-empty: (Grafik)
    :document: : :star: :star: :star-empty: :star-empty: :star-empty: (Script)
    :wrench-screwdriver: : :star: :star: :star: :star-half: :star-empty: (Event)
    :light-bulb: : :star: :star: :star: :star-empty: :star-empty: (Ideen)
    :music: : :star-empty: :star-empty: :star-empty: :star-empty: :star-empty: (Musik)
    :trophy: : :star: :star: :star-empty: :star-empty: :star-empty: (Gesamt)
  • Projekt

    Secret of Dragon :arbeit.arbeit:

7

Montag, 11. Juli 2011, 08:30

nein nein, das Icon wird schon richtig angezeigt, nur ich will das auch wenn ich es 20x habe das es dann nur 1x angezeigt wird mit der anzahl, also :sun: x20








8

Montag, 11. Juli 2011, 08:46

achsoooooo gut jetzt versteh ich das sry bin morgens ein wenig verpeilt ^^

Quellcode

1
2
3
4
5
  def draw_line(id)
  Bitmap self.bitmap.draw_text(4, 24*id, 128, 24, @data[id].name)
  src_bitmap = RPG::Cache.icon(@data[id].bild) 
  self.bitmap.blt(128, id*24, src_bitmap, src_bitmap.rect)
end



das müsste es gewesen sein ich habe einfach die schleife raus genommen die das item x = anzahl items zeichnet :P ersetz das einfach und probier das aus
  • Fähigkeiten

    Maker : :rmxp:
    :palette: : :star: :star-half: :star-empty: :star-empty: :star-empty: (Grafik)
    :document: : :star: :star: :star-empty: :star-empty: :star-empty: (Script)
    :wrench-screwdriver: : :star: :star: :star: :star-half: :star-empty: (Event)
    :light-bulb: : :star: :star: :star: :star-empty: :star-empty: (Ideen)
    :music: : :star-empty: :star-empty: :star-empty: :star-empty: :star-empty: (Musik)
    :trophy: : :star: :star: :star-empty: :star-empty: :star-empty: (Gesamt)
  • Projekt

    Secret of Dragon :arbeit.arbeit:

9

Montag, 11. Juli 2011, 08:54

will jetzt nichts falsches machen, aber von wo bis wo? x:

& Wollte gerne 2x so einen Kleinen Kasten o: Ein bild, zur besseren vorstellungskraft :D








10

Montag, 11. Juli 2011, 09:01

das steht in der
class Sprite_InventarHUD < Sprite
ersetz das def draw_line(id) mit meiner draw_line(id)

das mit dem zweiten fenster schau ich mal nach der arbeit ich muss bald los und somit kaum zeit daran jetzt was zu machen sry ^^
  • Fähigkeiten

    Maker : :rmxp:
    :palette: : :star: :star-half: :star-empty: :star-empty: :star-empty: (Grafik)
    :document: : :star: :star: :star-empty: :star-empty: :star-empty: (Script)
    :wrench-screwdriver: : :star: :star: :star: :star-half: :star-empty: (Event)
    :light-bulb: : :star: :star: :star: :star-empty: :star-empty: (Ideen)
    :music: : :star-empty: :star-empty: :star-empty: :star-empty: :star-empty: (Musik)
    :trophy: : :star: :star: :star-empty: :star-empty: :star-empty: (Gesamt)
  • Projekt

    Secret of Dragon :arbeit.arbeit:

11

Montag, 11. Juli 2011, 09:11

Dann kommt nen Error o.O








12

Montag, 11. Juli 2011, 09:14

mit welcher meldung ?

könnte mir denken das du versehentlich ein end zu viel oder zu wenig hast ^^
  • Fähigkeiten

    Maker : :rmxp:
    :palette: : :star: :star-half: :star-empty: :star-empty: :star-empty: (Grafik)
    :document: : :star: :star: :star-empty: :star-empty: :star-empty: (Script)
    :wrench-screwdriver: : :star: :star: :star: :star-half: :star-empty: (Event)
    :light-bulb: : :star: :star: :star: :star-empty: :star-empty: (Ideen)
    :music: : :star-empty: :star-empty: :star-empty: :star-empty: :star-empty: (Musik)
    :trophy: : :star: :star: :star-empty: :star-empty: :star-empty: (Gesamt)
  • Projekt

    Secret of Dragon :arbeit.arbeit:

13

Montag, 11. Juli 2011, 10:33

Syntax Error Occured








RedLink

Landsknecht

Motto: Faulheit ist Relativ

  • Nachricht senden

14

Montag, 11. Juli 2011, 11:09

Welche Zeile?
  • Scripter

    Für den MV
  • Mitmacher

    nirgendswo

15

Montag, 11. Juli 2011, 11:13

Oh sorry, die habe ich vergessen

line: 101








RedLink

Landsknecht

Motto: Faulheit ist Relativ

  • Nachricht senden

16

Montag, 11. Juli 2011, 13:20

MAch mal das Semikolon hiter dem return true weg
  • Scripter

    Für den MV
  • Mitmacher

    nirgendswo

17

Montag, 11. Juli 2011, 14:03

Sorry, welches Simykolon? ich seh da keins sorry ._.'








RedLink

Landsknecht

Motto: Faulheit ist Relativ

  • Nachricht senden

18

Montag, 11. Juli 2011, 14:15

vor letzte zeile, dort steht return true ;
einfach das Semikolon(; ) entfernen.
  • Scripter

    Für den MV
  • Mitmacher

    nirgendswo

19

Montag, 11. Juli 2011, 14:20

Okay, hab ich gemacht, aber es Funktioniert nicht .__.


Spoiler

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#============================================================================
# ** Sprite_InventarHUD
#============================================================================
class Sprite_InventarHUD < Sprite
  #--------------------------------------------------------------------------
  # * Initialize
  #--------------------------------------------------------------------------
  def initialize(viewport=nil)
	super(viewport);
	#----------------------------------------------------------
	# Array der später die Itemdaten enthält
	#----------------------------------------------------------
	@data = Array.new(3)
	#----------------------------------------------------------
	# Sprite Einstellungen
	#----------------------------------------------------------
	self.x = 0
	self.y = 480 - @data.size*24
	self.z = 5
	#----------------------------------------------------------
	# Array füllen:
	#----------------------------------------------------------
	# fuer jeden Heiltrank(Item#01) im Inventar, wird eine Flasche angezeigt
	@data[0]= InventarObjekt.new( 1, "Tränke", "021-Potion01",1)
	# fuer jeden Beutel(Item#26) im Inventar werden 5 Federn angezeigt
	@data[1]= InventarObjekt.new(26, "Federn", "037-Item06", 5 )
	# fuer jeden Apfel(Item#32) im Inventar, wird ein Apfel angezeigt
	@data[2]= InventarObjekt.new(32, "Äpfel" , "041-Item10", 1 )
	#----------------------------------------------------------
	self.bitmap = Bitmap.new(640, @data.size*24)
	refresh()
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh()
	# angezeigtes Bitmap säubern
	self.bitmap.clear()
	# leichten Schatten zeichnen
	self.bitmap.fill_rect(self.bitmap.rect, Color.new(20,20,20,15))
	# zeichne alles drauf
	@data.each_index{|index| draw_line(index) }
  end
  #--------------------------------------------------------------------------
  # * Zeichne eine Reihe
  #--------------------------------------------------------------------------
  def draw_line(id)
  Bitmap self.bitmap.draw_text(4, 24*id, 128, 24, @data[id].name)
  src_bitmap = RPG::Cache.icon(@data[id].bild) 
  self.bitmap.blt(128, id*24, src_bitmap, src_bitmap.rect)
end
#============================================================================
# ** InventarObjekt
#============================================================================
class InventarObjekt
  def initialize(id, name="Item", bild_name="", multiplikator=1)
	@item_id= id        	# Die ID des Items in der Database
	@name   = name      	# der Name der im HUD angezeigt wird
	@bild   = bild_name 	# das Bild was angezeigt wird
	@multi  = multiplikator # der Multiplikator
  end
  attr_reader(:item_id, :name, :bild, :multi)
end
#============================================================================
 
#============================================================================
# ->->-> Anzeige auf der Map
#----------------------------------------------------------------------------
# durch diesen Edit (Scene_Map, Interpreter) wird der HUD auf der Map an-
# gezeigt und auch geupdatet.
#============================================================================
#============================================================================
# ** Scene_Map
#============================================================================
class Scene_Map
  attr_accessor(:inventar_hud, :gold_hud)
  alias_method(:gewohntes_main_pm, :main) if(!method_defined?(:gewohntes_main_pm))
  def main()
	@inventar_hud = Sprite_InventarHUD.new()
	@gold_hud = Sprite_GoldHUD.new()
	gewohntes_main_pm
	@inventar_hud.dispose()
	@gold_hud.dispose()
  end
end
#==============================================================================
# ** Interpreter
#==============================================================================
class Interpreter
  alias_method(:change_items, :command_126) if(!method_defined?(:change_items))
  #--------------------------------------------------------------------------
  # * Change Items
  #--------------------------------------------------------------------------
  def command_126
	change_items()
	if $scene.class == Scene_Map then
  	$scene.inventar_hud.refresh()
	end
	return true
  end
end
zum Lesen den Text mit der Maus markieren


habe das script nochmal eingefügt, vilt ist es dann leichter o:
ich hab nämlich keine ahnung vom scripten .__.








20

Montag, 11. Juli 2011, 16:52

lade mal bitte das projekt hier hoch dann schaue ich mir das mal genauer an
  • Fähigkeiten

    Maker : :rmxp:
    :palette: : :star: :star-half: :star-empty: :star-empty: :star-empty: (Grafik)
    :document: : :star: :star: :star-empty: :star-empty: :star-empty: (Script)
    :wrench-screwdriver: : :star: :star: :star: :star-half: :star-empty: (Event)
    :light-bulb: : :star: :star: :star: :star-empty: :star-empty: (Ideen)
    :music: : :star-empty: :star-empty: :star-empty: :star-empty: :star-empty: (Musik)
    :trophy: : :star: :star: :star-empty: :star-empty: :star-empty: (Gesamt)
  • Projekt

    Secret of Dragon :arbeit.arbeit:

Ähnliche Themen

Social Bookmarks