Jump to content
Rpg²S Forum

*Vita/mp sull'eroe


ProGM
 Share

Recommended Posts

Vita/mp sull'eroe

Descrizione


permette di far comparire le barre hp/mp sulla testa dell'eroe


Autore


ProGM

 

Allegati


O_o


Istruzioni per l'uso

 creare una nuova classe e incollare questo script... Per disattivare le barre basta scrivere in un evento, come "chiama script":

 

 

# HP/MP Bars on player's head
# by ProGM
class Game_Temp
	$scritta = true
	$barra = true
end
class Sprite_Life < Sprite
	attr_accessor :character
	def initialize(viewport, character = nil)
		super(viewport)
		@character = character
		self.bitmap = Bitmap.new(640, 480)
		self.z = 9998
		self.visible = (not @character.transparent)
		@hero = $game_actors[1]
		@old_hp = @hero.hp
		value1= @hero.hp + 0.0
		value2 = @hero.maxhp + 0.0
		@valore = value1 / value2 * 30
		@color = value2 * 0.5
		@color2 = @color * 0.5
		if value1 > @color
			color = Color.new(0, 255, 0)
		elsif value1 > @color2
			color = Color.new(255, 170, 0)
		else
			color = Color.new(255, 0, 0)
		end
		@valore2 = @valore / 2
		rect = Rect.new(0, 0, @valore, 3)
		self.bitmap.fill_rect(rect, color)
		self.opacity = @character.opacity
	end
	def update
		super
		value1= @hero.hp + 0.0
		value2 = @hero.maxhp + 0.0
		@valore = value1 / value2 * 30
		@valore2 = @valore / 2
		self.x = @character.screen_x - @valore2
		self.y = @character.screen_y - 60
		if @hero.hp != @old_hp
			self.bitmap.clear
			self.visible = (not @character.transparent)
			@color = value2 * 0.5
			@color2 = @color * 0.5
			if value1 > @color
				color = Color.new(0, 255, 0)
			elsif value1 > @color2
				color = Color.new(255, 170, 0)
			else
				color = Color.new(255, 0, 0)
			end
			rect = Rect.new(0, 0, @valore, 3)
			self.bitmap.fill_rect(rect, color)
			self.opacity = @character.opacity
		end
	end
end
class Sprite_Hp < Sprite
	attr_accessor :character
	def initialize(viewport, character = nil)
		super(viewport)
		@character = character
		self.bitmap = Bitmap.new(640, 480)
		self.bitmap.font.size = 12
		self.z = 9999
		@old_hp = $game_actors[1].hp
		self.bitmap.clear
		self.bitmap.font.color.set(0, 0, 0)
		text = sprintf($game_actors[1].hp.to_s + "/" + $game_actors[1].maxhp.to_s)
		self.bitmap.draw_text(0, 0, 40, 12, text)
		self.opacity = @character.opacity
		self.blend_type = @character.blend_type
		self.bush_depth = @character.bush_depth
	end
	def update
		super
		self.x = @character.screen_x - 14
		self.y = @character.screen_y - 64
		if $game_actors[1].hp != @old_hp
			self.bitmap.clear
			self.bitmap.font.color.set(0, 0, 0)
			text = sprintf($game_actors[1].hp.to_s + "/" + $game_actors[1].maxhp.to_s)
			self.bitmap.draw_text(0, 0, 40, 12, text)
			self.opacity = @character.opacity
			self.blend_type = @character.blend_type
			self.bush_depth = @character.bush_depth
		end
	end
end
class Sprite_Magic < Sprite
	attr_accessor :character
	def initialize(viewport, character = nil)
		super(viewport)
		@character = character
		self.bitmap = Bitmap.new(640, 480)
		self.z = 9998
		@hero = $game_actors[1]
		@old_sp = @hero.sp
		value1= @hero.sp + 0.0
		value2 = @hero.maxsp + 0.0
		@valore = value1 / value2 * 30
		color = Color.new(100, 100, 255)
		@valore2 = @valore / 2
		self.bitmap.clear
		self.visible = (not @character.transparent)
		rect = Rect.new(0, 0, @valore, 3)
		self.bitmap.fill_rect(rect, color)
	end
	def update
		super
		value1= @hero.sp + 0.0
		value2 = @hero.maxsp + 0.0
		@valore = value1 / value2 * 30
		color = Color.new(100, 100, 255)
		@valore2 = @valore / 2
		self.x = @character.screen_x - @valore2
		self.y = @character.screen_y - 50
		if @hero.sp != @old_sp
			self.bitmap.clear
			self.visible = (not @character.transparent)
			rect = Rect.new(0, 0, @valore, 3)
			self.bitmap.fill_rect(rect, color)
			self.opacity = @character.opacity
		end
	end
end
class Sprite_Mp < Sprite
	attr_accessor :character
	def initialize(viewport, character = nil)
		super(viewport)
		@character = character
		self.bitmap = Bitmap.new(640, 480)
		self.bitmap.font.size = 12
		self.z = 9999
		@old_sp = $game_actors[1].sp
		self.bitmap.clear
		self.bitmap.font.color.set(0, 0, 0)
		text = sprintf($game_actors[1].sp.to_s + "/" + $game_actors[1].maxsp.to_s)
		self.bitmap.draw_text(0, 0, 40, 12, text)
		self.opacity = @character.opacity
		self.blend_type = @character.blend_type
		self.bush_depth = @character.bush_depth
	end
	def update
		super
		self.x = @character.screen_x - 14
		self.y = @character.screen_y - 54
		if $game_actors[1].sp != @old_sp
			self.bitmap.clear
			self.bitmap.font.color.set(0, 0, 0)
			text = sprintf($game_actors[1].sp.to_s + "/" + $game_actors[1].maxsp.to_s)
			self.bitmap.draw_text(0, 0, 40, 12, text)
			self.opacity = @character.opacity
			self.blend_type = @character.blend_type
			self.bush_depth = @character.bush_depth
		end
	end
end
class Spriteset_Map
	def initialize
		@viewport1 = Viewport.new(0, 0, 640, 480)
		@viewport2 = Viewport.new(0, 0, 640, 480)
		@viewport3 = Viewport.new(0, 0, 640, 480)
		@viewport2.z = 200
		@viewport3.z = 5000
		@tilemap = Tilemap.new(@viewport1)
		@tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
		for i in 0..6
			autotile_name = $game_map.autotile_names[i]
			@tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
		end
		@tilemap.map_data = $game_map.data
		@tilemap.priorities = $game_map.priorities
		@panorama = Plane.new(@viewport1)
		@panorama.z = -1000
		@fog = Plane.new(@viewport1)
		@fog.z = 3000
		@character_sprites = []
		for i in $game_map.events.keys.sort
			sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
			@character_sprites.push(sprite)
		end
		@character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
		if $barra
			@character_life = []
			@character_life.push(Sprite_Life.new(@viewport1, $game_player))
			@character_magic = []
			@character_magic.push(Sprite_Magic.new(@viewport1, $game_player))
		end
		@weather = RPG::Weather.new(@viewport1)
		@picture_sprites = []
		for i in 1..50
			@picture_sprites.push(Sprite_Picture.new(@viewport2,
			$game_screen.pictures[i]))
		end
		if $scritta
			@character_hp = []
			@character_hp.push(Sprite_Hp.new(@viewport1, $game_player))
			@character_mp = []
			@character_mp.push(Sprite_Mp.new(@viewport1, $game_player))
		end
		@timer_sprite = Sprite_Timer.new
		update
	end
	def dispose
		@tilemap.tileset.dispose
		for i in 0..6
			@tilemap.autotiles[i].dispose
		end
		@tilemap.dispose
		@panorama.dispose
		@fog.dispose
		for sprite in @character_sprites
			sprite.dispose
		end
		if $barra
			if @character_life != nil
				for sprite in @character_life
					sprite.dispose
				end
			end
		end
		if $barra
			if @character_magic != nil
				for sprite in @character_magic
					sprite.dispose
				end
			end
		end
		@weather.dispose
		for sprite in @picture_sprites
			sprite.dispose
		end
		if $scritta
			if @character_hp != nil
				for sprite in @character_hp
					sprite.dispose
				end
			end
		end
		if $scritta
			if @character_mp != nil
				for sprite in @character_mp
					sprite.dispose
				end
			end
		end
		@timer_sprite.dispose
		@viewport1.dispose
		@viewport2.dispose
		@viewport3.dispose
	end
	def update
		if @panorama_name != $game_map.panorama_name or
			@panorama_hue != $game_map.panorama_hue
			@panorama_name = $game_map.panorama_name
			@panorama_hue = $game_map.panorama_hue
			if @panorama.bitmap != nil
				@panorama.bitmap.dispose
				@panorama.bitmap = nil
			end
			if @panorama_name != ""
				@panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
			end
			Graphics.frame_reset
		end
		if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
			@fog_name = $game_map.fog_name
			@fog_hue = $game_map.fog_hue
			if @fog.bitmap != nil
				@fog.bitmap.dispose
				@fog.bitmap = nil
			end
			if @fog_name != ""
				@fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
			end
			Graphics.frame_reset
		end
		@tilemap.ox = $game_map.display_x / 4
		@tilemap.oy = $game_map.display_y / 4
		@tilemap.update
		@panorama.ox = $game_map.display_x / 8
		@panorama.oy = $game_map.display_y / 8
		@fog.zoom_x = $game_map.fog_zoom / 100.0
		@fog.zoom_y = $game_map.fog_zoom / 100.0
		@fog.opacity = $game_map.fog_opacity
		@fog.blend_type = $game_map.fog_blend_type
		@fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
		@fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
		@fog.tone = $game_map.fog_tone
		for sprite in @character_sprites
			sprite.update
		end
		if $barra
			if @character_life != nil
				for sprite in @character_life
					sprite.update
				end
			end
		end
		if $barra
			if @character_magic != nil
				for sprite in @character_magic
					sprite.update
				end
			end
		end
		@weather.type = $game_screen.weather_type
		@weather.max = $game_screen.weather_max
		@weather.ox = $game_map.display_x / 4
		@weather.oy = $game_map.display_y / 4
		@weather.update
		for sprite in @picture_sprites
			sprite.update
		end
		if $scritta
			if @character_hp != nil
				for sprite in @character_hp
					sprite.update
				end
			end
		end
		if $scritta
			if @character_mp != nil
				for sprite in @character_mp
					sprite.update
				end
			end
		end
		@timer_sprite.update
		@viewport1.tone = $game_screen.tone
		@viewport1.ox = $game_screen.shake
		@viewport3.color = $game_screen.flash_color
		@viewport1.update
		@viewport3.update
	end
end

 

 

Edited by Flame

Progetti:

 http://i.imgur.com/jmLkIqi.png

http://i54.tinypic.com/2rh4ojq.png

https://github.com/ProGM

 

Crea anche tu il tuo gioco per Game Boy!
http://rpg2s.net/gif/SCContest3Oct.gifhttp://www.rpg2s.net/img/fablecontest1st.pnghttp://i43.tinypic.com/1zokd2s.png


http://i.imgur.com/BEu6G.gif

http://i.imgur.com/H1ARhq7.gif

http://i.imgur.com/Af6ijZN.gif

AOT: Associazione Odiamo la Telecom:

http://i.imgur.com/aYJs89E.png

"4 gattini... 4 stelline... E le 4 paperelle non ci stavano :3"

Flame


http://i30.tinypic.com/i27ypj.png

Link to comment
Share on other sites

  • 1 year later...
Il link nn funge

Iscriviti sul mio canale youtube -

https://www.youtube.com/channel/UCYOxXExvlXiOFfYD1fTFpww?view_as=subscriber

Seguimi su Instagram -

https://www.instagram.com/ancestralguitarist/

---------------------------------------------------------------------------------------------------------------------------------------
Contest vinti
---------------------------------------------------------------------------------------------------------------------------------------

FACE CONTEST # 3
BANNER CONTEST #69

Link to comment
Share on other sites

E' possibile mettere uno script come questo sul GuBi Tactical demo? T____T

Per farlo apparire su tutti i mostri e tutti gli actor. Andrebbe bene anche non farle apparire sulla capoccetta le barre, ma anche nella finestrella che segna HP e MP dei vari pg/mostri...

[non so se dovevo scrivere proprio qui o fare un altro topic su richieste...]

http://i30.tinypic.com/xehois.gif

} 2rA - web site {

E' disponibile il primo capitolo completo di 2rA!

} 2rA: Capitolo I {

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...