• Anmelden

icay

Krieger

  • »icay« ist der Autor dieses Themas

Motto: We're all shipwrecked

  • Nachricht senden

1

Mittwoch, 25. August 2010, 21:22

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:
  • Battler als 4 Frame Standpose
  • Ausblenden wenn Aktion getroffen
Mehr benötige ich nicht. Ich hoffe, mir kann jemand Helfen.
Somit freue ich mich über schnelle und auch weniger schnelle
Antworten und danke im Vorraus.

~icay

Neo-Bahamut

Himmelsgleicher

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

  • Nachricht senden

2

Mittwoch, 25. August 2010, 21:58

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?
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

icay

Krieger

  • »icay« ist der Autor dieses Themas

Motto: We're all shipwrecked

  • Nachricht senden

3

Mittwoch, 25. August 2010, 22:36

Ja im Standart Ks.
Und die Battlergrafiken sollen aufgebaut sein, wie die von Charaktären :3

Neo-Bahamut

Himmelsgleicher

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

  • Nachricht senden

4

Donnerstag, 26. August 2010, 01:04

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

icay

Krieger

  • »icay« ist der Autor dieses Themas

Motto: We're all shipwrecked

  • Nachricht senden

5

Donnerstag, 26. August 2010, 09:54

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?

Bild

Danke im Vorraus!
~icay

Neo-Bahamut

Himmelsgleicher

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

  • Nachricht senden

6

Donnerstag, 26. August 2010, 11:29

Hast du den Battler/das Charset auf bei den "Affected Battlers" eingetragen?
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

icay

Krieger

  • »icay« ist der Autor dieses Themas

Motto: We're all shipwrecked

  • Nachricht senden

7

Donnerstag, 26. August 2010, 15:36

Ja natürlich habe ich den da eingetragen. Die Animation funktioniert auch solange,
wie ich auswählen kann was ich mache, um meinen Gegner zu traktieren.

Das Problem, das alle 4 Sprites angezeigt werden ist nur, wenn der Gegner an der Reihe ist,
danach geht alles wieder seinen gewohnten Lauf.

Neo-Bahamut

Himmelsgleicher

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

  • Nachricht senden

8

Donnerstag, 26. August 2010, 15:54

War ein Denkfehler von mir.
Spoiler: Neues Skript

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

icay

Krieger

  • »icay« ist der Autor dieses Themas

Motto: We're all shipwrecked

  • Nachricht senden

9

Donnerstag, 26. August 2010, 16:19

Vielen Dank Neo, jetzt funktioniert alles :3

Ähnliche Themen

Social Bookmarks