Animated Battlers, aber anders!
Hallo liebe Community,
Ich suche bzw. brauche ein Script
ählich der anderen Animated BattlerScripts.
Jedoch mit einem wesentlichen Unterschied.
Anstatt alles zu animieren, Sprich (Standpose, Angriff, Skill, Tot etc.)
brauche ich nur die Standpose. Da ich mich mit RGSS nicht so gut
auskenne, kann ich lieder nicht abschätzen,
ob es reicht die entsprechenden Parts aus einem anderen Script zu
entfernen. Wäre sehr verbunden wenn mir jemand helfen könnte.
Nochmal die Details:
Somit freue ich mich über schnelle und auch weniger schnelle
Antworten und danke im Vorraus.
~icay
Ich suche bzw. brauche ein Script
ählich der anderen Animated BattlerScripts.
Jedoch mit einem wesentlichen Unterschied.
Anstatt alles zu animieren, Sprich (Standpose, Angriff, Skill, Tot etc.)
brauche ich nur die Standpose. Da ich mich mit RGSS nicht so gut
auskenne, kann ich lieder nicht abschätzen,
ob es reicht die entsprechenden Parts aus einem anderen Script zu
entfernen. Wäre sehr verbunden wenn mir jemand helfen könnte.
Nochmal die Details:
- Battler als 4 Frame Standpose
- Ausblenden wenn Aktion getroffen
Somit freue ich mich über schnelle und auch weniger schnelle
Antworten und danke im Vorraus.
~icay
Benutzerinformationen überspringen
Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.
Kein Problem, kann ich kurz machen, aber nur im Austausch gegen ein paar Informationen ;)
Standard-KS?
Sollen die Battlergrafiken so aufgebaut sein, wie die Characters, also nebeneinander oder willst du einzelne Grafiken?
Standard-KS?
Sollen die Battlergrafiken so aufgebaut sein, wie die Characters, also nebeneinander oder willst du einzelne Grafiken?
Benutzerinformationen überspringen
Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.
|
|
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 |
class Sprite_Battler
# OPTIONS ##########
AniBat_Affected_Battlers = ["001-Fighter01"]
AniBat_Frame_Number = 4
AniBat_Frame_Duration = 15
########
alias_method :nb_for_icay_battler_standani, :initialize
def initialize(*args)
nb_for_icay_battler_standani(*args)
@animated_battler_frame = 0
end
def is_showing_animated?
return (AniBat_Affected_Battlers.include?(@battler_name) and ($scene.phase == 2 or $scene.phase == 3))
end
def update_bitmap_graphic
# If file name or hue are different than current ones
if @battler.battler_name != @battler_name or
@battler.battler_hue != @battler_hue
# Get and set bitmap
@battler_name = @battler.battler_name
@battler_hue = @battler.battler_hue
self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue)
@width = bitmap.width
@height = bitmap.height
self.ox = @width / 2
self.oy = @height
# Change opacity level to 0 when dead or hidden
if @battler.dead? or @battler.hidden
self.opacity = 0
end
end
if is_showing_animated?
@animated_battler_frame = (@animated_battler_frame+1) % (AniBat_Frame_Number * AniBat_Frame_Duration)
self.src_rect.width = self.bitmap.width / AniBat_Frame_Number
self.src_rect.x = self.src_rect.width * (@animated_battler_frame / AniBat_Frame_Duration)
else
self.src_rect.set(0, 0, self.bitmap.width, self.bitmap.height)
end
@width = self.src_rect.width
self.ox = @width/2
end
def update
super
# If battler is nil
if @battler == nil
self.bitmap = nil
loop_animation(nil)
return
end
update_bitmap_graphic
# If animation ID is different than current one
if @battler.damage == nil and
@battler.state_animation_id != @state_animation_id
@state_animation_id = @battler.state_animation_id
loop_animation($data_animations[@state_animation_id])
end
# If actor which should be displayed
if @battler.is_a?(Game_Actor) and @battler_visible
# Bring opacity level down a bit when not in main phase
if $game_temp.battle_main_phase
self.opacity += 3 if self.opacity < 255
else
self.opacity -= 3 if self.opacity > 207
end
end
# Blink
if @battler.blink
blink_on
else
blink_off
end
# If invisible
unless @battler_visible
# Appear
if not @battler.hidden and not @battler.dead? and
(@battler.damage == nil or @battler.damage_pop)
appear
@battler_visible = true
end
end
# If visible
if @battler_visible
# Escape
if @battler.hidden
$game_system.se_play($data_system.escape_se)
escape
@battler_visible = false
end
# White flash
if @battler.white_flash
whiten
@battler.white_flash = false
end
# Animation
if @battler.animation_id != 0
animation = $data_animations[@battler.animation_id]
animation(animation, @battler.animation_hit)
@battler.animation_id = 0
end
# Damage
if @battler.damage_pop
damage(@battler.damage, @battler.critical)
@battler.damage = nil
@battler.critical = false
@battler.damage_pop = false
end
# Collapse
if @battler.damage == nil and @battler.dead?
if @battler.is_a?(Game_Enemy)
$game_system.se_play($data_system.enemy_collapse_se)
else
$game_system.se_play($data_system.actor_collapse_se)
end
collapse
@battler_visible = false
end
end
# Set sprite coordinates
self.x = @battler.screen_x
self.y = @battler.screen_y
self.z = @battler.screen_z
end
end
class Scene_Battle
attr_reader :phase
end |
zum Lesen den Text mit der Maus markieren
Erstmal vielen Dank, was muss ich jetzt genau beachten damit das
animiert wird? oder könnte ich theoretisch einfach ein Charset reinpacken
Oben den namen davon eingeben und die sache wäre gegessen?
Edit:
So ich habs mal Probiert, jedoch nicht mit einem Ganzen Charset, da ich
ja nur eine Reihe daraus brauche, ansonsten würde das ja merkwürdig
aussehen. Jetzt mein Problem. Wenn die Runde des Gegners anfängt,
stehen dort alle 4 Sprites auf einem Ort, was irgendwie merkwürdig
aussieht. Hättest du vielleicht noch Zeit, das zu ändern?
Danke im Vorraus!
~icay
animiert wird? oder könnte ich theoretisch einfach ein Charset reinpacken
Oben den namen davon eingeben und die sache wäre gegessen?
Edit:
So ich habs mal Probiert, jedoch nicht mit einem Ganzen Charset, da ich
ja nur eine Reihe daraus brauche, ansonsten würde das ja merkwürdig
aussehen. Jetzt mein Problem. Wenn die Runde des Gegners anfängt,
stehen dort alle 4 Sprites auf einem Ort, was irgendwie merkwürdig
aussieht. Hättest du vielleicht noch Zeit, das zu ändern?
Danke im Vorraus!
~icay
Benutzerinformationen überspringen
Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.
Hast du den Battler/das Charset auf bei den "Affected Battlers" eingetragen?
Benutzerinformationen überspringen
Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.
War ein Denkfehler von mir.
|
|
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 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 |
class Sprite_Battler # OPTIONS ########## AniBat_Affected_Battlers = ["001-Fighter01"] AniBat_Frame_Number = 4 AniBat_Frame_Duration = 15 ######## alias_method :nb_for_icay_battler_standani, :initialize def initialize(*args) nb_for_icay_battler_standani(*args) @animated_battler_frame = 0 end def update_bitmap_graphic # If file name or hue are different than current ones if @battler.battler_name != @battler_name or @battler.battler_hue != @battler_hue # Get and set bitmap @battler_name = @battler.battler_name @battler_hue = @battler.battler_hue self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue) @width = bitmap.width @height = bitmap.height self.ox = @width / 2 self.oy = @height # Change opacity level to 0 when dead or hidden if @battler.dead? or @battler.hidden self.opacity = 0 end end if AniBat_Affected_Battlers.include?(@battler_name) @animated_battler_frame = (@animated_battler_frame+1) % (AniBat_Frame_Number * AniBat_Frame_Duration) self.src_rect.width = self.bitmap.width / AniBat_Frame_Number if ($scene.phase == 2 or $scene.phase == 3) self.src_rect.x = self.src_rect.width * (@animated_battler_frame / AniBat_Frame_Duration) else self.src_rect.x = 0 end else self.src_rect.set(0, 0, self.bitmap.width, self.bitmap.height) end @width = self.src_rect.width self.ox = @width/2 end def update super # If battler is nil if @battler == nil self.bitmap = nil loop_animation(nil) return end update_bitmap_graphic # If animation ID is different than current one if @battler.damage == nil and @battler.state_animation_id != @state_animation_id @state_animation_id = @battler.state_animation_id loop_animation($data_animations[@state_animation_id]) end # If actor which should be displayed if @battler.is_a?(Game_Actor) and @battler_visible # Bring opacity level down a bit when not in main phase if $game_temp.battle_main_phase self.opacity += 3 if self.opacity < 255 else self.opacity -= 3 if self.opacity > 207 end end # Blink if @battler.blink blink_on else blink_off end # If invisible unless @battler_visible # Appear if not @battler.hidden and not @battler.dead? and (@battler.damage == nil or @battler.damage_pop) appear @battler_visible = true end end # If visible if @battler_visible # Escape if @battler.hidden $game_system.se_play($data_system.escape_se) escape @battler_visible = false end # White flash if @battler.white_flash whiten @battler.white_flash = false end # Animation if @battler.animation_id != 0 animation = $data_animations[@battler.animation_id] animation(animation, @battler.animation_hit) @battler.animation_id = 0 end # Damage if @battler.damage_pop damage(@battler.damage, @battler.critical) @battler.damage = nil @battler.critical = false @battler.damage_pop = false end # Collapse if @battler.damage == nil and @battler.dead? if @battler.is_a?(Game_Enemy) $game_system.se_play($data_system.enemy_collapse_se) else $game_system.se_play($data_system.actor_collapse_se) end collapse @battler_visible = false end end # Set sprite coordinates self.x = @battler.screen_x self.y = @battler.screen_y self.z = @battler.screen_z end end class Scene_Battle attr_reader :phase end |
zum Lesen den Text mit der Maus markieren
Ähnliche Themen
-
Skript-Anfragen »-
Animierter Titel
(22. Februar 2010, 13:32)
-
Ältere Suchanfragen »-
CTB BATTLER GESUCHT!!!
(10. November 2009, 14:01)
-
Maker-Talk »-
RTP Battlers/Charsets löschen
(7. Dezember 2008, 18:40)
-
Einsteigerhilfe »-
Need Help bei Cybersam
(14. August 2007, 11:27)
-
Ältere Suchanfragen »-
Robin Hood
(22. Mai 2007, 17:55)




