Das große Scientia Wiki zur Spielentwicklung 
Was ist das RGSS ? RGSS-Dokumentation auf Sc
Kyoshiros Makerkurs
Musik von Shabraxxx für euch
Guide zu den Audioformaten
Skripte von mir (Auswahl):
Atmungssystem
| Streichholzsystem
| Animiert durch Bücher blättern
Random : Marktsystem für Kardor
| Staterelated Battlergraphic
| Hinweis auf mögliche Aktionen
SelfSwitchExpirationtimer Skript - Gameplayerweiterung für Pilzesammler und Farmspiele
Meine Skripte werden gerade hier gesammelt.

Was ist das RGSS ? RGSS-Dokumentation auf Sc
Kyoshiros Makerkurs

Musik von Shabraxxx für euch
Guide zu den Audioformaten

Skripte von mir (Auswahl):
Atmungssystem
| Streichholzsystem
| Animiert durch Bücher blättern
Random : Marktsystem für Kardor
| Staterelated Battlergraphic
| Hinweis auf mögliche Aktionen
SelfSwitchExpirationtimer Skript - Gameplayerweiterung für Pilzesammler und Farmspiele
Meine Skripte werden gerade hier gesammelt.
Was meinst du mit Fertigkeitsbaum? Kannst du das vielleicht mal verbildlichen? Dann kann man dir auch leichter helfen.
Mehr als a Allgäuer ka a Mensch it wera.
Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren
Sowas ist scheiße zu Coden, weil man es speziell mcahen muss, also fals ich dir sowas schreiben soll brauche ich noch genauere Angaben wie:
Anzahl und die Anordnung. Eine Grafik dazu währe auch ganz nützlich.
Anzahl und die Anordnung. Eine Grafik dazu währe auch ganz nützlich.
Mehr als a Allgäuer ka a Mensch it wera.
Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren
Hab jetzt mal was geskriptet ist noch nicht ganz fertig, aber sag erstmal ob es dir gefällt (Alles über Main einfügen!!!):
Skilltree-Script by Hindi v.1.0
(die vielen Scripts sind nur übersichtshalber)
Aufrufbar mit:
Es mein Script wird aber auch Automatisch nach einem Kampf aufgerufen.
Mehr Skillpunkte bekommst du z.B. mit:
Was alles schon funktioniert, es fehtl eigentlich nur noch, dass der Schaden erhöt wird.
Skilltree-Script by Hindi v.1.0
|
|
Ruby Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
class Game_Actor attr_accessor :skill_lvls alias_method(:old_initialize, :initialize) def initialize(actor_id) @skill_lvls = [] old_initialize(actor_id) end def learn_skill(skill_id) if skill_id > 0 and not skill_learn?(skill_id) @skill_lvls = [] if @skill_lvls.nil? @skills.push(skill_id) @skill_lvls[skill_id] = 0 @skills.sort! end end end |
zum Lesen den Text mit der Maus markieren
|
|
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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
class Window_Skilltree < Window_Selectable attr_reader(:data) attr_accessor(:points) def initialize(actor_id) super(0, 64, 640, 416) @actor_id = actor_id self.index = 0 @window_help = Window_Help.new @column_max = 2 refresh() end def skill return @data[self.index] end def refresh if self.contents != nil self.contents.dispose self.contents = nil end @actor = $game_actors[@actor_id] if $game_temp.skill_points[@actor_id].nil? $game_temp.skill_points[@actor_id] = 0 @points = 0 else @points = $game_temp.skill_points[@actor_id] end @data = [] for i in 0...@actor.skills.size skill = $data_skills[@actor.skills[i]] if skill != nil @data.push(skill) end end @item_max = @data.size if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * 32) for i in 0...@item_max draw_item(i) end end update_help() end def draw_item(index) skill = @data[index] self.contents.font.color = normal_color 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 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, @actor.skill_lvls[skill.id].to_s, 2) end def update() update_help() @window_help.update() super() end def update_help() @window_help.set_text("Verfügbare Punkte: " + @points.to_s) end def dispose() @window_help.dispose() super() end end |
zum Lesen den Text mit der Maus markieren
|
|
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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
class Scene_Skilltree def main() # Execute transition Graphics.transition() # Main loop loop do $game_actors.data.each do |i| next if i.nil? @actor_id = i.id @cancle = false # Window Skilltree @window_skilltree = Window_Skilltree.new(@actor_id) until @cancle == true # Update game screen Graphics.update() # Update input information Input.update() # Frame update update() end @window_skilltree.dispose() end $scene = Scene_Map.new # Abort loop if screen is changed if $scene != self break end end end def change_item() $game_system.se_play($data_system.decision_se) index = @window_skilltree.index skill = @window_skilltree.data[index] if $game_actors[@actor_id].skill_lvls[skill.id].nil? $game_actors[@actor_id].skill_lvls[skill.id] = 0 end $game_actors[@actor_id].skill_lvls[skill.id] += 1 $game_temp.skill_points[@actor_id] -= 1 @window_skilltree.refresh() end def back_to_map() $game_system.se_play($data_system.decision_se) @cancle = true end def change_item_allowed() if $game_temp.skill_points[@actor_id] == 0 return false end return true end def update() @window_skilltree.update() if Input.trigger?(Input::C) if change_item_allowed() change_item() else $game_system.se_play($data_system.buzzer_se) end end if Input.trigger?(Input::B) back_to_map() end end end |
zum Lesen den Text mit der Maus markieren
|
|
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 |
class Scene_Battle def battle_end(result) # Clear in battle flag $game_temp.in_battle = false # Clear entire party actions flag $game_party.clear_actions # Remove battle states for actor in $game_party.actors actor.remove_states_battle end # Clear enemies $game_troop.enemies.clear # Call battle callback if $game_temp.battle_proc != nil $game_temp.battle_proc.call(result) $game_temp.battle_proc = nil end if result == 0 $game_actors.data.each do |i| next if i.nil? if $game_temp.skill_points[i.id].nil? $game_temp.skill_points[i.id] = 0 end $game_temp.skill_points[i.id] += 5 end end # Switch to map screen $scene = Scene_Skilltree.new end end |
zum Lesen den Text mit der Maus markieren
(die vielen Scripts sind nur übersichtshalber)
Aufrufbar mit:
|
|
Ruby Quellcode |
1 |
$scene = Scene_Skilltree.new |
Es mein Script wird aber auch Automatisch nach einem Kampf aufgerufen.
Mehr Skillpunkte bekommst du z.B. mit:
|
|
Ruby Quellcode |
1 |
$game_temp.skill_points[actor_id] = 5 |
Was alles schon funktioniert, es fehtl eigentlich nur noch, dass der Schaden erhöt wird.
Mehr als a Allgäuer ka a Mensch it wera.
Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren
Okay danke!
Werds jetzt gleich mla ausprobieren.
Sorry, dass ich jetzt erst antworte. Bin die Tage nicht dazu gekommen zu schreiben
Edit:
Bin schon gespannt
Werds jetzt gleich mla ausprobieren.
Sorry, dass ich jetzt erst antworte. Bin die Tage nicht dazu gekommen zu schreiben

Edit:
Das versteh ich nicht...Kannst du es mir kurz erklären, teste es dann sofort =)
Zitat
Aufrufbar mit:
![]()
Ruby Quellcode
1 $scene = Scene_Skilltree.new
Es mein Script wird aber auch Automatisch nach einem Kampf aufgerufen.
Bin schon gespannt
Ein neuer Tag, neues Glück, sieh nach vorne, nie zurück, denn gestern war heute noch morgen
Ähm so wie das bei mir angezeigt wird kann man leider nichts genaues sagen.
Also ich finde das Fenster gut und auch die Anzeige wie viele Skillpkt man hat, aber jetzt so ein Skilltree ist ja nicht drin.
Wenn es dir nicht zu viel Arbeit macht kannst du ja vlt eifnach mal irgendwie ein Beispiel reinschreiben.
Irgendwie Skills wie "Feuerball" und "Kettenblitz" oder so. Falls es funktioniert kannst du daneben auch noch ein Bildchen packen.
Das Bild müsste nicht dazu passen, kann irgendwas sein, z.B. beim Feuerball ein Apfel oder so.
Finds aber echt cool das du sowas schreiben kannst!
Wo hast du das gelernt?
Also ich finde das Fenster gut und auch die Anzeige wie viele Skillpkt man hat, aber jetzt so ein Skilltree ist ja nicht drin.
Wenn es dir nicht zu viel Arbeit macht kannst du ja vlt eifnach mal irgendwie ein Beispiel reinschreiben.
Irgendwie Skills wie "Feuerball" und "Kettenblitz" oder so. Falls es funktioniert kannst du daneben auch noch ein Bildchen packen.
Das Bild müsste nicht dazu passen, kann irgendwas sein, z.B. beim Feuerball ein Apfel oder so.
Finds aber echt cool das du sowas schreiben kannst!
Wo hast du das gelernt?
Ein neuer Tag, neues Glück, sieh nach vorne, nie zurück, denn gestern war heute noch morgen
Das kann das Script schon und ich bin grad noch dabei den Namen von jeweiligen Actor daneben zu schreiben, damit man weis, von welchem Actor es gerade die Skills sind.
Du musst einfach ein Event mit dem Befehl "Change Skills" erstellen (und bei learn und nicht forgot den Punkt reinmachen). Dann siehst du den Skillnamen auch mit nem Bild.
Hier ersetzte Window_Skilltree mit dem alten Script und für Window_Help erstellst du ein neues, dann siehst du auch noch den Namen des zu dem Skill dazugehörigem Actors.
Du musst einfach ein Event mit dem Befehl "Change Skills" erstellen (und bei learn und nicht forgot den Punkt reinmachen). Dann siehst du den Skillnamen auch mit nem Bild.
Hier ersetzte Window_Skilltree mit dem alten Script und für Window_Help erstellst du ein neues, dann siehst du auch noch den Namen des zu dem Skill dazugehörigem Actors.
|
|
Ruby Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
class Window_Help < Window_Base def set_text2(text) if @sprite.nil? @sprite = Sprite.new @sprite.bitmap = Bitmap.new(self.width, self.height) @sprite.z = 101 end @sprite.x = self.x @sprite.y = self.y + 15 @sprite.bitmap.clear @sprite.bitmap.draw_text(4, 0, self.width - 40, 32 , text, 2) end def dispose() @sprite.bitmap.dispose() unless @sprite.nil? super() end end |
zum Lesen den Text mit der Maus markieren
|
|
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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
class Window_Skilltree < Window_Selectable attr_reader(:data) attr_accessor(:points) def initialize(actor_id) super(0, 64, 640, 416) @actor_id = actor_id self.index = 0 @window_help = Window_Help.new @column_max = 2 refresh() end def skill return @data[self.index] end def refresh if self.contents != nil self.contents.dispose self.contents = nil end @actor = $game_actors[@actor_id] if $game_temp.skill_points[@actor_id].nil? $game_temp.skill_points[@actor_id] = 0 @points = 0 else @points = $game_temp.skill_points[@actor_id] end @data = [] for i in 0...@actor.skills.size skill = $data_skills[@actor.skills[i]] if skill != nil @data.push(skill) end end @item_max = @data.size if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * 32) for i in 0...@item_max draw_item(i) end end update_help() end def draw_item(index) skill = @data[index] self.contents.font.color = normal_color 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 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, @actor.skill_lvls[skill.id].to_s, 2) end def update() update_help() @window_help.update() super() end def update_help() @window_help.set_text("Verfügbare Punkte: " + @points.to_s) @window_help.set_text2(@actor.name) end def dispose() @window_help.dispose() super() end end |
zum Lesen den Text mit der Maus markieren
Mehr als a Allgäuer ka a Mensch it wera.
Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Reborn« (18. Februar 2010, 19:02)
Ok hat jetzt geklappt =)
Doch ist ganz cool.
Wäre es Möglich irgendwie das noch zu unterteilen in z.B. feuer und eis-Skills?
Also das da eifnach eine Überschrift ist?
Feuer
-Feuerball
-Flammenatem
Eis
-Eisgeschoss
-Eisblitz
Doch ist ganz cool.
Wäre es Möglich irgendwie das noch zu unterteilen in z.B. feuer und eis-Skills?
Also das da eifnach eine Überschrift ist?
Feuer
-Feuerball
-Flammenatem
Eis
-Eisgeschoss
-Eisblitz
Ein neuer Tag, neues Glück, sieh nach vorne, nie zurück, denn gestern war heute noch morgen
Ey du stelslt fragen xD, ja also möglich ist es, nur mit dem scheiß kompliziertem Window_Selction von RGSS komme ich überhaupt net zurecht. Ich kanns mal versuchen, doch versprechen tuh ich nix 
EDIT:
Nein es ist doch nicht möglich, da in der Database nicht präzise genug festgelegt wird, was für eine Eigenschaft der jeweilige Skill hat.

EDIT:
Nein es ist doch nicht möglich, da in der Database nicht präzise genug festgelegt wird, was für eine Eigenschaft der jeweilige Skill hat.
Mehr als a Allgäuer ka a Mensch it wera.
Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren
Benutzerinformationen überspringen
Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.
Natürlich, du kannst doch bei "Element" diverse Elemente auswählen :o
Zitat
Nein es ist doch nicht möglich, da in der Database nicht präzise genug festgelegt wird, was für eine Eigenschaft der jeweilige Skill hat.
Ja stimmt habs grad gefunden, hab nämlich unter $data_skills gesuch is aba in $data_system drine^^ Wenni ch mal Zeit habe mach ich das noch rein.
Mehr als a Allgäuer ka a Mensch it wera.
Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren


