Jump to content
Rpg²S Forum

nocoldin

Utenti
  • Posts

    33
  • Joined

  • Last visited

Posts posted by nocoldin

  1. IPod script

    Descrizione


    Questo script inserisce nel gioco un player musicale a forma di I pod, che permette di selezionare le musiche da una lista.
    Si possono inserire anche canzoni sbloccabili.
    Lo Script l'ho trovato Qui


    Autore


    Beran


    Allegati


    Link per la demo dello script
    http://img513.imageshack.us/img513/8702/ipodtc0.png
    http://img513.imageshack.us/img513/710/ipod2fe0.png


    Istruzioni per l'uso


    Inserire le immagini nella cartella Pictures e copiare lo script in una nuova classe sopra il Main oppure scaricare la demo


    Script

     

     

     

    #==============================================================================
    #==============================================================================
    #Berans' "iPod" script v1.13-final
    #Last edited: 12 August 2008
    #
    #------------------------------------------------------------------------------
    #What's new in v1.13
    # -Major bugfixes and some code improvement
    #------------------------------------------------------------------------------
    #
    #------------------------------------------------------------------------------
    #What's new in v1.12
    # -Further code improvements
    # -Changed iPod menu options to include "Sorting"
    #------------------------------------------------------------------------------
    #
    #------------------------------------------------------------------------------
    #What's new in v1.01
    # -Minor code cleanups
    # -Debugging
    # -Added "Back" option in the iPod menu
    #------------------------------------------------------------------------------
    #
    #------------------------------------------------------------------------------
    #What's new in v1.00
    # -Added a "menu" feature on the ipod with a few small options
    # -Code cleaned up
    #------------------------------------------------------------------------------
    #
    #------------------------------------------------------------------------------
    #What's new in v0.99
    # -Fixed a few small glitches
    # -The game now remembers whether or not you were playing a song upon exiting
    # the iPod, to accomodate BGM_CHANGER better.
    # -The game now remembers and saves the BGM_CHANGER option, so it can be changed
    # ingame with a new, easy-to-use script command
    #------------------------------------------------------------------------------
    #
    #will allow you to playback songs from a list using a simple window which looks
    #like an ipod
    #
    #feel free to edit and change any names, provided you have changed them in your
    #audio/bgm folder(this would let you have custom names drawn in the menu)
    #see further instructions below
    #
    #Credits: Berans - Making the script
    # Blizzard - Lessons on scripting and scripting conventions
    # Sniper308 - Requesting the script
    #------------------------------------------------------------------------------
    #Features
    #------------------------------------------------------------------------------
    # -Allows for as many songs as you wish
    # -Relatively easy setup
    # -IPod Graphic
    # -Allows for author and genre names
    # -Allows unlockable songs
    # -Currently selected song is remembered, and saved in your save game
    # -Unlocked songs saved in save game
    # -Entirely Lag-free
    # -Map as background
    # -Option to have the current BGM change with your selected song
    # -NEW: BGM_CHANGER option now remembered and saved with new easy-to-use command
    # -NEW: iPod menu with a few for-fun options
    # -NEW: iPod menu now features a "sort" option, standard sorting now set to song
    # title(sort option is saved in save game)
    #------------------------------------------------------------------------------
    #Compatibility
    #------------------------------------------------------------------------------
    #Should be compatible with most scripts, including the SDK
    #Since this is a beta test, please notify me if something's not working
    #
    #==============================================================================
    #Instructions
    #==============================================================================
    #
    #------------------------------------------------------------------------------
    #Setup:
    #------------------------------------------------------------------------------
    #In the Configuration section below, add the names of all songs you want to be
    #"unlockable". The names must be spelled exactly as in your "Audio/BGM" folder,
    #enclosed in quotation marks, and separated by a comma
    #example:
    #PLAYBACK = ["yoursong-01", "yoursong-02", "someothersong"]
    #In playback initial, add the number of all the songs you want to have initially
    #unlocked, separated by comma. The numbers directly correspond to the position
    #of the names in the PLAYBACK array.
    #The PLAYBACK_AUTHOR and PLAYBACK_GENRE "hashes" respectively hold information on
    #the author and genre, respectively, of each song.
    #To add an author or genre name, simply add "yoursongnumber => description"
    #anywhere in the correct hash. The author's/genre's name must be enclosed in
    #quotation marks, and the number and name together, separated by a comma
    #If a song number is not in there, the author or
    #genre are automatically set to "unkown" for that song
    #example:
    #PLAYBACK_AUTHOR = {20 => "the author of your 20th song",
    # 1 => "the author of your 1st song", 3 => "another author"}
    #the same exact same format goes for genre
    #If you want all the songs in your PLAYBACK array to be "unlocked" from the
    #start,simply set "unlockables" to "false"
    #If you want the "IPod" to change the currently playing BGM for a map when a
    #song is selected and played, set bgm_changer to "true"
    #
    #------------------------------------------------------------------------------
    #Required Graphics and instructions:
    #------------------------------------------------------------------------------
    #For this script to work properly, the following files are needed, and have to
    #be placed in the "Graphics/Pictures" folder in your game:
    # -IPod.png
    # -IPod2.png
    #you'll also need to import the files within your project and set the correct
    #transparancies
    #Transparancy for IPod.png must be set to white
    #Transparancy for IPod2.png must be set to the darker shade of grey, with the
    #semi-transparant color set to the lighter grey
    #
    #------------------------------------------------------------------------------
    #Using the script
    #------------------------------------------------------------------------------
    #To call the script, within an event use the "script" command
    #in the script write "$scene = Scene_Playback.new" (without quotation marks)
    #If you want the "ipod" to return to menu upon exit, add (true) after
    #Scene_Playback.new. This works well in combination with a common event with an
    #item.
    #
    #To "unlock" a song, ensure its name is in the PLAYBACK array in the
    #configuration below, then, use the "script" command in an event, and enter the
    #following: "unlock_song(your_song_number)"
    #The song number directly corresponds to the position in the PLAYBACK array
    #example:
    #Your PLAYBACK array is ["yoursong-01", "yoursong-02", "someothersong"]
    #and you want to unlock "yoursong-02
    #simply write "unlock_song(2)" within your script command
    #
    #To change the BGM_CHANGER option ingame, use the following code in an event,
    #within a "script..." command: "bgm_changer(condition)" (without the quotes)
    #replace the word condition with either true or false, depending on what you
    #would like the option to be
    #
    #NOTE:
    #Long song/author/genre names may look squashed. For optimal looks, try to keep
    #names under 15 characters.
    #==============================================================================
    #==============================================================================
    
    
    #==============================================================================
    #Begin Configuration
    #==============================================================================
    
    module Playback
    	UNLOCKABLES = true
    	BGM_CHANGER = false
    	PLAYBACK = [ "001-Battle01", "002-Battle02", "003-Battle03",
    	"004-Battle04", "005-Boss01", "006-Boss02",
    	"007-Boss03", "008-Boss04", "009-LastBoss01",
    	"035-Dungeon01", "063-Slow06",]
    	
    	PLAYBACK_INITIAL = [3,8]
    	
    	PLAYBACK_AUTHOR = {1 => "Enterbrain", 2 => "Enterbrain", 3 => "Enterbrain",
    	4 => "Enterbrain", 5 => "Enterbrain", 6 => "Enterbrain",
    	7 => "Enterbrain", 8 => "Enterbrain", 9 => "Enterbrain",
    	10 => "Enterbrain", 12 => "Enterbrain"}
    	
    	PLAYBACK_GENRE = {1 => "Classic"}
    	
    	#==============================================================================
    	#End Configuration
    	#==============================================================================
    	
    	PLAYBACK_UNLOCKED = []
    	for i in 0...PLAYBACK.size
    		PLAYBACK_UNLOCKED.push nil
    	end
    	unless PLAYBACK_INITIAL.empty?
    		for i in 0...PLAYBACK_INITIAL.size
    			PLAYBACK_UNLOCKED[PLAYBACK_INITIAL[i] -1] = PLAYBACK[PLAYBACK_INITIAL[i] -1]
    		end
    	end
    	if !UNLOCKABLES
    		for i in 0...PLAYBACK.size
    			PLAYBACK_UNLOCKED[i] = PLAYBACK[i]
    		end
    	end
    	unless $game_system == nil
    		unless $game_system.bgm_changer == nil
    			if $game_system.bgm_changer
    				BGM_CHANGER = true
    			elsif !$game_system.bgm_changer
    				BGM_CHANGER = false
    			end
    		end
    	end
    	$playback_list = []
    	for i in 0...PLAYBACK_UNLOCKED.size
    		if PLAYBACK_UNLOCKED[i] != nil
    			$playback_list[i] = [Playback::PLAYBACK_UNLOCKED[i],
    			Playback::PLAYBACK_AUTHOR[i+1] == nil ? "Unkown" :
    			Playback::PLAYBACK_AUTHOR[i+1],
    			Playback::PLAYBACK_GENRE[i+1] == nil ? "Unkown" :
    			Playback::PLAYBACK_GENRE[i+1]]
    		end
    	end
    	$playback_list = $playback_list.compact
    end
    
    #==============================================================================
    #**Window_Playback
    #------------------------------------------------------------------------------
    #This window displays the playback screen
    #==============================================================================
    
    class Window_Playback < Window_Selectable
    	
    	attr_accessor :playback_bgm
    	
    	def initialize
    		super (212,66,216,170)
    		self.contents = Bitmap.new(width - 32, height - 32)
    		@item_max = 4
    		@column_max = 4
    		self.z -= 100
    		self.index = 0
    		self.active = true
    		#Get the playback bgm to draw the text right
    		get_playback_bgm
    		refresh
    	end
    	
    	def refresh
    		self.contents.clear
    		unless $game_system.playback_list.empty?
    			if $game_system.playback_list[@playback_bgm] != nil
    				bgm = $game_system.playback_list[@playback_bgm][0]
    			else
    				@check = 0
    				#check all possible songs for an unlocked entry
    				loop do
    					@check += 1
    					@playback_bgm += 1
    					@playback_bgm %= $game_system.playback_list.size
    					if $game_system.playback_list[@playback_bgm] != nil
    						bgm = $game_system.playback_list[@playback_bgm][0]
    						break
    					end
    				end
    			end
    		else
    			bgm = "No Songs Unlocked"
    			$nosongs = true
    		end
    		if !$nosongs
    			text = (@playback_bgm + 1).to_s + ": " + bgm
    			if $game_system.playback_list[@playback_bgm] != nil
    				text2 = "Author: " + $game_system.playback_list[@playback_bgm][1]
    			else
    				text2 = "Author: Unkown"
    			end
    			if $game_system.playback_list[@playback_bgm] != nil
    				text3 = "Genre: " + $game_system.playback_list[@playback_bgm][2]
    			else
    				text3 = "Genre: Unkown"
    			end
    		else
    			text = bgm
    			text2 = ""
    			text3 = ""
    		end
    		self.contents.draw_text(0,8,self.contents.width,32,text,1)
    		self.contents.draw_text(0,40,self.contents.width,32,text2,1)
    		self.contents.draw_text(0,72,self.contents.width,32,text3,1)
    	end
    	
    	def update_cursor_rect
    		self.cursor_rect.empty
    	end
    	
    	def get_playback_bgm
    		if $game_system.playback_bgm == nil
    			@playback_bgm = 0
    			$game_system.playback_bgm = @playback_bgm
    		else
    			@playback_bgm = $game_system.playback_bgm
    		end
    	end
    end
    
    
    #==============================================================================
    #**Scene_Playback
    #------------------------------------------------------------------------------
    #This class handles processing for the playback window
    #==============================================================================
    
    class Scene_Playback
    	
    	#----------------------------------------------------------------------------
    	# * Public Instance Variables
    	#----------------------------------------------------------------------------
    	attr_reader :mute
    	
    	def initialize(frommenu = false)
    		@animation_flag = false
    		@mute = false
    		@temp_hash = {}
    		@temp_hash2 = {}
    		@temp_array = []
    		if $game_system.playback_list.empty?
    			$game_system.playback_list = $playback_list
    		end
    		if $game_system.sort_option == nil
    			sort(0)
    			$game_system.sort_option = 0
    		else
    			sort($game_system.sort_option)
    		end
    		for i in 0...$game_system.unlocked_songs.size
    			unlock_song($game_system.unlocked_songs[i]+1)
    		end
    		if $game_temp.mute
    			@mute = true
    		end
    		if $game_system.bgm_changer == nil
    			$game_system.bgm_changer = Playback::BGM_CHANGER
    		end
    		if $game_temp.playing == nil
    			@playing = false
    		else
    			@playing = $game_temp.playing
    		end
    		@frommenu = frommenu
    	end
    	
    	def main
    		#ensure map/menu bgm is kept
    		$game_system.bgm_memorize
    		@spriteset = Spriteset_Map.new
    		@spriteset2 = Spriteset_Ipod.new
    		@dummy_window = Ipod_Dummy.new
    		@playback_window = Window_Playback.new
    		@imenu_window = Window_iMenu.new
    		Graphics.transition
    		loop do
    			Graphics.update
    			Input.update
    			update
    			if $scene != self
    				break
    			end
    		end
    		Graphics.freeze
    		@playback_window.dispose
    		@spriteset.dispose
    		@spriteset2.dispose
    		$nosongs = false
    		@dummy_window.dispose
    		@imenu_window.dispose
    	end
    	
    	def update
    		if @playback_window.active
    			update_playback
    		end
    		if @imenu_window.active
    			update_imenu
    		end
    	end
    	
    	def update_playback
    		if @playback_window.index != @playback_window_check
    			@dummy_window.refresh(@playback_window.index)
    		end
    		if Input.repeat?(Input::RIGHT) && @playback_window.index == 3
    			$game_system.se_play($data_system.cursor_se)
    			@playback_window.index = 0
    			return
    		end
    		if Input.repeat?(Input::LEFT) && @playback_window.index == 0
    			$game_system.se_play($data_system.cursor_se)
    			@playback_window.index = 3
    			return
    		end
    		if Input.trigger?(Input::C)
    			#Menu
    			if @playback_window.index == 0
    				$game_system.se_play($data_system.decision_se)
    				@playback_window.active = false
    				@playback_window.index = -1
    				@imenu_window.visible = true
    				@imenu_window.active = true
    				@imenu_window.index = 0
    				@imenu_wait = true
    				return
    			end
    			unless $nosongs
    				case @playback_window.index
    					#Select next
    				when 1
    					$game_system.se_play($data_system.decision_se)
    					#select the next BGM
    					#the loop allows it to skip "nil" entries to aid in unlockables
    					loop do
    						@playback_window.playback_bgm += 1
    						@playback_window.playback_bgm %= $game_system.playback_list.size
    						$game_system.playback_bgm = @playback_window.playback_bgm
    						if $game_system.playback_list[$game_system.playback_bgm] != nil
    							break
    						end
    					end
    					@playback_window.refresh
    					#change the currently playing song if one was already playing
    					if @playing
    						bgm = RPG::AudioFile.new($game_system.playback_list[
    						$game_system.playback_bgm][0],
    						100, 100)
    						$game_system.bgm_play(bgm)
    						if @mute != false
    							@mute = false
    							@imenu_window.refresh
    						end
    					end
    					#Play/Stop
    				when 2
    					if @init
    						@init = false
    					end
    					if $game_system.playback_bgm != nil
    						if !@playing
    							$game_system.se_play($data_system.decision_se)
    							#create BGM for playing
    							bgm = RPG::AudioFile.new($game_system.playback_list[
    							$game_system.playback_bgm][0],
    							100,100)
    							$game_system.bgm_play(bgm)
    							if $game_system.bgm_changer
    								$game_system.bgm_memorize
    							end
    						else
    							$game_system.se_play($data_system.cancel_se)
    							$game_system.bgm_play(nil)
    						end
    						if @mute != false
    							@mute = false
    							@imenu_window.refresh
    						end
    					end
    					case @playing
    					when true
    						@playing = false
    					when false
    						@playing = true
    					end
    					#Select Previous
    				when 3
    					$game_system.se_play($data_system.decision_se)
    					#select the previous BGM
    					#the loop allows it to skip "nil" entries to aid in unlockables
    					loop do
    						@playback_window.playback_bgm += $game_system.playback_list.size - 1
    						@playback_window.playback_bgm %= $game_system.playback_list.size
    						$game_system.playback_bgm = @playback_window.playback_bgm
    						if $game_system.playback_list[$game_system.playback_bgm] != nil
    							break
    						end
    					end
    					@playback_window.refresh
    					#change the currently playing song if one was already playing
    					if @playing
    						bgm = RPG::AudioFile.new($game_system.playback_list[
    						$game_system.playback_bgm][0],
    						100, 100)
    						$game_system.bgm_play(bgm)
    						if @mute != false
    							@mute = false
    							@imenu_window.refresh
    						end
    					end
    				end
    			else
    				$game_system.se_play($data_system.buzzer_se)
    			end
    		end
    		if Input.trigger?(Input::B)
    			$game_system.se_play($data_system.cancel_se)
    			#get the correct @playing setting for when the iPod is restarted
    			if $game_system.bgm_changer
    				$game_temp.playing = @playing
    			else
    				@playing = false
    			end
    			if !@frommenu
    				#restore the map/menu bgm
    				if !$game_system.bgm_changer
    					$game_system.bgm_play($game_map.map.bgm)
    				end
    				$scene = Scene_Map.new
    				if !@playing && $game_system.bgm_changer
    					if $game_system.playing_bgm == $game_map.map.bgm
    						return
    					end
    					$game_system.bgm_play(nil)
    				end
    			else
    				#restore the map/menu bgm
    				if !$game_system.bgm_changer
    					$game_system.bgm_play($game_map.map.bgm)
    				end
    				#change this to go to a different menu upon exit
    				$scene = Scene_Menu.new
    				if !@playing && $game_system.bgm_changer
    					if $game_system.playing_bgm == $game_map.map.bgm
    						return
    					end
    					$game_system.bgm_play(nil)
    				end
    			end
    		end
    		$game_temp.playing = @playing
    		@playback_window_check = @playback_window.index
    		@playback_window.update
    	end
    	
    	def update_imenu
    		if @imenu_wait
    			@imenu_wait = false
    			return
    		end
    		if @imenu_window.index != @imenu_window_check
    			@dummy_window.refresh(@imenu_window.index)
    		end
    		if Input.repeat?(Input::RIGHT)
    			if @imenu_window.index == 3
    				$game_system.se_play($data_system.cursor_se)
    				@imenu_window.index = 0
    				return
    			end
    		end
    		if Input.repeat?(Input::LEFT)
    			if @imenu_window.index == 0
    				$game_system.se_play($data_system.cursor_se)
    				@imenu_window.index = 3
    				return
    			end
    		end
    		if Input.trigger?(Input::B)
    			$game_system.se_play($data_system.cancel_se)
    			@imenu_window.active = false
    			@imenu_window.visible = false
    			@playback_window.index = @imenu_window.index
    			@imenu_window.index = -1
    			@playback_window.active = true
    		end
    		if Input.trigger?(Input::C)
    			case @imenu_window.index
    			when 0
    				$game_system.se_play($data_system.decision_se)
    				if !@mute
    					unless $game_system.playing_bgm == nil
    						$game_system.playing_bgm.volume = 0
    						$game_system.bgm_play($game_system.playing_bgm)
    					end
    					@mute = true
    				elsif @mute
    					unless $game_system.playing_bgm == nil
    						$game_system.playing_bgm.volume = 100
    						$game_system.bgm_play($game_system.playing_bgm)
    					end
    					@mute = false
    				end
    				@imenu_window.refresh
    				$game_temp.mute = @mute
    			when 1
    				$game_system.se_play($data_system.cancel_se)
    				if $game_system.bgm_changer
    					$game_temp.playing = @playing
    				else
    					@playing = false
    				end
    				#restore the map/menu bgm
    				if !$game_system.bgm_changer
    					$game_system.bgm_play($game_map.map.bgm)
    				end
    				#change menu option 2 here
    				$scene = Scene_Map.new
    				if !@playing && $game_system.bgm_changer
    					if $game_system.playing_bgm == $game_map.map.bgm
    						return
    					end
    					$game_system.bgm_play(nil)
    				end
    			when 2
    				if $nosongs
    					$game_system.se_play($data_system.buzzer_se)
    					return
    				else
    					$game_system.se_play($data_system.decision_se)
    					$game_system.sort_option += 1
    					$game_system.sort_option %= 3
    					sort($game_system.sort_option)
    					@imenu_window.refresh
    					@playback_window.refresh
    				end
    			when 3
    				$game_system.se_play($data_system.cancel_se)
    				@imenu_window.active = false
    				@imenu_window.visible = false
    				@playback_window.index = @imenu_window.index
    				@imenu_window.index = -1
    				@playback_window.active = true
    			end
    		end
    		@imenu_window.update
    	end
    end
    
    
    #==============================================================================
    #*unlock_song
    #------------------------------------------------------------------------------
    #Allows you to unlock songs for the playback window
    #==============================================================================
    def unlock_song(number)
    	if $game_system.playback_list.empty?
    		$game_system.playback_list = $playback_list
    	end
    	unless $game_system.playback_list.include?([
    		Playback::PLAYBACK[number - 1], Playback::PLAYBACK_AUTHOR[number] || "Unkown",
    		Playback::PLAYBACK_GENRE[number] || "Unkown"])
    		for i in 0...Playback::PLAYBACK.size
    			if $game_system.playback_list[i] == nil
    				$game_system.playback_list[i] = [nil,nil,nil]
    				$game_system.playback_list[i][0] = Playback::PLAYBACK[number - 1]
    				$game_system.playback_list[i][1] =
    				(Playback::PLAYBACK_AUTHOR[number] == nil ?
    				"Unkown" : Playback::PLAYBACK_AUTHOR[number])
    				$game_system.playback_list[i][2] =
    				(Playback::PLAYBACK_GENRE[number] == nil ?
    				"Unkown" : Playback::PLAYBACK_GENRE[number])
    				$game_system.unlocked_songs.push(number - 1)
    				return
    			end
    		end
    	end
    end
    
    
    #==============================================================================
    #*bgm_changer
    #------------------------------------------------------------------------------
    #Changes the BGM_CHANGER option for ingame use
    #==============================================================================
    def bgm_changer(condition)
    	if !condition
    		if $game_system.bgm_changer
    			$game_system.bgm_changer = condition
    		end
    	else
    		$game_system.bgm_changer = condition
    	end
    end
    
    
    #==============================================================================
    #**Spriteset_Ipod
    #------------------------------------------------------------------------------
    #Creates an "Ipod" Image at the centre of the screen
    #==============================================================================
    class Spriteset_Ipod
    	def initialize
    		@viewport = Viewport.new(208,53,224,374)
    		@viewport.z = 5000
    		@sprite = Sprite.new(@viewport)
    		@sprite2 = Sprite.new
    		@sprite2.bitmap = Bitmap.new(224,374)
    		@ipod = RPG::Cache.picture('IPod.png')
    		@sprite.bitmap = @ipod
    	end
    	
    	def dispose
    		@viewport.dispose
    		@sprite.dispose
    		@sprite2.dispose
    	end
    end
    
    
    #==============================================================================
    #**Ipod_Dummy
    #------------------------------------------------------------------------------
    #Creates the selection effect over the ipod image
    #==============================================================================
    class Ipod_Dummy < Window_Base
    	
    	def initialize
    		super(208,53,224,374)
    		self.contents = Bitmap.new(width - 32,height - 32)
    		self.opacity = 0
    		self.z = 9999
    		refresh
    	end
    	
    	def refresh(index = 0)
    		self.contents.clear
    		case index
    		when 0
    			rect = Rect.new(0,52,98,52)
    			@bitmap = RPG::Cache.picture('IPod2.png')
    			self.contents.blt(47,179,@bitmap,rect)
    		when 1
    			rect = Rect.new(52,104,52,98)
    			@bitmap = RPG::Cache.picture('IPod2.png')
    			self.contents.blt(113,199,@bitmap,rect)
    		when 2
    			rect = Rect.new(0,0,98,52)
    			@bitmap = RPG::Cache.picture('IPod2.png')
    			self.contents.blt(47,266,@bitmap,rect)
    		when 3
    			rect = Rect.new(0,104,52,98)
    			@bitmap = RPG::Cache.picture('IPod2.png')
    			self.contents.blt(26,199,@bitmap,rect)
    		end
    	end
    end
    
    
    #==============================================================================
    # ** Game_System
    #------------------------------------------------------------------------------
    # This class handles data surrounding the system. Backround music, etc.
    # is managed here as well. Refer to "$game_system" for the instance of
    # this class.
    #==============================================================================
    class Game_System
    	
    	#----------------------------------------------------------------------------
    	# * Public Instance Variables
    	#----------------------------------------------------------------------------
    	attr_accessor :playback_bgm
    	attr_accessor :unlocked_songs
    	attr_accessor :bgm_changer
    	attr_accessor :sort_option
    	attr_accessor :playback_list
    	
    	alias initialize_ipod_later initialize
    	def initialize
    		initialize_ipod_later
    		@unlocked_songs = []
    		@playback_list = []
    	end
    	
    end
    
    #==============================================================================
    # ** Game_Temp
    #------------------------------------------------------------------------------
    # This class handles temporary data that is not included with save data.
    # Refer to "$game_temp" for the instance of this class.
    #==============================================================================
    class Game_Temp
    	
    	#----------------------------------------------------------------------------
    	# * Public Instance Variables
    	#----------------------------------------------------------------------------
    	attr_accessor :playing
    	attr_accessor :mute
    	
    end
    
    
    #==============================================================================
    # ** Game_Map
    #------------------------------------------------------------------------------
    # This class handles the map. It includes scrolling and passable determining
    # functions. Refer to "$game_map" for the instance of this class.
    #==============================================================================
    class Game_Map
    	
    	#----------------------------------------------------------------------------
    	# * Public Instance Variables
    	#----------------------------------------------------------------------------
    	attr_reader :map
    	
    end
    
    
    #==============================================================================
    # ** Window_iMenu
    #------------------------------------------------------------------------------
    # This class creates a dummy selectable menu to use with the iPod script
    #==============================================================================
    class Window_iMenu < Window_Selectable
    	def initialize
    		super(212,66,216,170)
    		self.contents = Bitmap.new(width - 32, height - 32)
    		self.index = -1
    		self.visible = false
    		self.active = false
    		self.z += 10
    		@item_max = 4
    		@column_max = 4
    		refresh
    	end
    	
    	def refresh
    		self.contents.clear
    		if $scene.mute
    			self.contents.draw_text(0,-5,self.contents.width,32,"Unmute",1)
    		else
    			self.contents.draw_text(0,-5,self.contents.width,32,"Mute",1)
    		end
    		#change the bit in quotes below to reflect where your iPod menu's 2nd option
    		#exits to i.e. "Exit to Main Menu" or "Exit to Equipment Screen"
    		#be wary of long names, as they may look squashed
    		self.contents.draw_text(0,27,self.contents.width,32,"Exit to Map",1)
    		case $game_system.sort_option
    		when 0
    			sort = "Title"
    		when 1
    			sort = "Author"
    		when 2
    			sort = "Genre"
    		end
    		self.contents.draw_text(0,59,self.contents.width,32,"Sorted by: " + sort,1)
    		self.contents.draw_text(0,91,self.contents.width,32,"Back",1)
    	end
    	
    	def update_cursor_rect
    		if @index < 0
    			self.cursor_rect.empty
    		else
    			y = -5 + 32*@index
    			cursor_rect.set(5,y,self.contents.width - 10,32)
    		end
    	end
    	
    end
    
    
    #==============================================================================
    #*Sort
    #------------------------------------------------------------------------------
    #Method to sort the unlocked songs array for the iPod script
    #==============================================================================
    
    def sort(choice)
    	$game_system.playback_list =
    	$game_system.playback_list.sort {|a, b| a[choice] <=> b[choice]}
    	return $game_system.playback_list
    end
    

     

     

     

    Bugs e Conflitti Noti


    Lo script potrebbe non funzionare quando si carica una partita, in tal caso fare nuovo gioco

  2. Ma il gioco consiste solo nell'imbarcare la barra spaziatrice a forza di pigiarla?

     

    Si, hai 10 secondi di tempo per premere la barra spaziatrice 30 volte in modalità facile, 40 in medio, 50 in modalità difficile e 60 in modalità infernale.

     

    Nella prossima relase aggiungerò anche degli errori di sistema (tramite pictures) del tutto simili a quelli di windows che serviranno a distrarre il giocatore.

     

    Inoltre stò creando una modalità multiplayer, che permette di giocare in due con la stessa tastiera.

  3. Nocoldin

     

    presenta

     

    Blue Screen Of The Death

     

    1. Breve Descrizione

    Chi di voi non ha mai ricevuto una terrificante schermata blu da windows?

    In questo gioco bisogna far mandare in crash il computer premendo la barra spaziatrice il maggior

    numero di volte in 10 secondi.

     

    Ci sono ben 4 livelli di difficoltà:

    Facile

    Medio

    Difficile

    Infernale

     

    Il gioco è completo dei suoni che fà windows quando và in crash, quindi non preoccupetevi, gli errori sono

    solo nel gioco!

     

    Consiglio a tutti di provarlo a schermo intero (premere Alt+Invio per gustarsi la schermta blu finale in caso di vittoria!

     

    Il gioco l'ho programmato in un paio d'ore e funziona alla perfezione, se ci sono qualche Bug segnalatemelo

     

     

    2. Screenshot

    http://img378.imageshack.us/img378/6687/bluescreenofdeathmi0.th.gifhttp://img378.imageshack.us/images/thpix.gif

     

     

     

    3. Download

     

    http://www.mediafire.com/?4caj3rgl2xy

  4. Il progetto era stato abbandonato causa Hard Disk rotto, ma sono riuscito a recuperare i dati e ho ripreso il progetto.

    Mi dispiace non aver potuto rilasciare la demo, ma ho ripreso a lavorarci sopra.

    Per ora la mia priorità è terminare la demo, dopo continuerò a lavorare sugli altri miei progetti.

     

    Adesso sto lavorando a nuove mappe e stò continuando la storia, inoltre ho convertito il progetto per Rpg maker XP 1.02, inizialmente era per Rpg maker 1.01.

  5. Autore

     

    Nocoldin

     

    Descrizione

     

    Questo sistema creato ad eventi, permette di uccidere una persona presente sulla mappa semplicemente scrivendo il suo nome.

    Dopo aver scritto il nome della persona prescelta partirà un Timer che quando arriverà a Zero, la persona morirà.

    La persona può morire anche mentre si combatte.

     

     

    Istruzioni

    Per prima cosa parlare con il ragazzo in alto, che ansioso di morire vi consegnerà il Death Note.

    Potete aspettare che il timer scenda a Zero, oppure combattere contro di lui e aspettare che muoia in battaglia.

     

    Link Download

     

    http://www.mediafire.com/?rcnbyd0kddy

     

     

    Bug Noti

    Non ho avuto il tempo di fare un Beta testing di sicurezza, se c'è qualche errore, o se il link non fuzniona, avvisatemi!

  6. Se vuoi puoi creare un negozio ad eventi che ti dà soldi in cambio di quello che lasciano i mostri.

    In questo caso nel negozio puoi vendere solo quello che lasciano i mostri

     

    Esempio:

     

    Condizione SE:

    Oggetto ''Squama di mostro'' Posseduto

    Mostra Messaggio: puoi vendermi quell'oggetto?

    Mostra Scelta SI/NO

    Se Si

    Oggetto Squama di mostro -1

    Cambia monete +200

    Se No

    Mostra messaggio: Sarà per un'altra volta

    Fine

     

    Facendo cosi' però sarebbe troppo confusionario, dovresti mettere a Opzioni negozio Solo vendita, ma così puoi vendere tutti gli oggetti vendibili e non solo quello che ricavi dai mostri.

  7. Questo pacchetto non è stato concepito per creare macchine del tempo, è per vedere la grafica di Xp trasformata in quella del 2003 e viceversa.

    Comunque una macchina del tempo sarebbe abbastanza facile da programmare:

    Devi fare una coppia di mappe, una per il presente e una per il passato, o se vuoi anche per il futuro, poi devi fare un evento di teletrasporto, (una magia, un macchinario) combinato con un'animazione.

  8. Nocoldin

     

    presenta

     

    SUPER NUVEN BROS

     

    1. Introduzione

    In questo gioco Platform impersonerete Nuven, (il protagonista di Limit Fantasy) che, finito misteriosamente in una strana dimensione , cerca di ritornare nel suo mondo.

    Per poter riaprire il portale dimensionale, ha bisogno dei 6 cristalli, situati in 6 templi sparsi per il mondo.

     

    2. Personaggi

    Nuven: il personaggio che controllerete, è anche il protagonista di Limit fantasy

     

    Relikant: un demone, capace di varcare i confini delle dimensioni,sarà il nemico principale di questo gioco.

     

    Paolo Livrix: comparirà spesso nel gioco, ti affiderà alcune sottomissioni.

    Anche lui come Nuven è intrappolato in questo mondo.

     

     

    3. Caratteristiche Tecniche/Gameplay

    Nuven è capace di uccidere i nemici con la sua spada (usando Shift) e saltandogli sopra.

     

    Nella prossima relase metterò delle trasformazioni per Nuven: Angelo della Morte, Cecchino, Mago e altre.

     

    Si possono usare le scheggie magiche, che permettono di usare alcune magie.

     

     

    4. Screenshot

    A breve

     

    5. Demo/Link alla versione giocabile

    http://www.mediafire.com/?zk9tumyixw9

     

    6. Note sugli sviluppi della Demo

    Per ora nel gioco ho messo la grafica di Super Mario , ma ho intenzione di rivoluzionare completamente la grafica nella prossima Relase.

     

     

    7. Crediti Vari

    Appena ritrovo l'autore dei Tileset che uso

  9. Nocoldin

     

    presenta

     

    Time Machine Starter Kit

     

    1. Breve Descrizione

    Questo starter Kit, creato da me, vi permetterà di usare la grafica di Rpg Maker 2003 su Rpg maker XP, utile ai più nostalgici o a chi è appena passato all'XP.

    Nel pacchetto, potrete passare dalla grafica di Xp a quella del 2003 parlando agli scienziati.

     

    2. Link

    Scarica qui

     

    4. Crediti Vari

    Creazione del pacchetto e conversione della grafica: Nocoldin

    Side Wiew Battle sistem: Autore giapponese, non sò chi sia.

  10. Per mettere le condizioni Se

    Crea un nuovo evento

    La condizione Se, chiamata anche Condizional Branch,fork IF; sta nella prima pagina dei comandi di un evento.

     

    Per l'evento completo:

     

    Aggiungi una condizione SE

    Ad esempio:

     

    Mostra messaggio: mi dai dei soldi?

    -Se Si

    -Se soldi = 0

    Mostra messaggio: non hai soldi

     

    -Se soldi = >0 (maggiori di 0)

    Mostra messaggio: grazie per i soldi

    Togli soldi -30

     

    -Se No

    Mostra messaggio: vattene via barbone XD

     

    Spero di averti fatto capire come si fà

  11. Nocoldin

     

    presenta

     

    Kinesumi Killer

     

    1. Introduzione

    Un gioco demenziale dove impersonerete uno scoiattolo psicopatico, che passa i suoi giorni suicidandosi in vari modi, e aiuta gli altri animali della foresta nella loro missione suicida.

    Sono presenti parodie di vari videogiochi e film, tra cui Final Fantasy e300[/indent]

     

    2. Storia

    Nella foresta Centra è il Caos, un misterioso virus spinge gli abitanti a suicidarsi, intanto il Team Salvavita cerca di salvare gli abitanti della foresta da una morte orrenda.

    Durante il loro suicidio giornaliero, Scot e Roccia, i due scoiattoli protagonisti del gioco vengono fermati da Sephiroth e si ritroveranno a combattere contro di lui.

    Scott e Roccia si ritroveranno a combattere contro il Team Salvavita per riacquistare il diritto di suicidarsi. [/indent]

     

     

    3. Personaggi

    Scot: Lo scoiattolo protagonista del gioco, il suo sogno è di suicidarsi nel modo più spettacolare di tutti.

    Odia in modo sconsiderato i Pokèmon, e non esiterà ad ucciderli senza pietà.

     

    Roccia: Il migliore amico di Scot, ha più difficoltà dell'amico a resuscitare.

    Ama farsi esplodere con la dinamite.

     

    Sephiroth: Inizialmente cercherà di salvare Scott dal suicidio, ma verrà considerato da Scott, come ''un pazzo uscito dal manicomio che crede di essere un boss di un videogioco'', infuriato Sephiroth cercherà di uccidere Scott, e per questo verrà cacciato dal Team Salvavita.

     

     

    5. Caratteristiche del gioco

     

    1 Battle sistem Side Wiew battle

    2 Modalità Esibizione, dove si deve suicidarsi nel modo più spettacolare e ottenere i voti più alti dai giudici

    3 Il gioco è strutturato in livelli, dove bisogna raggiungere degli obbiettivi per passare al livello successivo.

    4 Ci si può suicidare in parecchi modi diversi, questo serve ad ottenere punti suicidio, che servono per sbloccare nuove zone e comprare minigiochi e oggetti.

    5 Gli altri abitanti del bosco si possono suicidare in qualsiasi momento, quindi non stupitevi se mentre state cercando un modo per suicidarvi, cade un cadavere dal cielo!

    6 Mentre state combattendo, ogni volta che un vostro personaggio viene ucciso guadagna punti, ma se tutti i personaggi vengono uccisi farete Game Over, infatti il vostro scopo è suicidarvi, non venire uccisi!

     

    6. Screenshot

    http://img511.imageshack.us/img511/4236/nuovoimmaginepngfm2.th.png

    La Routine quotidiana dei nostri amici scoiattoli....

     

    7. Demo/Link alla versione giocabile

    A breve

    8. Crediti Vari

    A breve

  12. Per mettere il controllo telecamera basta creare un evento comune, e poi fare i vari Call script assegnati ai vari tasti.

    Appena posso modifico la demo, e ci metto il controllo della telecamera.

  13. Con la modifica che ho fatto al codice, ho rimosso il Bug che rendeva l'eroe tagliato a met? se si usava un Charas non isometrico.
    Se volete usare Charas a pi? direzioni per gli eventi mettete questo codice nel commento Directions X , dove X sta per il numero di direzioni.
    Per cambiare il numero di direzioni dell'eroe cercate questa riga di codice e modificate il numero.
    Nella demo le direzioni di default sono impostate a 8, nello script che ho pubblicato su questo forum sono impostate a 4.

    $player_directions = 4 # you can change this value !


    Alcune istruzioni sullo script:
    Per rendere un oggetto in 3D, dovete aggiungere il Tag 1 nella modifica del Tileset.
    Per rendere un evento piatto dovete aggiungere il commento Flat
    Per cambiare l'altezza di un'evento, aggiungete il commento Heigth X dove X sta per il numero di tiles in altezza, 1=32 Pixel, utile per le aeronavi.
    Per far volare l'eroe, mettete questo codice in un evento tramite il comando script

    $game_player.height = X

     

    X va sostituito ad un numero.
    Lo switch che attiva il Mode7 ? il 15, cambiatelo dallo script se gia lo utilizzate!
    Il codice da cambiare si trova in questa riga

    $enable_neoM7_number = 15 # switch number : change this value !


    Gli Screenshot, li poster? pi? tardi, adesso nel computer che st? usando non ho RPG Maker.

×
×
  • Create New...