lupius Posted May 7, 2013 Share Posted May 7, 2013 (edited) Apro questo topic in cui raccolgo gli script, uno per uno, contenuti nella mega-demo di Moghunter (per la discussione sulla demo andate qui: http://www.rpg2s.net/forum/index.php?showtopic=16291). Per ogni script cercherò di mettere anche le immagini (o alcune, perlomeno) della demo. Mano a mano aggiornerò questo messaggio coi nuovi script estrapolati, poi magari farò una raccolta in .rar per chi li vuole tutti insieme. ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Script Effetti Grafici 1) Weather EX V1.6 Autore: Moghunter Descrizione:Permette di creare effetti climatici. Tramite la ripetizione di piccole immagini, e a vari effetti di movimento delle stesse, permette di creare piogge torrenziali o piogge di fuoco, graziose foglie volanti o deboli nevicate romantiche... per non parlare della splendida pioggia lenta di lumini, il sogno degli innamorati XD Istruzioni:Per iniziare un effetto climatico richiamare lo script scrivendo weather(TYPE, POWER, IMAGE_FILE) dove TYPE va da 0 a 6 e POWER da 1 a 10, mentre IMAGE_FILE è il nome dell'immagine che volete richiamare. Es: weather(1, 5, "Rain_01A"). Le immagini da usare per questo script andranno messe in una sottocartella di Graphics denominata Weather (che dovrete crearvi). Non usate immagini troppo grosse o vi aspetta un lag da panico...Per istruzioni su ogni comando guardate all'interno dello script (che è in portoghese ma si capisce benissimo).Ah, si può usare anche nelle battaglie :) RACCOMANDAZIONE!: ho scoperto un piccolo bug. Se provate a far partire l'effetto in processo parallelo o in automatico impazzisce. Cercate quindi di farlo partire in un altro modo (per esempio posizionandolo sulla posizione di arrivo di un teletrasporto e settandolo su "a contatto con l'eroe") Screen: una bella pioggia di lumini http://img526.imageshack.us/img526/2462/shotweatherex.png Le immagini originali di Moghunter sono piccole e ripetute in sequenza più e più volte dallo script, con un effetto continuato, il che rende un ottimo risultato. Qui trovate tutta la raccolta delle immagini della sua demo http://www.mediafire...2q1ix4ublcc6u82. Grazie a Mithos per l'upload. Script #============================================================================== # +++ MOG - Weather EX (v1.6) +++ #============================================================================== # By Moghunter # http://www.atelier-rgss.com/ #============================================================================== # Sistema de clima com efeitos animados. #============================================================================== # As imagens usadas pelo sistema do clima devem ser gravadas na pasta # # GRAPHICS/WEATHER/ # #============================================================================== # UTILIZAÇÃO # # Use o comando abaixo através da função chamar script.*(Evento) # # weather(TYPE, POWER, IMAGE_FILE) # # TYPE - Tipo de clima. (de 0 a 6) # POWER - Quantidade de partículas na tela. (de 1 a 10) # IMAGE_FILE - Nome da imagem. # # Exemplo (Eg) # # weather(0, 5, "Leaf") # #============================================================================== # Tipos de Clima. # # O sistema vem com 7 climas pré-configurados, que podem ser testados na demo # que vem com esse script. # # 0 - (Rain) # 1 - (Wind) # 2 - (Fog) # 3 - (Light) # 4 - (Snow) # 5 - (Spark) # 6 - (Random) # #============================================================================== # NOTA # # Evite de usar imagens muito pesadas ou de tamanho grande, caso for usar # diminua o poder do clima para evitar lag. # #============================================================================== #============================================================================== # Para parar o clima use o comando abaixo. # # weather_stop # #============================================================================== # Para parar reativar o clima com as caracteríticas préviamente usadas use o # comando abaixo. # # weather_restore #============================================================================== # Se você precisar ativar um novo clima mas deseja gravar as caracteríticas # do clima atual para ser reativado depois use os códigos abaixo. # # weather_store # weather_restore_store # #============================================================================== #============================================================================== # ● Histórico (Version History) #============================================================================== # v 1.6 - Correção na ordem de dispose do Viewport o que causava Crash em # alguns projetos (Problemas de compatibilidade). # v 1.5 - Correção definitiva para erro de Crash randômico. # v 1.4 - Melhoria no sistema de dispose. * (Para quem estiver tendo problema # com crashes randômicos.) # v 1.3 - Adição do comando weather_store e weather_recover_store # v 1.2 - Melhor codificação e compatibilidade. # v 1.1 - Correção do Bug de salvar através do evento. # v 1.0 - Weather EX ativo na batalha. # - Função restore/pause que permite reativar o clima com as # caracteríticas previamente usadas, ou seja, dá uma pausa no clima. # v 0.9 - Melhoria no sistema de dispose. #============================================================================== module MOG_WEATHER_EX #Prioridade do clima na tela. WEATHER_SCREEN_Z = 50 #Definição da eficiência do poder do clima. #NOTA - Um valor muito alto pode causar lag, dependendo do tipo de clima e # imagem usada. WEATHER_POWER_EFIC = 5 #Ativar o clima no sistema de batalha. WEATHER_BATTLE = true end #============================================================================== # ■ Cache #============================================================================== module Cache #-------------------------------------------------------------------------- # ● Weather #-------------------------------------------------------------------------- def self.weather(filename) load_bitmap("Graphics/Weather/", filename) end end #============================================================================== # ■ Game System #============================================================================== class Game_System attr_accessor :weather attr_accessor :weather_restore attr_accessor :weather_record_set attr_accessor :weather_temp #-------------------------------------------------------------------------- # ● Initialize #-------------------------------------------------------------------------- alias weather_ex_initialize initialize def initialize @weather = [-1,0,""] @weather_restore = [-1,0,""] @weather_temp = [-1,0,""] @weather_record_set = [-1,0,""] weather_ex_initialize end end #============================================================================== # ■ Game Temp #============================================================================== class Game_Temp attr_accessor :weather_ex_set attr_accessor :weather_fade #-------------------------------------------------------------------------- # ● Initialize #-------------------------------------------------------------------------- alias mog_weather_ex_temp_initialize initialize def initialize @weather_ex_set = [] @weather_fade = false mog_weather_ex_temp_initialize end end #============================================================================== # ■ Game Interpreter #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # ● Weather #-------------------------------------------------------------------------- def weather(type = -1, power = 0, image = "") $game_temp.weather_fade = false $game_system.weather.clear $game_system.weather = [type,power,image] end #-------------------------------------------------------------------------- # ● Weather Stop #-------------------------------------------------------------------------- def weather_stop $game_temp.weather_fade = false $game_system.weather.clear $game_system.weather = [-1,0,""] $game_system.weather_restore = [-1,0,""] $game_system.weather_temp = [-1,0,""] end #-------------------------------------------------------------------------- # ● Weather Restore #-------------------------------------------------------------------------- def weather_restore $game_temp.weather_fade = false if $game_system.weather[0] != -1 w = $game_system.weather $game_system.weather_restore = [w[0],w[1],w[2]] $game_system.weather.clear $game_system.weather = [-1,0,""] return end w = $game_system.weather_restore weather(w[0],w[1],w[2]) end #-------------------------------------------------------------------------- # ● Weather Fade #-------------------------------------------------------------------------- def weather_fade(value) $game_temp.weather_fade = value end #-------------------------------------------------------------------------- # ● Weather Store #-------------------------------------------------------------------------- def weather_store w = $game_system.weather $game_system.weather_record_set = [w[0],w[1],w[2]] end #-------------------------------------------------------------------------- # ● Weather Restore Store #-------------------------------------------------------------------------- def weather_restore_store w = $game_system.weather_record_set weather(w[0],w[1],w[2]) end end #============================================================================== # ■ Weather_EX #============================================================================== class Weather_EX < Sprite #-------------------------------------------------------------------------- # ● Initialize #-------------------------------------------------------------------------- def initialize(viewport = nil ,type = 0, image_name = "",index = 0,nx,ny) super(viewport) self.bitmap = Cache.weather(image_name.to_s) self.opacity = 0 @cw = self.bitmap.width @ch = self.bitmap.height @angle_speed = 0 @x_speed = 0 @y_speed = 0 @zoom_speed = 0 @opacity_speed = 0 @type = type @index = index @old_nx = nx @old_ny = ny type_setup(nx,ny) end #-------------------------------------------------------------------------- # ● Dispose #-------------------------------------------------------------------------- def dispose dispose_sprite_weather_ex super end #-------------------------------------------------------------------------- # ● Dispose Sprite Weather EX #-------------------------------------------------------------------------- def dispose_sprite_weather_ex return if self.bitmap == nil self.bitmap.dispose self.bitmap = nil end #-------------------------------------------------------------------------- # ● Pre Values #-------------------------------------------------------------------------- def pre_values(index) return if $game_temp.weather_ex_set[index] == nil self.x = $game_temp.weather_ex_set[index][0] self.y = $game_temp.weather_ex_set[index][1] self.opacity = $game_temp.weather_ex_set[index][2] self.angle = $game_temp.weather_ex_set[index][3] self.zoom_x = $game_temp.weather_ex_set[index][4] self.zoom_y = $game_temp.weather_ex_set[index][4] $game_temp.weather_ex_set[index].clear $game_temp.weather_ex_set[index] = nil end #-------------------------------------------------------------------------- # ● Type Setup #-------------------------------------------------------------------------- def type_setup(nx = 0, ny = 0) @cw2 = [(672 + @cw) + nx, -(96 + @cw) + nx] @ch2 = [(576 + @ch) + ny, -(96 + @ch) + ny] check_weather_type pre_values(@index) @opacity_speed = -1 if $game_temp.weather_fade end #-------------------------------------------------------------------------- # ● Update #-------------------------------------------------------------------------- def update_weather(nx = 0, ny = 0) self.x += @x_speed self.y += @y_speed self.opacity += @opacity_speed self.angle += @angle_speed self.zoom_x += @zoom_speed self.zoom_y += @zoom_speed check_loop_map(nx,ny) type_setup(nx,ny) if can_reset_setup? end #-------------------------------------------------------------------------- # ● Check Loop Map #-------------------------------------------------------------------------- def check_loop_map(nx,ny) if (@old_nx - nx).abs > 32 @cw2 = [(672 + @cw) + nx, -(96 + @cw) + nx] self.x += nx self.x -= @old_nx if nx == 0 end if (@old_ny - ny).abs > 32 @ch2 = [(576 + @ch) + ny, -(96 + @ch) + ny] self.y += ny self.y -= @old_ny if ny == 0 end @old_nx = nx @old_ny = ny end #-------------------------------------------------------------------------- # ● Can Reset Setup #-------------------------------------------------------------------------- def can_reset_setup? return true if self.x > @cw2[0] or self.x < @cw2[1] return true if self.y > @ch2[0] or self.y < @ch2[1] return true if self.opacity == 0 return true if self.zoom_x > 2.0 or self.zoom_x < 0.5 return false end #-------------------------------------------------------------------------- # ● Check Weather Type #-------------------------------------------------------------------------- def check_weather_type case @type when 0; rain when 1; wind when 2; fog when 3; light when 4; snow when 5; spark when 6; random end end #-------------------------------------------------------------------------- # ● Snow #-------------------------------------------------------------------------- def snow self.angle = rand(360) self.x = rand(@cw2[0]) self.y = rand(@ch2[0]) self.opacity = 1 self.zoom_x = (rand(100) + 50) / 100.0 self.zoom_y = self.zoom_x @y_speed = [[rand(5), 1].max, 5].min @opacity_speed = 5 @angle_speed = rand(3) end #-------------------------------------------------------------------------- # ● Spark #-------------------------------------------------------------------------- def spark self.angle = rand(360) self.x = rand(@cw2[0]) self.y = rand(@ch2[0]) self.opacity = 1 self.zoom_x = (rand(100) + 100) / 100.0 self.zoom_y = self.zoom_x self.blend_type = 1 @opacity_speed = 10 @zoom_speed = -0.01 end #-------------------------------------------------------------------------- # ● Rain #-------------------------------------------------------------------------- def rain self.x = rand(@cw2[0]) if @start == nil self.y = rand(@ch2[0]) @start = true else self.y = @ch2[1] end self.opacity = 1 self.zoom_y = (rand(50) + 100) / 100.0 self.zoom_x = (rand(25) + 100) / 100.0 @y_speed = [[rand(10) + 10, 10].max, 20].min @opacity_speed = 10 end #-------------------------------------------------------------------------- # ● Fog #-------------------------------------------------------------------------- def fog rand_angle = rand(2) self.angle = rand_angle == 1 ? 180 : 0 self.x = rand(@cw2[0]) self.y = rand(@ch2[0]) self.opacity = 1 self.zoom_x = (rand(100) + 50) / 100.0 self.zoom_y = self.zoom_x @x_speed = [[rand(10), 1].max, 10].min @opacity_speed = 10 end #-------------------------------------------------------------------------- # ● Light #-------------------------------------------------------------------------- def light self.angle = rand(360) self.x = rand(@cw2[0]) self.y = rand(@ch2[0]) self.opacity = 1 self.zoom_x = (rand(100) + 50) / 100.0 self.zoom_y = self.zoom_x self.blend_type = 1 @angle_speed = [[rand(3), 1].max, 3].min @y_speed = -[[rand(10), 1].max, 10].min @opacity_speed = 2 end #-------------------------------------------------------------------------- # ● Wind #-------------------------------------------------------------------------- def wind self.angle = rand(360) self.x = rand(@cw2[0]) self.y = rand(@ch2[0]) self.opacity = 1 self.zoom_x = (rand(100) + 50) / 100.0 self.zoom_y = self.zoom_x @x_speed = [[rand(10), 1].max, 10].min @y_speed = [[rand(10), 1].max, 10].min @opacity_speed = 10 end #-------------------------------------------------------------------------- # ● Random #-------------------------------------------------------------------------- def random self.angle = rand(360) self.x = rand(@cw2[0]) self.y = rand(@ch2[0]) self.opacity = 1 self.zoom_x = (rand(100) + 50) / 100.0 self.zoom_y = self.zoom_x x_s = [[rand(10), 1].max, 10].min y_s = [[rand(10), 1].max, 10].min rand_x = rand(2) rand_y = rand(2) @x_speed = rand_x == 1 ? x_s : -x_s @y_speed = rand_y == 1 ? y_s : -y_s @opacity_speed = 10 end end #============================================================================== # ■ Module Weather EX #============================================================================== module Module_Weather_EX #-------------------------------------------------------------------------- # ● Create Weather EX #-------------------------------------------------------------------------- def create_weather_ex dispose_weather_ex create_weather_viewport create_weather_sprite end #-------------------------------------------------------------------------- # ● Dispose Wheater EX #-------------------------------------------------------------------------- def dispose_weather_ex dispose_weather_ex_sprite dispose_weather_ex_viewport end #-------------------------------------------------------------------------- # ● Create Weather Viewport #-------------------------------------------------------------------------- def create_weather_viewport dispose_weather_ex_viewport @viewport_weather_ex = Viewport.new(-32, -32, 576, 448) @viewport_weather_ex.z = MOG_WEATHER_EX::WEATHER_SCREEN_Z @viewport_weather_ex.ox = ($game_map.display_x * 32) @viewport_weather_ex.oy = ($game_map.display_y * 32) end #-------------------------------------------------------------------------- # ● Create Weather Sprite #-------------------------------------------------------------------------- def create_weather_sprite dispose_weather_ex_sprite @old_weather = $game_system.weather return if $game_system.weather == [] or $game_system.weather[0] == -1 @weather_ex = [] index = 0 power_efic = MOG_WEATHER_EX::WEATHER_POWER_EFIC power_efic = 1 if power_efic < 1 power = [[$game_system.weather[1] * power_efic, power_efic].max, 999].min for i in 0...power @weather_ex.push(Weather_EX.new(@viewport_weather_ex,$game_system.weather[0],$game_system.weather[2],index, @viewport_weather_ex.ox, @viewport_weather_ex.oy)) index += 1 end end #-------------------------------------------------------------------------- # ● Dispose Weather EX Viewport #-------------------------------------------------------------------------- def dispose_weather_ex_viewport return if @viewport_weather_ex == nil @viewport_weather_ex.dispose end #-------------------------------------------------------------------------- # ● Dispose Weather EX #-------------------------------------------------------------------------- def dispose_weather_ex_sprite return if @weather_ex == nil index = 0 for i in @weather_ex $game_temp.weather_ex_set[index] = [] if $game_temp.weather_ex_set[index] == nil $game_temp.weather_ex_set[index].push(i.x,i.y,i.opacity,i.angle,i.zoom_x) i.dispose index += 1 end @weather_ex.each {|sprite| sprite.dispose} @weather_ex.clear @weather_ex = nil end #-------------------------------------------------------------------------- # ● Dispose Refresh #-------------------------------------------------------------------------- def dispose_refresh $game_temp.weather_ex_set.clear return if @weather_ex == nil @weather_ex.each {|sprite| sprite.dispose} @weather_ex.clear @weather_ex = nil end #-------------------------------------------------------------------------- # ● Update Weather EX #-------------------------------------------------------------------------- def update_weather_ex refresh_weather_ex update_weather_ex_viewport return if @weather_ex == nil @weather_ex.each {|sprite| sprite.update_weather(@viewport_weather_ex.ox,@viewport_weather_ex.oy)} end #-------------------------------------------------------------------------- # ● Update Weather Ex Viewport #-------------------------------------------------------------------------- def update_weather_ex_viewport return if @viewport_weather_ex == nil @viewport_weather_ex.ox = ($game_map.display_x * 32) @viewport_weather_ex.oy = ($game_map.display_y * 32) end #-------------------------------------------------------------------------- # ● Refresh Weather EX #-------------------------------------------------------------------------- def refresh_weather_ex return if @old_weather == nil return if @old_weather == $game_system.weather dispose_refresh create_weather_sprite end end #============================================================================== # ■ Spriteset Map #============================================================================== class Spriteset_Map include Module_Weather_EX #-------------------------------------------------------------------------- # ● Initialize #-------------------------------------------------------------------------- alias mog_weather_ex_initialize initialize def initialize dispose_weather_ex mog_weather_ex_initialize create_weather_ex end #-------------------------------------------------------------------------- # ● Dispose #-------------------------------------------------------------------------- alias mog_weather_ex_dispose dispose def dispose dispose_weather_ex mog_weather_ex_dispose end #-------------------------------------------------------------------------- # ● Update #-------------------------------------------------------------------------- alias mog_weather_ex_update update def update mog_weather_ex_update update_weather_ex end end if MOG_WEATHER_EX::WEATHER_BATTLE #============================================================================== # ■ Spriteset Battle #============================================================================== class Spriteset_Battle include Module_Weather_EX #-------------------------------------------------------------------------- # ● Initialize #-------------------------------------------------------------------------- alias mog_weather_ex_initialize initialize def initialize dispose_weather_ex mog_weather_ex_initialize create_weather_ex end #-------------------------------------------------------------------------- # ● Dispose #-------------------------------------------------------------------------- alias mog_weather_ex_dispose dispose def dispose dispose_weather_ex mog_weather_ex_dispose end #-------------------------------------------------------------------------- # ● Update #-------------------------------------------------------------------------- alias mog_weather_ex_update update def update mog_weather_ex_update update_weather_ex end end end #============================================================================= # ■ Scene Base #============================================================================= class Scene_Base #-------------------------------------------------------------------------- # ● Weather Recover Data #-------------------------------------------------------------------------- def weather_recover_data if $game_system.weather.empty? or $game_system.weather[0] == -1 if !$game_system.weather_restore.empty? and $game_system.weather_restore[0] != -1 v = $game_system.weather_restore $game_system.weather = [v[0],v[1],v[2]] end end end #-------------------------------------------------------------------------- # ● Weather Restore #-------------------------------------------------------------------------- def weather_recover_scene return if $game_system.weather_temp.empty? return if $game_system.weather_temp[0] == -1 w = $game_system.weather_temp $game_system.weather = [w[0],w[1],w[2]] $game_system.weather_temp.clear $game_system.weather_temp = [-1,0,""] end #-------------------------------------------------------------------------- # ● Main #-------------------------------------------------------------------------- alias mog_weather_ex_main main def main dispose_weather_ex_base weather_recover_scene if can_recover_weather_scene? mog_weather_ex_main end #-------------------------------------------------------------------------- # ● Can Recover Weather Scene #-------------------------------------------------------------------------- def can_recover_weather_scene? return true if SceneManager.scene_is?(Scene_Map) return true if SceneManager.scene_is?(Scene_Battle) return false end #-------------------------------------------------------------------------- # ● terminate #-------------------------------------------------------------------------- alias mog_weather_ex_terminate_base terminate def terminate mog_weather_ex_terminate_base dispose_weather_ex_base end #-------------------------------------------------------------------------- # ● Dispose Weather EX Base #-------------------------------------------------------------------------- def dispose_weather_ex_base return if @spriteset == nil @spriteset.dispose_weather_ex rescue nil end end #============================================================================= # ■ Scene Load #============================================================================= class Scene_Load < Scene_File #-------------------------------------------------------------------------- # ● On Load Success #-------------------------------------------------------------------------- alias mog_weather_ex_on_load_success on_load_success def on_load_success mog_weather_ex_on_load_success weather_recover_data end end #============================================================================= # ■ Scene Manager #============================================================================= class << SceneManager #-------------------------------------------------------------------------- # ● Call #-------------------------------------------------------------------------- alias mog_weather_ex_call call def call(scene_class) weather_dispose mog_weather_ex_call(scene_class) end #-------------------------------------------------------------------------- # ● Weather Restore #-------------------------------------------------------------------------- def weather_dispose return if $game_system.weather.empty? return if $game_system.weather[0] == -1 w = $game_system.weather $game_system.weather_temp = [w[0],w[1],w[2]] $game_system.weather.clear $game_system.weather = [-1,0,""] end end $mog_rgss3_weather_ex = true 2) Touhou Map Name V1.3 Descrizione:Permette di visualizzare il nome della mappa in stile Touhou, con un'animazione. Istruzioni:Avviate lanciando lo script con $game_temp.mapname = true. Importate in Graphics/System le immagini che volete utilizzare, chiamandole "Map_Name_Layout" e "Map_Name_Particle". Purtroppo non ho capito come modificare il font... I Particle sono le foglioline in trasparenza che vedete andare dal basso verso l'alto sulla scritta. TIP 1: Per evitare che l'effetto si ripeta istericamente, piazzate uno switch locale dopo l'evento, poi create una seconda pagina evento con lo switch attivato. Olè!TIP 2 (suggerito da KenzoMe92): se insieme all'effetto dovesse essere visualizzato normalmente il nome della mappa, andate nello script editor--->Scene_Map (quello di Ace)---> all'inizio della linea 143 aggiungete #. Screen: http://img835.imageshack.us/img835/7318/shottouhoumapname.png Script: #============================================================================== # +++ MOG - Touhou Map Name (v1.3) +++ #============================================================================== # By Moghunter # http://www.atelier-rgss.com/ #============================================================================== # Sistema animado que apresenta o nome do mapa no estilo Touhou. #============================================================================== # Serão necessários as seguintes imagens na pasta Graphics/System/ # # Map_Name_Particle.png # Map_Name_Layout.png # #============================================================================== # Use o código abaixo para ativar o script. # # $game_temp.mapname = true # #============================================================================== #============================================================================== # ● Histórico (Version History) #============================================================================== # v 1.3 - Melhor velocidade no sistema de animação. # v 1.2 - Melhoria no sistema de dispose de imagens. # v 1.1 - Nome do mapa somente é visível na cena de mapa, para evitar # a imagem da hud sobrepor outras scenes. #============================================================================== module MOG_TOUHOU_MAP_NAME # Posição geral da hud. MAP_NAME_POSITION = [272,192] # Posição das letras. MAP_NAME_WORD_POSITION = [-30,18] # Posição das particulas. MAP_NAME_PARTICLE_POSITION = [-100,-50] # Prioridade da hud. MAP_NAME_Z = 50 # Ativar o nome do mapa automaticamente. MAP_NAME_AUTOMATIC = false end #============================================================================== # ■ Game Temp #============================================================================== class Game_Temp attr_accessor :mapname_conf attr_accessor :mapname_layout_conf attr_accessor :mapname_duration attr_accessor :mapname #-------------------------------------------------------------------------- # ● Initialize #-------------------------------------------------------------------------- alias mog_map_name_initialize initialize def initialize @mapname_conf = [] @mapname_layout_conf = [] @mapname_duration = [false,-1,2] @mapname = false mog_map_name_initialize end end #============================================================================== # ■ Game Player #============================================================================== class Game_Player < Game_Character #-------------------------------------------------------------------------- # ● Perform Transfer #-------------------------------------------------------------------------- alias mog_touhou_map_name_perform_transfer perform_transfer def perform_transfer m_id = $game_map.map_id mog_touhou_map_name_perform_transfer if MOG_TOUHOU_MAP_NAME::MAP_NAME_AUTOMATIC if m_id != $game_map.map_id and $game_map.display_name != "" $game_temp.mapname = true end end end end #============================================================================== # ■ Map Name #============================================================================== class Map_Name < Sprite include MOG_TOUHOU_MAP_NAME attr_reader :letter attr_reader :turn attr_reader :animation_duration attr_reader :text_duration attr_reader :duration #-------------------------------------------------------------------------- # ● Initialize #-------------------------------------------------------------------------- def initialize(letter,x,y, zoom, opac,duration, animation_dutation, text_duration,turn, center_x, viewport = nil) super(viewport) @letter = letter @turn = turn @duration = duration @animation_duration = animation_dutation @animation_duration2 = animation_dutation @text_duration = text_duration self.bitmap = Bitmap.new(32,32) self.bitmap.font.size = 32 self.bitmap.font.bold = true self.bitmap.font.italic = true self.bitmap.draw_text(0,0, 32, 32, @letter.to_s,0) self.z = 999 self.zoom_x = zoom self.zoom_y = zoom self.ox = -100 self.oy = -100 self.x = x self.y = y self.z = MAP_NAME_Z + 2 self.opacity = opac end #-------------------------------------------------------------------------- # ● Dispose #-------------------------------------------------------------------------- def dispose super if self.bitmap != nil self.bitmap.dispose end end #-------------------------------------------------------------------------- # ● Update #-------------------------------------------------------------------------- def update super update_animation end #-------------------------------------------------------------------------- # ● Update Animation #-------------------------------------------------------------------------- def update_animation @animation_duration -= 1 if @animation_duration > 0 return if @animation_duration > 0 if self.zoom_x > 1 self.zoom_x -= 0.06 self.x += 5 self.y += 6 self.opacity += 35 self.zoom_y = self.zoom_x if self.zoom_x <= 1 self.zoom_x = 1 self.zoom_y = self.zoom_x self.opacity = 255 @text_duration = @duration - @animation_duration2 end else @text_duration -= 1 end end end #============================================================================== # ■ Particle_Name_Map #============================================================================== class Particle_Name_Map < Sprite include MOG_TOUHOU_MAP_NAME #-------------------------------------------------------------------------- # ● Initialize #-------------------------------------------------------------------------- def initialize(viewport = nil,x,y,ax,ay) super(viewport) self.bitmap = Cache.system("Map_Name_Particle") @pos = [x + self.bitmap.width,y - self.bitmap.height] @area = [ax - (self.bitmap.width * 4),ay - self.bitmap.height] reset_setting end #-------------------------------------------------------------------------- # ● Reset Setting #-------------------------------------------------------------------------- def reset_setting zoom = (50 + rand(100)) / 100.1 self.zoom_x = zoom self.zoom_y = zoom self.x = @pos[0] + rand(@area[0]) self.y = @pos[1] + rand(@area[1]) self.z = MAP_NAME_Z + 1 self.opacity = 0 self.angle = rand(360) self.blend_type = 0 @speed_x = 0 @speed_y = [[rand(4), 4].min, 1].max @speed_a = rand(3) @fade_y = @pos[1] + 32 end #-------------------------------------------------------------------------- # ● Dispose #-------------------------------------------------------------------------- def dispose super self.bitmap.dispose end #-------------------------------------------------------------------------- # ● Update #-------------------------------------------------------------------------- def update super self.y -= @speed_y self.opacity -= self.y > @fade_y ? -8 : 5 reset_setting if self.y < 0 end #-------------------------------------------------------------------------- # ● Update Fade #-------------------------------------------------------------------------- def update_fade self.y -= @speed_y self.opacity -= 5 end end #============================================================================== # ■ Spriteset Map #============================================================================== class Spriteset_Map include MOG_TOUHOU_MAP_NAME #-------------------------------------------------------------------------- # ● Initialize #-------------------------------------------------------------------------- alias mog_mapname_initialize initialize def initialize @vis_time = 0 @vis = map_name_visible? dispose_map_name create_map_name create_map_namelayout create_light mog_mapname_initialize end #-------------------------------------------------------------------------- # ● Create Map Name #-------------------------------------------------------------------------- def create_map_name return if $game_temp.mapname_duration[2] > 0 @map_name.each {|sprite| sprite.dispose} if @map_name != nil @map_name = [] mapname = $game_map.display_name m_name = mapname.to_s.split(//) index = 0 turn = 0 duration = 20 * mapname.size center_x = 10 * mapname.size $game_temp.mapname_duration[1] = (duration) + 64 if $game_temp.mapname_duration[1] <= 0 x2 = (-170 + MAP_NAME_POSITION[0] + MAP_NAME_WORD_POSITION[0]) - center_x y2 = -170 + MAP_NAME_POSITION[1] + MAP_NAME_WORD_POSITION[1] if $game_temp.mapname_conf == [] for i in m_name @map_name.push(Map_Name.new(i[0],(index * 20) + x2,y2,1.8,0,duration, 20 * index,0,turn,center_x)) index += 1 turn = turn == 0 ? 1 : 0 end else c = $game_temp.mapname_conf for i in 0...c.size @map_name.push(Map_Name.new(c[index][0],c[index][1],c[index][2],c[index][3],c[index][4],c[index][5],c[index][6],c[index][7],turn,0)) index += 1 turn = turn == 0 ? 1 : 0 end end end #-------------------------------------------------------------------------- # ● Create Map Name Layout #-------------------------------------------------------------------------- def create_map_namelayout return if $game_temp.mapname_duration[2] > 1 if @map_name_layout != nil @map_name_layout.bitmap.dispose @map_name_layout.dispose @map_name_layout = nil end @map_name_layout = Sprite.new @map_name_layout.bitmap = Cache.system("Map_Name_Layout.png") @map_name_layout.z = MAP_NAME_Z @map_name_org_position = [MAP_NAME_POSITION[0] - (@map_name_layout.bitmap.width / 2),MAP_NAME_POSITION[1] - (@map_name_layout.bitmap.height / 2)] if $game_temp.mapname_layout_conf == [] @map_name_layout.x = @map_name_org_position[0] + 100 @map_name_layout.y = @map_name_org_position[1] @map_name_layout.opacity = 0 else @map_name_layout.x = $game_temp.mapname_layout_conf[0] @map_name_layout.y = $game_temp.mapname_layout_conf[1] @map_name_layout.opacity = $game_temp.mapname_layout_conf[2] end end #-------------------------------------------------------------------------- # ● Create Light #-------------------------------------------------------------------------- def create_light return if $game_temp.mapname_duration[2] > 1 x = MAP_NAME_POSITION[0] + MAP_NAME_PARTICLE_POSITION[0] y = MAP_NAME_POSITION[1] + MAP_NAME_PARTICLE_POSITION[1] @particle_name =[] ax = @map_name_layout.bitmap.width - 32 ay = @map_name_layout.bitmap.height - 32 for i in 0...15 @particle_name.push(Particle_Name_Map.new(nil,x,y,ax,ay)) end end #-------------------------------------------------------------------------- # ● Map Name Clear #-------------------------------------------------------------------------- def map_name_clear @map_name.each {|sprite| sprite.dispose} if @map_name != nil @map_name = nil $game_temp.mapname_duration[0] = false $game_temp.mapname_duration[1] = -1 $game_temp.mapname_conf.clear $game_temp.mapname_layout_conf.clear end #-------------------------------------------------------------------------- # ● Layout Clear #-------------------------------------------------------------------------- def layout_clear return if @map_name_layout == nil @map_name_layout.bitmap.dispose @map_name_layout.dispose @map_name_layout = nil $game_temp.mapname_layout_conf.clear end #-------------------------------------------------------------------------- # ● Dispose #-------------------------------------------------------------------------- alias mog_mapname_dispose dispose def dispose mog_mapname_dispose dispose_map_name end #-------------------------------------------------------------------------- # ● Dispose Map Mame #-------------------------------------------------------------------------- def dispose_map_name dispose_map_name_word dispose_map_name_layout dispose_map_name_particle end #-------------------------------------------------------------------------- # ● Dispose Map Mame Layout #-------------------------------------------------------------------------- def dispose_map_name_layout return if @map_name_layout == nil $game_temp.mapname_layout_conf[0] = @map_name_layout.x $game_temp.mapname_layout_conf[1] = @map_name_layout.y $game_temp.mapname_layout_conf[2] = @map_name_layout.opacity @map_name_layout.bitmap.dispose @map_name_layout.dispose end #-------------------------------------------------------------------------- # ● Particle_Name Clear #-------------------------------------------------------------------------- def dispose_map_name_particle return if @particle_name == nil @particle_name.each {|sprite| sprite.dispose} @particle_name = nil end #-------------------------------------------------------------------------- # ● Dispose Map Mame Word #-------------------------------------------------------------------------- def dispose_map_name_word return if @map_name == nil index = 0 for i in @map_name if $game_temp.mapname_conf[index] == nil $game_temp.mapname_conf[index] = ["",0,0,0,0,0,0,0,0] end $game_temp.mapname_conf[index][0] = i.letter $game_temp.mapname_conf[index][1] = i.x $game_temp.mapname_conf[index][2] = i.y $game_temp.mapname_conf[index][3] = i.zoom_x $game_temp.mapname_conf[index][4] = i.opacity $game_temp.mapname_conf[index][5] = i.duration $game_temp.mapname_conf[index][6] = i.animation_duration $game_temp.mapname_conf[index][7] = i.text_duration i.dispose index += 1 end end #-------------------------------------------------------------------------- # ● Update #-------------------------------------------------------------------------- alias mog_mapname_update update def update mog_mapname_update update_map_name end #-------------------------------------------------------------------------- # ● Map Name Visible? #-------------------------------------------------------------------------- def map_name_visible? return false if !SceneManager.scene_is?(Scene_Map) return false if @vis_time > 0 return true end #-------------------------------------------------------------------------- # ● Refresh Map Name #-------------------------------------------------------------------------- def refresh_map_name return unless $game_temp.mapname $game_temp.mapname = false map_name_clear layout_clear dispose_map_name_particle $game_temp.mapname_duration[2] = 0 create_map_name create_map_namelayout create_light end #-------------------------------------------------------------------------- # ● Update Map Name #-------------------------------------------------------------------------- def update_map_name refresh_map_name dispose_map_name_time update_word update_map_name_layout end #-------------------------------------------------------------------------- # ● Update Light #-------------------------------------------------------------------------- def update_light return if @particle_name == nil for sprite in @particle_name sprite.update sprite.visible = @vis end end #-------------------------------------------------------------------------- # ● Update Fade ight #-------------------------------------------------------------------------- def update_fade_light return if @particle_name == nil @particle_name.each {|sprite| sprite.update_fade} end #-------------------------------------------------------------------------- # ● Update Map Name Layout #-------------------------------------------------------------------------- def update_map_name_layout return if @map_name_layout == nil @vis = map_name_visible? if !@vis @vis_time = 1 else @vis_time -= 1 if @vis_time > 0 end @map_name_layout.visible = @vis if @map_name != nil @map_name_layout.opacity += 5 update_light if @map_name_layout.x > @map_name_org_position[0] @map_name_layout.x -= 1 end else @map_name_layout.x -= 2 @map_name_layout.opacity -= 8 update_fade_light if @map_name_layout.opacity <= 0 layout_clear dispose_map_name_particle $game_temp.mapname_duration[2] = 2 end end end #-------------------------------------------------------------------------- # ● Update Word #-------------------------------------------------------------------------- def update_word return if @map_name == nil for map_sprite in @map_name map_sprite.update map_sprite.visible = @vis end end #-------------------------------------------------------------------------- # ● Dispose Map Name Time #-------------------------------------------------------------------------- def dispose_map_name_time if $game_temp.mapname_duration[1] > 0 $game_temp.mapname_duration[1] -= 1 return end return if $game_temp.mapname_duration[1] < 0 map_name_clear $game_temp.mapname_duration[2] = 1 end end $mog_rgss3_touhou_map_name = true 3) Event Text Popup V1.0 Descrizione:Permette di visualizzare un commento in popup sulla mappa, come il nome dell mappa in cui si andrà se si prende una certa direzione o la descrizione di un oggetto sulla mappa. Istruzioni:Create un evento e dentro scrivete un commento contenente <Text = X> dove "X" è il testo che volete far comparire. Nelle istruzioni contenute nello script dice di usare il simpbolo " - " per staccare X da Text. Non è vero, bisogna usare "=". Burlone... Le istruzioni per il cambio font e il colore le trovate all'inizio dello script. Screen: è senza dubbio un cristallo verde http://img824.imageshack.us/img824/1443/shottextpopup.png Script: #============================================================================== # +++ MOG - Event Text Popup (v1.0) +++ #============================================================================== # By Moghunter # http://www.atelier-rgss.com #============================================================================== # Apresenta o um texto em cima do evento. #============================================================================== # Para ativa basta colocar um comentário com o prefixo: # # <Text - X> # # X - Texto apresentado no evento. # # Exemplo # # <Text - Teleport> # <Text - Save Point> # #============================================================================== module MOG_EVENT_TEXT_POPUP #Definição da fonte. FONT_NAME = "Arial" FONT_SIZE = 16 FONT_BOLD = true FONT_COLOR = Color.new(255,255,255) #Definição da prioridade do Texto SCREEN_Z = 1 end #============================================================================== # ■ Game CharacterBase #============================================================================== class Game_CharacterBase attr_accessor :text attr_accessor :opacity attr_accessor :erased end #============================================================================== # ■ Game Event #============================================================================== class Game_Event < Game_Character #-------------------------------------------------------------------------- # ● Initialize #-------------------------------------------------------------------------- alias mog_event_text_initialize initialize def initialize(map_id, event) mog_event_text_initialize(map_id, event) end #-------------------------------------------------------------------------- # ● Setup Page Setting #-------------------------------------------------------------------------- alias mog_event_text_setup_page_settings setup_page_settings def setup_page_settings mog_event_text_setup_page_settings setup_event_text end #-------------------------------------------------------------------------- # ● Setup Event Text #-------------------------------------------------------------------------- def setup_event_text return if @list == nil for command in @list if command.code == 108 if command.parameters[0] =~ /<Text = ([^>]*)>/ @text = $1 end end end end end #============================================================================== # ■ Sprite Character Text #============================================================================== class Sprite_Character_Text < Sprite_Base include MOG_EVENT_TEXT_POPUP #-------------------------------------------------------------------------- # ● Initialize #-------------------------------------------------------------------------- def initialize(viewport = nil,character,sprite) super(viewport) text_size = character.text.to_s.split(//) w = 32 + (FONT_SIZE / 2) * text_size.size rescue nil w = 32 if w == nil or w < 32 self.bitmap = Bitmap.new(w,32) self.bitmap.font.name = FONT_NAME self.bitmap.font.size = FONT_SIZE self.bitmap.font.bold = FONT_BOLD self.bitmap.font.color = FONT_COLOR self.bitmap.draw_text(0,0,self.width,self.height,character.text.to_s,1) rescue nil update_position(character,sprite) end #-------------------------------------------------------------------------- # ● Dispose #-------------------------------------------------------------------------- def dispose super self.bitmap.dispose end #-------------------------------------------------------------------------- # ● Update Position #-------------------------------------------------------------------------- def update_position(character,sprite) if character.erased self.visible = false return end self.x = character.screen_x - self.width / 2 self.y = character.screen_y - (sprite.height + self.height) self.z = character.screen_z + SCREEN_Z self.visible = character.transparent == true ? false : true self.opacity = character.opacity end end #============================================================================== # ■ Sprite Character #============================================================================== class Sprite_Character < Sprite_Base #-------------------------------------------------------------------------- # ● Initialize #-------------------------------------------------------------------------- alias mog_event_text_initialize initialize def initialize(viewport, character = nil) mog_event_text_initialize(viewport, character) @character_text = "" create_event_text end #-------------------------------------------------------------------------- # ● Create Event Text #-------------------------------------------------------------------------- def create_event_text return if @character == nil return if @character.text == nil return if @character.text == @character_text dispose_event_text @event_text = Sprite_Character_Text.new(viewport,@character,self) @character_text = @character.text end #-------------------------------------------------------------------------- # ● Dispose #-------------------------------------------------------------------------- alias mog_event_text_dispose dispose def dispose mog_event_text_dispose dispose_event_text end #-------------------------------------------------------------------------- # ● Dispose Event Text #-------------------------------------------------------------------------- def dispose_event_text return if @event_text == nil @event_text.dispose @event_text = nil end #-------------------------------------------------------------------------- # ● Update #-------------------------------------------------------------------------- alias mog_event_text_update update def update mog_event_text_update create_event_text update_event_text end #-------------------------------------------------------------------------- # ● Update Event Text #-------------------------------------------------------------------------- def update_event_text return if @event_text == nil @event_text.update_position(@character,self) end end $mog_rgss3_event_text_popup = true 4) CHARACTER EX V1.2 Descrizione:Script piuttosto divertente, in realtà. Vi permette di poter giocare coi vostri chara, scegliendo di farli camminare basculando, o dargli un effetto tipo fantasma, di farli roteare come se fossero presi da una tromba d'aria o di farli diventare dei nanetti (e tante altre cose XD). Potete inoltre scegliere se far partire queste "trasformazioni" in automatico oppure scatenarle a seguito di un evento o toccando qualcosa. In parole povere, potete fare in modo che Alice mangi un fungo e diventi piccola... o che sia già piccola quando la incontrate! XD Istruzioni:Se volete che l'effetto parta in automatico appena entrate nella mappa, create un evento con la grafica del personaggio che desiderate e poi lanciate un commento con su scritto <Effects = EFFECT_TYPE> (dove EFFECT_TYPE è il tipo di effetto voluto). Se invece volete che l'effetto parta a seguito di un evento o di un'azione da parte dell'eroe, richiamate lo script scrivendo char_effect(EVENT_ID, EFFECT_TYPE) (dove EVENT_ID e l'ID dell'evento che volete modificare, ivi inclusi i vostri eroi). Tutti i tipi di variazioni disponibili sono all'inizo dello script. Sfogatevi! Screen: aberrazioni... http://img823.imageshack.us/img823/714/shotcharacterex.png Script: #============================================================================== # +++ MOG - Character EX (v1.2) +++ #============================================================================== # By Moghunter # http://www.atelier-rgss.com/ #============================================================================== # Adiciona vários efeitos visuais animados nos characters. #============================================================================== #============================================================================== # ■ AUTO MODE (Animated Effects) #============================================================================== # Os efeitos começam automaticamente, coloque no evento os sequintes # comentários para ativar os efeitos. # # <Effects = EFFECT_TYPE> # # EX # # <Effects = Breath> # <Effects = Ghost> # <Effects = Clear> # # <--- EFFECT_TYPE ---> # # ● Breath # Ativa o efeito de respiração. (LOOP EFFECT) # # ● Big Breath # Ativa o efeito de loop de zoom in e out. (LOOP EFFECT) # # ● Ghost # Ativa o efeito de desaparecer e aparecer. (LOOP EFFECT) # # ● Swing # Ativa o efeito do character balançar para os lados. # # ● Swing Loop # Ativa o efeito do character balançar para os lados. (LOOP EFFECT) # # ● Spin # Faz o character girar em 360 graus # # ● Spin Loop # Faz o character girar em 360 graus. (LOOP EFFECT) # # ● Slime Breath # Ativa o efeito de movimento semelhante ao de um slime. (LOOP EFFECT) # # ● Crazy # # Faz o character virar para esquerda e direita rapidamente. (LOOP EFFECT) # # ● Appear # Ativa o efeito de aparição. # # ● Disappear # Ativa o efeito de desaparecer. # # ● Dwarf # Deixa o character anão. # # ● Giant # Deixa o character gigante. # # ● Normal # Faz o character voltar ao normal de forma gradual. # # ● Clear # Cancela todos os efeitos. # #============================================================================== #============================================================================== # ■ MANUAL MODE (Animated Effects) #============================================================================== # Use o código abaixo através do comando chamar script. # # char_effect(EVENT_ID, EFFECT_TYPE) # # EX - char_effect( 10,"Breath") # char_effect( 0, "Dwarf") # # ● EVENT_ID # - Maior que 0 para definir as IDs dos eventos no mapa. # - Iguál a 0 para ativar os efeitos no personagem principal (Leader). # - Menor que 0 para definir as IDs dos sequidores. # # ● EFFECT_TYPE # - Use os mesmos nomes dos efeitos da ativação automática. # #============================================================================== #============================================================================== # ■ EXTRA EFFECTS (Fix Values) #============================================================================== # # ● <Zoom = X> # # ● <Opacity = X> # # ● <Blend Type = X> # # ● <Mirror = X> # #============================================================================== #============================================================================== # ■ CANCEL EFFECTS (Loop Effects) #============================================================================== # # ● char_effect(EVENT_ID, "Clear") # EX - char_effect(15, "Clear") # # Para cancelar um evento(Personagem) especifico. # # ● clear_all_events_effects # Para cancelar todos os efeitos dos eventos no mapa. # # ● clear_all_party_effects # Para cancelar todos os efeitos do grupo(Personagem). # # ● clear_all_ex_effects # Para cancelar tudo. # #============================================================================== #============================================================================== # ● Histórico (Version History) #============================================================================== # v 1.2 - Adição dos comandos para definir valores fixos nos characters. # v 1.1 - Correção na definição da ID dos personagens aliados. #============================================================================== #============================================================================== # ■ Game_CharacterBase #============================================================================== class Game_CharacterBase attr_accessor :effects attr_accessor :opacity attr_accessor :erased attr_accessor :zoom_x attr_accessor :zoom_y attr_accessor :mirror attr_accessor :angle attr_accessor :blend_type #-------------------------------------------------------------------------- # ● initialize #-------------------------------------------------------------------------- alias mog_character_effects_initialize initialize def initialize @effects = ["",0,false] @zoom_x = 1.00 @zoom_y = 1.00 @mirror = false @angle = 0 mog_character_effects_initialize end #-------------------------------------------------------------------------- # ● Clear Effects #-------------------------------------------------------------------------- def clear_effects @effects = ["",0,false] @zoom_x = 1.00 @zoom_y = 1.00 @mirror = false @angle = 0 @opacity = 255 @blend_type = 0 end #-------------------------------------------------------------------------- # ● update #-------------------------------------------------------------------------- alias mog_character_ex_effects_update update def update mog_character_ex_effects_update update_character_ex_effects end #-------------------------------------------------------------------------- # ● Update Character EX Effects #-------------------------------------------------------------------------- def update_character_ex_effects return if @erased or @effects[0] == "" check_new_effect if @effects[2] case @effects[0] when "Breath"; update_breath_effect when "Ghost"; update_ghost_effect when "Big Breath"; update_big_breath_effect when "Slime Breath"; update_slime_breath_effect when "Spin Loop"; update_spin_loop_effect when "Swing Loop"; update_swing_loop_effect when "Crazy"; update_crazy_effect when "Appear"; update_appear_effect when "Disappear"; update_disappear_effect when "Swing"; update_swing_effect when "Spin"; update_spin_effect when "Dwarf"; update_dwarf_effect when "Giant"; update_giant_effect when "Normal"; update_normal_effect end end #-------------------------------------------------------------------------- # ● Check New Effect #-------------------------------------------------------------------------- def check_new_effect @effects[2] = false @effects[1] = 0 unless @effects[0] == "Normal" @opacity = 255 @angle = 0 @mirror = false unless (@effects[0] == "Dwarf" or @effects[0] == "Giant") @zoom_x = 1.00 @zoom_y = 1.00 end end case @effects[0] when "Breath" @effects[1] = rand(60) when "Appear" @zoom_x = 0.1 @zoom_y = 3.5 @opacity = 0 when "Ghost" @opacity = rand(255) when "Swing Loop" @angle = 20 @effects[1] = rand(60) when "Spin Loop" @angle = rand(360) when "Slime Breath" @effects[1] = rand(60) when "Big Breath" @effects[1] = rand(60) when "Normal" pre_angle = 360 * (@angle / 360).truncate @angle = @angle - pre_angle @angle = 0 if @angle < 0 end end #-------------------------------------------------------------------------- # ● Check New Effect #-------------------------------------------------------------------------- def update_breath_effect @effects[1] += 1 case @effects[1] when 0..25 @zoom_y += 0.005 if @zoom_y > 1.12 @zoom_y = 1.12 @effects[1] = 26 end when 26..50 @zoom_y -= 0.005 if @zoom_y < 1.0 @zoom_y = 1.0 @effects[1] = 51 end else @zoom_x = 1 @zoom_y = 1 @effects[1] = 0 end end #-------------------------------------------------------------------------- # ● Update Ghost Effect #-------------------------------------------------------------------------- def update_ghost_effect @effects[1] += 1 case @effects[1] when 0..55 @opacity += 5 @effects[1] = 56 if @opacity >= 255 when 56..120 @opacity -= 5 @effects[1] = 121 if @opacity <= 0 else @opacity = 0 @effects[1] = 0 end end #-------------------------------------------------------------------------- # ● Update Swing Loop Effect #-------------------------------------------------------------------------- def update_swing_loop_effect @effects[1] += 1 case @effects[1] when 0..40 @angle -= 1 if @angle < -19 @angle = -19 @effects[1] = 41 end when 41..80 @angle += 1 if @angle > 19 @angle = 19 @effects[1] = 81 end else @angle = 20 @effects[1] = 0 end end #-------------------------------------------------------------------------- # ● Update Swing Effect #-------------------------------------------------------------------------- def update_swing_effect @effects[1] += 1 case @effects[1] when 0..20 @angle -= 1 when 21..60 @angle += 1 when 61..80 @angle -= 1 else clear_effects end end #-------------------------------------------------------------------------- # ● Update Spin Loop Effect #-------------------------------------------------------------------------- def update_spin_loop_effect @angle += 3 end #-------------------------------------------------------------------------- # ● Update Spin Effect #-------------------------------------------------------------------------- def update_spin_effect @angle += 10 clear_effects if @angle >= 360 end #-------------------------------------------------------------------------- # ● Update Slime Breath Effect #-------------------------------------------------------------------------- def update_slime_breath_effect @effects[1] += 1 case @effects[1] when 0..30 @zoom_x += 0.005 @zoom_y -= 0.005 if @zoom_x > 1.145 @zoom_x = 1.145 @zoom_y = 0.855 @effects[1] = 31 end when 31..60 @zoom_x -= 0.005 @zoom_y += 0.005 if @zoom_x < 1.0 @zoom_x = 1.0 @zoom_y = 1.0 @effects[1] = 61 end else @zoom_x = 1 @zoom_y = 1.0 @effects[1] = 0 end end #-------------------------------------------------------------------------- # ● Update Big Breath Effect #-------------------------------------------------------------------------- def update_big_breath_effect @effects[1] += 1 case @effects[1] when 0..30 @zoom_x += 0.02 @zoom_y = @zoom_x if @zoom_x > 1.6 @zoom_x = 1.6 @zoom_y = @zoom_x @effects[1] = 31 end when 31..60 @zoom_x -= 0.02 @zoom_y = @zoom_x if @zoom_x < 1.0 @zoom_x = 1.0 @zoom_y = @zoom_x @effects[1] = 61 end else @zoom_x = 1 @zoom_y = 1 @effects[1] = 0 end end #-------------------------------------------------------------------------- # ● Update Disappear Effect #-------------------------------------------------------------------------- def update_disappear_effect @zoom_x -= 0.01 @zoom_y += 0.05 @opacity -= 3 end #-------------------------------------------------------------------------- # ● Update Appear Effect #-------------------------------------------------------------------------- def update_appear_effect @zoom_x += 0.02 @zoom_x = 1.0 if @zoom_x > 1.0 @zoom_y -= 0.05 @zoom_y = 1.0 if @zoom_y < 1.0 @opacity += 3 clear_effects if @opacity >= 255 end #-------------------------------------------------------------------------- # ● Update Crazy Effect #-------------------------------------------------------------------------- def update_crazy_effect @effects[1] += 1 case @effects[1] when 1..5 @mirror = false when 6..10 @mirror = true else @mirror = false @effects[1] = 0 end end #-------------------------------------------------------------------------- # ● Update Dwarf Effect #-------------------------------------------------------------------------- def update_dwarf_effect if @zoom_x > 0.5 @zoom_x -= 0.01 @zoom_y -= 0.01 end end #-------------------------------------------------------------------------- # ● Update Giant Effect #-------------------------------------------------------------------------- def update_giant_effect if @zoom_x < 1.8 @zoom_x += 0.01 @zoom_y += 0.01 end end #-------------------------------------------------------------------------- # ● Update Normal #-------------------------------------------------------------------------- def update_normal_effect if @zoom_x > 1.0 @zoom_x -= 0.01 @zoom_x = 1.0 if @zoom_x < 1.0 elsif @zoom_x < 1.0 @zoom_x += 0.01 @zoom_x = 1.0 if @zoom_x > 1.0 end if @zoom_y > 1.0 @zoom_y -= 0.01 @zoom_y = 1.0 if @zoom_y < 1.0 elsif @zoom_y < 1.0 @zoom_y += 0.01 @zoom_y = 1.0 if @zoom_y > 1.0 end if @opacity < 255 @opacity += 2 @opacity = 255 if @opacity > 255 end if @angle > 0 @angle -= 5 @angle = 0 if @angle < 0 end if (@zoom_x == 1.0 and @zoom_y == 1.0 and @opacity == 255 and @angle == 0) clear_effects end end end #============================================================================== # ■ Game Event #============================================================================== class Game_Event < Game_Character #-------------------------------------------------------------------------- # ● Setup Page Setting #-------------------------------------------------------------------------- alias mog_character_effects_setup_page_settings setup_page_settings def setup_page_settings mog_character_effects_setup_page_settings setup_character_ex_effects end #-------------------------------------------------------------------------- # ● Setup Character Effects #-------------------------------------------------------------------------- def setup_character_ex_effects return if @list == nil for command in @list if command.code == 108 if command.parameters[0] =~ /<Effects = ([^>]*)>/ @effects = [$1,0,true] end if command.parameters[0] =~ /<Zoom = (\d+)>/i @zoom_x = $1.to_i @zoom_y = @zoom_x end if command.parameters[0] =~ /<Opacity = (\d+)>/i @opacity = $1.to_i end if command.parameters[0] =~ /<Blend Type = (\d+)>/i @blend_type = $1.to_i end if command.parameters[0] =~ /<Mirror = (\w+)>/i @mirror = $1 end end end end end #============================================================================== # ■ Sprite Character #============================================================================== class Sprite_Character < Sprite_Base #-------------------------------------------------------------------------- # ● Update Other #-------------------------------------------------------------------------- alias mog_character_ex_effects_update_other update_other def update_other mog_character_ex_effects_update_other update_other_ex end #-------------------------------------------------------------------------- # ● Update_other_EX #-------------------------------------------------------------------------- def update_other_ex self.zoom_x = @character.zoom_x self.zoom_y = @character.zoom_y self.mirror = @character.mirror self.angle = @character.angle end end #============================================================================== # ■ CHARCTER EX EFFECTS COMMAND #============================================================================== module CHARACTER_EX_EFFECTS_COMMAND #-------------------------------------------------------------------------- # ● Char Effect #-------------------------------------------------------------------------- def char_effect(event_id = 0, effect_type = "Breath") if event_id < 0 target = $game_player.followers[event_id.abs - 1] rescue nil elsif event_id == 0 target = $game_player rescue nil else target = $game_map.events[event_id] rescue nil end execute_char_effect(target,effect_type) if target != nil end #-------------------------------------------------------------------------- # ● Execute Char Effect #-------------------------------------------------------------------------- def execute_char_effect(target,effect_type) if effect_type == "Clear" target.clear_effects rescue nil return end target.effects[0] = effect_type.to_s rescue nil target.effects[2] = true rescue nil end #-------------------------------------------------------------------------- # ● Clear_All_Events Effects #-------------------------------------------------------------------------- def clear_all_events_effects for event in $game_map.events.values event.clear_effects end end #-------------------------------------------------------------------------- # ● Clear_All_Party Effects #-------------------------------------------------------------------------- def clear_all_party_effects $game_player.clear_effects for folower in $game_player.followers folower.clear_effects end end #-------------------------------------------------------------------------- # ● Clear_All_Char_Effects #-------------------------------------------------------------------------- def clear_all_ex_effects clear_all_events_effects clear_all_party_effects end end #============================================================================== # ■ Game Interpreter #============================================================================== class Game_Interpreter include CHARACTER_EX_EFFECTS_COMMAND end #============================================================================== # ■ Game_CharacterBase #============================================================================== class Game_CharacterBase include CHARACTER_EX_EFFECTS_COMMAND end $mog_rgss3_character_ex = true Edited May 11, 2013 by lupius "Lo trasformerò in una pulce. Un'innocua, piccola pulce. Poi metterò la pulce in una scatola; e la scatola dentro un'altra scatola! Quindi spedirò la scatola a me stessa e quando arriverà.... HAHAHAHA!! LA SPIACCICHERO' CON UN MARTELLO! E' una splendida, splendida idea, geniale direi!! .......... No.... Troppi francobolli..." - Izma - "Le follie dell'imperatore" Link to comment Share on other sites More sharing options...
L'ANTIPATICO 2.0 Posted May 7, 2013 Share Posted May 7, 2013 Molto utile postarli divisi, per chi non vuole necessariamente usarli tutti o non è capace a ripparli^^ http://s18.postimg.org/k4vemzo51/logoc3.png http://s22.postimg.org/ndw7yqdi5/BANNER01.png "Temi il buio perchè non sei conscio dei segreti che esso nasconde..."KURAI - Stealth Rpg, Progetto per l'RTP Game ContestStatus - |||||||||| 10% Link to comment Share on other sites More sharing options...
lupius Posted May 7, 2013 Author Share Posted May 7, 2013 Già ma adesso mi si pone un altro problema... sono più di 20, viene fuori un messaggio chilometrico! "Lo trasformerò in una pulce. Un'innocua, piccola pulce. Poi metterò la pulce in una scatola; e la scatola dentro un'altra scatola! Quindi spedirò la scatola a me stessa e quando arriverà.... HAHAHAHA!! LA SPIACCICHERO' CON UN MARTELLO! E' una splendida, splendida idea, geniale direi!! .......... No.... Troppi francobolli..." - Izma - "Le follie dell'imperatore" Link to comment Share on other sites More sharing options...
Guardian of Irael Posted May 7, 2013 Share Posted May 7, 2013 Come detto puoi pure postarli sfusi in più topic cercando prima se sono stati postati già i singoli! ^ ^ Comunque ricorda di descrivere per bene e mettere qualche screen di anteprima ^ ^ (\_/)(^ ^) <----coniglietto rosso, me! (> <) Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^ http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^ http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^ REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^ 🖤http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gifhttp://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3http://i.imgur.com/MpaUphY.jpg by Idriu E:3Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44) http://i.imgur.com/PgUqHPm.pngUfficiale"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.pngGrazie Testament XD Fan n°1 ufficiale di PQ! :DVivail Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che nonavevo programmi di grafica per fare un banner su questo pc XD (ora ho dinuovo il mio PC veramente :D) Rosso Guardiano dellahttp://i.imgur.com/Os5rvhx.pngRpg2s RPG BY FORUM:Nome: Darth Reveal PV totali 2PA totali 16Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.Bozze vesti non definitive qui.Equipaggiamento:Indossa:60$ e 59$ divisi in due tasche interneLevaitanSpada a due mani elsa lungaGuanti del Defender (2PA)Anello del linguaggio animale (diventato del Richiamo)Scrinieri da lanciere (2 PA)Elmo del Leone (5 PA)Corazza del Leone in Ferro Corrazzato (7 PA) ZAINO (20) contenente:Portamonete in pelle di cinghiale contenente: 100$Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)CordaBottiglia di idromeleForma di formaggioTorcia (serve ad illuminare, dura tre settori)Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)Ampolla BiancaSemi di Balissa CAVALLO NORMALE + SELLA (30 +2 armi) contentente:66$Benda di pronto soccorso x3Spada a due maniFagotto per Adara (fazzoletto ricamato) Link to comment Share on other sites More sharing options...
lupius Posted May 7, 2013 Author Share Posted May 7, 2013 (edited) Come detto puoi pure postarli sfusi in più topic cercando prima se sono stati postati già i singoli! ^ ^ Comunque ricorda di descrivere per bene e mettere qualche screen di anteprima ^ ^ Ok, grazie. Devo farci la mano col layout ^^ EDIT: aggiunto gli script per visualizzazione animata del nome della mappa in stile Touhou e per i testi di descrizione in popupXD Edited May 7, 2013 by lupius "Lo trasformerò in una pulce. Un'innocua, piccola pulce. Poi metterò la pulce in una scatola; e la scatola dentro un'altra scatola! Quindi spedirò la scatola a me stessa e quando arriverà.... HAHAHAHA!! LA SPIACCICHERO' CON UN MARTELLO! E' una splendida, splendida idea, geniale direi!! .......... No.... Troppi francobolli..." - Izma - "Le follie dell'imperatore" Link to comment Share on other sites More sharing options...
KenzaMe92 Posted May 7, 2013 Share Posted May 7, 2013 per il Touhou Map Name ho visto che visualizzava due volte il nome della mappa, quindi ho commentato la linea 143 dello Scene_Map risolvendo il problema e visualizzando solo quello dello script di moghunter. Nuovi progetti: Script: KZM - MZ Engine (solo core e party per ora) KZM - MV Core KZM - Engine Ace Tutorial Tutorial Uso Variabili per Gestione Opacità Finestre Pocket Quest! by Testament Spoiler da guardare se vi interessano Progetti in corso Avanzamento Le Cronache di Arshes - La Strana Sopravvivenza |||||||||||||||||||| 10% Restart imminente Avanzamento Undead |||||||||||||||||||| 15% Avanzamento Le Cronache di Arshes - La Storia Continua |||||||||||||||||||| 20% Restart Imminente Adozioni... (\__/) ( ^^ ) (< >) Screen Contests MANIFESTO DEL MAKING ITALIANO SALVIAMO IL MAKING ITALIANO!! Dopo un test dei nostri esperti (Alato, Blake e havana24) abbiamo scoperto che ad interesse risponde interesse: cioè se voi dimostrate di essere interessati a ciò che creano gli altri, questi saranno stimolati a continuare a creare! E' un concetto semplice ma estremamente sottovalutato, basta vedere quanti topic di bei giochi sono caduti nel dimenticatoio e sono stati cagati solo da poche persone (prendiamo per esempio il fantastico gioco di Vech che vi invito a vedere nella sezione RM2k). Perciò quello che dobbiamo fare è: leggere, leggere, leggere, postare,8 postare, postare! E questo non significa postare a caso, ma leggere per bene il progetto di qualcuno, le domande poste, le creazioni grafiche e musicali, e fare dei post in cui si propongano miglioramenti, si critichino le brutture, si esaltino le bellezze, si aiutino gli oppressi etc etc BASTA AL MAKING ITALIANO CHE VA A ROTOLI! DIAMOCI UNA SVEGLIATA!! Per dimostrarvi ciò che sto esponendo vi riporto che la volta in cui abbiamo provato (Alato, Blake e havana24) a fare una cosa di questo genere, c'è costata un pomeriggio ma il giorno dopo abbiamo ottenuto il numero massimo di utenti online mai raggiunto!!! Ma soprattutto ciò significa che l'interesse riguardo al making era stato, almeno momentaneamente, risvegliato!! Voi pensate che eravamo solo in 3 a cercare tutti i topic e ravvivarli (con sincerità e senza i soliti falsi "Oh che bello.", ma anche con critiche per lavori incompleti o assurdi) e abbiamo ottenuto quel grande risultato: se lo facessimo tutti non sarebbe una cosa potentissima?!? BASTA ALLE SOLITE BANALI DISCUSSIONI SULLA DECADENZA DEI GIOCHI!! FACCIAMOLI STI GIOCHI!!! Chi è contrario a questa cosa, può pure continuare così ma è una persona che col making non ha nulla a che fare, ma chi crede nel making inizi ora, immediatamente a seguire questa linea di pensiero! Ma chi è d'accordo, chi davvero ci tiene al making, incolli questo Manifesto nella propria firma!! Mettete anche voi questa firma!! Come allegare immagini al forum Bottega Rise of The Hero Link to comment Share on other sites More sharing options...
lupius Posted May 7, 2013 Author Share Posted May 7, 2013 per il Touhou Map Name ho visto che visualizzava due volte il nome della mappa, quindi ho commentato la linea 143 dello Scene_Map risolvendo il problema e visualizzando solo quello dello script di moghunter. Non ho capito... Qual era il problema? Io (in effetti ho dimenticato di dirlo) ho riscontrato un problema di ripetizione isterica ma ho risolto mettendo uno switch locale... Tu invece? "Lo trasformerò in una pulce. Un'innocua, piccola pulce. Poi metterò la pulce in una scatola; e la scatola dentro un'altra scatola! Quindi spedirò la scatola a me stessa e quando arriverà.... HAHAHAHA!! LA SPIACCICHERO' CON UN MARTELLO! E' una splendida, splendida idea, geniale direi!! .......... No.... Troppi francobolli..." - Izma - "Le follie dell'imperatore" Link to comment Share on other sites More sharing options...
KenzaMe92 Posted May 8, 2013 Share Posted May 8, 2013 in poche parole senza la modifica che ho fatto, visualizza anche il nome della mappa come farebbe normalmente. Nuovi progetti: Script: KZM - MZ Engine (solo core e party per ora) KZM - MV Core KZM - Engine Ace Tutorial Tutorial Uso Variabili per Gestione Opacità Finestre Pocket Quest! by Testament Spoiler da guardare se vi interessano Progetti in corso Avanzamento Le Cronache di Arshes - La Strana Sopravvivenza |||||||||||||||||||| 10% Restart imminente Avanzamento Undead |||||||||||||||||||| 15% Avanzamento Le Cronache di Arshes - La Storia Continua |||||||||||||||||||| 20% Restart Imminente Adozioni... (\__/) ( ^^ ) (< >) Screen Contests MANIFESTO DEL MAKING ITALIANO SALVIAMO IL MAKING ITALIANO!! Dopo un test dei nostri esperti (Alato, Blake e havana24) abbiamo scoperto che ad interesse risponde interesse: cioè se voi dimostrate di essere interessati a ciò che creano gli altri, questi saranno stimolati a continuare a creare! E' un concetto semplice ma estremamente sottovalutato, basta vedere quanti topic di bei giochi sono caduti nel dimenticatoio e sono stati cagati solo da poche persone (prendiamo per esempio il fantastico gioco di Vech che vi invito a vedere nella sezione RM2k). Perciò quello che dobbiamo fare è: leggere, leggere, leggere, postare,8 postare, postare! E questo non significa postare a caso, ma leggere per bene il progetto di qualcuno, le domande poste, le creazioni grafiche e musicali, e fare dei post in cui si propongano miglioramenti, si critichino le brutture, si esaltino le bellezze, si aiutino gli oppressi etc etc BASTA AL MAKING ITALIANO CHE VA A ROTOLI! DIAMOCI UNA SVEGLIATA!! Per dimostrarvi ciò che sto esponendo vi riporto che la volta in cui abbiamo provato (Alato, Blake e havana24) a fare una cosa di questo genere, c'è costata un pomeriggio ma il giorno dopo abbiamo ottenuto il numero massimo di utenti online mai raggiunto!!! Ma soprattutto ciò significa che l'interesse riguardo al making era stato, almeno momentaneamente, risvegliato!! Voi pensate che eravamo solo in 3 a cercare tutti i topic e ravvivarli (con sincerità e senza i soliti falsi "Oh che bello.", ma anche con critiche per lavori incompleti o assurdi) e abbiamo ottenuto quel grande risultato: se lo facessimo tutti non sarebbe una cosa potentissima?!? BASTA ALLE SOLITE BANALI DISCUSSIONI SULLA DECADENZA DEI GIOCHI!! FACCIAMOLI STI GIOCHI!!! Chi è contrario a questa cosa, può pure continuare così ma è una persona che col making non ha nulla a che fare, ma chi crede nel making inizi ora, immediatamente a seguire questa linea di pensiero! Ma chi è d'accordo, chi davvero ci tiene al making, incolli questo Manifesto nella propria firma!! Mettete anche voi questa firma!! Come allegare immagini al forum Bottega Rise of The Hero Link to comment Share on other sites More sharing options...
lupius Posted May 8, 2013 Author Share Posted May 8, 2013 in poche parole senza la modifica che ho fatto, visualizza anche il nome della mappa come farebbe normalmente. Che strano, a me questa cosa non succede... Mi potresti dire di preciso che modifica hai fatto così la metto nelle istruzioni? Almeno se capita a qualcun altro sa come risolvere... "Lo trasformerò in una pulce. Un'innocua, piccola pulce. Poi metterò la pulce in una scatola; e la scatola dentro un'altra scatola! Quindi spedirò la scatola a me stessa e quando arriverà.... HAHAHAHA!! LA SPIACCICHERO' CON UN MARTELLO! E' una splendida, splendida idea, geniale direi!! .......... No.... Troppi francobolli..." - Izma - "Le follie dell'imperatore" Link to comment Share on other sites More sharing options...
KenzaMe92 Posted May 8, 2013 Share Posted May 8, 2013 ho aggiunto il # all'inizio della linea 143 dello Scene_Map classico di rpg maker vx ace. Nuovi progetti: Script: KZM - MZ Engine (solo core e party per ora) KZM - MV Core KZM - Engine Ace Tutorial Tutorial Uso Variabili per Gestione Opacità Finestre Pocket Quest! by Testament Spoiler da guardare se vi interessano Progetti in corso Avanzamento Le Cronache di Arshes - La Strana Sopravvivenza |||||||||||||||||||| 10% Restart imminente Avanzamento Undead |||||||||||||||||||| 15% Avanzamento Le Cronache di Arshes - La Storia Continua |||||||||||||||||||| 20% Restart Imminente Adozioni... (\__/) ( ^^ ) (< >) Screen Contests MANIFESTO DEL MAKING ITALIANO SALVIAMO IL MAKING ITALIANO!! Dopo un test dei nostri esperti (Alato, Blake e havana24) abbiamo scoperto che ad interesse risponde interesse: cioè se voi dimostrate di essere interessati a ciò che creano gli altri, questi saranno stimolati a continuare a creare! E' un concetto semplice ma estremamente sottovalutato, basta vedere quanti topic di bei giochi sono caduti nel dimenticatoio e sono stati cagati solo da poche persone (prendiamo per esempio il fantastico gioco di Vech che vi invito a vedere nella sezione RM2k). Perciò quello che dobbiamo fare è: leggere, leggere, leggere, postare,8 postare, postare! E questo non significa postare a caso, ma leggere per bene il progetto di qualcuno, le domande poste, le creazioni grafiche e musicali, e fare dei post in cui si propongano miglioramenti, si critichino le brutture, si esaltino le bellezze, si aiutino gli oppressi etc etc BASTA AL MAKING ITALIANO CHE VA A ROTOLI! DIAMOCI UNA SVEGLIATA!! Per dimostrarvi ciò che sto esponendo vi riporto che la volta in cui abbiamo provato (Alato, Blake e havana24) a fare una cosa di questo genere, c'è costata un pomeriggio ma il giorno dopo abbiamo ottenuto il numero massimo di utenti online mai raggiunto!!! Ma soprattutto ciò significa che l'interesse riguardo al making era stato, almeno momentaneamente, risvegliato!! Voi pensate che eravamo solo in 3 a cercare tutti i topic e ravvivarli (con sincerità e senza i soliti falsi "Oh che bello.", ma anche con critiche per lavori incompleti o assurdi) e abbiamo ottenuto quel grande risultato: se lo facessimo tutti non sarebbe una cosa potentissima?!? BASTA ALLE SOLITE BANALI DISCUSSIONI SULLA DECADENZA DEI GIOCHI!! FACCIAMOLI STI GIOCHI!!! Chi è contrario a questa cosa, può pure continuare così ma è una persona che col making non ha nulla a che fare, ma chi crede nel making inizi ora, immediatamente a seguire questa linea di pensiero! Ma chi è d'accordo, chi davvero ci tiene al making, incolli questo Manifesto nella propria firma!! Mettete anche voi questa firma!! Come allegare immagini al forum Bottega Rise of The Hero Link to comment Share on other sites More sharing options...
lupius Posted May 8, 2013 Author Share Posted May 8, 2013 Grassie! Ho aggiunto il tuo suggerimento. Ma sarà strano che succeda a te o che non succeda a me? XD "Lo trasformerò in una pulce. Un'innocua, piccola pulce. Poi metterò la pulce in una scatola; e la scatola dentro un'altra scatola! Quindi spedirò la scatola a me stessa e quando arriverà.... HAHAHAHA!! LA SPIACCICHERO' CON UN MARTELLO! E' una splendida, splendida idea, geniale direi!! .......... No.... Troppi francobolli..." - Izma - "Le follie dell'imperatore" Link to comment Share on other sites More sharing options...
KenzaMe92 Posted May 8, 2013 Share Posted May 8, 2013 boh, io penso che rpg maker vx ace sia pieno di misteri fino all'orlo. Nuovi progetti: Script: KZM - MZ Engine (solo core e party per ora) KZM - MV Core KZM - Engine Ace Tutorial Tutorial Uso Variabili per Gestione Opacità Finestre Pocket Quest! by Testament Spoiler da guardare se vi interessano Progetti in corso Avanzamento Le Cronache di Arshes - La Strana Sopravvivenza |||||||||||||||||||| 10% Restart imminente Avanzamento Undead |||||||||||||||||||| 15% Avanzamento Le Cronache di Arshes - La Storia Continua |||||||||||||||||||| 20% Restart Imminente Adozioni... (\__/) ( ^^ ) (< >) Screen Contests MANIFESTO DEL MAKING ITALIANO SALVIAMO IL MAKING ITALIANO!! Dopo un test dei nostri esperti (Alato, Blake e havana24) abbiamo scoperto che ad interesse risponde interesse: cioè se voi dimostrate di essere interessati a ciò che creano gli altri, questi saranno stimolati a continuare a creare! E' un concetto semplice ma estremamente sottovalutato, basta vedere quanti topic di bei giochi sono caduti nel dimenticatoio e sono stati cagati solo da poche persone (prendiamo per esempio il fantastico gioco di Vech che vi invito a vedere nella sezione RM2k). Perciò quello che dobbiamo fare è: leggere, leggere, leggere, postare,8 postare, postare! E questo non significa postare a caso, ma leggere per bene il progetto di qualcuno, le domande poste, le creazioni grafiche e musicali, e fare dei post in cui si propongano miglioramenti, si critichino le brutture, si esaltino le bellezze, si aiutino gli oppressi etc etc BASTA AL MAKING ITALIANO CHE VA A ROTOLI! DIAMOCI UNA SVEGLIATA!! Per dimostrarvi ciò che sto esponendo vi riporto che la volta in cui abbiamo provato (Alato, Blake e havana24) a fare una cosa di questo genere, c'è costata un pomeriggio ma il giorno dopo abbiamo ottenuto il numero massimo di utenti online mai raggiunto!!! Ma soprattutto ciò significa che l'interesse riguardo al making era stato, almeno momentaneamente, risvegliato!! Voi pensate che eravamo solo in 3 a cercare tutti i topic e ravvivarli (con sincerità e senza i soliti falsi "Oh che bello.", ma anche con critiche per lavori incompleti o assurdi) e abbiamo ottenuto quel grande risultato: se lo facessimo tutti non sarebbe una cosa potentissima?!? BASTA ALLE SOLITE BANALI DISCUSSIONI SULLA DECADENZA DEI GIOCHI!! FACCIAMOLI STI GIOCHI!!! Chi è contrario a questa cosa, può pure continuare così ma è una persona che col making non ha nulla a che fare, ma chi crede nel making inizi ora, immediatamente a seguire questa linea di pensiero! Ma chi è d'accordo, chi davvero ci tiene al making, incolli questo Manifesto nella propria firma!! Mettete anche voi questa firma!! Come allegare immagini al forum Bottega Rise of The Hero Link to comment Share on other sites More sharing options...
Guardian of Irael Posted May 8, 2013 Share Posted May 8, 2013 Ma te lo fa su un nuovo progetto? ^ ^ (\_/)(^ ^) <----coniglietto rosso, me! (> <) Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^ http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^ http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^ REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^ 🖤http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gifhttp://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3http://i.imgur.com/MpaUphY.jpg by Idriu E:3Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44) http://i.imgur.com/PgUqHPm.pngUfficiale"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.pngGrazie Testament XD Fan n°1 ufficiale di PQ! :DVivail Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che nonavevo programmi di grafica per fare un banner su questo pc XD (ora ho dinuovo il mio PC veramente :D) Rosso Guardiano dellahttp://i.imgur.com/Os5rvhx.pngRpg2s RPG BY FORUM:Nome: Darth Reveal PV totali 2PA totali 16Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.Bozze vesti non definitive qui.Equipaggiamento:Indossa:60$ e 59$ divisi in due tasche interneLevaitanSpada a due mani elsa lungaGuanti del Defender (2PA)Anello del linguaggio animale (diventato del Richiamo)Scrinieri da lanciere (2 PA)Elmo del Leone (5 PA)Corazza del Leone in Ferro Corrazzato (7 PA) ZAINO (20) contenente:Portamonete in pelle di cinghiale contenente: 100$Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)CordaBottiglia di idromeleForma di formaggioTorcia (serve ad illuminare, dura tre settori)Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)Ampolla BiancaSemi di Balissa CAVALLO NORMALE + SELLA (30 +2 armi) contentente:66$Benda di pronto soccorso x3Spada a due maniFagotto per Adara (fazzoletto ricamato) Link to comment Share on other sites More sharing options...
KenzaMe92 Posted May 8, 2013 Share Posted May 8, 2013 (edited) si. nel progetto però ho messo tutti gli script della demo di moghunter. Edited May 8, 2013 by KenzoMe92 Nuovi progetti: Script: KZM - MZ Engine (solo core e party per ora) KZM - MV Core KZM - Engine Ace Tutorial Tutorial Uso Variabili per Gestione Opacità Finestre Pocket Quest! by Testament Spoiler da guardare se vi interessano Progetti in corso Avanzamento Le Cronache di Arshes - La Strana Sopravvivenza |||||||||||||||||||| 10% Restart imminente Avanzamento Undead |||||||||||||||||||| 15% Avanzamento Le Cronache di Arshes - La Storia Continua |||||||||||||||||||| 20% Restart Imminente Adozioni... (\__/) ( ^^ ) (< >) Screen Contests MANIFESTO DEL MAKING ITALIANO SALVIAMO IL MAKING ITALIANO!! Dopo un test dei nostri esperti (Alato, Blake e havana24) abbiamo scoperto che ad interesse risponde interesse: cioè se voi dimostrate di essere interessati a ciò che creano gli altri, questi saranno stimolati a continuare a creare! E' un concetto semplice ma estremamente sottovalutato, basta vedere quanti topic di bei giochi sono caduti nel dimenticatoio e sono stati cagati solo da poche persone (prendiamo per esempio il fantastico gioco di Vech che vi invito a vedere nella sezione RM2k). Perciò quello che dobbiamo fare è: leggere, leggere, leggere, postare,8 postare, postare! E questo non significa postare a caso, ma leggere per bene il progetto di qualcuno, le domande poste, le creazioni grafiche e musicali, e fare dei post in cui si propongano miglioramenti, si critichino le brutture, si esaltino le bellezze, si aiutino gli oppressi etc etc BASTA AL MAKING ITALIANO CHE VA A ROTOLI! DIAMOCI UNA SVEGLIATA!! Per dimostrarvi ciò che sto esponendo vi riporto che la volta in cui abbiamo provato (Alato, Blake e havana24) a fare una cosa di questo genere, c'è costata un pomeriggio ma il giorno dopo abbiamo ottenuto il numero massimo di utenti online mai raggiunto!!! Ma soprattutto ciò significa che l'interesse riguardo al making era stato, almeno momentaneamente, risvegliato!! Voi pensate che eravamo solo in 3 a cercare tutti i topic e ravvivarli (con sincerità e senza i soliti falsi "Oh che bello.", ma anche con critiche per lavori incompleti o assurdi) e abbiamo ottenuto quel grande risultato: se lo facessimo tutti non sarebbe una cosa potentissima?!? BASTA ALLE SOLITE BANALI DISCUSSIONI SULLA DECADENZA DEI GIOCHI!! FACCIAMOLI STI GIOCHI!!! Chi è contrario a questa cosa, può pure continuare così ma è una persona che col making non ha nulla a che fare, ma chi crede nel making inizi ora, immediatamente a seguire questa linea di pensiero! Ma chi è d'accordo, chi davvero ci tiene al making, incolli questo Manifesto nella propria firma!! Mettete anche voi questa firma!! Come allegare immagini al forum Bottega Rise of The Hero Link to comment Share on other sites More sharing options...
lupius Posted May 8, 2013 Author Share Posted May 8, 2013 (edited) Mentre aspettiamo di far luce su questo mistero, ho inserito il quarto script, un simpatico manipolatore di chara XD Edited May 8, 2013 by lupius "Lo trasformerò in una pulce. Un'innocua, piccola pulce. Poi metterò la pulce in una scatola; e la scatola dentro un'altra scatola! Quindi spedirò la scatola a me stessa e quando arriverà.... HAHAHAHA!! LA SPIACCICHERO' CON UN MARTELLO! E' una splendida, splendida idea, geniale direi!! .......... No.... Troppi francobolli..." - Izma - "Le follie dell'imperatore" Link to comment Share on other sites More sharing options...
AndreyDarko Posted May 9, 2013 Share Posted May 9, 2013 wow grazie della guida :D http://i1366.photobucket.com/albums/r770/mistintheforest/cooltext1371376180_zpsnym4lhzp.png Segui su facebook per aggiornamenti http://i1366.photobucket.com/albums/r770/mistintheforest/Immagine22_zpskginjwe7.pnghttp://www.speedtest.net/result/4428575686.png Link to comment Share on other sites More sharing options...
Mithos Posted May 9, 2013 Share Posted May 9, 2013 Se vuoi aggiungerlo al topic principale, questo è il link alle immagini per la cartella Weather, da incollare nella cartella Graphic per lo script del meteo. http://www.mediafire.com/?2q1ix4ublcc6u82 Auguri per il lavorone! Link to comment Share on other sites More sharing options...
lupius Posted May 9, 2013 Author Share Posted May 9, 2013 (edited) Se vuoi aggiungerlo al topic principale, questo è il link alle immagini per la cartella Weather, da incollare nella cartella Graphic per lo script del meteo. http://www.mediafire.com/?2q1ix4ublcc6u82 Auguri per il lavorone!Grazie! Oggi butterò su ancora qualcosa... La menata è che è tutto in portoghese e, soprattutto, che spesso le istruzioni negli script hanno degli errori... uff... Grazie del link, lo implemento al messaggio!! EDIT: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Script per il Gameplay 1) Moghunter Chain Commands V1.4 Descrizione:Questo script permette di applicare una combinazione di tasti da immettere, in un lasso limitato di tempo, per raggiungere uno scopo. Possiamo quindi far immettere una combinazione di tasti per aprire un baule, sbloccare una porta o con qualsiasi altra cosa si possa interagire sulla mappa. Nello screen qua sotto, per esempio, bisogna immettere la sequenza per poter aprire la porta Screen:http://img690.imageshack.us/img690/7682/shotchaincommand.png Istruzioni:Per modificare, aggiungere e togliere switch di comandi (ovvero gli "slot" a cui assegnate le combinazioni di comandi) andate alla linea 54Il resto delle istruzioni le trovate comodamente all'inizio dello script. Le immagini originali di Moghunter potete trovarle qui: http://www.mediafire.com/download.php?m29ejyo691w6k5l Script: #=============================================================================== # +++ MOG - Chain Commands (v1.4) +++ #=============================================================================== # By Moghunter # http://www.atelier-rgss.com #=============================================================================== # Sistema de sequência de botões para ativar switchs. # # Serão necessárias as seguintes imagens. (Graphics/System) # # Chain_Cursor.png # Chain_Command.png # Chain_Layout.png # Chain_Timer_Layout.png # Chain_Timer_Meter.png # #=============================================================================== # # Para ativar o script use o comando abaixo. (*Call Script) # # chain_commands(ID) # # ID - Id da switch. # #=============================================================================== #============================================================================== # ● Histórico (Version History) #============================================================================== # v 1.4 - Correção do crash aleatório. # v 1.3 - Melhoria no sistema de dispose # v 1.2 - Melhoria na codificação e correção de alguns glitches. # v 1.1 - Animação de fade ao sair da cena de chain. # - Opção de definir a prioridade da hud na tela. #============================================================================== module MOG_CHAIN_COMMANDS #============================================================================== # CHAIN_COMMAND = { SWITCH_ID => [COMMAND] } # # SWITCH_ID = ID da switch # COMMANDS = Defina aqui a sequência de botões. # (Para fazer a sequência use os comandos abaixo) # # "Down" ,"Up" ,"Left" ,"Right" ,"Shift" ,"D" ,"S" ,"A" ,"Z" ,"X" ,"Q" ,"W" # # Exemplo de utilização # # CHAIN_SWITCH_COMMAND = { # 25=>["Down","D","S","Right"], # 59=>["Down","Up","Left","Right","Shift","D","S","A","Z","X","Q","W"], # 80=>["Shift","D"] # } #============================================================================== CHAIN_SWITCH_COMMAND = { 5=>["X","Right","Left","Z","Z"], 6=>["Left","Right","Left","Right","Left","Right","Q","Z","Up","A","S", "Down","D","Z","Right","Up","Up","Z","W","Left","Down","D","A","W"], 8=>["Up","Down","Left","Right","Z"] } #Duração para colocar os comandos. (A duração é multiplicado pela quantidade #de comandos) *60 = 1 sec CHAIN_INPUT_DURATION = 30 #Som ao acertar. CHAIN_RIGHT_SE = "Chime1" #Som ao errar. CHAIN_WRONG_SE = "Buzzer1" #Switch que ativa o modo automático. CHAIN_AUTOMATIC_MODE_SWITCH_ID = 20 #Definição da prioridade da hud na tela CHAIN_HUD_Z = 300 end #=============================================================================== # ■ Chain Commands #=============================================================================== class Chain_Commands include MOG_CHAIN_COMMANDS #-------------------------------------------------------------------------- # ● Initialize #-------------------------------------------------------------------------- def initialize @action_id = $game_temp.chain_switch_id @chain_command = CHAIN_SWITCH_COMMAND[@action_id] @chain_command = ["?"] if @chain_command == nil duration = [[CHAIN_INPUT_DURATION, 1].max, 9999].min @timer_max = duration * @chain_command.size @timer = @timer_max @slide_time = [[60 / duration, 10].max, 60].min @change_time = 0 if $game_switches[CHAIN_AUTOMATIC_MODE_SWITCH_ID] @auto = true else @auto = false end @com = 0 end #-------------------------------------------------------------------------- # ● Main #-------------------------------------------------------------------------- def main dispose @background_sprite = Sprite.new @background_sprite.bitmap = SceneManager.background_bitmap2 create_chain_command create_cusrsor create_layout create_meter create_text create_number Graphics.transition loop do Graphics.update Input.update update break if SceneManager.scene != self end dispose end #-------------------------------------------------------------------------- # ● Create Cursor #-------------------------------------------------------------------------- def create_cusrsor @fy_time = 0 @fy = 0 @com_index = 0 @cursor = Sprite.new @cursor.bitmap = Cache.system("Chain_Cursor") @cursor.z = 4 + CHAIN_HUD_Z @cursor_space = ((@bitmap_cw + 5) * @chain_command.size) / 2 if @chain_command.size <= 20 @cursor.x = (544 / 2) - @cursor_space + @cursor_space * @com_index else @cursor.x = (544 / 2) end @cursor.y = (416 / 2) + 30 end #-------------------------------------------------------------------------- # ● Create Chain Command #-------------------------------------------------------------------------- def create_chain_command @image = Cache.system("Chain_Command") width_max = ((@image.width / 13) + 5) * @chain_command.size @bitmap = Bitmap.new(width_max,@image.height * 2) @bitmap_cw = @image.width / 13 @bitmap_ch = @image.height index = 0 for i in @chain_command command_list_check(i) bitmap_src_rect = Rect.new(@com * @bitmap_cw, 0, @bitmap_cw, @bitmap_ch) if index == 0 @bitmap.blt(index * (@bitmap_cw + 5) , 0, @image, bitmap_src_rect) else @bitmap.blt(index * (@bitmap_cw + 5) , @bitmap_ch, @image, bitmap_src_rect) end index += 1 end @sprite = Sprite.new @sprite.bitmap = @bitmap if @chain_command.size <= 15 @sprite.x = (544 / 2) - ((@bitmap_cw + 5) * @chain_command.size) / 2 @new_x = 0 else @sprite.x = (544 / 2) @new_x = @sprite.x end @sprite.y = (416 / 2) + 30 - @bitmap_ch - 15 @sprite.z = 3 + CHAIN_HUD_Z @sprite.zoom_x = 1.5 @sprite.zoom_y = 1.5 end #-------------------------------------------------------------------------- # * create_layout #-------------------------------------------------------------------------- def create_layout @back = Plane.new @back.bitmap = Cache.system("Chain_Layout") @back.z = 0 @layout = Sprite.new @layout.bitmap = Cache.system("Chain_Timer_Layout") @layout.z = 1 + CHAIN_HUD_Z @layout.x = 160 @layout.y = 150 end #-------------------------------------------------------------------------- # * create_meter #-------------------------------------------------------------------------- def create_meter @meter_flow = 0 @meter_image = Cache.system("Chain_Timer_Meter") @meter_bitmap = Bitmap.new(@meter_image.width,@meter_image.height) @meter_range = @meter_image.width / 3 @meter_width = @meter_range * @timer / @timer_max @meter_height = @meter_image.height @meter_src_rect = Rect.new(@meter_range, 0, @meter_width, @meter_height) @meter_bitmap.blt(0,0, @meter_image, @meter_src_rect) @meter_sprite = Sprite.new @meter_sprite.bitmap = @meter_bitmap @meter_sprite.z = 2 + CHAIN_HUD_Z @meter_sprite.x = 220 @meter_sprite.y = 159 update_flow end #-------------------------------------------------------------------------- # ● Create Text #-------------------------------------------------------------------------- def create_text @text = Sprite.new @text.bitmap = Bitmap.new(200,32) @text.z = 2 + CHAIN_HUD_Z @text.bitmap.font.name = "Georgia" @text.bitmap.font.size = 25 @text.bitmap.font.bold = true @text.bitmap.font.italic = true @text.bitmap.font.color.set(255, 255, 255,220) @text.x = 230 @text.y = 100 end #-------------------------------------------------------------------------- # ● Create Number #-------------------------------------------------------------------------- def create_number @combo = 0 @number = Sprite.new @number.bitmap = Bitmap.new(200,64) @number.z = 2 + CHAIN_HUD_Z @number.bitmap.font.name = "Arial" @number.bitmap.font.size = 24 @number.bitmap.font.bold = true @number.bitmap.font.color.set(0, 255, 255,200) @number.bitmap.draw_text(0, 0, 200, 32, "Ready",1) @number.x = 30 @number.y = 100 end #-------------------------------------------------------------------------- # ● Pre Dispose #-------------------------------------------------------------------------- def exit loop do Graphics.update @sprite.x += 5 @layout.x -= 5 @meter_sprite.x -= 5 @text.x -= 2 @text.opacity -= 5 @sprite.opacity -= 5 @layout.opacity -= 5 @meter_sprite.opacity -= 5 @number.opacity -= 5 @back.opacity -= 5 @cursor.visible = false break if @sprite.opacity == 0 end SceneManager.call(Scene_Map) end #-------------------------------------------------------------------------- # ● Dispose #-------------------------------------------------------------------------- def dispose return if @layout == nil Graphics.freeze @background_sprite.bitmap.dispose @background_sprite.dispose @bitmap.dispose @sprite.bitmap.dispose @sprite.dispose @cursor.bitmap.dispose @cursor.dispose @meter_image.dispose @meter_bitmap.dispose @meter_sprite.bitmap.dispose @meter_sprite.dispose @layout.bitmap.dispose @layout.dispose @layout = nil @back.bitmap.dispose @back.dispose @text.bitmap.dispose @text.dispose @number.bitmap.dispose @number.dispose @image.dispose end #-------------------------------------------------------------------------- # ● Update #-------------------------------------------------------------------------- def update update_command update_cursor_slide update_flow update_change_time end #-------------------------------------------------------------------------- # ● Change_Time #-------------------------------------------------------------------------- def update_change_time return unless @auto @change_time += 1 check_command(-1) if @change_time >= CHAIN_INPUT_DURATION - 1 end #-------------------------------------------------------------------------- # ● Update Flow #-------------------------------------------------------------------------- def update_flow @timer -= 1 @meter_sprite.bitmap.clear @meter_width = @meter_range * @timer / @timer_max @meter_src_rect = Rect.new(@meter_flow, 0, @meter_width, @meter_height) @meter_bitmap.blt(0,0, @meter_image, @meter_src_rect) @meter_flow += 20 @meter_flow = 0 if @meter_flow >= @meter_image.width - @meter_range wrong_command if @timer == 0 and @auto == false end #-------------------------------------------------------------------------- # ● Update Command #-------------------------------------------------------------------------- def update_command return if @auto if Input.trigger?(Input::X) check_command(0) elsif Input.trigger?(Input::Z) check_command(1) elsif Input.trigger?(Input::Y) check_command(2) elsif Input.trigger?(Input::A) check_command(3) elsif Input.trigger?(Input::C) check_command(4) elsif Input.trigger?(Input::B) check_command(5) elsif Input.trigger?(Input::L) check_command(6) elsif Input.trigger?(Input::R) check_command(7) elsif Input.trigger?(Input::RIGHT) check_command(8) elsif Input.trigger?(Input::LEFT) check_command(9) elsif Input.trigger?(Input::DOWN) check_command(10) elsif Input.trigger?(Input::UP) check_command(11) end end #-------------------------------------------------------------------------- # ● command_list_check #-------------------------------------------------------------------------- def command_list_check(command) case command when "A" @com = 0 when "D" @com = 1 when "S" @com = 2 when "Shift" @com = 3 when "Z" @com = 4 when "X" @com = 5 when "Q" @com = 6 when "W" @com = 7 when "Right" @com = 8 when "Left" @com = 9 when "Down" @com = 10 when "Up" @com = 11 else @com = 12 end end #-------------------------------------------------------------------------- # ● check_command #-------------------------------------------------------------------------- def check_command(com) index = 0 if com != -1 right_input = false for i in @chain_command if index == @com_index command_list_check(i) right_input = true if @com == com end index += 1 end else command_list_check(@com_index) @change_time = 0 right_input = true end if right_input refresh_number next_command else wrong_command end end #-------------------------------------------------------------------------- # ● Next Command #-------------------------------------------------------------------------- def next_command @com_index += 1 Audio.se_play("Audio/SE/" + CHAIN_RIGHT_SE, 100, 100) if @com_index == @chain_command.size $game_switches[@action_id] = true exit $game_map.need_refresh = true end refresh_command refresh_text(0) end #-------------------------------------------------------------------------- # ● wrong_command #-------------------------------------------------------------------------- def wrong_command Audio.se_play("Audio/SE/" + CHAIN_WRONG_SE, 100, 100) refresh_text(1) exit $game_player.jump(0,0) end #-------------------------------------------------------------------------- # ● Refresh Command #-------------------------------------------------------------------------- def refresh_command @sprite.bitmap.clear index = 0 for i in @chain_command command_list_check(i) bitmap_src_rect = Rect.new(@com * @bitmap_cw, 0, @bitmap_cw, @bitmap_ch) if @com_index == index @bitmap.blt(index * (@bitmap_cw + 5) , 0, @image, bitmap_src_rect) else @bitmap.blt(index * (@bitmap_cw + 5) , @bitmap_ch, @image, bitmap_src_rect) end index += 1 end if @chain_command.size > 15 @new_x = (544 / 2) - ((@bitmap_cw + 5) * @com_index) else @cursor.x = (544 / 2) - @cursor_space + ((@bitmap_cw + 5) * @com_index) end end #-------------------------------------------------------------------------- # ● Refresh Text #-------------------------------------------------------------------------- def refresh_text(type) @text.bitmap.clear if type == 0 if @com_index == @chain_command.size @text.bitmap.font.color.set(55, 255, 55,220) @text.bitmap.draw_text(0, 0, 200, 32, "Perfect!",1) else @text.bitmap.font.color.set(55, 155, 255,220) @text.bitmap.draw_text(0, 0, 200, 32, "Success!",1) end else @text.bitmap.font.color.set(255, 155, 55,220) if @timer == 0 @text.bitmap.draw_text(0, 0, 200, 32, "Time Limit!",1) else @text.bitmap.draw_text(0, 0, 200, 32, "Fail!",1) end end @text.x = 230 @text.opacity = 255 end #-------------------------------------------------------------------------- # ● Refresh Number #-------------------------------------------------------------------------- def refresh_number @combo += 1 @number.bitmap.clear @number.bitmap.font.size = 34 @number.bitmap.draw_text(0, 0, 200, 32, @combo.to_s,1) @number.opacity = 255 @number.zoom_x = 2 @number.zoom_y = 2 end #-------------------------------------------------------------------------- # ● Update Cursor Slide #-------------------------------------------------------------------------- def update_cursor_slide @sprite.zoom_x -= 0.1 if @sprite.zoom_x > 1 @sprite.zoom_y -= 0.1 if @sprite.zoom_y > 1 @text.x -= 2 if @text.x > 210 @text.opacity -= 5 if @text.opacity > 0 @sprite.x -= @slide_time if @sprite.x > @new_x and @chain_command.size > 15 if @number.zoom_x > 1 @number.zoom_x -= 0.1 @number.zoom_y -= 0.1 end if @fy_time > 15 @fy += 1 elsif @fy_time > 0 @fy -= 1 else @fy = 0 @fy_time = 30 end @fy_time -= 1 @cursor.oy = @fy end end #============================================================================== # ■ Game Temp #============================================================================== class Game_Temp attr_accessor :chain_switch_id #-------------------------------------------------------------------------- # ● Initialize #-------------------------------------------------------------------------- alias mog_chain_commands_initialize initialize def initialize @chain_switch_id = 0 mog_chain_commands_initialize end end #============================================================================== # ■ Game_Interpreter #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # ● Chain Commands #-------------------------------------------------------------------------- def chain_commands(switch_id = 0) return if switch_id <= 0 $game_temp.chain_switch_id = switch_id SceneManager.call(Chain_Commands) wait(1) end end #=============================================================================== # ■ SceneManager #=============================================================================== class << SceneManager @background_bitmap2 = nil #-------------------------------------------------------------------------- # ● Snapshot For Background2 #-------------------------------------------------------------------------- def snapshot_for_background2 @background_bitmap2.dispose if @background_bitmap2 @background_bitmap2 = Graphics.snap_to_bitmap end #-------------------------------------------------------------------------- # ● Background Bitmap2 #-------------------------------------------------------------------------- def background_bitmap2 @background_bitmap2 end end #=============================================================================== # ■ Scene Map #=============================================================================== class Scene_Map < Scene_Base #-------------------------------------------------------------------------- # ● Terminate #-------------------------------------------------------------------------- alias mog_chain_commands_terminate terminate def terminate SceneManager.snapshot_for_background2 mog_chain_commands_terminate end end $mog_rgss3_chain_commands = true Edited May 11, 2013 by lupius "Lo trasformerò in una pulce. Un'innocua, piccola pulce. Poi metterò la pulce in una scatola; e la scatola dentro un'altra scatola! Quindi spedirò la scatola a me stessa e quando arriverà.... HAHAHAHA!! LA SPIACCICHERO' CON UN MARTELLO! E' una splendida, splendida idea, geniale direi!! .......... No.... Troppi francobolli..." - Izma - "Le follie dell'imperatore" Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now