Jump to content
Rpg²S Forum

NAS_96

Utenti
  • Posts

    33
  • Joined

  • Last visited

Posts posted by NAS_96

  1. Descrizione: Modifica il Danno In Combattimento per Molti Aspetti, completamente configurabile

    Autore: MogHunter (tradotto interamente da NAS96 e Aliuzz)

    Come Usarlo: Create una nouva classe sopra main, chiamatela come volete e inseriteci questo Script (W GLI SCRIPT)


     

    ##########################################
    # Mog Damage System V 1.0 (By Moghunter) #
    ##########################################
    # moonglesoft@yahoo.com.br #
    ##########################################
    # Per modificare andare su configura
    ##############
    #Configura#
    ##############
    module MOG
    	################################################################################
    	#Configura danno
    	#
    	# 0 = Effetto zoom con rotazione
    	# 1 = Zoom avanti e indietro.
    	# 2 = Zoom avanti.
    	# 3 = Senza gravità(Fluttuante).
    	# 4 = Con gravità(Statico).
    	# 5 = Attraverso.
    	# 6 = Normale.
    	#
    	################################################################################
    	TYPE = 0
    	################################################################################
    	#Tipo di Collasso
    	#
    	#0 = Zoom verticale.
    	#1 = Zoom orizzontale.
    	#2 = Zoom sia verticale che orizzontale.
    	#3 = Rotazione.
    	#4 = Normale.
    	################################################################################
    	TYPE_COL = 2
    	################################################################################
    	#Nome del Font.
    	FONT_NAME = "Arial Black"
    	#Dimensione Font.
    	FONT_SIZE = 30
    	#Dimensione nel Font nel danno critico.
    	FONT_SIZE_CRITICAL = 20
    	#Messaggio danno critico.
    	CRITICAL_NAME = "Critico!"
    	#Colore Font danno.
    	FONT_COLOR_DAMAGE = Color.new(255, 255, 255)
    	#Colore del Font nella cura.
    	FONT_COLOR_HEAL = Color.new(176, 255, 144)
    	#Colore del Font del danno critico
    	FONT_COLOR_CRITICAL = Color.new(255, 0, 0)
    	################################################################################
    	#Default(ZOOM_OUT = 0.1 / ZOOM_IN = 0.08 / ROT = 24 / DUR = 0)
    	################################################################################
    	#Zoom Esterno
    	ZOOM_OUT = 0.1
    	#Zoom Interno
    	ZOOM_IN = 0.08
    	#Velocità della Rotazione
    	ROT = 24
    	#Durata extra del danno
    	DUR = 0
    	################################################################################
    end
    module RPG
    	class Sprite < ::Sprite
    		def damage(value, critical)
    			dispose_damage
    			if value.is_a?(Numeric)
    				damage_string = value.abs.to_s
    			else
    				damage_string = value.to_s
    			end
    			bitmap = Bitmap.new(160, 48)
    			bitmap.font.name = MOG::FONT_NAME
    			bitmap.font.size = MOG::FONT_SIZE
    			bitmap.font.color.set(0, 0, 0)
    			bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1)
    			bitmap.draw_text(+1, 12-1, 160, 36, damage_string, 1)
    			bitmap.draw_text(-1, 12+1, 160, 36, damage_string, 1)
    			bitmap.draw_text(+1, 12+1, 160, 36, damage_string, 1)
    			if value.is_a?(Numeric) and value < 0
    				bitmap.font.color = MOG::FONT_COLOR_HEAL
    			else
    				bitmap.font.color = MOG::FONT_COLOR_DAMAGE
    			end
    			bitmap.draw_text(0, 12, 160, 36, damage_string, 1)
    			if critical
    				bitmap.font.size = MOG::FONT_SIZE_CRITICAL
    				bitmap.font.color = MOG::FONT_COLOR_CRITICAL
    				bitmap.draw_text(-1, -1, 160, 20, MOG::CRITICAL_NAME, 1)
    				bitmap.draw_text(+1, -1, 160, 20, MOG::CRITICAL_NAME, 1)
    				bitmap.draw_text(-1, +1, 160, 20, MOG::CRITICAL_NAME, 1)
    				bitmap.draw_text(+1, +1, 160, 20, MOG::CRITICAL_NAME, 1)
    				bitmap.font.color.set(255, 255, 255)
    				bitmap.draw_text(0, 0, 160, 20, MOG::CRITICAL_NAME, 1)
    			end
    			@_damage_sprite = ::Sprite.new(self.viewport)
    			@_damage_sprite.bitmap = bitmap
    			@_damage_sprite.ox = 80
    			@_damage_sprite.oy = 20
    			@_damage_sprite.x = self.x
    			@_damage_sprite.y = self.y - self.oy / 2
    			@_damage_sprite.z = 3000
    			@_damage_duration = 40 + MOG::DUR
    		end
    		def update
    			super
    			if @_whiten_duration > 0
    				@_whiten_duration -= 1
    				self.color.alpha = 128 - (16 - @_whiten_duration) * 10
    			end
    			if @_appear_duration > 0
    				@_appear_duration -= 1
    				self.opacity = (16 - @_appear_duration) * 16
    			end
    			if @_escape_duration > 0
    				@_escape_duration -= 1
    				self.opacity = 256 - (32 - @_escape_duration) * 10
    			end
    			if @_collapse_duration > 0
    				@_collapse_duration -= 1
    				self.opacity = 256 - (48 - @_collapse_duration) * 6
    				if MOG::TYPE_COL == 0
    					self.zoom_x -= 0.02
    					self.zoom_y += 0.5
    				elsif MOG::TYPE_COL == 1
    					self.zoom_x += 0.5
    					self.zoom_y -= 0.05
    				elsif MOG::TYPE_COL == 2
    					if @_collapse_duration > 20
    						self.zoom_y -= 0.06
    						self.zoom_x += 0.01
    					else
    						self.zoom_x -= 0.115
    						self.zoom_y += 0.3
    					end
    				elsif MOG::TYPE_COL == 3
    					self.zoom_x -= 0.04
    					self.zoom_y += 0.04
    					self.angle += 10
    				else
    				end
    			end
    			if @_damage_duration > 0
    				@_damage_duration -= 1
    				if MOG::TYPE == 0
    					case @_damage_duration
    					when 38..40 + MOG::DUR
    						@_damage_sprite.y -= 4
    						@_damage_sprite.zoom_x += MOG::ZOOM_OUT
    						@_damage_sprite.zoom_y += MOG::ZOOM_OUT
    						@_damage_sprite.angle += MOG::ROT
    					when 36..37
    						@_damage_sprite.y -= 2
    						@_damage_sprite.zoom_x += MOG::ZOOM_OUT
    						@_damage_sprite.zoom_y += MOG::ZOOM_OUT
    						@_damage_sprite.angle += MOG::ROT
    					when 34..35
    						@_damage_sprite.y -= 2
    						@_damage_sprite.zoom_x += MOG::ZOOM_OUT
    						@_damage_sprite.zoom_y += MOG::ZOOM_OUT
    						@_damage_sprite.angle += MOG::ROT
    					when 23..33
    						@_damage_sprite.y -= 4
    						@_damage_sprite.zoom_x += MOG::ZOOM_OUT
    						@_damage_sprite.zoom_y += MOG::ZOOM_OUT
    						@_damage_sprite.angle += MOG::ROT
    					when 0..22
    						@_damage_sprite.angle = 0
    						@_damage_sprite.zoom_x -= MOG::ZOOM_IN
    						@_damage_sprite.zoom_y -= MOG::ZOOM_IN
    						@_damage_sprite.y -= 3
    					end
    				elsif MOG::TYPE == 1
    					case @_damage_duration
    					when 38..40 + MOG::DUR
    						@_damage_sprite.y -= 4
    						@_damage_sprite.zoom_x += MOG::ZOOM_OUT
    						@_damage_sprite.zoom_y += MOG::ZOOM_OUT
    					when 36..37
    						@_damage_sprite.y -= 2
    						@_damage_sprite.zoom_x += MOG::ZOOM_OUT
    						@_damage_sprite.zoom_y += MOG::ZOOM_OUT
    					when 34..35
    						@_damage_sprite.y -= 2
    						@_damage_sprite.zoom_x += MOG::ZOOM_OUT
    						@_damage_sprite.zoom_y += MOG::ZOOM_OUT
    					when 23..33
    						@_damage_sprite.y -= 4
    						@_damage_sprite.zoom_x += MOG::ZOOM_OUT
    						@_damage_sprite.zoom_y += MOG::ZOOM_OUT
    					when 0..22
    						@_damage_sprite.angle = 0
    						@_damage_sprite.zoom_x -= MOG::ZOOM_IN
    						@_damage_sprite.zoom_y -= MOG::ZOOM_IN
    						@_damage_sprite.y -= 3
    					end
    				elsif MOG::TYPE == 2
    					@_damage_sprite.y -= 1
    					@_damage_sprite.zoom_x += MOG::ZOOM_OUT
    					@_damage_sprite.zoom_y += MOG::ZOOM_OUT
    				elsif MOG::TYPE == 3
    					@_damage_sprite.y -= 3
    				elsif MOG::TYPE == 4
    					case @_damage_duration
    					when 30..40 + MOG::DUR
    						@_damage_sprite.y -= 5
    					when 20..29
    						@_damage_sprite.y += 7
    					when 10..19
    						@_damage_sprite.y -= 3
    					when 0..9
    						@_damage_sprite.y += 6
    					end
    				elsif MOG::TYPE == 5
    					case @_damage_duration
    					when 30..40 + MOG::DUR
    						@_damage_sprite.y -= 10
    						@_damage_sprite.zoom_y += MOG::ZOOM_OUT * 5
    						@_damage_sprite.zoom_x -= MOG::ZOOM_IN
    					when 20..29
    						@_damage_sprite.y -= 1
    						@_damage_sprite.zoom_y -= MOG::ZOOM_OUT * 5
    						@_damage_sprite.zoom_x += MOG::ZOOM_IN
    					when 0..19
    						@_damage_sprite.y -= 0
    						@_damage_sprite.zoom_y = 1
    						@_damage_sprite.zoom_x = 1
    					end
    				else
    					case @_damage_duration
    					when 38..40 + MOG::DUR
    						@_damage_sprite.y -= 4
    					when 36..37
    						@_damage_sprite.y -= 2
    					when 34..35
    						@_damage_sprite.y += 2
    					when 28..33
    						@_damage_sprite.y += 4
    					end
    				end
    				@_damage_sprite.opacity = 256 - (18 - @_damage_duration) * 12
    				if @_damage_duration == 0
    					dispose_damage
    				end
    			end
    			if @_animation != nil and (Graphics.frame_count % 2 == 0)
    				@_animation_duration -= 1
    				update_animation
    			end
    			if @_loop_animation != nil and (Graphics.frame_count % 2 == 0)
    				update_loop_animation
    				@_loop_animation_index += 1
    				@_loop_animation_index %= @_loop_animation.frame_max
    			end
    			if @_blink
    				@_blink_count = (@_blink_count + 1) % 32
    				if @_blink_count < 16
    					alpha = (16 - @_blink_count) * 6
    				else
    					alpha = (@_blink_count - 16) * 6
    				end
    				self.color.set(255, 255, 255, alpha)
    			end
    			@@_animations.clear
    		end
    	end
    end
    

     


    Questa è la nostra prima demo dello script (nostra=della Aliuzz Company)

     

     

    E' Pronta la versione 1.1, per vederla, basta aprire lo spoiler

  2. vorrei chiedere come faccio ad allegare un file, perchè sto cercando di postare uno script, mio manca da allegare il file, ma quando faccio sfoglia sul file, poi faccio upload, mi dice :"Upload fallito. Non ti è permesso di inviare questo tipo di file" (è un Setup)
  3. Salve, sono nuovo del forum (anche se ho il profilo da un bel pò di mesi) sto imparando le basi dello scripting (leggendo la dettagliatissima guida di Losco Individuo),

    faccio parte di un'ancora sconosciuta compagnia chiamata Aliuzz Company ( il nome trae origine dall'unione di due soprannomi del mio capo e dell'ex mapper della compagnia)

    Il mio capo è il programmatore, Eventer e i suoi miti sono MogHunter e Tio, è abbastanza bravo con gli eventi e gli esterni delle mappe e lo storyboard.

    Il Pixel Artist se la cava molto bene con i chara.

    Abbiamo un sounder che ha appena iniziato.

    Io, come scritto sopra, sto imparando il ruby, me la cavo con gli interni delle mappe,so utilizzare gli effetti speciali per i video (presentazioni,ecc.) e, dal mio Nickname potete capire che sono nato nel 1996

    Il capo si chiama Aleksandar ed è serbo,Il Pixel Artist si chiama Andrea ed è Italiano (Veneto), il sounder si chiama Rafael ed è Brasiliano ed io mi chiamo Alessandro e sono Italiano (Napoletano)

    X ora il capo nn è ancora iscritto, quindi, per il momento, posterò io i nostri giochi e le nostre Demo.

     

    EDIT:

     

    Il Pixel Artist ha sospeso la sua attività

×
×
  • Create New...