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. Oktober 2008, 15:43

Skill-Limit System

Hallo,

heute präsentiere ich euch wieder ein script, dass wohl den wenigsten nützen oder als sinnvoll erscheinen wird!
es handelt sich dabei um ein skill-limit system, das es, was ich nicht wusste, schon einmal gibt!

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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
################################################################################
# Skill-Limit System
# by golden_cow
################################################################################
#ID der Variable, die das Skill-Limit bestimmt
$forget_limit_variable = 1
#Verlernen
$decide_forget = "Verlernen"
#Abbrechen
$decide_cancel = "Abbrechen"
#Infotext
$forget_info = "Verlerne eine Fähigkeit um fortzufahren!"
#Infotext wenn Skillanzahl bei einem anderen Actor noch geändert werden muss
$forget_info2 = "Drücke Esc um fortzufahren!"
#Infotext um zu beenden
$forget_info3 = "Drücke Esc um zu beenden!"
#Unlöschbare Skills
def forget_disallowed?(o) #erweiterbar mit <or o == skillid>, die nicht gelöscht werden darf 
  if o == 1 or o == 59 or o == 124 #usw! beispiele können gelöscht werden.
	return true 
  end 
end 
#Schwarzer Hintergrund, Fenster ausblenden: 0-255
$forget_window_opacity = 0
#Farben
def forget_color #Farbe Infotext 1 
  return Color.new(255, 64, 0)
end #Farbe Infotext 3
def normal_color
  return Color.new(255, 255, 255, 255)
end
def continue_color #Farbe Infotext 2
  return Color.new(255, 255, 64, 255)
end
def disallowed_color #Farbe unlöschbare Skill
  return Color.new(255, 170, 120, 255)
end
def actor_color #Farbe Actor-Name
  return Color.new(0, 0, 255, 255)
end
################################################################################
class Window_Skill < Window_Selectable
def draw_item(index)
	skill = @data[index]
	unless $scene.is_a?(Scene_Forget)
  	if @actor.skill_can_use?(skill.id)
    	self.contents.font.color = normal_color
  	else
    	self.contents.font.color = disabled_color
  	end
	else
  	if forget_disallowed?(skill.id)
    	self.contents.font.color = disallowed_color
  	else
    	self.contents.font.color = normal_color
  	end
	end
	x = 4 + index % 2 * (288 + 32)
	y = index / 2 * 32
	rect = Rect.new(x, y, self.width / @column_max - 32, 32)
	self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
	bitmap = RPG::Cache.icon(skill.icon_name)
	opacity = self.contents.font.color == normal_color ? 255 : 128
	if $scene.is_a?(Scene_Forget)
  	opacity = 255
	end  
	self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
	self.contents.draw_text(x + 28, y, 204, 32, skill.name, 0)
	self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
  end
end
class Game_Actor < Game_Battler  
 def learn_skill(skill_id)
	if skill_id > 0 and not skill_learn?(skill_id)
  	@skills.push(skill_id)
  	@skills.sort!
	end
	if @skills.size > $game_variables[$forget_limit_variable]
  	$scene = Scene_Forget.new(0)
	end
  end
end
class Window_ActorName < Window_Base
  def initialize(actor)
	super(0, 64, 640, 64)
	self.contents = Bitmap.new(width - 32, height - 32)
	@actor = actor
	refresh
  end
  def draw_actor_name(actor, x, y)
	self.contents.font.color = actor_color
	self.contents.draw_text(x, y, 120, 32, actor.name)
  end
  def refresh
	self.contents.clear
	draw_actor_name(@actor, 4, 0)
  end
end
class Scene_Forget
  def initialize(actor_index = 0, equip_index = 0, decide_index = 0)
	@decide_index = decide_index
	@actor_index = actor_index
  end
  def main
  $in_forget = true
	@actor = $game_party.actors[@actor_index]
	@help_window = Window_Help.new
  @help_window.y = 65
  @info_window = Window_Base.new(0,416,640,64)
  @info_window.contents = Bitmap.new(608,32)
  @info_window.z = 101
  @name_window = Window_ActorName.new(@actor)
  @name_window.y = 0
	@skill_window = Window_Skill.new(@actor)
	@skill_window.help_window = @help_window
	@skill_window.y = 129
  @skill_window.height = 288
	@decide_window = Window_Command.new(160,[$decide_forget,$decide_cancel])
	@decide_window.index = @decide_index
	@decide_window.x = 240
	@decide_window.y = 192
  @decide_window.z = 102
  @decide_window.back_opacity = 255
  @decide_window.visible = false
  @help_window.opacity = $forget_window_opacity
  @name_window.opacity = $forget_window_opacity
  @skill_window.opacity = $forget_window_opacity  
  @info_window.opacity = $forget_window_opacity
	Graphics.transition
	loop do
  	Graphics.update
  	Input.update
  	update
  	if $scene != self
		break
  	end
	end
	Graphics.freeze
	@help_window.dispose
	@decide_window.dispose
	@skill_window.dispose
  @info_window.dispose
  @name_window.dispose
  end
  def update
	@help_window.update
	@decide_window.update
	@skill_window.update
  @name_window.update
  @info_window.update
  @info_window.contents.clear
  @info_window.contents.font.color = forget_color
  @info_window.contents.draw_text(0,0,406,32,$forget_info)
  if @actor.skills.size > $game_variables[$forget_limit_variable]
	@info_window.contents.clear
	@info_window.contents.font.color = forget_color
	@info_window.contents.draw_text(0,0,406,32,$forget_info)
  elsif $game_party.actors[0].skills.size > $game_variables[$forget_limit_variable]
	@info_window.contents.clear
	@info_window.contents.font.color = continue_color
	@info_window.contents.draw_text(0,0,406,32,$forget_info2)
  elsif $game_party.actors[1].skills.size > $game_variables[$forget_limit_variable]
	@info_window.contents.clear
	@info_window.contents.font.color = continue_color
	@info_window.contents.draw_text(0,0,406,32,$forget_info2)
  elsif $game_party.actors[2].skills.size > $game_variables[$forget_limit_variable]
	@info_window.contents.clear
	@info_window.contents.font.color = continue_color
	@info_window.contents.draw_text(0,0,406,32,$forget_info2)
  elsif $game_party.actors[3].skills.size > $game_variables[$forget_limit_variable]
	@info_window.contents.clear
	@info_window.contents.font.color = continue_color
	@info_window.contents.draw_text(0,0,406,32,$forget_info2)
  else
	@info_window.contents.clear
	@info_window.contents.font.color = normal_color
	@info_window.contents.draw_text(0,0,406,32,$forget_info3)
  end  
	if @skill_window.active
  	@decide_window.active = false
  	@decide_window.visible = false
  	update_skill
  	return
	end
	if @decide_window.active
  	update_decide
  	return
	end
  end
  def update_skill
	if Input.trigger?(Input::B)
	if @actor.skills.size > $game_variables[$forget_limit_variable]
  	$game_system.se_play($data_system.cancel_se)
	elsif $game_party.actors[0].skills.size > $game_variables[$forget_limit_variable]
  	$game_system.se_play($data_system.cursor_se)
  	$scene = Scene_Forget.new(0)
	elsif $game_party.actors[1].skills.size > $game_variables[$forget_limit_variable]
  	$game_system.se_play($data_system.cursor_se)
  	$scene = Scene_Forget.new(1)
	elsif $game_party.actors[2].skills.size > $game_variables[$forget_limit_variable]
  	$game_system.se_play($data_system.cursor_se)
  	$scene = Scene_Forget.new(2)
	elsif $game_party.actors[3].skills.size > $game_variables[$forget_limit_variable]
  	$game_system.se_play($data_system.cursor_se)
  	$scene = Scene_Forget.new(3)
	else
 	$game_system.se_play($data_system.cancel_se)
  	 $scene = Scene_Map.new
 	return
 	end
  	return
	end
	if Input.trigger?(Input::C)
		@skill = @skill_window.skill
  	if forget_disallowed?(@skill.id)
    	$game_system.se_play($data_system.cancel_se)
  	else
  	$game_system.se_play($data_system.decision_se)
		@skill_window.active = false
		@decide_window.active = true
		@decide_window.visible = true
  	end
  	return
	end
  end
  def update_decide
	if Input.trigger?(Input::B)
  	$game_system.se_play($data_system.cancel_se)
  	@decide_window.active = false
  	@decide_window.visible = false
  	@skill_window.active = true
  	return
	end
	if Input.trigger?(Input::C)
  	case @decide_window.index
  	when 0
		$game_system.se_play($data_system.save_se)
		@decide_window.active = false
		@decide_window.visible = false
		@skill_window.active = true
		@actor.forget_skill(@skill.id)
		@skill_window.refresh
  	when 1
		$game_system.se_play($data_system.cancel_se)
		@decide_window.active = false
		@decide_window.visible = false
		@skill_window.active = true
  	return
  	end
	end
  end
end
zum Lesen den Text mit der Maus markieren


Mit dem script kann man die anzahl der skills der spieler begrenzen.
wann immer ein spieler eine skill zuviel hat, öffnet sich sofort ein skill-verlernen fenster.
das gute daran ist, dass das skill limit als variable immer veränderbar ist.
man kann auch beliebig viele skills sperren, dass heißt, man kann sie nicht löschen.

im script oben kann man noch einiges einstellen.

einbau: script über main einfügen.

Screens:
Attachment 3809Attachment 3810Attachment 3811Attachment 3812

kommentare und kritik sind erwünscht

cow
Spoiler: Sachen
zum Lesen den Text mit der Maus markieren

Zego

Krieger

Motto: Ein gesunder Mensch hat 1000 Wünsche, doch ein kranker nur einen!

  • Nachricht senden

2

Sonntag, 12. Oktober 2008, 15:55

Also ich finde das Script persönlich super! Damit kann man ganz viele Sachen machen *sabber*

Danke fürs Script!

Mfg
Zego

PS: Das perfekte Script für nen Pokemon - Spiel :P ist mir gerade so eingefallen!
  • Seven Deadly Sins

    Bild
  • :balloon-smiley: Lustige Zitate

    • :thumb-up: Zitat 1
      <Noone> Kann mir vielleicht jemand bei ner Deutschhausaufgabe helfen? Komm damit nicht zurecht :/
      <Siegertyp> Ja aber beeil dich, ich muss gleich los. Ich kann dir nur eine Frage beantworten.
      <Noone> Nur eine?
      <Siegertyp> Ja
      * Siegertyp has quit IRC (quit)
    • :thumb-up: Zitat 2
      <fusion> Hast du ein paar Nacktfotos deiner Freundin?
      <chrzan> nö :/
      <fusion> Willst du welche haben? :>
    • :thumb-up: Zitat 3
      <MMM> Ich glaub ich lache nie wieder so laut...göttlich heute morgen in Bio. wir haben jeweils unseren eigenen speichel mikroskopiert. Auf einmal die eine ganz aufgeregt "Hier bewegt sich was!!" Alle werden still, Prof guckt sich das kurz an, guckt nochmal hin "Oh, ja das ist definitv eine lebende Spermazelle" Ich glaub das Mädchen wäre am liebsten gestorben ;)
    • :thumb-up: Zitat 4
      <Wretched> Religionskriege sind Konflikte zwischen erwachsenen Menschen, bei denen es darum geht, wer den cooleren, imaginaeren Freund hat
      <D3nY0> looool :D wie geil
    • :thumb-up: Zitat 5
      <HDStyle> Ist dir schonmal aufgefallen, dass irgendwie nie Amokläufe an Hauptschulen stattfinden? o.o
      <Crytek> Ja ist klar. Da schießen ja auch alle zurück.
    • :thumb-up: Zitat 6
      <RAP|TaliFecT> Meine Freundin meint ich wäre neugierig ... zumindestens steht das in ihrem Tagebuch

Motto: Auf in die Schlacht!

  • Nachricht senden

3

Dienstag, 14. Oktober 2008, 15:51

Ja Ja wenn Golden Cow nicht wäre säße ich immer noch dran an der Umsetzung dieses Systems! Nochmals Tausend Dank!!! :yahoo!:

4

Donnerstag, 23. Oktober 2008, 16:06

gibt's leute, denen noch irgendwas einfällt, irgendeine funktion wie z.B. eine "Skill-Merken"-Funktion oder irgenwas anderes?
ich möchte das script noch ein bisschen ausbauen und erweitern, hab aber keine besonderen ideen!

cow
Spoiler: Sachen
zum Lesen den Text mit der Maus markieren

5

Donnerstag, 23. Oktober 2008, 16:23

wie wärs mit verschiedenen skillstufen? Also anstatt " Was möchtest du machen? Feritgkeit erhöhen Verlernen" Sowas halt^^ wenns sowas nich schon gibt :( Also zb Schwertshieb Stufe 1
für die nächsten stufen dann per variabel ein item oder so und dann geht der dmg hoch wie wäre das ^^

6

Freitag, 24. Oktober 2008, 23:58

Wie wärs mit der Möglichkeit (wenn dir noch langweilig ist), dass bestimmte Skills nur durch andere ersetzt werden können (also praktisch nicht verlernbar, außer der bestimmte andere Skill wird gerade gelernt)?

7

Samstag, 25. Oktober 2008, 10:15

Wie wärs mit der Möglichkeit (wenn dir noch langweilig ist), dass bestimmte Skills nur durch andere ersetzt werden können (also praktisch nicht verlernbar, außer der bestimmte andere Skill wird gerade gelernt)?


keine schlechte idee. das wär aer für den nutzer ordetlich was zum einstellen, oder?
ok ich denkmal ein versuch ists wert...

danke
cow
Spoiler: Sachen
zum Lesen den Text mit der Maus markieren

FlipelyFlip

unregistriert

8

Mittwoch, 12. November 2008, 10:34

Heyho,

wollte dieses Script verwenden doch mir is aufgefallen du hast
vergessn noch ne definition für die Esc taste zu geben, weil wenn
ich auf meine anzahl von Techniken minimiert hab, dann kann ich
da nich mehr raus, auch nich wenn ich keine attacken mehr hab!
kannste da vielleicht ne verbesserung machn oder mir sagn wie
man das macht, da ich mich noch nicht so gut mit dem RGSS
auskenn und ebn nich weiß wie man die Esc taste definiert

lg FlipelyFlip

9

Mittwoch, 12. November 2008, 14:08

Heyho,

wollte dieses Script verwenden doch mir is aufgefallen du hast
vergessn noch ne definition für die Esc taste zu geben, weil wenn
ich auf meine anzahl von Techniken minimiert hab, dann kann ich
da nich mehr raus, auch nich wenn ich keine attacken mehr hab!
kannste da vielleicht ne verbesserung machn oder mir sagn wie
man das macht, da ich mich noch nicht so gut mit dem RGSS
auskenn und ebn nich weiß wie man die Esc taste definiert

lg FlipelyFlip
ich check zwar jetzt nicht so ganz, was du meinst, aber wenn du während dem spiel F1 drückst, öffnet sich ein fenster, da gehst du oben auf keybord, und beim dritten button(esc), sollte B stehen.


entweder genauer erlären mit evtl screenshots, oder bis zur bald erscheinenden v1.0 warten, und noch n paar ideen dafür vorschlagen
Spoiler: Sachen
zum Lesen den Text mit der Maus markieren

FlipelyFlip

unregistriert

10

Donnerstag, 13. November 2008, 08:50


Heyho,

wollte dieses Script verwenden doch mir is aufgefallen du hast
vergessn noch ne definition für die Esc taste zu geben, weil wenn
ich auf meine anzahl von Techniken minimiert hab, dann kann ich
da nich mehr raus, auch nich wenn ich keine attacken mehr hab!
kannste da vielleicht ne verbesserung machn oder mir sagn wie
man das macht, da ich mich noch nicht so gut mit dem RGSS
auskenn und ebn nich weiß wie man die Esc taste definiert

lg FlipelyFlip
ich check zwar jetzt nicht so ganz, was du meinst, aber wenn du während dem spiel F1 drückst, öffnet sich ein fenster, da gehst du oben auf keybord, und beim dritten button(esc), sollte B stehen.


entweder genauer erlären mit evtl screenshots, oder bis zur bald erscheinenden v1.0 warten, und noch n paar ideen dafür vorschlagen
heyho,

also folgendes problem:

Wenn ich ins menü komme um techniken zu löschen, dann kann man nicht mehr raus!
ich glaube das man da vergessen hat, die esctaste mit einzubauen, damit man da wieder
rauskommt! Und ich hät da noch ne idee:

das script startet ja immer wenn man ne neue attacke erlernt hat, kann mans nich so
einstellen, das es nur dann startet sobald ein Chara 4 Attacken erlernt hat?

lg FlipelyFlip

11

Sonntag, 23. November 2008, 18:07

Wenn ich ins menü komme um techniken zu löschen, dann kann man nicht mehr raus!
ich glaube das man da vergessen hat, die esctaste mit einzubauen, damit man da wieder
rauskommt! Und ich hät da noch ne idee:
ja das soll so sein, mann kann das menü erst verlassen, wenn man keinen skill-überschuss mehr hat

Zitat

das script startet ja immer wenn man ne neue attacke erlernt hat, kann mans nich so
einstellen, das es nur dann startet sobald ein Chara 4 Attacken erlernt hat?
das menü script startet immer dann, wenn der spieler keine skill mehr erlernen kann, weil er das maximum erreicht hat. ob man nun das script beim erlernen oder einfach so startet, macht keinen unterschied!

Wenn wir schon dabei sind...
ich brauche dringend noch ein paar ideen, für das skill-system
es muss nicht unbedingt was mit skilllimit zu tun haben...
das ganze wird demnächst ageändert in Cow's Skill System oder was ähnliches.

jedenfalls sind glaube ich fast alle bugs des limitsystems behoben, und noch ein paar sachen verändert, die den gebrauch erleichtern(unter anderem autotext, verbieten der skills in der database und während des spiels per callscript, ...)

Also bitte fleißig ideen haben und posten:
-Alles was mit Skills und euren umsetzbaren wünschen zu tun hat

cow
Spoiler: Sachen
zum Lesen den Text mit der Maus markieren

12

Sonntag, 23. November 2008, 21:17

also ich hab bisher nirgendwo einen funktionierenden skillshop gefunden ja es gibt noch diesen link zu rmxp.org aber die demo dort kann man nicht merh downloaden. Und wenn du es schon anbietest alles mit SKills zu machen dann wäre dies doch die Gelegenheit xDD

Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

13

Sonntag, 23. November 2008, 21:27

Skill-Shop von Trickster (Trickster ftw^^)

kA, ob es schon drin ist, habs nicht getestet, aber wird das Skript auch auf der Map geprüft, oder nur nach dem Kampf?
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

14

Sonntag, 23. November 2008, 22:07

aber wird das Skript auch auf der Map geprüft, oder nur nach dem Kampf?

immer beim erlernen einer skill!
also nach levelaufstieg, oder wenn eine skill per event erlernt wird.

man kann's auch manuell aufrufen, per callscript:

Quellcode

1
$scene = Scene_Forget.new


naja skillshops gibt es ja schon genügend...

gerade sitz ich an skill-leveln, was es ja schonmal gibt von jenz...
mein wird jedoch bisschen anders,

cow
Spoiler: Sachen
zum Lesen den Text mit der Maus markieren

Social Bookmarks