Vai al contenuto

Rilevato Ad-Blocker. Per favore disabilita il tuo adblocker quando navighi su makerando.com - Non c'è nessun annuncio invasivo.

Cerca nel Forum

Showing results for tags 'Gameplay'.



More search options

  • Search By Tags

    Tag separati da virgole.
  • Search By Author

Tipo di contenuto


Forums

  • Comunità
    • Cancello di Ingresso
    • Bacheca
    • Colisseum
  • DevTeam
    • CyberTeam
  • Giochi e Progetti RPG Maker
    • Resa Grafica
    • Concept e Bozze
    • Progetti
    • Giochi RPG Maker Completi e Demo
    • Il Making Oltreoceano
  • Assistenza e Supporto RPG Maker
    • Biblioteca
    • BrainStorming
    • Chiedi Aiuto alla Comunity
    • RPG Maker Scripting
    • PlugIn e AddOn RPG Maker
    • Musica e Suoni
    • Risorse Grafiche RPG Maker
    • Mak - Resources
  • Beyond Making - Oltre RPG Maker
    • Altri Tool

Find results in...

Find results that contain...


Data di creazione

  • Start

    End


Ultimo Aggiornamento

  • Start

    End


Filter by number of...

Iscritto

  • Start

    End


Gruppo


AIM


Indirizzo Web


ICQ


Yahoo


Skype


Location


Interests

Trovato 49 risultati

  1. Nome Script: Incontri in base all'oggetto Versione: N/D Autore/i: Moon Informazioni: In base all'oggetto che abbiamo equipaggiato, gli incontri casuali saranno impostati in base al settaggio dei numeri dei passi inseriti nelle proprietà dell'oggetto. Istruzioni: Inserite lo script sotto material (che trovaerete anche all'interno della demo). Per settare i passi, nelle note dell'oggetto, armi o armature etc, inserite: <encounter [#numero]>Dove #numero va sostituito ovviamente con il numero dei passi. Script: #_______________________________________________________________________________ # $Encounter Items by Moon$ | #_______________________________________________________________________________ # | # How to use it? | # Its quite simple, just add <encounter [#number]> at the "Notes" box and it| # will increase the encounter step by the [#number]. | # Ex. | # <ecnounter 30> will increase the encounter steps by 30. | # Thats all | #_______________________________________________________________________________ module Moon module EI module Regexp module BaseItem EI = /<(?:ENCOUNTER|encounter)[ ]*(d+)>/i end end end end class RPG::BaseItem def encounter_items @__enc = 0 self.note.split(/[rn]+/).each { |line| case line when /<(?:ENCOUNTER|encounter)[ ]*(d+)>/i @__enc = $1.to_i end } end def enc encounter_items if @__enc == nil return @__enc end end class Game_Actor < Game_Battler def enc_inc p = 0 equips.compact.each { |item| next if item.enc == nil next if item.enc == 0 p = p + item.enc } return p if p != nil return 0 end def change_equip(equip_type, item, test = false) last_item = equips[equip_type] unless test return if $game_party.item_number(item) == 0 if item != nil $game_party.gain_item(last_item, 1) $game_party.lose_item(item, 1) end item_id = item == nil ? 0 : item.id case equip_type when 0 # Weapon @weapon_id = item_id unless two_hands_legal? # If two hands is not allowed change_equip(1, nil, test) # Unequip from other hand end when 1 # Shield @armor1_id = item_id unless two_hands_legal? # If two hands is not allowed change_equip(0, nil, test) # Unequip from other hand end when 2 # Head @armor2_id = item_id when 3 # Body @armor3_id = item_id when 4 # Accessory @armor4_id = item_id end $game_player.make_encounter_count end end class Game_Player < Game_Character def make_encounter_count if $game_map.map_id != 0 n = $game_map.encounter_step for member in $game_party.members n += $game_actors[member.id].enc_inc end @encounter_count = rand(n) + rand(n) + 1 # As if rolling 2 dice end end end Demo: http://www.mediafire.com/?sgmex4bidei
  2. Nome Script: FenixFyreX's Light FX Versione: 0.8 Autore/i: FenixFyreX Informazioni: Questo script permette di generare effetti di luce attraverso un commento posti in un evento. E' molto semplice e ha un sacco di funzioni. Features: - Configurazione dinamica degli effetti luce con un commento nella pagina di un evento. - Ogni effetto può avere la sua propria grafica! - Aggiunge effetti come il tremolio, il ridimensionamento, effetto onda, compensazione e molto altro ancora. - Preset di configurazione nella configurazione dello script per l'uso facile accesso. - Switch che inverte il sistema (da configurare). Screenshots: Istruzioni: Inserite lo script sotto material. Le istruzioni sono all'interno dello script. Script: # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # # FenixFyreX's Light Effects (FFXLFX) # Version 0.8 # http://www.rpgmakervx.net # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # # To create a light effect via comment, setup the comment like so: # # <lfx args> # # args can be any of the following; fn is required: # # fn # f Flicker effect. Setup like so: f[n,n1] best effect above 100,100. # zx,zy Zoom X and Zoom Y of the effect. # b Blend type of the effect. 0 is normal, 1 is add, 2 is subtract. # os Offset, setup like so: os[x,y] x and/or y can be negative. # clr Color. Setup like so: clr[red,green,blue,alpha] alpha can be omitted. # w Wave effect. Setup like so: w[amp,length,speed,phase] phase can be omitted. # # To use a preset, just setup the comment like so: # # <lfx preset string> # # Where string is the name of the preset below. # # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # module FFXLFX # # # # Set up preset light fx here. the preset can be named anything as long as it # is a string(e.g. within " ") # Options for the preset are as follows; if a * is next to it, its mandatory: # # :filename * The name of the file in Graphics/Lights/ # :flicker Should the light flicker? Must be an array of two numbers. # :zx Zoom X of the effect, 1 is default # :zy Zoom Y of the effect, 1 is default # :blend 0 is normal, 1 is add, 2 is subtract # :color An array of 3-4 numbers, like so: [155,100,0] # Yellow # :wave An array of 3-4 numbers, [amp, length, speed, phase] # # :wave makes the image wiggle, amp's default is Presets = {} #do NOT delete this. Presets["Ground1"] = { :filename => "light1", :flicker => [200,100], :zx => 2, :zy => 2, :blend => 1, :color => [155,100,0], :wave => [1,1,10], } # The switch that turns the whole system on or off. If on, the system will be off. On_Off_Switch = 1 end module Cache def self.lights(filename) load_bitmap("Graphics/Lights/",filename) end end class Sprite def start_wave(amp,speed,length,phase=nil) self.wave_amp = amp self.wave_speed = speed self.wave_length = length self.wave_phase = phase.to_i unless phase.nil? end end class Game_Event < Game_Character def light rgxp = /<lfx[ ]*(::|=)?[ ]*(.*)>/i rgxp2 = /<lfxpreset[ ]*=?[ ]*(.*)>/i return if @page.nil? @page.list.each do |item| if [108,408].include?(item.code) txt = item.parameters[0] index = @page.list.index(item) loop do if [108,408].include?(@page.list[index].code) unless txt =~ (rgxp || rgxp2) txt += @page.list[index+1].parameters[0] else break end index += 1 else return nil end end return txt =~ rgxp2 ? preset_light($1.to_s) : txt =~ rgxp ? new_light(txt) : nil end end return nil end def new_light(txt) filename = txt =~ /fn[ ]*=?[ ]*([w*d*s*]*)/i ? $1.to_s : nil flicker = txt =~ /f[ ]*=?[ ]*[(d+),(d+)]/i ? [$1.to_i,$2.to_i] : nil zx = txt =~ /zx[ ]*=?[ ]*(d*)/i ? $1.to_i : 1 zy = txt =~ /zy[ ]*=?[ ]*(d*)/i ? $1.to_i : 1 blend = txt =~ /b[ ]*=?[ ]*[0|1|2]/i ? $1.to_i : nil offset = txt =~ /os[ ]*=?[ ]*[(d+),(d+)]/i ? [$1.to_i,$2.to_i] : [0,0] wave = txt =~ /w[ ]*=?[ ]*[(d+)[ ]*,[ ]*(d+)[ ]*,[ ]*(d+)[ ]*,?[ ]*(d+)?]/i ? [$1.to_i,$2.to_i,$3.to_i,$4] : nil color = nil if txt =~ /clr[ ]*=?[ ]*[(d+),?[ ]*(d+),?[ ]*,(d+),?[ ]*(d+)?]/i color = Color.new($1.to_f,$2.to_f,$3.to_f,$4.nil? ? 255 : $4.to_f) end if FileTest.exist?(sprintf("Graphics/Lights/%s.png", filename)) s = Sprite_Light.new(self) s.bitmap = Cache.lights(filename).clone s.flicker = flicker s.zoom_x = zx s.zoom_y = zy s.color = color unless color.nil? s.blend_type = blend unless blend.nil? s.offset = offset s.start_wave(*wave) unless wave.nil? return s end return nil end def preset_light(nam) cache = FFXLFX::Presets[nam] return nil if cache[:filename].nil? s = Sprite_Light.new(self) s.bitmap = Cache.lights(cache[:filename]).clone s.flicker = cache[:flicker] unless cache[:flicker].nil? s.zoom_x = cache[:zx] unless cache[:zx].nil? s.zoom_y = cache[:zy] unless cache[:zy].nil? s.color = Color.new(*cache[:color]) unless cache[:color].nil? s.blend_type = cache[:blend] unless cache[:blend].nil? s.offset = cache[:offset] unless cache[:offset].nil? s.start_wave(*cache[:wave]) unless cache[:wave].nil? return s end end class Spriteset_Map attr_accessor :lightfxs alias init_lightfxs initialize unless $@ def initialize(*args, &block) @lightfxs = [] init_lightfxs(*args, &block) setup_lightz update_lightz end def setup_lightz if $game_switches[FFXLFX] return nil end $game_map.events.values.each do |i| @lightfxs[i.id] = i.light end end alias update_lightfxs update unless $@ def update(*args, &block) if $game_switches[FFXLFX] && @lightfxs.empty? setup_lightz elsif !$game_switches[FFXLFX] dispose_lightz end update_lightfxs(*args, &block) update_lightz end alias dispose_lightfxs dispose unless $@ def dispose(*args, &block) dispose_lightz dispose_lightfxs(*args, &block) end def update_lightz @lightfxs.each do |s| s.update unless s.nil? or s.disposed? or s.bitmap.nil? or s.bitmap.disposed? end end def dispose_lightz @lightfxs.each do |s| s.dispose unless s.nil? or s.disposed? end end end class Sprite_Light < Sprite_Base attr_accessor :flicker, :offset def initialize(event) @event = event @flicker = false @offset = [0,0] super(nil) set_xyz end def update set_xyz return if [email protected]?() super if [email protected]? self.visible = (rand(@flicker[0]) != @flicker[0]-1) self.opacity = 255-rand(@flicker[1]) else self.visible = true self.opacity = 150 end end def set_xyz a = (@event.screen_x.to_f) b = (@event.screen_y.to_f) a -= (self.width/2)+((self.zoom_x-1)*self.width/2) b -= self.height+((self.zoom_y-1)*self.height/2) a += @offset[0] b += @offset[1] self.x = a self.y = b self.z = @event.screen_z end end Incompatibilità: N/D
  3. Nome Script: Multiple Fogs Versione: 1.0 Autore/i: Woratana Informazioni: Con questo script, è possibile utilizzare le Fog come nei tool precedenti (opzione eliminata in RMVX). Istruzioni: Inserite lo script sopra Main. Le istruzioni sono all'interno dello script. Script: #=============================================================== # ● [VX] ◦ Multiple Fogs ◦ □ # * Use unlimited layers of fog * #-------------------------------------------------------------- # ◦ by Woratana [[email protected]] # ◦ Thaiware RPG Maker Community # ◦ Released on: 13/05/2008 # ◦ Version: 1.0 #-------------------------------------------------------------- #================================================================== # ** HOW TO USE ** # * use event command 'Script...' for the any script line below~ #----------------------------------------------------------------- # #--------------------------------------------------------------- # ** SETUP FOG PROPERTIES & SHOW FOG ** # * You have to setup fog properties, before show fog~ #------------------------------------------------------------- # * There are 3 ways to setup fog properties: # >> Setup Fog [Custom]: # $fog.name = 'image_name' # Image file name, must be in fog image path (setup path below). # $fog.hue = (integer) # Fog's hue. 0 - 360, 0 for no hue. # $fog.tone = [red, green, blue, gray] # Fog's tone color. # $fog.opacity = (integer) # Fog's opacity. 0 - 255, you will not see fog in 0. # $fog.blend = (0, 1, or 2) # Fog's blend type. 0 for Normal, 1 for Add, 2 for Subtract. # $fog.zoom = (integer) # Fog's size (in %). 100 for normal size. # $fog.sx = (+ or - integer) # Fog's horizontal move speed. # $fog.sy = (+ or - integer) # Fog's vertical move speed. # # >> Setup Fog [From Preset]: # (You can setup fog presets, in part FOG PRESET SETUP below) # $fog.load_preset(preset_id) # # >> Setup Fog [From Fog that showing]: # $fog.load_fog(fog_id) # #-------------------------------------------------------------- # ** SHOW FOG ** #------------------------------------------------------------- # After setup the fog, show fog by call script: # $fog.show(fog_id) # # In case you want to show new fog on same ox, oy, tone as old fog. Call Script: # $fog.show(old_fog_id, false) # # * fog_id: the ID number you want to put this fog in. # (It can be any positive number or zero) # # After you show fog, the fog properties you've set will replace with default setting. # (You can setup default setting, in part FOG DEFAULT SETTING below) # #-------------------------------------------------------------- # ** DELETE FOG ** #------------------------------------------------------------- # You can delete 1 or more fog(s) at a time by call script: # $fog.delete(fog_id, fog_id, fog_id, ...) # #--------------------------------------------------------------- # ** OLD FOG CONTROL EVENT COMMANDS ** #------------------------------------------------------------- # Change Fog Tone: # $game_map.fogtone(fog_id, [red, green, blue, gray], duration) # e.g. $game_map.fogtone(1, [100,200,-100,0], 10) # Change Fog Opacity: # $game_map.fogopac(fog_id, new_opacity, duration) # e.g. $game_map.fogopac(2, 200, 10) # #--------------------------------------------------------------- # ** ADDITIONAL SETTINGS ** #------------------------------------------------------------- # Change Fog Image's Path: # $game_map.fog_path = 'image_path' # e.g. $game_map.fog_path = 'Graphics/Pictures/' # Turn ON/OFF [Automatically clear all fogs when transfer player]: # $game_map.fog_reset = (true / false) # #=============================================================== #================================================================== # START ** MULTIPLE FOG SETUP ** #================================================================== class Game_Map alias wora_mulfog_gammap_ini initialize def initialize wora_mulfog_gammap_ini #================================================================== # ** MULTIPLE FOG SETUP ** SETTINGS #-------------------------------------------------------------- @fog_path = 'Graphics/Pictures/' # Fog image's path @fog_reset = true # (true or false) # Automatically clear all multiple fogs when transfer player #================================================================== @mulfog_name = [] @mulfog_hue = [] @mulfog_opacity = [] @mulfog_blend_type = [] @mulfog_zoom = [] @mulfog_sx = [] @mulfog_sy = [] @mulfog_ox = [] @mulfog_oy = [] @mulfog_tone = [] @mulfog_tone_target = [] @mulfog_tone_duration = [] @mulfog_opacity_duration = [] @mulfog_opacity_target = [] end end class Wora_Multiple_Fog def set_default #================================================================== # ** MULTIPLE FOG SETUP ** FOG DEFAULT SETTING #-------------------------------------------------------------- @name = '' @hue = 0 @opacity = 64 @blend = 0 @zoom = 200 @sx = 0 @sy = 0 @tone = [0,0,0,0] #================================================================== end def load_preset(preset_id) case preset_id #================================================================== # ** MULTIPLE FOG SETUP ** FOG PRESET SETUP #-------------------------------------------------------------- when 1 # Preset ID 1 @name = '001-Fog01' @hue = 0 @tone = [100,-255,20,0] @opacity = 60 @blend = 0 @zoom = 200 @sx = 10 @sy = 0 when 2 # Preset ID 2 @name = '002-Clouds01' @hue = 0 @tone = [0,0,0,0] @opacity = 200 @blend = 1 @zoom = 200 @sx = -2 @sy = -2 #================================================================== end end #================================================================== # END ** MULTIPLE FOG SETUP ** # * Don't change anything below unless you know what you're doing. #================================================================== attr_accessor :name, :hue, :opacity, :blend, :zoom, :sx, :sy, :tone def initialize set_default end def load_fog(id) @name = $game_map.mulfog_name[id].sub($game_map.fog_path, '') @hue = $game_map.mulfog_hue[id] @opacity = $game_map.mulfog_opacity[id] @blend = $game_map.mulfog_blend_type[id] @zoom = $game_map.mulfog_zoom[id] @sx = $game_map.mulfog_sx[id] @sy = $game_map.mulfog_sy[id] tn = $game_map.mulfog_tone[id] @tone = [tn.red, tn.blue, tn.green, tn.gray] end def show(id, reset_all = true) $game_map.mulfog_name[id] = $game_map.fog_path + @name $game_map.mulfog_hue[id] = @hue $game_map.mulfog_opacity[id] = @opacity $game_map.mulfog_blend_type[id] = @blend $game_map.mulfog_zoom[id] = @zoom $game_map.mulfog_sx[id] = @sx $game_map.mulfog_sy[id] = @sy $game_map.mulfog_tone[id] = Tone.new(@tone[0], @tone[1], @tone[2], @tone[3]) if $game_map.mulfog_ox[id].nil? or reset_all $game_map.mulfog_ox[id] = 0 $game_map.mulfog_oy[id] = 0 $game_map.mulfog_tone_target[id] = Tone.new(0, 0, 0, 0) $game_map.mulfog_tone_duration[id] = 0 $game_map.mulfog_opacity_duration[id] = 0 $game_map.mulfog_opacity_target[id] = 0 end set_default end def delete(*args) args.each do |id| $game_map.mulfog_name[id] = '' end end end class Game_Interpreter alias wora_mulfog_interpret_com201 command_201 #-------------------------------------------------------------------------- # * Transfer Player #-------------------------------------------------------------------------- def command_201 if $game_map.fog_reset if @params[0] == 0; id_map = @params[1] else; id_map = $game_variables[@params[1]] end $game_map.clear_mulfog if id_map != @map_id end wora_mulfog_interpret_com201 end end class Game_Map attr_accessor :mulfog_name, :mulfog_hue, :mulfog_opacity, :mulfog_blend_type, :mulfog_zoom, :mulfog_sx, :mulfog_sy, :mulfog_ox, :mulfog_oy, :mulfog_tone, :mulfog_tone_target, :mulfog_tone_duration, :mulfog_opacity_duration, :mulfog_opacity_target, :fog_reset, :fog_path alias wora_mulfog_gammap_upd update def update wora_mulfog_gammap_upd @mulfog_name.each_index do |i| next if @mulfog_name[i].nil? or @mulfog_name[i] == '' # Manage fog scrolling @mulfog_ox[i] -= @mulfog_sx[i] / 8.0 @mulfog_oy[i] -= @mulfog_sy[i] / 8.0 # Manage change in fog color tone if @mulfog_tone_duration[i] >= 1 d = @mulfog_tone_duration[i] target = @mulfog_tone_target[i] @mulfog_tone[i].red = (@mulfog_tone[i].red * (d - 1) + target.red) / d @mulfog_tone[i].green = (@mulfog_tone[i].green * (d - 1) + target.green) / d @mulfog_tone[i].blue = (@mulfog_tone[i].blue * (d - 1) + target.blue) / d @mulfog_tone[i].gray = (@mulfog_tone[i].gray * (d - 1) + target.gray) / d @mulfog_tone_duration[i] -= 1 end # Manage change in fog opacity level if @mulfog_opacity_duration[i] >= 1 d = @mulfog_opacity_duration[i] @mulfog_opacity[i] = (@mulfog_opacity[i] * (d - 1) + @mulfog_opacity_target[i]) / d @mulfog_opacity_duration[i] -= 1 end end end #-------------------------------------------------------------------------- # * Start Changing Fog Color Tone #-------------------------------------------------------------------------- def fogtone(i, tone, duration) duration = duration * 2 tone = Tone.new(tone[0], tone[1], tone[2], tone[3]) @mulfog_tone_target[i] = tone.clone @mulfog_tone_duration[i] = duration if @mulfog_tone_duration[i] == 0 @mulfog_tone[i] = @mulfog_tone_target[i].clone end end #-------------------------------------------------------------------------- # * Start Changing Fog Opacity Level #-------------------------------------------------------------------------- def fogopac(i, opacity, duration) duration = duration * 2 @mulfog_opacity_target[i] = opacity * 1.0 @mulfog_opacity_duration[i] = duration if @mulfog_opacity_duration[i] == 0 @mulfog_opacity[i] = @mulfog_opacity_target[i] end end def clear_mulfog @mulfog_name.each_index {|i| @mulfog_name[i] = '' } end end $worale = {} if !$worale $worale['MutipleFog'] = true $fog = Wora_Multiple_Fog.new class Spriteset_Map alias wora_mulfog_sprmap_crepal create_parallax alias wora_mulfog_sprmap_updpal update_parallax alias wora_mulfog_sprmap_dispal dispose_parallax def create_parallax @mulfog = [] @mulfog_name = [] @mulfog_hue = [] wora_mulfog_sprmap_crepal end def update_parallax wora_mulfog_sprmap_updpal $game_map.mulfog_name.each_index do |i| next if $game_map.mulfog_name[i].nil? # If fog is different than current fog if @mulfog_name[i] != $game_map.mulfog_name[i] or @mulfog_hue[i] != $game_map.mulfog_hue[i] @mulfog_name[i] = $game_map.mulfog_name[i] @mulfog_hue[i] = $game_map.mulfog_hue[i] if @mulfog[i].nil? @mulfog[i] = Plane.new(@viewport1) @mulfog[i].z = 3000 end if @mulfog[i].bitmap != nil @mulfog[i].bitmap.dispose @mulfog[i].bitmap = nil end if @mulfog_name[i] != '' @mulfog[i].bitmap = Cache.load_bitmap('', @mulfog_name[i], @mulfog_hue[i]) end Graphics.frame_reset end next if @mulfog[i].bitmap.nil? # Update fog plane @mulfog[i].zoom_x = ($game_map.mulfog_zoom[i] / 100.0) if @mulfog[i].zoom_x != ($game_map.mulfog_zoom[i] / 100.0) @mulfog[i].zoom_y = ($game_map.mulfog_zoom[i] / 100.0) if @mulfog[i].zoom_y != ($game_map.mulfog_zoom[i] / 100.0) @mulfog[i].opacity = $game_map.mulfog_opacity[i] if @mulfog[i].opacity != $game_map.mulfog_opacity[i] @mulfog[i].blend_type = $game_map.mulfog_blend_type[i] if @mulfog[i].blend_type != $game_map.mulfog_blend_type[i] @mulfog[i].ox = ($game_map.display_x / 8.0 + $game_map.mulfog_ox[i]) if @mulfog[i].ox != ($game_map.display_x / 8.0 + $game_map.mulfog_ox[i]) @mulfog[i].oy = ($game_map.display_y / 8.0 + $game_map.mulfog_oy[i]) if @mulfog[i].oy != ($game_map.display_y / 8.0 + $game_map.mulfog_oy[i]) @mulfog[i].tone = $game_map.mulfog_tone[i] if @mulfog[i].tone != $game_map.mulfog_tone[i] end end def dispose_parallax @mulfog.each_index do |i| next if @mulfog[i].nil? @mulfog[i].bitmap.dispose if !@mulfog[i].bitmap.nil? @mulfog[i].dispose end wora_mulfog_sprmap_dispal end end #================================================================== # [END] VX Multiple Fog by Woratana [[email protected]] #================================================================== Incompatibilità: N/D
  4. Nome Script: Rei Actor Resize Versione: 2.2c Autore/i: reijubv Informazioni: Cambia la grandezza della grafica dei pg o degli eventi. Utile per la mappa del mondo se si vuole rimpicciolire il pg. Istruzioni: All'interno dello script Script: #=============================================================================== # �€� [VX] �€� Rei Actor Resize �€� �€� # �€� Change player's or event's graphic size �€� #------------------------------------------------------------------------------- # �€� by reijubv [[email protected]] # �€� Released on: 27/04/2009 # �€� Version: 2.2c (June 12th 2009) #------------------------------------------------------------------------------- # > Changelog: # V.1.0 (25-04-09) = Initial release # V.2.0 (01-05-09) = Now resizing event's graphic is possible! # V.2.1 (04-05-09) = Compatible with Woratana's caterpillar script! # V.2.1b(13-05-09) = Compatible with Trickster's caterpillar script! # V.2.1c(14-05-09) = Compatible with Originalwij's pet script! # V.2.2 (17-05-09) = Now resizing individual event's size is possible! # V.2.2b(17-05-09) = Now using array to store event's size, making it easier # for people to resize each events individually! # V.2.2c(12-06-09) = Added a global variable used for compatibility #------------------------------------------------------------------------------- # �€� Information: # A small script that allows you to change the size of player/event's graphic #---------------- # V.2.0 Feature : #---------------- # You can also change an event's graphic size now! # To change an event's graphic size, you MUST do these things : # (these examples are from the script's default settings) # 1. adds this line to event's comment : # rzoom # 2. turn on the switch from the setting below (the one that called EFLAG) # 3. see the effect yourself on your game! # See the demo if you don't understand! #---------------- # V.2.1 Feature : #---------------- # Compatible with Woratana caterpillar script! # For setting compatibility with it, uncomment line 226-228 #----------------- # V.2.1b Feature : #----------------- # Compatible with Trickster's caterpillar script! # For setting compatibility with it, uncomment line 232-234 #----------------- # V.2.1c Feature : #----------------- # Compatible with Originalwij's pet script! # For setting compatibility with it, uncomment line 238-240 #---------------- # V.2.2 Feature : #---------------- # (NOT FUNCTIONAL ANYMORE, SKIP TO V.2.1b INSTEAD!) : # You can now specify each event's size by using these comments : # [rsx#] and [rsy#] # Put those comments in one line or in other comment command, # [rsx#] Will change the event's X size to # # [rsy#] Will change the event's Y size to # # Those feature will only works for non-decymal value. # Decymal value will use an integer that is the closest to it, example : # 1.2 will return 1, and 1.8 will return 2 # Example for usage : # [rsx2][rsy3] # Will change event's X size to 2, and Y size to 3 # ---------------- # V.2.2b Feature : #----------------- # Now you can use an array to store value you can use to resizing events, # Setup it in Rei module below. # [rsvx#] and [rsvy#]; # To use them, type those comments in 1 line, like V.2.1 feature, but never use # both V.2.2 and V.2.1 features in 1 event, to avoid bugs. # [rsvx#] Will change the event's X size to index # in the ARR variable below # [rsvy#] Will change the event's Y size to index # in the ARR variable below # Example for usage : # [rsvx0][rsvy3] # Change event's X size to a number in ARR variable from Rei module in index 0 # and Y size to a number in ARR variable from Rei module in index 3 #------------------------------------------------------------------------------- # You can put all those comments in one line, like rzoom[rsvx#][rsvy#] #------------------------------------------------------------------------------- # reijubv for making this script. # Miget man12 for making this script compatible with Woratana's caterpillar script. #------------------------------------------------------------------------------- # ? Installation: # Put this script above main, setup script below #=============================================================================== $imported = {} if $imported == nil $imported["Rei_"+"ZoomActor"] = true #--------------------------------------------------------------------------- # ** Rei Module #--------------------------------------------------------------------------- module Rei module ZoomActor #--------------------------------------------------------------------------- # * Customize script here! #--------------------------------------------------------------------------- #For player ZOOMX = 0.6 # Change actor's horizontal size here ZOOMY = 0.6 # Change actor's vertical size here FLAG = 599 # Switch Id to (de)activate this script effect to player # (V.2.0) # For event ECOMM = "rzoom" # Write this to an event's comment to change it's size # automatically. # Event that doesn't have this comment won't be affected # even if the switch is turned on! EFLAG = 4 # Switch Id to (de)activate this script effect to events EZUMX = 0.6 # Change event's horizontal size here, 0.1 minimum EZUMY = 0.6 # Change event's vertical size here, 0.1 minimum # To change those variables in game, call script : # Rei::ZoomActor::FLAG =switchId # Rei::ZoomActor::EFLAG=switchId # Rei::ZoomActor::ECOMM="writesomethinghere" # Rei::ZoomActor::ZOOMX=# # Rei::ZoomActor::ZOOMY=# # Rei::ZoomActor::EZUMX=# # Rei::ZoomActor::EZUMY=# # Change siwtchId with, ehm, a switch's Id.. # Change # with a number! # Change writesomethinghere with umm, something you want # V.2.2b #0 1 2 3 4 5 6 7 8 9 ARR = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, #You can add more here ] # This array is for storing predefined size value # to be used when using V.2.2b feature. # Each line after the first have it's index added by 10 # Example : 3.1 index is 30, 1.6 index is 15 #--------------------------------------------------------------------------- # * Stop customize script here! #--------------------------------------------------------------------------- end end #============================================================================== # ** Game_Event #------------------------------------------------------------------------------ # This class deals with events. It handles functions including event page # switching via condition determinants, and running parallel process events. # It's used within the Game_Map class. #============================================================================== class Game_Event < Game_Character attr_accessor :reixid attr_accessor :reiyid attr_reader :reiarr alias reiinit initialize unless method_defined?('reiinit') def initialize(map_id, event) @reixid = 9 @reiyid = 9 @reiarr = [@reixid,@reiyid] reiinit(map_id, event) end def getsizeindex if [email protected]? for i in [email protected] - 1 next if @list[i].code != 108 if @list[i].parameters[0].include?("[rsvx") list = @list[i].parameters[0].scan(/[rsvx([0-9]+)]/) @reixid = $1.to_i end if @list[i].parameters[0].include?("[rsvy") list = @list[i].parameters[0].scan(/[rsvy([0-9]+)]/) @reiyid = $1.to_i end end @reiarr = [@reixid,@reiyid] return @reiarr end end #--------------------------------------------------------------------------- # * check if event has a specified comment #--------------------------------------------------------------------------- def has_comment?(comment, return_comment = false ) if [email protected]? for i in [email protected] - 1 next if @list[i].code != 108 if @list[i].parameters[0].include?(comment) return @list[i].parameters[0] if return_comment return true end end return '' if return_comment return false end end end #============================================================================== # ** Sprite_Character #------------------------------------------------------------------------------ # This sprite is used to display characters. It observes a instance of the # Game_Character class and automatically changes sprite conditions. #============================================================================== class Sprite_Character < Sprite_Base #-------------------------------------------------------------------------- # * Aliases #-------------------------------------------------------------------------- alias rei_update update unless method_defined?('rei_update') #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update if @character.is_a?(Game_Player) and $game_switches[Rei] self.zoom_x = Rei::ZoomActor::ZOOMX self.zoom_y = Rei::ZoomActor::ZOOMY elsif @character.is_a?(Game_Event) and $game_switches[Rei] and @character.has_comment?(Rei::ZoomActor::ECOMM) if @character.has_comment?("[rsvx") self.zoom_x = Rei::ZoomActor::ARR[@character.getsizeindex[0]] else self.zoom_x = Rei::ZoomActor::EZUMX end if @character.has_comment?("[rsvy") self.zoom_y = Rei::ZoomActor::ARR[@character.getsizeindex[1]] else self.zoom_y = Rei::ZoomActor::EZUMY end #UNCOMMENT BELOW LINES IF YOU USE WORATANA'S CATERPILLAR SCRIPT #elsif @character.is_a?(Game_WCateracter) and $game_switches[Rei]==true # self.zoom_x = Rei::ZoomActor::ZOOMX # self.zoom_y = Rei::ZoomActor::ZOOMY #UNCOMMENT ABOVE LINES IF YOU USE WORATANA'S CATERPILLAR SCRIPT #UNCOMMENT BELOW LINES IF YOU USE TRICKSTER'S CATERPILLAR SCRIPT #elsif @character.is_a?(Game_Follower) and $game_switches[Rei] # self.zoom_x = Rei::ZoomActor::ZOOMX # self.zoom_y = Rei::ZoomActor::ZOOMY #UNCOMMENT ABOVE LINES IF YOU USE TRICKSTER'S CATERPILLAR SCRIPT #UNCOMMENT BELOW LINES IF YOU USE ORIGINALWIJ'S PET SCRIPT #elsif @character.is_a?(Game_Pet) and $game_switches[Rei] # self.zoom_x = Rei::ZoomActor::ZOOMX # self.zoom_y = Rei::ZoomActor::ZOOMY #UNCOMMENT ABOVE LINES IF YOU USE TRICKSTER'S CATERPILLAR SCRIPT else self.zoom_x = 1.0 self.zoom_y = 1.0 end rei_update end end Incompatibilita': N/D
  5. Nome Script: Neo Light Effects Versione: 1.0 Autore/i: Khas Informazioni: Un ottimo script usato per creare effetti di luce nel gioco ^^ Richiede lo script Khas Script Core: http://rpgmkr.net/forum/topic/1102-khas-script-core/ Screenshots: Istruzioni: Inserite lo script sotto il Khas Script Core. Inserite le immagini dentro la cartella Graphics/Particles. Tutto il resto lo potete trovare dentro la demo Script: #------------------------------------------------------------------------------- # * [RMVX] Neo Light Effects #------------------------------------------------------------------------------- # * Este script cria efeitos usando imagens #------------------------------------------------------------------------------- # * By Khas ([email protected]) # * Version: 1.0 # * Released on: 13/06/2010 # #------------------------------------------------------------------------------- # Termos de uso: #------------------------------------------------------------------------------- # * ENGLISH # All Khas' Scripts are licensed under a Creative Commons license # All Khas' Scripts are for non-commercial projects, if you need # them for a commercial game, please send a email to [email protected] # All Khas' Scripts are for personal use, you can edit them and use in your # own project, but you can't post any modified version without my permission # # * PORTUGUES # Todos os scripts Khas estão sob licença Creative Commons # Todos os scripts Khas são para projetos não comerciais, se você precisar em # seu projeto comercial, envie um email para [email protected] com o pedido # Todos os scripts Khas são para uso pessoal, você pode usar e editar para uso # no seu projeto, porém você não pode postar nenhuma versão modificada sem # a minha permissão # #------------------------------------------------------------------------------- # Instalação: #------------------------------------------------------------------------------- # 1) Este script tem que ser colocado depois do "Khas Script Core" # 2) Coloque as imagens utilizadas pelo script na pasta "Graphics/Particles/" # 2) Configure o script na parte de configuração # #------------------------------------------------------------------------------- # Como usar: #------------------------------------------------------------------------------- # Para colocar um efeito de luz sobre um evento simplesmente coloque um # comentario dentro dele com o nome do efeito. Efeitos pré definidos: # # Light # Fire # Torch # Window # Door # Shine # Sparkle # Rainbow # Blood # Leaf # Xenon # #------------------------------------------------------------------------------- # Habilitar o script - Não altere aqui! #------------------------------------------------------------------------------- if $enabled_core.nil? p "The script 'Neo Light Effects' requires Khas Script Core 1.0 or better" p "Please install Khas Script Core 1.0 or better" exit elsif $enabled_core < 1 p "The script 'Neo Light Effects' requires Khas Script Core 1.0 or better" p "Please install Khas Script Core 1.0" exit else Core.register("Neo Light Effects",1.0) end #------------------------------------------------------------------------------- # Configuração: #------------------------------------------------------------------------------- module Neo_Light # Coloque abaixo o ID da switch que desliga os efeitos Neo_Light_Switch = 1 # Declaração de efeitos, não altere aqui! Effects = { #------------------------------------------------------------------------------- # Configuração de efeitos #------------------------------------------------------------------------------- # * Modo Facil # "nome do efeito" => Neo_Effect.new(1,2), # 1 - Nome da imagem, na pasta "GraphicsParticles" # 2 - Opacidade, use 0~255 # # * Modo avançado # "nome do efeito" => Neo_Effect.new(1,2,3,4,5,6,7,8,9), # 1 - Nome da imagem, na pasta "GraphicsParticles" # 2 - Opacidade, use 0~255 # 3 - Tom da imagem, use Tone.new(R,G, # 4 - Blend Mode, use 1~2 # 5 - Efeito X, use 0~64 (valores baixos funcionam melhor) # 6 - Efeito Y, use 0~64 (valores baixos funcionam melhor) # 7 - Oscilação de Angulo, use 0~180 (valores baixos funcionam melhor) # 8 - Oscilação de Opacidade, use 0~120 (valores baixos funcionam melhor) # 9 - Oscilação de Hue, use 0~180 (valores baixos funcionam melhor) # # Veja os efeitos pre definidos para detalhes # # NÂO ESQUEÇA DE ADICIONAR UMA VIRGULA APOS CRIAR UM EFEITO ABAIXO! # #------------------------------------------------------------------------------- # * Adicione seus efeitos aqui #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # * Efeitos Custom #------------------------------------------------------------------------------- "Window" => Neo_Effect.new("window",100), "Door" => Neo_Effect.new("light3",100), "Shine" => Neo_Effect.new("light2",150,Tone.new(0,0,0),1,0,0,1,0,0), "Sparkle" => Neo_Effect.new("sparkle",150,Tone.new(0,0,0),1,0,0,3,0,7), "Rainbow" => Neo_Effect.new("circle",150,Tone.new(0,0,0),1,0,0,-2,0,4), "Blood" => Neo_Effect.new("fire",180,Tone.new(255,-230,-230),1,0,0,0,0,0), "Leaf" => Neo_Effect.new("fire",130,Tone.new(-150,255,-150),1,0,0,0,0,0), "Xenon" => Neo_Effect.new("fire",180,Tone.new(-200,-200,255),1,0,0,0,0,0), #------------------------------------------------------------------------------- # * Efeitos Classicos #------------------------------------------------------------------------------- "Light" => Neo_Effect.new("light1",100), "Fire" => Neo_Effect.new("fire",110,Tone.new(255,-100,-255),1,3,3,0,-20,0), "Torch" => Neo_Effect.new("fire_big",110,Tone.new(255,-100,-255),1,1,1,0,-20,0), #------------------------------------------------------------------------------- # Fim da configuração #------------------------------------------------------------------------------- } def self.bc_sprites; bitmaps = [] Effects.keys.each { |i| bitmaps << Effects[i].picture_name unless bitmaps.include?(Effects[i].picture_name) } bitmaps.each { |i| Bitcore.add(Cache.particle(i), "neole_#{i}") } end; bc_sprites end class Game_Event < Game_Character include Neo_Light alias nle_ini initialize alias nle_stp setup alias nle_up update def initialize(map_id, event) @nl_effect = false @nl_sprite = nil nle_ini(map_id, event) end def setup(new_page) nle_stp(new_page) refresh_light(new_page.nil?) end def update; nle_up update_light unless !@nl_effect end def update_light @nl_sprite.visible = !$game_switches[Neo_Light_Switch] @nl_sprite.x = self.screen_x @nl_sprite.y = self.screen_y - 16 @nl_sprite.x += (rand(Effects[@nl_effect].ax*2)-Effects[@nl_effect].ax) @nl_sprite.y += (rand(Effects[@nl_effect].ay*2)-Effects[@nl_effect].ay) @nl_sprite.opacity = Effects[@nl_effect].opacity + rand(Effects[@nl_effect].opacity_oscillation) @nl_sprite.angle += Effects[@nl_effect].angle @nl_sprite.angle -= 360 if @nl_sprite.angle >= 360 @nl_sprite.bitmap.hue_change(Effects[@nl_effect].hue_oscillation) unless !Effects[@nl_effect].hue_oscillation end def refresh_light(dispose_light=false) unless @nl_effect == false @nl_sprite.bitmap = nil @nl_sprite.dispose end @nl_effect = false unless dispose_light for key in [email protected] next unless @list[key].code == 108 for string in Effects.keys @nl_effect = string if @list[key].parameters == [string] end end if @nl_effect != false @nl_sprite = Sprite.new @nl_sprite.bitmap = Bitcore["neole_"+Effects[@nl_effect].picture_name] @nl_sprite.ox = @nl_sprite.width/2 @nl_sprite.oy = @nl_sprite.height/2 @nl_sprite.x = 544 + 2*@nl_sprite.width @nl_sprite.y = 416 + 2*@nl_sprite.height @nl_sprite.z = $game_player.screen_z @nl_sprite.blend_type = Effects[@nl_effect].blend_mode @nl_sprite.opacity = Effects[@nl_effect].opacity @nl_sprite.tone = Effects[@nl_effect].color update_light if $scene.is_a?(Scene_Map) end end end def dispose_nl unless @nl_effect == false @nl_sprite.bitmap = nil @nl_sprite.dispose @nl_effect = false end end end class Game_Map alias nle_setup setup def setup(map_id) dispose_neolight nle_setup(map_id) end def dispose_neolight return if @events.nil? @events.keys.each { |id| $game_map.events[id].dispose_nl } end def force_light_refresh return if @events.nil? @events.keys.each { |id| $game_map.events[id].refresh_light } end end class Scene_Map < Scene_Base alias nle_terminate terminate alias nle_start start def terminate; nle_terminate $game_map.dispose_neolight end def start; nle_start $game_map.force_light_refresh end end Demo: http://www.mediafire.com/?zmcz2n2jjwy
  6. Ally

    Gameplay Map_View

    Nome Script: Map_View Versione: 1.0 Autore/i: Ally Informazioni: Finalmente sono riuscito a debuggarlo...mi ha dato non so quanti problemi per degli errori stupidi <.< Istruzioni: Inserite lo script sotto Material. Le istruzioni le trovate all'interno della Demo. Script: #=============================================================================== # Map_View v1.0 # Questo script permette di visualizza due mappe insieme nella stessa. #=============================================================================== # Immaginate due piani di una casa...se salite al primo piano,potete # vedere anche il piano di sotto. # Nel caso di un mapping esterno,in una montagna,potete visualizzare # un'altra mappa al di sotto di questa. # Per farvi capire cosa intendo comunque,vi lascio una demo =) #=============================================================================== # Autore: Ally # Versione: 1.0 # Data di creazione: 03/12/2010 # E' vietato distribuire lo script su altri forum senza il permesso dell'Autore # Script per usi non commerciali...se dovesse venire usato per progetti # commerciali,vi prego di contattarmi # http://www.rpgmkr.net #=============================================================================== module RPG # Per aggiungere un mappa ad un'altra,basta aggiungere: # 3 => [2, 1, 1], # In questo casa,nella mappa 3,sarà visualizzata anche la mappa con ID 2 # ============================================================================ # ID Mappa => [n° mappa, zoom x, zoom y] Array = { # ID Mappa:1 1 => [2, 0.8, 0.8], #1 => [2,1, 1,] } end #=============================================================================== # ** Spriteset_Map #------------------------------------------------------------------------------- # This class brings together map screen sprites, tilemaps, etc. It's used # within the Scene_Map class. #=============================================================================== class Spriteset_Map #----------------------------------------------------------------------------- # * Create Viewport #----------------------------------------------------------------------------- alias ally_map_view_create_viewports create_viewports def create_viewports ally_map_view_create_viewports create_map_view end #----------------------------------------------------------------------------- # * Dispose #----------------------------------------------------------------------------- alias ally_map_view_dispose dispose def dispose @map_view.dispose if @map_view != nil ally_map_view_dispose end #----------------------------------------------------------------------------- # * Frame Update #----------------------------------------------------------------------------- alias ally_map_view_update update def update @map_view.update if @map_view != nil ally_map_view_update end #----------------------------------------------------------------------------- # * ID Tile e della Mappa #----------------------------------------------------------------------------- def map_view_id if RPG::Array.include?($game_map.map_id) return RPG::Array[$game_map.map_id][0] else return 0 end end #----------------------------------------------------------------------------- # * Creazione Mappa #----------------------------------------------------------------------------- def create_map_view if map_view_id == 0 @map_view = nil return end a = Map_View.new a.setup(map_view_id) @map_view = Tilemap.new(@viewport1) @map_view.bitmaps[0] = Cache.system("TileA1") @map_view.bitmaps[1] = Cache.system("TileA2") @map_view.bitmaps[2] = Cache.system("TileA3") @map_view.bitmaps[3] = Cache.system("TileA4") @map_view.bitmaps[4] = Cache.system("TileA5") @map_view.bitmaps[5] = Cache.system("TileB") @map_view.bitmaps[6] = Cache.system("TileC") @map_view.bitmaps[7] = Cache.system("TileD") @map_view.bitmaps[8] = Cache.system("TileE") @map_view.map_data = a.data end #----------------------------------------------------------------------------- # * Update Tilemap #----------------------------------------------------------------------------- def update_tile_parallax a = RPG::Array[$game_map.map_id] @map_view.ox = $game_map.display_x / 8 * a[1] @map_view.oy = $game_map.display_y / 8 * a[2] @map_view.update end end #=============================================================================== # * Map_View #=============================================================================== class Map_View #----------------------------------------------------------------------------- # * Inizializzazione Oggetto #----------------------------------------------------------------------------- def initialize @map_id = 0 end #----------------------------------------------------------------------------- # * Setup #----------------------------------------------------------------------------- def setup(map_id) @map_id = map_id @map = load_data(sprintf("Data/Map%03d.rvdata", @map_id)) end #----------------------------------------------------------------------------- # * Map Return #----------------------------------------------------------------------------- def data return @map.data end end #====== # END = #====== Demo: http://www.megaupload.com/?d=NGH3OP5N Incompatibilita': N/D Note dell'Autore: E' vietato distribuire lo script su altri siti/forum senza autorizzazione. Non usabile per fini commerciali. In caso contrario, contattatemi.
  7. Nome Script: MODS Veicoli Versione: 1.4 Autore/i: FenixFyreX Informazioni: Stanco dei veicoli vecchi e della loro configurazione? Questo script è stato ideato per chi vuole personalizzare e saperne di più sulla possibilità dell'uso di questi. Attualmente lo uso per il mio progetto (mi serviva appunto un buon effetto per un'aereonave) perchè è davvero uno script fantastico!Quindi,provatelo =) Features: - Personalizzare la velocità dei tre veicoli, e poterli cambiare in game con le variabili. - Se si preme Q e W nel dirigibile,si cambia altitudine. - Include la possibilità per SuperRalph! Il tuo personaggio può volare! (xD) Istruzioni: All'interno della Demo. Demo: http://www.mediafire.com/?q9mwmp2p7l79mpy Incompatibilità: Sembra nessuna a parte ovviamente se si ha un'altro script per i veicoli. In caso di incompatibilità con qualche script,si potrebbero fare delle patch =)
  8. Nome Script: Ombra sotto i PG Versione: 1.0 Autore/i: .XDênix:. Informazioni: Inserisce un'ombra di default sotto i PG. Istruzioni: Inserite lo script sotto Material. Per non avere l'ombra sotto ai PG, inserite nel nome evento SD. Script: #===========================================================================================# # Shadow in All Characters 1.0 # #===========================================================================================# # Características: # # Adiciona sombra ao herói e aos eventos. Para que a sombra de algum evento não apareça, # # basta botar o seu nome de SD. # #===========================================================================================# # Créditos: # # .XDênix:. # #===========================================================================================# $FENIX = {} $FENIX["Shadow in All Characters 1.0"] = true if $FENIX["Shadow in All Characters 1.0"] class Game_Event < Game_Character def name return @event.name end end class Spriteset_Map def create_shadow @player_shadow = Sprite.new(@viewport1) @player_shadow.bitmap = Cache.system("Shadow") @player_shadow.x = $game_player.screen_x - @player_shadow.bitmap.width / 2 rescue @player_shadow.x = -@player_shadow.bitmap.width @player_shadow.y = $game_player.screen_y - @player_shadow.bitmap.height + 5 + $game_map.airship.altitude rescue @player_shadow.y = -@player_shadow.bitmap.height if $game_player.vehicle_type == 2 @player_shadow.opacity = $game_map.airship.altitude * 8 @player_shadow.z = 180 else @player_shadow.opacity = 255 @player_shadow.opacity = 0 if $game_player.vehicle_type != -1 @player_shadow.z = 0 end @event_shadow = [] for i in 1..$game_map.events.size @event_shadow[i] = Sprite.new(@viewport1) if $game_map.events[i].name == "SD" @event_shadow[i].bitmap = Cache.system("") else @event_shadow[i].bitmap = Cache.system("Shadow") end @event_shadow[i].x = $game_map.events[i].screen_x - @event_shadow[i].bitmap.width / 2 rescue @event_shadow[i].x = -@event_shadow[i].bitmap.width @event_shadow[i].y = $game_map.events[i].screen_y - @event_shadow[i].bitmap.height + 5 rescue @event_shadow[i].y = -@event_shadow[i].bitmap.height end end def update_shadow @player_shadow.x = $game_player.screen_x - @player_shadow.bitmap.width / 2 rescue @player_shadow.x = -@player_shadow.bitmap.width @player_shadow.y = $game_player.screen_y - @player_shadow.bitmap.height + 5 + $game_map.airship.altitude rescue @player_shadow.y = -@player_shadow.bitmap.height @player_shadow.update if $game_player.vehicle_type == 2 @player_shadow.opacity = $game_map.airship.altitude * 8 @player_shadow.z = 180 else @player_shadow.opacity = 255 @player_shadow.opacity = 0 if $game_player.vehicle_type != -1 @player_shadow.z = 0 end if $game_player.vehicle_type != -1 $game_system.save_disabled = true else $game_system.save_disabled = false end for i in 1..$game_map.events.size @event_shadow[i].x = $game_map.events[i].screen_x - @event_shadow[i].bitmap.width / 2 rescue @event_shadow[i].x = -@event_shadow[i].bitmap.width @event_shadow[i].y = $game_map.events[i].screen_y - @event_shadow[i].bitmap.height + 5 rescue @event_shadow[i].y = -@event_shadow[i].bitmap.height @event_shadow[i].update end end def dispose_shadow @player_shadow.dispose for i in 1..$game_map.events.size @event_shadow[i].dispose rescue nil end end end end
  9. Nome Script: Rumore passi Versione: sconosciuta Autore/i: DeadlyDan Informazioni: questo script permette di fare il rumore dei passi... Istruzioni: inserire sotto materials inserire i SE nella cartella Audio/SE del progetto (http://www.megaupload.com/?d=O9VRGJ1Y) Script: #============================================================================== # ■ DeadlyDan_Footsteps by DeadlyDan #------------------------------------------------------------------------------ # Enables ability to "sound" footsteps when walking over specific tiles #============================================================================== # Usage: =begin Simple, place the audio files in your SE directory, and try the game. There are some known bugs in this, if anyone has any fixes just let me know:) To add custom sounds for custom tiles you can do for example: FOOTSTEP_WOOD = [15] # The tilenumber ID that you get with debug_tileid function FOOTSTEP_WOOD_FILE = "Audio/SE/stepwood" # The filename for the sound then add underneath the # Insert custom sounds here line: footstep_check ( FOOTSTEP_WOOD, FOOTSTEP_WOOD_FILE, 0 ) The last number in that function stands for the layer, since the wood tile i selected is on the ground layer, it's layer is 0. (NOTE) There is a problem that when you go on carpet it makes dirt and snow sounds, i currently can't find a way to fix this, so, the best thing to do is to call the command $game_player.footsteps_enabled = false. To enable footsteps while stopping the carpet and tables from making the snow and dirt sounds, there's an uneasy solution of placing a touch event which calls $game_player.footsteps_enabled = false. Sorry about this inconvenience. =end class Game_Player < Game_Character FOOTSTEP_GRASS = [28, 29, 30] FOOTSTEP_GRASS_LONG = [29, 30] FOOTSTEP_GRASS_FILE = "Audio/SE/stepgrass" FOOTSTEP_DIRT = [32, 33, 34] FOOTSTEP_DIRT_LONG = [32 ,34] FOOTSTEP_DIRT_FILE = "Audio/SE/stepdirt" FOOTSTEP_SAND = [36, 37, 38] FOOTSTEP_SAND_LONG = [36, 38] FOOTSTEP_SAND_FILE = "Audio/SE/stepdirt" FOOTSTEP_SNOW = [39, 41] FOOTSTEP_SNOW_LONG = [40, 41] FOOTSTEP_SNOW_FILE = "Audio/SE/stepsnow" FOOTSTEP_WOOD = [15] FOOTSTEP_WOOD_FILE = "Audio/SE/stepwood" FOOTSTEP_PITCH = 100 FOOTSTEP_PITCH2 = 90 attr_accessor :last_foot attr_accessor :footsteps_enabled alias foot_initialize initialize def initialize foot_initialize @last_foot = 0 @last_foot_pitch = FOOTSTEP_PITCH2 @next_foot_pitch = FOOTSTEP_PITCH @footsteps_enabled = true end alias foot_move_left move_left def move_left ( turn_ok = true ) foot_move_left ( turn_ok ) if ( @move_failed == false ) sound_foot end end alias foot_move_right move_right def move_right ( turn_ok = true ) foot_move_right ( turn_ok ) if ( @move_failed == false ) sound_foot end end alias foot_move_up move_up def move_up ( turn_ok = true ) foot_move_up ( turn_ok ) if ( @move_failed == false and @footsteps_enabled ) sound_foot end end alias foot_move_down move_down def move_down ( turn_ok = true ) foot_move_down ( turn_ok ) if ( @move_failed == false and @footsteps_enabled ) sound_foot end end def no_layer_tile? ( layer ) result = [false, false, false] for i in 0..2 if ( @map_tile_id[i] == 0 ) result[i] = true end end if ( layer == 0 ) if ( result[1] and result[2] ) return true else return false end end else if ( layer == 1 ) if ( result[2] ) return true else return false end else return true end end def debug_tileid $game_message.texts[0] = @map_tile_tex[0] $game_message.texts[1] = @map_tile_tex[1] $game_message.texts[2] = @map_tile_tex[2] end def footstep_check ( footstep, file, layer ) for i in 0..footstep.length if ( ( @map_tile_tex[layer] == footstep[i].to_s ) and ( no_layer_tile? ( layer ) ) ) Audio.se_play ( file, 100, @next_foot_pitch ) @last_foot = Graphics.frame_count return nil end end end def sound_foot if ( dash? ) mul = 6 else mul = 7 end if ( Graphics.frame_count > ( @last_foot + mul ) ) @map_tile_id = [] @map_tile_tex = [] for i in 0..2 @map_tile_id.push ( $game_map.data[@x, @y, i] ) @map_tile_tex.push ( @map_tile_id[i].to_s[0,2] ) end # Use "debug_tileid" here to bring up the numbers of all the current tiles # to use with definitions of the tileids, walk over tiles ingame... if ( @last_foot_pitch == FOOTSTEP_PITCH ) @next_foot_pitch = FOOTSTEP_PITCH2 @last_foot_pitch = FOOTSTEP_PITCH2 else @next_foot_pitch = FOOTSTEP_PITCH @last_foot_pitch = FOOTSTEP_PITCH end # Ground layer footstep_check ( FOOTSTEP_GRASS, FOOTSTEP_GRASS_FILE, 0 ) footstep_check ( FOOTSTEP_DIRT, FOOTSTEP_DIRT_FILE, 0 ) footstep_check ( FOOTSTEP_SAND, FOOTSTEP_SAND_FILE, 0 ) footstep_check ( FOOTSTEP_SNOW, FOOTSTEP_SNOW_FILE, 0 ) footstep_check ( FOOTSTEP_WOOD, FOOTSTEP_WOOD_FILE, 0 ) # Layer 1 footstep_check ( FOOTSTEP_GRASS_LONG, FOOTSTEP_GRASS_FILE, 1 ) footstep_check ( FOOTSTEP_DIRT_LONG, FOOTSTEP_DIRT_FILE, 1 ) footstep_check ( FOOTSTEP_SAND_LONG, FOOTSTEP_SAND_FILE, 1 ) footstep_check ( FOOTSTEP_SNOW_LONG, FOOTSTEP_SNOW_FILE, 1 ) # Insert custom sounds here end end end
  10. Nome Script: Sistema Repellente Versione: N/D Autore/i: Puppeto4 Informazioni: Sistema di Repellente usato nei giochi dei Pokèmon =P Istruzioni: All'interno della Demo Demo: http://www.4shared.com/file/67209197/2c961f20/RepelEffectDemo.html
  11. Nome Script: Jumping System Versione: 0.5 Autore/i: Ally Informazioni: Questo script permette di far saltare il PG disattivando o attivando la Switch ^^ Istruzioni: Inserite lo script sotto Material Script: #============================================================================== #------------------------------------------------------------------------------ # Questo script da la possibilità di far saltare il PG con il tasto Z (C) # Autore: Ally # www.rpgmkr.net #______________________________________________________________________________ # °ISTRUZIONI° # - Inserite lo script sotto Material # - Create una Switch settata su On o Off per disabilitare/attivare # l'evento salto # - Per cambiare l'ID della Switch fate riferimento a questo codice: # SWITCHSALTO = 2 # ============================================================================= # Script totalmente creato grazie agli script originali presenti su RMVX #============================================================================== #------------------------------------------------------------------------------ # ° SETTAGGIO TASTI° # Per cambiare il tasto con cui volete far saltare il PG, fate riferimento # a questo pezzo di script: if Input.press?(Input::C) # I tasti ve li elenco qui sotto: # A = Shift o Z # B = ESCO, X o Numero 0 # C = Spazio,Invio o C # X = A # Y = S # Z = D # Mancano la L e la R che a parer mio sono tasti troppo 'lontani' # da accomunare al tasto per saltare. #============================================================================== class Game_Player < Game_Character SWITCHSALTO = 2 # Switch che attiva/disattiva il salto alla pressione # del tasto Z alias_method :salto_move_by_input, :move_by_input def move_by_input salto_move_by_input if Input.press?(Input::C) and $game_switches[SWITCHSALTO] and movable? case @direction when 2 if passable?(@x,@y+2) unless collide_with_characters?(@x,@y+1) @y += 2 distance = 2 @jump_peak = 10 + distance - @move_speed @jump_count = @jump_peak * 2 @stop_count = 0 straighten end elsif passable?(@x,@y+1) @y += 1 distance = 1 @jump_peak = 10 + distance - @move_speed @jump_count = @jump_peak * 2 @stop_count = 0 straighten end when 4 if passable?(@x-2,@y) unless collide_with_characters?(@x-1,@y) @x -= 2 distance = 2 @jump_peak = 10 + distance - @move_speed @jump_count = @jump_peak * 2 @stop_count = 0 straighten end elsif passable?(@x-1,@y) @x -= 1 distance = 1 @jump_peak = 10 + distance - @move_speed @jump_count = @jump_peak * 2 @stop_count = 0 straighten end when 6 if passable?(@x+2,@y) unless collide_with_characters?(@x+1,@y) @x += 2 distance = 2 @jump_peak = 10 + distance - @move_speed @jump_count = @jump_peak * 2 @stop_count = 0 straighten end elsif passable?(@x+1,@y) @x += 1 distance = 1 @jump_peak = 10 + distance - @move_speed @jump_count = @jump_peak * 2 @stop_count = 0 straighten end when 8 if passable?(@x,@y-2) unless collide_with_characters?(@x,@y-1) @y -= 2 distance = 2 @jump_peak = 10 + distance - @move_speed @jump_count = @jump_peak * 2 @stop_count = 0 straighten end elsif passable?(@x,@y-1) @y -= 1 distance = 1 @jump_peak = 10 + distance - @move_speed @jump_count = @jump_peak * 2 @stop_count = 0 straighten end end end end end #======================================================== # Fine Script =) #======================================================== Incompatibilità: Per adesso non credo sia incompatibile con nessun'altro script,ma se trovate delle incompatibilità,correggerò lo script al fine di renderlo compatibile.
  12. Nome Script: Player_Plus v1.0.3 Versione: 1.0.3 Autore/i: SojaBird Informazioni: Gli screenshots parlano da soli :sbav: Si possono usare oggetti come candele o torce per avere effetti di luce ^^ Screenshots: Istruzioni: Inserite lo script sotto Material. Script: #################################################################### # PlayerPlus v1.0.3 # By: SojaBird # Site: http://www.nestcast.blogspot.com # Description: PlayerPlus draws and updates a stay-on-player-picture. #################################################################### # Start Setup #################################################################### module SojaBird_PP Use = true # Wheter or not to draw the players extra [true/false]. Activate = 4 # The mode to activate the players extra [1=Switch, 2=Key, 3=Switch AND Key, 4=Switch OR Key]. Switch = 1 # Number of the switch to show and hide the players extra. Key = Input::F5 # Keyboard input to activate the players extra ["..."] Picture = "PlayerPlus" # Name of the picture of the players extra ["..."]. Blend = 0 # Blending mode of the players extra [0=Normal, 1=More, 2=Less]. Opacity = 255 # Opacity of the players extra [0-255]. X = 1 # Horizontal placement of the players extra [1=Center, 2=Left, 3=Right, 0=Custom]. Y = 1 # Vertical placement of the players extra [1=Center, 2=Head, 3=Feet, 0=Custom]. Custom_x = 0 # The custom horizontal placement of the players extra. Custom_y = 0 # The custom vertical placement of the players extra. FlickerX = 0 # Amount of horizontal flicker of the players extra [<2=No flicker, >1=Flicker]. FlickerY = 0 # Amount of the vertical flicker of the players extra [<2=No flicker, >1=Flicker]. FlickerOpacity = 0 # Amount of the opacity flicker of the players extra [<2=No flicker, >1=Flicker]. end #################################################################### # End Setup #################################################################### X_Extra = case SojaBird_PP::X when 1 # Center -(Cache.picture(SojaBird_PP::Picture).width / 2) when 2 # Left -Cache.picture(SojaBird_PP::Picture).width - 16 when 3 # Right Cache.picture(SojaBird_PP::Picture).width - 16 when 0 # Custom SojaBird_PP::Custom_x end Y_Extra = case SojaBird_PP::Y when 1 # Center -(Cache.picture(SojaBird_PP::Picture).height / 2) + 2 when 2 # Head -(Cache.picture(SojaBird_PP::Picture).height / 2) - 36 when 3 # Feet -2 when 0 # Custom SojaBird_PP::Custom_y end ############################## class Scene_Map < Scene_Base ############################## def start super $game_map.refresh @spriteset = Spriteset_Map.new @message_window = Window_Message.new $PlayerPlus = PlayerPlus.new end ############### def terminate super if $scene.is_a?(Scene_Battle) @spriteset.dispose_characters end snapshot_for_background @spriteset.dispose @message_window.dispose $PlayerPlus.dispose if $scene.is_a?(Scene_Battle) perform_battle_transition end end ############### def update super $game_map.interpreter.update $game_map.update $game_player.update $game_system.update @spriteset.update @message_window.update $PlayerPlus.update unless $game_message.visible update_transfer_player update_encounter update_call_menu update_call_debug update_scene_change end end ############### def update_transfer_player return unless $game_player.transfer? fade = (Graphics.brightness > 0) fadeout(30) if fade @spriteset.dispose $game_player.perform_transfer $game_map.autoplay $game_map.update Graphics.wait(15) @spriteset = Spriteset_Map.new $PlayerPlus.dispose $PlayerPlus = PlayerPlus.new fadein(30) if fade Input.update end ############################## end ############################## ############################################################ ############################## class PlayerPlus include SojaBird_PP ############################## def initialize if Use == true @pp_viewport = Viewport.new(0, 0, 544, 416) @pp = Sprite.new(@pp_viewport) @pp.bitmap = Cache.picture(Picture) @pp.opacity = Opacity @pp.blend_type = Blend end update end ############### def update if Use == true case Activate when 1 @pp.visible = $game_switches[Switch] when 2 @pp.visible = Input.press?(Key) when 3 if Input.press?(Key) and $game_switches[Switch] @pp.visible = true else @pp.visible = false end when 4 if Input.press?(Key) or $game_switches[Switch] @pp.visible = true else @pp.visible = false end end return if [email protected] @pp.opacity = Opacity - rand(FlickerOpacity) if @pp.x != $game_player.screen_x or @pp.y != $game_player.screen_y @pp.x = $game_player.screen_x + rand(FlickerX) + X_Extra @pp.y = $game_player.screen_y + rand(FlickerY) + Y_Extra end end end ############### def dispose if Use == true @pp_viewport.dispose @pp.dispose end end ############################## end ##############################
  13. Nome Script: Velocità movimento Versione: 1.0 Autore/i: Woratana Informazioni: Vi permette di cambiare la velocità del personaggio ^^ Istruzioni: Inserite lo script sotto Material. Script: #====================================================================== ======== # [VX] Extra Move Speed by Woratana #------------------------------------------------------------------------------ # Version: 1.0 # Released on: 11/02/2008 # by Woratana [[email protected]] # You can edit event's speed and/or frequency to be more than limit, # by put event command "Comment" in the event page you want to edit. # (Yes, you can set the different speed for different page in one event) # Add comment like this: # [speed(speed you want)][freq(frequncy you want)] # e.g. [speed8][freq4] # You can edit only speed by put [speed(speed you want)] # and edit only frequency by put [freq(frequency you want)] # You can increase character's Speed and/or Frequency by call script: # (character).add_speed(speed_plus,frequency_plus) # To decrease Speed and/or Frequency, you can just put negative number in it: # e.g. $game_player.add_speed(-1.5) # To change character's Speed to any number you want: # (character).fix_speed(speed you want) # To change character's Frequency to any number you want: # (character).fix_frequency(frequency you want) # Frequency shouldn't be more than 5 or 6, but there is no limit for Speed. # You can use decimal place for speed/frequency, # To change player's frequency, it will make no diffrent. # It will make different in speed even though the speed is just 0.5 more. #============================================================================== class Game_Character attr_accessor :move_speed, :move_frequency def add_speed(spd = 0,freq = 0) @move_speed += spd @move_frequency += freq end def fix_speed(spd = 0) @move_speed = spd end def fix_freq(freq = 0) @move_frequency = freq end end class Game_Event < Game_Character attr_accessor :event alias wor_event_setup setup def setup(new_page) wor_event_setup(new_page) for i in [email protected] next if @list[i].code != 108 if @list[i].parameters[0].include?("[speed") list = @list[i].parameters[0].scan(/[speed([0.0-9.9]+)]/) @move_speed = $1.to_i end if @list[i].parameters[0].include?("[freq") list = @list[i].parameters[0].scan(/[freq([0.0-9.9]+)]/) @move_frequency = $1.to_i end end end end Demo:http://www.mediafire.com/?8dd2ww7jkmc
  14. Nome Script: Light Effects VX Versione: 1.3 Autore/i: Kylock Informazioni: Potete inserire con un commento,un effetto di luce in un evento...tramite un'immagine ^^ Screenshots: Istruzioni: Inserite lo script sotto a Material... Poi,copia questa immagine,nella tua cartella Pictures: Per usare lo script,dovrete scrivere un commento dentro ad un evento,e spuntare queste opzioni come nell'immagine: Per i vari effetti che potete usare,prendete in considerazione questa parte dello script Script: #============================================================================== # ■ Light Effects VX 1.3 # 12.27.2008 #------------------------------------------------------------------------------ # Script by: Kylock (originally for RMXP by Near Fantastica) # Version 1.3 by Enelvon #============================================================================== # To make an event glow, give it a Comment: with any of the supported light # modes. # The SWITCH setting below will disable light effects from updating with the # switch is on. #============================================================================== # ● Change Log #------------------------------------------------------------------------------ # 1.0 - Original Release # 1.1 - New light modes added: LIGHT2, TORCH, TORCH2 # - Changed sprite blend mode to ADD (looks slightly better) # - Fire-based lights are now red in color # 1.2 - Bug fixed with looping maps and lights displaying above messageboxes # 1.3 - More bugfixes #============================================================================== # ● Light Modes #------------------------------------------------------------------------------ # GROUND - Medium steady white light. # FIRE - Large red light with a slight flicker. # LIGHT - Small steady white light. # LIGHT2 - X-Large steady white light. # TORCH - X-Large red light with a heavy flicker. # TORCH2 - X-Large red light with a sleight flicker. #============================================================================== class Spriteset_Map alias les_spriteset_map_initalize initialize alias les_spriteset_map_dispose dispose alias les_spriteset_map_update update def initialize @light_effects = [] setup_lights les_spriteset_map_initalize update end def dispose les_spriteset_map_dispose for effect in @light_effects effect.light.dispose end @light_effects = [] end def update les_spriteset_map_update update_light_effects end def setup_lights for event in $game_map.events.values next if event.list == nil for i in 0...event.list.size if event.list[i].code == 108 and event.list[i].parameters == ["GROUND"] type = "GROUND" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 2 light_effects.light.zoom_y = 2 light_effects.light.opacity = 100 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["FIRE"] type = "FIRE" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 300 / 100.0 light_effects.light.zoom_y = 300 / 100.0 light_effects.light.opacity = 100 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["LIGHT"] type = "LIGHT" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 1 light_effects.light.zoom_y = 1 light_effects.light.opacity = 150 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["LIGHT2"] type = "LIGHT2" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 6 light_effects.light.zoom_y = 6 light_effects.light.opacity = 150 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["TORCH"] type = "TORCH" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 6 light_effects.light.zoom_y = 6 light_effects.light.opacity = 150 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["TORCH2"] type = "TORCH2" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 6 light_effects.light.zoom_y = 6 light_effects.light.opacity = 150 @light_effects.push(light_effects) end end end for effect in @light_effects case effect.type when "GROUND" effect.light.x = effect.event.screen_x - 64 effect.light.y = effect.event.screen_y - 86 effect.light.blend_type = 1 when "FIRE" effect.light.x = effect.event.screen_x - 96 + rand(6) - 3 effect.light.y = effect.event.screen_y - 118 + rand(6) - 3 effect.light.tone = Tone.new(255,-100,-255, 0) effect.light.blend_type = 1 when "LIGHT" effect.light.x = effect.event.screen_x - 32 effect.light.y = effect.event.screen_y - 54 effect.light.blend_type = 1 when "LIGHT2" effect.light.x = effect.event.screen_x - 182 - 20 effect.light.y = effect.event.screen_y - 214 effect.light.blend_type = 1 when "TORCH" effect.light.x = effect.event.screen_x - 182 - 20 + rand(20) - 10 effect.light.y = effect.event.screen_y - 214 + rand(20) - 10 effect.light.tone = Tone.new(255,-100,-255, 0) effect.light.blend_type = 1 when "TORCH2" effect.light.x = effect.event.screen_x - 182 - 20 effect.light.y = effect.event.screen_y - 214 effect.light.tone = Tone.new(255,-100,-255, 0) effect.light.blend_type = 1 end end end def update_light_effects if $game_switches[1] for effect in @light_effects next if effect.type == "FIRE" || effect.type == "TORCH" effect.light.visible = false end else for effect in @light_effects next if effect.type == "FIRE" || effect.type == "TORCH" effect.light.visible = true end end for effect in @light_effects case effect.type when "GROUND" effect.light.x = effect.event.screen_x - 64 effect.light.y = effect.event.screen_y - 86 when "FIRE" effect.light.x = effect.event.screen_x - 96 + rand(6) - 3 effect.light.y = effect.event.screen_y - 118 + rand(6) - 3 effect.light.opacity = rand(10) + 90 when "LIGHT" effect.light.x = effect.event.screen_x - 32 effect.light.y = effect.event.screen_y - 54 when "LIGHT2" effect.light.x = effect.event.screen_x - 182 - 20 effect.light.y = effect.event.screen_y - 214 when "TORCH" effect.light.x = effect.event.screen_x - 182 - 20 + rand(20) - 10 effect.light.y = effect.event.screen_y - 214 + rand(20) - 10 effect.light.opacity = rand(30) + 70 when "TORCH2" effect.light.x = effect.event.screen_x - 182 - 20 effect.light.y = effect.event.screen_y - 214 effect.light.opacity = rand(10) + 90 end end end end class Light_Effect attr_accessor :light attr_accessor :event attr_accessor :type def initialize(event, type) @light = Sprite.new @light.bitmap = Cache.picture("le.png") @light.visible = true @light.z = 190 @event = event @type = type end end
  15. Ally

    Gameplay Some Popup

    Nome Script: Some Popup Versione: 2.8 Autore/i: mikb89 Informazioni: Con questo script potrete specificare del testo in un evento che verrà mostrato quando il giocatore si avvicina. Features: Sono disponibili diversi effetti di comparsa ed è possibile utilizzare picture anziché testo. Il testo può essere mostrato, oltre che sul giocatore, anche agganciato all'evento, per scomparire quando questo si allontana. È possibile riprodurre un suono SE, ME, BGM e BGS, sia generico che personalizzato per evento. Screenshots: Istruzioni: Inserite lo script sotto Materials. Le istruzioni sono fra i commenti. Script Demo: Demo multilingua v. 2.8 (800.43 KB) http://www.mediafire.com/?mmg50jxofjq9jtl Incompatibilità: Sovrascrive lo script per la camminata in 8 direzioni. O viene sovrascritto, a seconda. Per ovviare, questo script è stato incorporato ed è attivabile/disattivabile tramite opzione. Note dell'autore: Ringrazio Unamuno per aver chiesto la versione VX altrimenti non l'avrei postata né convertita e Guardian of Irael per avermi suggerito molti miglioramenti.
  16. Titolo: Corsa e Velocità Versione: N/D Autore/i: FantasyX2 Informazioni: Semplicissimo script che permette di fare correre il pg e di poterne cambiare la velocità ^^ Istruzioni: Inserite lo script sopra Main. Correre: SHIFT Cambiare velocità: fate riferimento alle righe 17 - 19 Script: #----------------------------------------------------- # # Criado por FantasyX2 # #----------------------------------------------------- class Game_Character attr_accessor :move_speed end class Scene_Map alias new_update update def update new_update if Input.press?(Input::SHIFT) $game_player.move_speed = 3 else $game_player.move_speed = 2 end end end
  17. Nome Script: Modifica RGB ai chara Versione: N/D Autore/i: Nechigawara Sanzenin Informazioni: Script che con dei commenti cambia il colore RGB e Alpha degli eventi =) Istruzioni: Inserite lo script sopra Main. Per cambiare colore a un evento, inserite un commento con i seguenti comandi: Praticamente funziona come il cambio di tonalità all'interno del tool per quanto riguarda le picture, mentre questa da la possibilità di cambiarlo ai chara durante il gioco. Script: #======================================== # Edit Character Channel # By Nechigawara Sanzenin #======================================== =begin Edit Charater Color in Map How to Use : Add these text to comment in the event page [r.....] For Red Channal ( -255 to 255 ) [g....] For Green Channal ( -255 to 255 ) [b....] For Blue Channal ( -255 to 255 ) [al...] For Alpha Channal ( 0 to 255 ) =end class Game_Character attr_accessor :tone #-------------------------------------------------------------------------- # - Object initialization #-------------------------------------------------------------------------- alias inc_initialize initialize def initialize inc_initialize @tone = [0,0,0,0] end end #============================================================================== class Game_Event < Game_Character alias inc_update update def update # check Code for i in [email protected] next if @list[i].code != 108 # For Red Channel if @list[i].parameters[0].include?("[r") text = @list[i].parameters[0].scan(/[r([-,0-9]+)]/) red = $1.to_i if red > 255 red = 255 elsif red < -255 red = -255 end @tone[0] = red end # For Green Channel if @list[i].parameters[0].include?("[g") text = @list[i].parameters[0].scan(/[g([-,0-9]+)]/) green = $1.to_i if green > 255 green = 255 elsif green < -255 green = -255 end @tone[1] = green end # For Blue Channel if @list[i].parameters[0].include?("[b") text = @list[i].parameters[0].scan(/[b([-,0-9]+)]/) blue = $1.to_i if blue > 255 blue = 255 elsif blue < -255 blue = -255 end @tone[2] = blue end # For Alpha Channel if @list[i].parameters[0].include?("[al") text = @list[i].parameters[0].scan(/[al([0-9]+)]/) alpha = $1.to_i if alpha > 255 alpha = 255 elsif alpha < 0 alpha = 0 end @tone[3] = alpha end end #Load Orginal Update inc_update end end #============================================================================== class Sprite_Character < RPG::Sprite #-------------------------------------------------------------------------- # - Frame renewal #-------------------------------------------------------------------------- def update super @character.update self.tone.set(@character.tone[0],@character.tone[1],@character.tone[2],@character.tone[3]) # When tile ID and file name, either one of hue differs from present ones if @tile_id != @character.tile_id or @character_name != @character.character_name or @character_hue != @character.character_hue # Tile ID and file name, remembering hue @tile_id = @character.tile_id @character_name = @character.character_name @character_hue = @character.character_hue # When it is the value whose tile ID is effective if @tile_id >= 384 self.bitmap = RPG::Cache.tile($game_map.tileset_name, @tile_id, @character.character_hue) self.src_rect.set(0, 0, 32, 32) self.ox = 16 self.oy = 32 # When it is the value whose tile ID is invalid else self.bitmap = RPG::Cache.character(@character.character_name, @character.character_hue) @cw = bitmap.width / 4 @ch = bitmap.height / 4 self.ox = @cw / 2 self.oy = @ch end end # Setting visible state self.visible = (not @character.transparent) # When graphics is the character if @tile_id == 0 # Setting transfer original rectangle sx = @character.pattern * @cw sy = (@character.direction - 2) / 2 * @ch self.src_rect.set(sx, sy, @cw, @ch) end # Setting the coordinate of sprite self.x = @character.screen_x self.y = @character.screen_y self.z = @character.screen_z(@ch) # Opacity, synthetic method, setting thicket depth self.opacity = @character.opacity self.blend_type = @character.blend_type self.bush_depth = @character.bush_depth # Animation if @character.animation_id != 0 animation = $data_animations[@character.animation_id] animation(animation, true) @character.animation_id = 0 end end end
  18. Titolo: Sistema Platform Versione: N/D Autore/i: Floa Informazioni: Se volete fare un platform,questo è lo script giusto Screenshots: Istruzioni: All'interno della Demo Demo: http://www.4shared.com/file/28964960/5e ... d=301d7a6c
  19. Titolo: Zelda Engine Final Beta 3 Versione: 3 Autore/i: All'interno dell Demo Informazioni: Questo SDK,simula in tutto e per tutto il vecchio gioco per snes di Zelda O_O Screenshots: Istruzioni: All'interno della Demo. Demo: http://www.4shared.com/file/92136723/de ... doop_.html
  20. Titolo: Smooth Scrolling Versione: N/D Autore/i: Toby Zerner Informazioni: Un sistema 'speciale' di spostamento dello schermo...un pò difficile da spiegare,provatelo Istruzioni: All'interno della Demo Demo: http://www.mediafire.com/?6n2mxbumemt
  21. Titolo: Particle Engine Versione: N/D Autore/i: arevulopapo, Near Fantastica Informazioni: Uno dei migliori script (insieme ad altri) presenti per rpgmaker. Simula degli effetti veramente utili e fighi °° Istruzioni: All'interno della Demo Demo: http://www.mediafire.com/?f0b5gdmxwtg
  22. Titolo: Dynamic Ligth e Shadows Versione: 1.5 Autore/i: Rataime & Trebor777 Informazioni: Crea luci e ombre dinamiche Istruzioni: Richiede le immagini che sono nella demo. Copiatelo sopra Main,copiate L'SDK sopra lo script. Le istruzioni per usarlo sono nello script. Script:: =begin ============================================================================== ** Dynamic Light & Shadows ------------------------------------------------------------------------------ Trebor777 Version 1.5 16/11/2007 Version 1.5 is based on Rataime's shadows script,Rewrote the code structure and Added extra features ============================================================================== Instructions ============================================================================== To create a source light: Write a comment on 2 lines Light arg1|arg2|arg3|arg4|arg5 arg1, is the minimum angle. arg2, is the maximum angle arg3, the distance in pixel covered by the light arg4, the height, in tiles where the light is. arg5, the direction of the light, use the same numbers as RMXP is using: up: 8, right: 6, down: 2, left: 4 It will turn the event automatically to this direction and draw the light according to it, using its min and max angle. The 0 is always on the left of the direction. example, the light "look at" the right, so its direction is 6. the min angle is 0, so it'll start from the tile above to whatever the max angle is, in a clockwise way. So if you need to create a light, who covers only a cone of 60?, facing to the right, at a height of 1 tile, covering a radius of 150pixels: Light 60|120|150|1|6 I might do in the future, a simpler version for that. __-__-__-__-__-__-__-__-__-__-__-__-__-_- To have an event with a shadow: Write a comment on 2 lines Shadow arg1 arg1, is the maximum height of the object, so if you have a pillar on your map covering several tiles in height, just create a shadow event at its base, and give the height of that pillar as arg1. For characters, just use a height of 0. To turn off/on a light: Use a script call: a simple "self.off=true" (to turn off) or "self.off=false" to turn on is needed. What is important is where you use this script call: If the event switching the light is not the same as the source, you need use the "call script" command inside the "set move route" command (of course, don't forget to say on which event it applies) instead of the default "call script" command found on page3. ============================================================================== Configuration ============================================================================== ============================================================================== You probably won't need to touch this : it's the 'map' of how to display the shadow depending on the event's direction and his relative position to the source. a minus means the shadow is mirrored. It seems complex, and it is. Complain to Enterbrain (why didn't they use something clockwise or counter- clockwise ? I suspect it's because of the rm2k legacy. More explanations below. ============================================================================= =end SDK.log('DL&S', "trebor777", 1, "16.11.07") if SDK.state('DL&S') SHADOWS_DIRECTION_ARRAY = Array.new SHADOWS_DIRECTION_ARRAY[2] = [ -3, 4, -2, 1 ] SHADOWS_DIRECTION_ARRAY[4] = [ 4, -2, 1, -3 ] SHADOWS_DIRECTION_ARRAY[6] = [ 1, -3, 4, -2 ] SHADOWS_DIRECTION_ARRAY[8] = [ -2, 1, -3, 4 ] #============================================================================== # An important option : if you set it to true, the shadows will get longer if # you are far from the source. Nice, but induces lag : it will eat your CPU, # and quite possibly your first born if you try that on a big map. #============================================================================== SHADOW_GETS_LONGER = true #============================================================================== # Misc options # If an event has its opacity below SHADOWS_OPACITY_THRESHOLD, no shadow will # be displayed. # Set SHADOWS_CATERPILLAR_COMPATIBLE to true if you uses the caterpillar script #============================================================================== SHADOWS_OPACITY_THRESHOLD = 254 SHADOWS_CATERPILLAR_COMPATIBLE = true #============================================================================== # Class Light #============================================================================== class Light @@lights=[] attr_reader :character, :parameters #-------------------------------------------------------------------------- def initialize(viewport,character, param) @character = character @viewport = viewport unless param.nil? @parameters = param[0].split('|') @anglemin = @parameters.first.to_i @anglemax = @parameters[1].to_i @distancemax = @parameters[2].to_i @light_height = @parameters[3].to_i @base_face_at = @parameters.last.to_i @character.direction=@base_face_at test = @@lights.find_all{|l| l.character==@character and l.parameters==@parameters} if test.size==0 draw_lights update @@lights.push(self) end end end #-------------------------------------------------------------------------- def Light.set return @@lights end #-------------------------------------------------------------------------- def Light.off_size result=0 @@lights.each do |light| result+=1 if light.character.off end return result end #-------------------------------------------------------------------------- def dispose @s_light.dispose @@lights.delete(self) end #-------------------------------------------------------------------------- def update unless @s_light.nil? @[email protected] @s_light.angle=0 if @character.direction==2 @s_light.angle=-90 if @character.direction==4 @s_light.angle=180 if @character.direction==8 @s_light.angle=90 if @character.direction==6 @[email protected]_x @[email protected]_y+32*@light_height @[email protected]_z end end #-------------------------------------------------------------------------- def draw_lights return if @@lights.include?(self) or (@@lights.find_all{|l| l.character==@character and l.parameters==@parameters}).size>0 radius = @distancemax @s_light=Sprite.new(@viewport) @[email protected]_x @[email protected]_y+32*@light_height @[email protected]_z @s_light.bitmap=Bitmap.new(radius*2,radius*2) @s_light.opacity=90 @s_light.ox+=radius @s_light.oy+=radius @s_light.angle=0 if @base_face_at==2 @s_light.angle=270 if @base_face_at==4 @s_light.angle=180 if @base_face_at==8 @s_light.angle=90 if @base_face_at==6 @s_light.bitmap.draw_pie(radius,radius,radius,Color.new(255,255,100,90),@anglemi n, @anglemax) end end #============================================================================== # Class shadow #============================================================================== class Shadow attr_accessor :character attr_reader :distance, :distancemax, :overlayed @@shadows=[] #-------------------------------------------------------------------------- def initialize(viewport,character, param,light) @character = character @viewport = viewport unless param.nil? @parameters = param[0].split('|') @shadow_max_height = @parameters[1].to_i @anglemin=light.parameters[0].to_f @anglemax=light.parameters[1].to_f @distancemax=light.parameters[2].to_f @light_height= light.parameters[3].to_i @source = light @s_shadow = RPG::Sprite.new(@viewport) @s_shadow.color = Color.new(0, 0, 0) update end @@shadows.push(self) end #-------------------------------------------------------------------------- def Shadow.set return @@shadows end #-------------------------------------------------------------------------- def sprite return @s_shadow end #-------------------------------------------------------------------------- def dispose @s_shadow.dispose @@shadows.delete(self) end #-------------------------------------------------------------------------- def in_light_range? return (@distance<=@distancemax) end #-------------------------------------------------------------------------- def overlayed? @overlayed = false @@shadows.each do |i| s = i.sprite next if s.nil? or i == self or @character.tile_id!=0 or s.disposed? if (@s_shadow.z)>s.z and @s_shadow.angle.between?(s.angle-1.5,s.angle+1.5)\ and ((@character.x-i.character.[img=http://rpgmkr.net/forum/public/style_emoticons/default/sourirex.gif]**2 + (@character.y-i.character.y)**2)**0.5<=s.zoom_y \ and s.z>=0 @s_shadow.visible=false @overlayed = true end return if !@s_shadow.visible end return @overlayed end #-------------------------------------------------------------------------- def update # set shadow visibility according to the light state @s_shadow.visible = [email protected] if @character.transparent or @character.opacity <= SHADOWS_OPACITY_THRESHOLD @s_shadow.visible = false return end if @old_amin.nil? and @old_amax.nil? and @old_dir.nil? @old_amin= @anglemin @old_amax= @anglemax @old_dir = @source.character.direction end # adapt the angle according to the source direction case @source.character.direction when 2 @anglemin= @old_amin+180 @anglemax= @old_amax+180 when 4 @anglemin= @old_amin+90 @anglemax= @old_amax+90 when 8 @anglemin= @old_amin @anglemax= @old_amax when 6 @anglemin= @old_amin+270 @anglemax= @old_amax+270 end if @[email protected] @old_dir = @source.character.direction end # simplify the angles if more than 360 or less than 0 @anglemin%=360;@anglemax%=360 tile_height= @shadow_max_height @deltax=(@[email protected]_X)/4 @deltay= ((@source.character.real_y+@light_height*128)-(@character.real_y+tile_height*128))/4 @distance = (((@deltax ** 2) + (@deltay ** 2))** 0.5) if @distancemax !=0 and @distance>@distancemax @s_shadow.visible = false return end @s_shadow.angle = 57.3*Math.atan2(@deltax, @deltay ) @angle_trigo= (@s_shadow.angle+90) % 360 #test if there is a shadow above it, from something close,and then # don't display its shadow return if overlayed? if @anglemin !=0 or @anglemax !=0 if (@angle_trigo<@anglemin or @angle_trigo>@anglemax) and \ @anglemin<@anglemax @s_shadow.visible = false return elsif (@angle_trigo<@anglemin and @angle_trigo>@anglemax) and \ @anglemin>@anglemax @s_shadow.visible = false return end end @s_shadow.update if @tile_id != @character.tile_id or @character_name != @character.character_name or @character_hue != @character.character_hue @tile_id = @character.tile_id @character_name = @character.character_name @character_hue = @character.character_hue if @tile_id >= 384 @s_shadow.bitmap = RPG::Cache.tile($game_map.tileset_name, @tile_id, @character.character_hue) @s_shadow.src_rect.set(0, 0, 32, 32) @s_shadow.ox = 16 @s_shadow.oy = 32 else @s_shadow.bitmap = RPG::Cache.character(@character.character_name, @character.character_hue) @cw = @s_shadow.bitmap.width / 4 @ch = @s_shadow.bitmap.height / 4 @s_shadow.ox = @cw / 2 @s_shadow.oy = @ch end end @s_shadow.x = @character.screen_x @s_shadow.y = @character.screen_y-8 @s_shadow.z = @character.screen_z(@ch)-1 if @tile_id!=0 # if the sprite graphic is from the tileset # set the Z-Index using the tileset priority settings @s_shadow.z = ($game_map.priorities[@tile_id])*32 # convert the shadow angle, into 8-directions (0-7) direction_shadow=((@s_shadow.angle/45+45/2.0+90).round)%8 # for the middle-Top and top layers, for i in [1, 2] # get the tile from the converted angle tile_around=[$game_map.data[@character.x,@character.y-1,i], $game_map.data[@character.x-1,@character.y-1,i], $game_map.data[@character.x-1,@character.y,i], $game_map.data[@character.x-1,@character.y+1,i], $game_map.data[@character.x,@character.y+1,i], $game_map.data[@character.x+1,@character.y+1,i], $game_map.data[@character.x+1,@character.y,i], $game_map.data[@character.x+1,@character.y-1,i]] # if the tile is the empty one go to the next layer next if tile_around[direction_shadow]==0 # else, lower the Z-index if the tile around is "above" or at the same # priority of our tile @s_shadow.z-=32 if $game_map.priorities[tile_around[direction_shadow]]>=$game_map.priorities[@tile_id] end end if @tile_id == 0 sx = @character.pattern * @cw quarter = ((@angle_trigo/90+0.5).floor)%4 # The quarter is the position of the event relative to the source. # Imagine the source is the o point (0,0). Trace the 2 lines # y=x and y=-x : you get something like a big X # On the right, quarter=0. Up, quarter = 1, and so on # Take the @character.direction row (2,4,6,8), and the quarter # column (0,1,2,3) (remember, it starts at 0), and you'll get # a number between 1 and 4. It correspond to the row of the charset # the shadow will be, and mirrored if negative. # Yes, it isn't obvious, but I didn't find any simple operation to # get those. magic = SHADOWS_DIRECTION_ARRAY[@character.direction][quarter] magic = -magic if magic < 0 @s_shadow.mirror = true magic = -magic else @s_shadow.mirror = false end sy = (magic-1)*@ch @s_shadow.src_rect.set(sx, sy, @cw, @ch) end # This is the formula of the opacity in function of the distance # ** 2 means square @s_shadow.opacity = 1200/((@distance ** 2)/ 1000 + 6) # This is the formula of the size in function of the distance # The 0.75 is here so you have a size of 1:1 when next to the source. @s_shadow.zoom_y=0.75*(@shadow_max_height+1) + (@distance) / 256 if SHADOW_GETS_LONGER end end #============================================================================== # ** Zlib #============================================================================== module Zlib #============================================================================ # ** Png_File #============================================================================ class Png_File < GzipWriter #-------------------------------------------------------------------------- # * Make PNG #-------------------------------------------------------------------------- def make_png(bitmap, mode = 0) # Save Bitmap & Mode @bitmap, @mode = bitmap, mode # Create & Save PNG self.write(make_header) self.write(make_ihdr) self.write(make_idat) self.write(make_iend) end #-------------------------------------------------------------------------- # * Make Header #-------------------------------------------------------------------------- def make_header return [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a].pack('C*') end #-------------------------------------------------------------------------- # * Make IHDR #-------------------------------------------------------------------------- def make_ihdr ih_size = [13].pack("N") ih_sign = 'IHDR' ih_width = [@bitmap.width].pack('N') ih_height = [@bitmap.height].pack('N') ih_bit_depth = [8].pack('C') ih_color_type = [6].pack('C') ih_compression_method = [0].pack('C') ih_filter_method = [0].pack('C') ih_interlace_method = [0].pack('C') string = ih_sign + ih_width + ih_height + ih_bit_depth + ih_color_type + ih_compression_method + ih_filter_method + ih_interlace_method ih_crc = [Zlib.crc32(string)].pack('N') return ih_size + string + ih_crc end #-------------------------------------------------------------------------- # * Make IDAT #-------------------------------------------------------------------------- def make_idat header = "\\x49\\x44\\x41\\x54" data = @mode == 0 ? make_bitmap_data0 : make_bitmap_data1 data = Zlib::Deflate.deflate(data, 8) crc = [Zlib.crc32(header + data)].pack('N') size = [data.length].pack('N') return size + header + data + crc end #-------------------------------------------------------------------------- # * Make Bitmap Data 0 #-------------------------------------------------------------------------- def make_bitmap_data0 gz = Zlib::GzipWriter.open('hoge.gz') t_Fx = 0 w = @bitmap.width h = @bitmap.height data = [] for y in 0...h data.push(0) for x in 0...w t_Fx += 1 if t_Fx % 10000 == 0 Graphics.update end if t_Fx % 100000 == 0 s = data.pack("C*") gz.write(s) data.clear end color = @bitmap.get_pixel(x, y) red = color.red green = color.green blue = color.blue alpha = color.alpha data.push(red) data.push(green) data.push(blue) data.push(alpha) end end s = data.pack("C*") gz.write(s) gz.close data.clear gz = Zlib::GzipReader.open('hoge.gz') data = gz.read gz.close File.delete('hoge.gz') return data end #-------------------------------------------------------------------------- # * Make Bitmap Data Mode 1 #-------------------------------------------------------------------------- def make_bitmap_data1 w = @bitmap.width h = @bitmap.height data = [] for y in 0...h data.push(0) for x in 0...w color = @bitmap.get_pixel(x, y) red = color.red green = color.green blue = color.blue alpha = color.alpha data.push(red) data.push(green) data.push(blue) data.push(alpha) end end return data.pack("C*") end #-------------------------------------------------------------------------- # * Make IEND #-------------------------------------------------------------------------- def make_iend ie_size = [0].pack('N') ie_sign = 'IEND' ie_crc = [Zlib.crc32(ie_sign)].pack('N') return ie_size + ie_sign + ie_crc end end end #============================================================================== # Class Game Event #============================================================================== class Game_Event alias treb_mobile_source_game_event_initialize initialize attr_accessor :off, :direction def initialize(*args) # create the off attribute, only used for the lights @off = false treb_mobile_source_game_event_initialize(*args) end end #============================================================================== # class Spriteset Map #============================================================================== class Spriteset_Map alias trebor777_DLS_spriteset_map_init_characters init_characters alias trebor777_DLS_spriteset_map_update_character_sprites update_character_sprites alias trebor777_DLS_spriteset_map_dispose dispose #-------------------------------------------------------------------------- def init_characters trebor777_DLS_spriteset_map_init_characters # create the lights and shadows arrays @lights = [] @shadows = [] @viewport1.visible=false @viewport2.visible=false @viewport3.visible=false for i in $game_map.events.keys.sort # Search for light trigger light_param = SDK.event_comment_input($game_map.events[i], 1, "Light") # if not found go to the next iteration next if light_param.nil? # else add it to the Lights Hash, and create a new light @lights.push( Light.new(@viewport1,$game_map.events[i],light_param) ) # create the shadow for the player. @shadows.push( Shadow.new(@viewport1,$game_player, ['0'], @lights.last) ) end for i in $game_map.events.keys.sort for light in @lights # Search for shadow trigger shadow_param = SDK.event_comment_input($game_map.events[i], 1, "Shadow") next if shadow_param.nil? @shadows.push( Shadow.new(@viewport1,$game_map.events[i], shadow_param, light) ) end end @viewport1.visible=true @viewport2.visible=true @viewport3.visible=true end #-------------------------------------------------------------------------- def update_character_sprites trebor777_DLS_spriteset_map_update_character_sprites lights_off = 0 # Update the lights for light in @lights light.update # count the number of lights off lights_off+=1 if light.character.off end # Update the Shadows for shade in @shadows shade.update end if @lights.size>0 # updating screen tinting according to the number of lights on value=((lights_off.to_f/@lights.size)*(-180)).round $game_screen.start_tone_change(Tone.new(value,value,value,value), 1) else $game_screen.start_tone_change(Tone.new(0,0,0,0), 1) end end #-------------------------------------------------------------------------- def dispose for light in @lights light.dispose end # Update the Shadows for shade in @shadows shade.dispose end @lights = [] @shadows = [] end end #============================================================================== # Class Bitmap #============================================================================== class Bitmap #-------------------------------------------------------------------------- def draw_line(x1, y1, x2, y2, width = 1, color = Color.new(255, 255, 255)) # Return if width is less than or 0 return if width <= 0 # Reverse all parameters sent if 2 x is less than the first x x1, x2, y1, y2 = x2, x1, y2, y1 if x2 < x1 # Get S (1/2 width) s = width / 2.0 # If X Coordinates are equal if x1 == x2 # Draw Vertical line fill_rect(x1 - s, [y1, y2].min, width, (y2 - y1).abs, color) # If Y Coordinates are equal elsif y1 == y2 # Draw Horizontal line fill_rect(x1, y1 - s, x2 - x1, width, color) end # Get Length length = x2 - x1 < (y2 - y1).abs ? (y2 - y1).abs : x2 - x1 # Get Increments x_increment, y_increment = (x2 - x1) / length.to_f, (y2 - y1) / length.to_f # Get Current X and Y x, y = x1, y1 # While Current X is less than end X while x < x2 # Draw Box of width width and width height fill_rect(x-s, y-s, width, width, color) # Increment X and Y x += x_increment y += y_increment end end #-------------------------------------------------------------------------- # Draw pie, take quite a long time as it draws each line. #-------------------------------------------------------------------------- def draw_pie(x,y,radius,color = Color.new(255, 255, 255, 255),start_angle=0,end_angle=360) end_angle+=360 if end_angle name_string="#{radius}_#{start_angle}_#{end_angle}" #filename="Graphics/Pictures/#{name_string}.png" if FileTest.exist?("Graphics/Pictures/#{name_string}.png") temp = RPG::Cache.picture(name_string) blt(0,0,temp,temp.rect) else Graphics.transition t = Progress_Bar.new(160,240,320,20,end_angle-start_angle+2 ) for i in start_angle...end_angle t.current_step+=1 t.update Graphics.update for j in 0..2 x_=(Math::cos((i+j/2.0)*Math::PI/180)*radius).round+x y_=(Math::sin((i+j/2.0)*Math::PI/180)*radius).round+y draw_line(x, y, x_, y_, 2,color) end end t.current_step+=1 t.update Graphics.update make_png(name_string, 'Graphics/Pictures/') t.current_step+=1 t.update Graphics.update t.dispose end end def make_png(name = 'like', path = '', mode = 0) Dir.make_dir(path) if path != '' and !FileTest.directory?(path) Zlib::Png_File.open('temp.gz') { |gz| gz.make_png(self, mode) } Zlib::GzipReader.open('temp.gz') { |gz| $read = gz.read } f = File.open(path + name + '.png', 'wb') f.write($read) f.close File.delete('temp.gz') end end class Progress_Bar < Sprite #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_accessor :current_step # The Current Step attr_accessor :steps # The max amount of steps #---------------------------------------------------------------------------- # * Initialize Object #---------------------------------------------------------------------------- def initialize(x,y,width,height=16,steps=100,start=0) super() @steps = steps self.x = x self.y = y @current_step= start @width = width @height = height @w = 9 @nb_bars = @width/@w @c1 = Color.new(46,211,49,255) @c2 = Color.new(46,211,49,227) @c3 = Color.new(46,211,49,202) @c4 = Color.new(46,211,49,177) @c5 = Color.new(46,211,49,152) @c6 = Color.new(46,211,49,127) @stretch_c = (@height-4)/16.0 self.bitmap = Bitmap.new(@width, @height) self.bitmap.clear self.bitmap.fill_rect(0, 0, @width, @height, Color.new(59,59,59,167)) draw end #---------------------------------------------------------------------------- # * Draw Bar #---------------------------------------------------------------------------- def draw self.bitmap.fill_rect(1, 1, @width-2, @height-2, Color.new(59,59,59,0)) for i in 0...((@current_step/@steps.to_f)*@nb_bars).round self.bitmap.fill_rect(i*@w+1,2,@w-2,@height-4,@c6) self.bitmap.fill_rect(i*@w+1,3*@stretch_c,@w-2,@height-6*@stretch_c,@c5) self.bitmap.fill_rect(i*@w+1,4*@stretch_c,@w-2,@height-8*@stretch_c,@c4) self.bitmap.fill_rect(i*@w+1,5*@stretch_c,@w-2,@height-10*@stretch_c,@c3) self.bitmap.fill_rect(i*@w+1,6*@stretch_c,@w-2,@height-12*@stretch_c,@c2) self.bitmap.fill_rect(i*@w+1,7*@stretch_c,@w-2,@height-14*@stretch_c,@c1) end @old = @current_step end #---------------------------------------------------------------------------- # * Update #---------------------------------------------------------------------------- def update draw if @current_step != @old end end #SDK test end Demo:http://www.mediafire.com/?zdcdjdzdim4 Incompatibilita: Richiede L'SDK
  23. Titolo: Ligth Effects XP Versione: 3.2 Autore/i: Near Fantastica,migliorato da SKKY88 Informazioni: Inserisce effetti di luce nel vostro gioco Istruzioni: Copiate come al solito sopra " Main". Necessita di questa immagine da inserire nella cartella Pictures http://www.mediafire.com/file/y1wdmq4zhn2/LE.rar Quindi create un nuovo evento ed inserite un commento con una delle seguenti frasi: LIGTH, FIRE,LIGTH2,TORCH,TORCH2,GROUND, per ottenere diversi effetti di illuminazione Script:: # ■ Light Effects XP V.3.2 #================================ #  By: Near Fantastica # Date: 28.06.05 # Version: 3 # modified by:SKKY88 # DATE: 06.08.09 # bug risolto=ora le luci non si muovono più su mappe superiori a 20x15 # #================================ class Spriteset_Map alias les_spriteset_map_initalize initialize alias les_spriteset_map_dispose dispose alias les_spriteset_map_update update def initialize @light_effects = [] setup_lights les_spriteset_map_initalize update end def dispose les_spriteset_map_dispose for effect in @light_effects effect.light.dispose end @light_effects = [] end def update les_spriteset_map_update update_light_effects end def setup_lights for event in $game_map.events.values next if event.list == nil for i in 0...event.list.size if event.list[i].code == 108 and event.list[i].parameters == ["GROUND"] type = "GROUND" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 2 light_effects.light.zoom_y = 2 light_effects.light.opacity = 100 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["FIRE"] type = "FIRE" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 5 light_effects.light.zoom_y = 5 light_effects.light.opacity = 100 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["LIGHT"] type = "LIGHT" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 1 light_effects.light.zoom_y = 1 light_effects.light.opacity = 150 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["LIGHT2"] type = "LIGHT2" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 1 light_effects.light.zoom_y = 1 light_effects.light.opacity = 150 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["TORCH"] type = "TORCH" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 1 light_effects.light.zoom_y = 1 light_effects.light.opacity = 150 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["TORCH2"] type = "TORCH2" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 1 light_effects.light.zoom_y = 1 light_effects.light.opacity = 150 @light_effects.push(light_effects) end end end for effect in @light_effects case effect.type when "GROUND" effect.light.x = (-0.25 * $game_map.display_[img=http://rpgmkr.net/forum/public/style_emoticons/default/sourirex.gif] + (effect.event.x * 32) - 47 effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 47 effect.light.blend_type = 1 when "FIRE" effect.light.x = (-0.25 * $game_map.display_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> + (effect.event.x * 32) - 144 effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 144 effect.light.tone = Tone.new(255,-100,-255, 0) effect.light.blend_type = 1 when "LIGHT" effect.light.x = (-0.25 * $game_map.display_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> + (effect.event.x * 32) - 15 effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15 effect.light.blend_type = 1 when "LIGHT2" effect.light.x = (-0.25 * $game_map.display_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> + (effect.event.x * 32) - 15 effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15 effect.light.blend_type = 1 when "TORCH" effect.light.x = (-0.25 * $game_map.display_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> + (effect.event.x * 32) - 15 effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15 effect.light.tone = Tone.new(255,-100,-255, 0) effect.light.blend_type = 1 when "TORCH2" effect.light.x = (-0.25 * $game_map.display_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> + (effect.event.x * 32) - 15 effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15 effect.light.tone = Tone.new(255,-100,-255, 0) effect.light.blend_type = 1 end end end def update_light_effects if $game_switches[1] for effect in @light_effects next if effect.type == "FIRE" || effect.type == "TORCH" effect.light.visible = false end else for effect in @light_effects next if effect.type == "FIRE" || effect.type == "TORCH" effect.light.visible = true end end for effect in @light_effects case effect.type when "GROUND" effect.light.x = (-0.25 * $game_map.display_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> + (effect.event.x * 32) - 45 effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 45 when "FIRE" effect.light.x = (-0.25 * $game_map.display_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> + (effect.event.x * 32) - 144 effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 144 effect.light.opacity = rand(10) + 90 when "LIGHT" effect.light.x = (-0.25 * $game_map.display_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> + (effect.event.x * 32) - 15 effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15 when "LIGHT2" effect.light.x = (-0.25 * $game_map.display_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> + (effect.event.x * 32) - 15 effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15 when "TORCH" effect.light.x = (-0.25 * $game_map.display_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> + (effect.event.x * 32) - 15 effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15 effect.light.opacity = rand(30) + 70 when "TORCH2" effect.light.x = (-0.25 * $game_map.display_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> + (effect.event.x * 32) - 15 effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15 effect.light.opacity = rand(10) + 90 end end end end #================================ # ■ Light Effects Class #================================ class Light_Effect #-------------------------------------------------------------- attr_accessor :light attr_accessor :event attr_accessor :type #-------------------------------------------------------------- def initialize(event, type) @light = Sprite.new @light.bitmap = RPG::Cache.picture("LE.PNG") @light.visible = true @light.z = 1000 @event = event @type = type end end Incompatibilita:N/D
  24. Nome Script: Sistema Sparo Resident-Evil Versione: 2.1 Autore/i: Near Fantastica Informazioni: Avete presente l'interfaccia del famosissimo gioco horror Resident Evil? Ecco,questo script lo simula benissimo... Potete avere il menù,e tanto altro ancora Screenshots: Istruzioni: All'interno della demo. se volete aggiungere un nuovo file alla lista,fate un call script con questo codice: [c]$scene = Scene_Game_File.new( File ID , True)[/c] Demo: Sistema Sparo Resident-Evil Bug fixati
×