Cerca nel Forum
Showing results for tags 'Maker tool'.
Trovato 18 risultati
-
Nome Script: FIX Pictures su mappa Versione: 1.0 Autore/i: Ally Informazioni: Vedendo uno script per VX, ne ho fatta una versione per VX Ace, sperando possa essere utile a qualcuno. Quest'ultimo, come da titolo, da la possibilità di fissare le picture su mappa, dandovi la possibilità quindi di utilizzare picture che staranno ancorate sulla mappa anche se il PG si muove. La cosa si può fare benissimo anche ad eventi, ma l'utilizzo di questo è semplicissimo e in questo modo non starete a settarvi varibili etc... Istruzioni: Inserite lo script sotto Material. Le istruzioni sono all'interno dello script. Script: #======================================================= # ▼FIX Picture su Mappa▼ # Autore: Ally # Data: 08/01/2012 # Versione: 1.0 # Esclusiva per http://www.rpgmkr.net # Vietato postare lo script senza il permesso dell'Autore # # ▼Info e Istruzioni▼ # Con questo script si ha la possibilità di fissare # le picture alla mappa aggiungendo semplicemente la # parola FIX prima del nome della picture. # # ▼Conflitti Noti: N/D▼ #======================================================= #============================================================================== # ** Sprite_Picture #------------------------------------------------------------------------------ # This sprite is used to display pictures. It observes an instance of the # Game_Picture class and automatically changes sprite states. #============================================================================== class Sprite_Picture < Sprite def update_position if @picture.name.include?("FIX") self.x = -$game_map.display_x*32 self.y = -$game_map.display_y*32 else self.x = @picture.x self.y = @picture.y end self.z = @picture.number end end # Fine Script # Incompatibilità: N/D Note dell'Autore: Per uso a scopo commerciale, contattate l'Autore per MP. E' vietato distribuire lo script senza il permesso dell'Autore.
-
Nome Script: Visible Debug Versione: 1.2c Autore/i: mikb89 Informazioni: Capita che qualcosa vada storto fra switch e variabili. Non sai cosa succede, sai solo che non funziona come previsto. Qui entra in gioco questo script! Features: Con questo script puoi tenere sotto controllo una lista di parametri vari i cui cambiamenti saranno mostrati in tempo reale. Questa lista include: switch e variabili, switch locali degli eventi; grafica di eventi, giocatore, eroi, nemici; posizione e stato 'Come fantasma' di eventi e giocatore; id dei tile dove si trova il giocatore; numero di oggetti, armi, armature possedute; hp, mp, tp (se abilitato), atk, def, luk, agi, due stati dei combattenti; nomi & livello degli eroi (i nemici non li hanno); altre informazioni utili aggiunte dalle configurazioni (puoi vedere come sono fatte e aggiungerne di tue). Screenshots: Istruzioni: Inserite lo script sotto Materials. Le istruzioni sono fra i commenti. Script Demo: Demo multilingua v. 1.2c (1.33 MB) http://www.mediafire.com/?o5dqoberdpn9opa Incompatibilità: I salvataggi vengono modificati per contenere la lista di dati scelta. È possibile comunque caricare salvataggi precedenti, mentre per continuare ad usare quelli effettuati in presenza dello script, nel caso quest'ultimo venisse rimosso, è presente nella demo un piccolo codicino - per nulla invadente - da lasciare. Note dell'autore: Grazie a @Silver Element per avermi ispirato l'idea (: Grazie a @Melosx per avermi supportato con un fastidioso bug ^^
-
Nome Script: Link Event Versione: 1.60 Autore/i: kingartur2(kingartur3) Informazioni: Nello script ce ne sono a suffienza. PS : se ci sono suggerimenti sono bel accolti. Istruzioni: Le trovate sempre nello script Script: #===============================================================================# Autore : kingartur2(kingartur3)# Versione : 1.60#===============================================================================# Istruzioni :# Apporre in un evento il seguente commento :## Link Event x## dove x rappresenta l'id dell'evento da collegare# in questo modo le switch locali dell'evento con id x non saranno più# considerate e le sue switch locali saranno on se tutti gli eventi ad esso# collegati avranno quella switch locale ad on.# Esempio :# Colleghi l'evento con id 1, 2, e 3 all'evento 4.# Se tramite il comando evento cambi la switch locale A dell'evento 4 non# succede nulla, se invece nell'evento 1,2 e 3 la switch locale A risulterà# a ON allora anche nell'evento 4 sarà così, però se nell'evento 1 e 2 la switch# locale A sarà ON e nell'evento 3 sarà OFF allora sarà OFF anche nell'evento 4## Link Event [id mappa, x]# Funziona allo stesso modo del comando precedente con la differenza che in# questo caso l'evento linkato si troverà in un altra mappa#===============================================================================class Game_Map attr_accessor :link_event alias djasijdiasj initialize def initialize djasijdiasj @link_event = [] endendclass Game_Event alias fshfusdhfusdih setup_page def setup_page(new_page) fshfusdhfusdih(new_page) if [email protected]? for i in @page.list if [108, 408].include?(i.code) if i.parameters[0].downcase.include?("link event") a = i.parameters[0].clone.downcase.gsub!("link event") {""} write_link_event(a.to_i) end if i.parameters[0].downcase.include?("link event [") or i.parameters[0].downcase.include?("link event[") a = i.parameters[0].clone.downcase.gsub!("link event") {""} eval("@b = " + a) write_overlink_event(@ end end end end end def write_link_event(id) if $game_map.link_event[$game_map.map_id].nil? $game_map.link_event[$game_map.map_id] = [] end if $game_map.link_event[$game_map.map_id][id].nil? $game_map.link_event[$game_map.map_id][id] = [] end $game_map.link_event[$game_map.map_id][id].push(self.id) end def write_overlink_event(val) if $game_map.link_event[val[0]].nil? $game_map.link_event[val[0]] = [] end if $game_map.link_event[val[0]][val[1]].nil? $game_map.link_event[val[0]][val[1]] = [] end $game_map.link_event[val[0]][val[1]].push([$game_map.map_id, self.id]) end endclass Game_SelfSwitches alias jfdsijfd [] def [](key) if !$game_map.link_event[key[0]].nil? if !$game_map.link_event[key[0]][key[1]].nil? state = true for i in $game_map.link_event[key[0]][key[1]] if i.is_a?(Array) if !$game_self_switches[[i[0], i[1], key[2]]] state = false end elsif !$game_self_switches[[key[0], i, key[2]]] state = false end end return state end end jfdsijfd(key) endend Demo: Coming Soon(Se richiesta, vista la semplicità dello script)) Incompatibilità: N/A
-
Nome Script: Switch Menu Versione: N/D Autore/i: Zerbu Informazioni: Come da titolo, con questo script si possono richiamare ad esempio degli eventi comuni al posto del menù etc... Screenshots: Istruzioni: Inserite lo script sotto Material. Istruzioni del suo funzionamento come da screen Script: #============================================================================== # › Switch Menu ‹ #------------------------------------------------------------------------------ # Using this script you can make it so that when the menu is called, a # switch is turned on instead. You can still open the menu by using a # [Open Menu Screen] event call. You can use the switch to create a common # event in place of the menu, or anthing else you want. #------------------------------------------------------------------------------ # by Zerbu #============================================================================== $imported = {} if $imported.nil? $imported["SwitchMenu"] = true #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= module SwitchMenu #============================================================================ # ♦ Switch ID ♦ #---------------------------------------------------------------------------- # Set the switch you want turned on~ #============================================================================ SWITCH_ID = 1 #--- end #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= #============================================================================== # » Scene_Map #============================================================================== class Scene_Map #---------------------------------------------------------------------------- # » overwrite method: call_menu #---------------------------------------------------------------------------- def call_menu $game_switches[SwitchMenu] = true @menu_calling = false end #--- end
-
Maker tool MSX - XP Characters on VX/VXAce
Ally ha aggiunto un topic in Scripts RPG Maker VX Ace (RGSS3)
Nome Script: MSX - XP Characters on VX/VXAce Versione: 1.0 Autore/i: Melosx Informazioni: Lo script permette di usare i chara xp nel vx semplicemente inserendo il tag $xp. Compatibile con VX e VXAce. Istruzioni: All'interno dello script. Script: #============================================================================== # ** MSX - XP Characters on VX/VXAce #============================================================================== # Autore: Melosx # Versione: 1.0 # Compatibile con VX e VXAce # #============================================================================== # * Descrizione # ----------------------------------------------------------------------------- # Lo script permette di usare i chara xp nel vx semplicemente inserendo il tag # $xp # prima del nome del file. # Potete quindi usare i normali VX/VXAce insieme a quelli dell'XP. # #============================================================================== # * Istruzioni # ----------------------------------------------------------------------------- # Inserire lo script sotto Materials e sopra Main. Aggiungere ai chara dell'XP # il tag $xp prima del nome. # #============================================================================== #============================================================================== # ** Sprite_Character #============================================================================== class Sprite_Character < Sprite_Base def update_bitmap if @tile_id != @character.tile_id or @character_name != @character.character_name or @character_index != @character.character_index @tile_id = @character.tile_id @character_name = @character.character_name @character_index = @character.character_index if @tile_id > 0 sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32; sy = @tile_id % 256 / 8 % 16 * 32; self.bitmap = tileset_bitmap(@tile_id) self.src_rect.set(sx, sy, 32, 32) self.ox = 16 self.oy = 32 else self.bitmap = Cache.character(@character_name) sign = @character_name[/^[!$]./] if sign != nil and sign.include?('$') @cw = bitmap.width / 3 @ch = bitmap.height / 4 else @cw = bitmap.width / 12 @ch = bitmap.height / 8 end if @character_name != nil and @character_name.include?('$xp') @cw = bitmap.width / 4 @ch = bitmap.height / 4 end self.ox = @cw / 2 self.oy = @ch end end end def update_src_rect if @character_name != nil and @character_name.include?('$xp') if @tile_id == 0 pattern = @character.pattern > 0 ? @character.pattern - 1 : 3 sx = pattern * @cw sy = (@character.direction - 2) / 2 * @ch self.src_rect.set(sx, sy, @cw, @ch) end else if @tile_id == 0 index = @character.character_index pattern = @character.pattern < 3 ? @character.pattern : 1 sx = (index % 4 * 3 + pattern) * @cw sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch self.src_rect.set(sx, sy, @cw, @ch) end end end end #============================================================================== # ** Window_Base #============================================================================== class Window_Base < Window def draw_character(character_name, character_index, x, y) return if character_name == nil bitmap = Cache.character(character_name) sign = character_name[/^[!$]./] if character_name != nil and character_name.include?('$xp') cw = bitmap.width / 4 ch = bitmap.height / 4 n = character_index src_rect = Rect.new(0, 0, cw, ch) else if sign != nil and sign.include?('$') cw = bitmap.width / 3 ch = bitmap.height / 4 else cw = bitmap.width / 12 ch = bitmap.height / 8 end n = character_index src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch) end self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) end end -
Nome Script: Auto-Backup Versione: N/D Autore/i: woratana, Mr. Bubble Informazioni: Ad ogni avvio del test di gioco, verrà creata una cartella di back up ^^ Istruzioni: Inserite lo script sotto Material. Script: #=============================================================== # ● [VXA] ◦ Auto-Backup VX Ace ◦ □ #-------------------------------------------------------------- # ◦ by Woratana [[email protected]] # ◦ Thaiware RPG Maker Community # ◦ Originally released on: 07/12/2008 # ◦ Ported to VX Ace by Mr. Bubble on: 27/12/2011 #-------------------------------------------------------------- # ◦ Features: # - Automatically backup your rvdata2 files when you run the game. # - Now in VX Ace, the Backup Report will appear in the debug console. #-------------------------------------------------------------- # ◦ How to use: # - Setup the script below, # - You may want to run your game now to backup data files the first time. #-------------------------------------------------------------- module WData_Backup BACKUP_WHEN_TEST = true # (true/false) Do you want to backup data files only # when running game through editor (When you press F12 in editor) ? BACKUP_REPORT = true # (true/false) Show textbox when backup process finish? DIRNAME = 'Backup_Data' # Name of the backup folder # (Script will automatically create folder if it doesn't exist) SCRIPT = <<_SCRIPT_ if (BACKUP_WHEN_TEST && '$TEST') || !BACKUP_WHEN_TEST time = Time.now Dir.mkdir(DIRNAME) unless File.directory?(DIRNAME) ftype = 'rvdata2' flist = Dir.glob('./Data/*.{' + ftype + '}') flist.each_index do |i| flist[i] = flist[i].split('/').last save_data(load_data('Data/' + flist[i]), DIRNAME + '/' + flist[i]) end p('Backup Finished!: ' + (Time.now - time).to_s + ' sec') if BACKUP_REPORT end _SCRIPT_ eval(SCRIPT) unless $@ end
-
Nome Script: Chara XP-VX Versione: N/D Autore/i: NoxChibi Informazioni: Allora premesso che non penso di aver fatto un granchè,ma ho fatto in modo che precedendo il nome di un charset XP con il simbolo '%' esso posso essere letto come un comune chara vx. Istruzioni: Inserite lo script sotto Material. Per il corretto funzionamento dello script, è necessario aggiungere il simbolo % prima del nome del chara, esempio: %Character_1 Script: #============================================================================== # ** 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 #-------------------------------------------------------------------------- # * Constants #-------------------------------------------------------------------------- BALLOON_WAIT = 12 # Final balloon frame wait time #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_accessor :character #-------------------------------------------------------------------------- # * Object Initialization # viewport : viewport # character : character (Game_Character) #-------------------------------------------------------------------------- def initialize(viewport, character = nil) super(viewport) @character = character @balloon_duration = 0 update end #-------------------------------------------------------------------------- # * Dispose #-------------------------------------------------------------------------- def dispose dispose_balloon super end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super update_bitmap self.visible = (not @character.transparent) update_src_rect self.x = @character.screen_x self.y = @character.screen_y self.z = @character.screen_z self.opacity = @character.opacity self.blend_type = @character.blend_type self.bush_depth = @character.bush_depth update_balloon if @character.animation_id != 0 animation = $data_animations[@character.animation_id] start_animation(animation) @character.animation_id = 0 end if @character.balloon_id != 0 @balloon_id = @character.balloon_id start_balloon @character.balloon_id = 0 end end #-------------------------------------------------------------------------- # * Get tile set image that includes the designated tile # tile_id : Tile ID #-------------------------------------------------------------------------- def tileset_bitmap(tile_id) set_number = tile_id / 256 return Cache.system("TileB") if set_number == 0 return Cache.system("TileC") if set_number == 1 return Cache.system("TileD") if set_number == 2 return Cache.system("TileE") if set_number == 3 return nil end #-------------------------------------------------------------------------- # * Update Transfer Origin Bitmap #-------------------------------------------------------------------------- def update_bitmap if @tile_id != @character.tile_id or @character_name != @character.character_name or @character_index != @character.character_index @tile_id = @character.tile_id @character_name = @character.character_name @character_index = @character.character_index if @tile_id > 0 sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32; sy = @tile_id % 256 / 8 % 16 * 32; self.bitmap = tileset_bitmap(@tile_id) self.src_rect.set(sx, sy, 32, 32) self.ox = 16 self.oy = 32 else self.bitmap = Cache.character(@character_name) sign = @character_name[/^[\!\$\%]./] if sign != nil and sign.include?('$') @cw = bitmap.width / 3 @ch = bitmap.height / 4 else @cw = bitmap.width / 12 @ch = bitmap.height / 8 end if sign != nil and sign.include?('%') @cw = bitmap.width / 4 @ch = bitmap.height / 4 end self.ox = @cw / 2 self.oy = @ch end end end #-------------------------------------------------------------------------- # * Update Transfer Origin Rectangle #-------------------------------------------------------------------------- def update_src_rect if @tile_id == 0 index = @character.character_index pattern = @character.pattern < 3 ? @character.pattern : 1 sx = (index % 4 * 3 + pattern) * @cw sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch self.src_rect.set(sx, sy, @cw, @ch) end end #-------------------------------------------------------------------------- # * Start Balloon Icon Display #-------------------------------------------------------------------------- def start_balloon dispose_balloon @balloon_duration = 8 * 8 + BALLOON_WAIT @balloon_sprite = ::Sprite.new(viewport) @balloon_sprite.bitmap = Cache.system("Balloon") @balloon_sprite.ox = 16 @balloon_sprite.oy = 32 update_balloon end #-------------------------------------------------------------------------- # * Update Balloon Icon #-------------------------------------------------------------------------- def update_balloon if @balloon_duration > 0 @balloon_duration -= 1 if @balloon_duration == 0 dispose_balloon else @balloon_sprite.x = x @balloon_sprite.y = y - height @balloon_sprite.z = z + 200 if @balloon_duration < BALLOON_WAIT sx = 7 * 32 else sx = (7 - (@balloon_duration - BALLOON_WAIT) / 8) * 32 end sy = (@balloon_id - 1) * 32 @balloon_sprite.src_rect.set(sx, sy, 32, 32) end end end #-------------------------------------------------------------------------- # * Dispose of Balloon Icon #-------------------------------------------------------------------------- def dispose_balloon if @balloon_sprite != nil @balloon_sprite.dispose @balloon_sprite = nil end end end
-
Nome Script: Debug In Battaglia Versione: 1.00 Autore/i: kingartur2 Informazioni: Se si sta testando un nemico, a volte può risultare difficile perchè dovete fare varie prove, far evitare la sconfitta, e dovete far abbassare il livello del nemico per vedere la sua forza giusta... Questo Script è proprio un Maker Tool, e giustamente funziona solo se si è in Test Battaglia o Modalità Test. Potrete sottrarre o aggiungere Hp ed Mp ai nemici e agli eroi, e modificare le loro statistiche (Attacco, difesa....). Features: - Questo Script funziona solo in modalità Test Battaglia (che si avvia da Test Battaglia nella scheda Truppe/Gruppi Nemici del database) o in modalità Test, quella che si avvia da RPG Maker VX. - Ha la funzionalità di cambiare le Statistiche (Attacco, Difesa, Velocità ed Intelligenza) dei nemici e degli eroi. - Ha la funzionalità di sotrarre e far recuperare HP ed MP a Nemici ed Eroi. Screenshots: Non badate a quel mezzo viso al posto del nome, riguarda un altro script che poi posterò tradotto. Istruzioni: Creare una nuova voce sopra Main e sotto Materials ed inserire lo script. E' assolutamente sconsigliato modificare lo script, dato che non necessita di configurazioni Script: #=============================================================================== # Debug In Battaglia #=============================================================================== # Autore : kingartur2 # Versione : 1.00 #=============================================================================== # Istruzioni # Premere F7 in battaglia per aprire il menu. # Una volta terminato premere ESC per uscire #=============================================================================== class Scene_Battle alias fujdosikpla update def update if ($TEST or $BTEST) and (Input.trigger?(Input::F7)) create_debug_window end if ($TEST or $BTEST) and (@debug_window != nil) loop do update_debug_window if @debug_window.nil? break end end Input.update end fujdosikpla end def create_debug_window commands = ["Modifica Hp Eroi", "Modifica Hp Nemici", "Modifica Mp Eroi", "Modifica MP Nemici", "Cambia Stat Eroi", "Cambia Stat Nemici"] @debug_window = Window_Command.new(250, commands) @debug_window.active = true @debug_window.z = 9999 @debug_window.x = (Graphics.width / 2) - (@debug_window.width / 2) @debug_window.y = Graphics.height - (128 + @debug_window.height) commands_0 = [] for i in $game_party.members commands_0.push(i.name) end @d_actor_window = Window_Command.new(120, commands_0) @d_actor_window.z = 9999 @d_actor_window.x = (@debug_window.x + @debug_window.width) @d_actor_window.y = (@debug_window.y / 2) + (@d_actor_window.height / 2) @d_actor_window.visible = false @d_actor_window.active = false commands_1 = [] for i in $game_troop.members commands_1.push(i.name) end @d_enemy_window = Window_Command.new(120, commands_1) @d_enemy_window.z = 9999 @d_enemy_window.x = (@debug_window.x + @debug_window.width) @d_enemy_window.y = (@debug_window.y / 2) + (@d_enemy_window.height / 2) @d_enemy_window.visible = false @d_enemy_window.active = false @change_variable_window = Window_Base.new(0, 0, @debug_window.width, 64) @change_variable_window.x = @debug_window.x @change_variable_window.y = (@debug_window.y - @change_variable_window.height) @change_variable_window.z = 9999 @change_variable_window.visible = false commands_2 = ["Hp Max", "Mp Max", "Attacco", "Difesa", "Intelligenza", "Agilità"] stat_width = Graphics.width - (Graphics.width - @debug_window.<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> @stat_window = Window_Command.new(stat_width, commands_2) @stat_window.active = true @stat_window.z = 9999 @stat_window.x = 0 @stat_window.y = @debug_window.y @stat_window.active = false @stat_window.visible = false @text_to_add = "" @variable_to_change = "" end def update_debug_window Graphics.update Input.update if @debug_window.active @debug_window.update if Input.trigger?(Input::C) case @debug_window.index when 0, 2, 4 @debug_window.active = false @d_actor_window.visible = true @d_actor_window.active = true when 1, 3, 5 @debug_window.active = false @d_enemy_window.visible = true @d_enemy_window.active = true end elsif Input.trigger?(Input:: @d_enemy_window.dispose @d_actor_window.dispose @change_variable_window.dispose @debug_window.dispose @debug_window = nil for i in $game_party.members if i.hp <= 0 i.add_state(1) end end for i in $game_troop.members if i.hp <= 0 i.add_state(1) i.perform_collapse end end end elsif @d_actor_window.active @d_actor_window.update if Input.trigger?(Input::C) if @debug_window.index == 0 @variable_to_change = "$game_party.members[#{@d_actor_window.index}].hp" @text_to_add = "Hp #{$game_party.members[@d_actor_window.index].name} :" @change_variable_window.visible = true @change_variable_window.active = true @change_variable_window.contents.clear @change_variable_window.contents.draw_text(0, 0, @debug_window.width - 32, 32, (@text_to_add + eval(@variable_to_change).to_s), 1) @d_actor_window.active = false elsif @debug_window.index == 2 @variable_to_change = "$game_party.members[#{@d_actor_window.index}].mp" @text_to_add = "Mp #{$game_party.members[@d_actor_window.index].name} :" @change_variable_window.visible = true @change_variable_window.active = true @change_variable_window.contents.clear @change_variable_window.contents.draw_text(0, 0, @debug_window.width - 32, 32, (@text_to_add + eval(@variable_to_change).to_s), 1) @d_actor_window.active = false elsif @debug_window.index == 4 @stat_window.visible = true @stat_window.active = true @d_actor_window.active = false end elsif Input.trigger?(Input:: @d_actor_window.active = false @d_actor_window.visible = false @debug_window.active = true end elsif @d_enemy_window.active @d_enemy_window.update if Input.trigger?(Input::C) if @debug_window.index == 1 @variable_to_change = "$game_troop.members[#{@d_enemy_window.index}].hp" @text_to_add = "Hp #{$game_troop.members[@d_enemy_window.index].name} :" @change_variable_window.visible = true @change_variable_window.active = true @change_variable_window.contents.clear @change_variable_window.contents.draw_text(0, 0, @debug_window.width - 32, 32, (@text_to_add + eval(@variable_to_change).to_s), 1) @d_enemy_window.active = false elsif @debug_window.index == 3 @variable_to_change = "$game_troop.members[#{@d_enemy_window.index}].mp" @text_to_add = "Mp #{$game_troop.members[@d_enemy_window.index].name} :" @change_variable_window.visible = true @change_variable_window.active = true @change_variable_window.contents.clear @change_variable_window.contents.draw_text(0, 0, @debug_window.width - 32, 32, (@text_to_add + eval(@variable_to_change).to_s), 1) @d_enemy_window.active = false elsif @debug_window.index == 5 @stat_window.visible = true @stat_window.active = true @d_enemy_window.active = false end elsif Input.trigger?(Input:: @d_enemy_window.active = false @d_enemy_window.visible = false @debug_window.active = true end elsif @variable_to_change != "" @change_variable_window.update if Input.repeat?(Input::LEFT) eval(@variable_to_change + " -= 1") @change_variable_window.contents.clear @change_variable_window.contents.draw_text(0, 0, @debug_window.width - 32, 32, (@text_to_add + eval(@variable_to_change).to_s), 1) @status_window.refresh elsif Input.repeat?(Input::RIGHT) eval(@variable_to_change + " += 1") @change_variable_window.contents.clear @change_variable_window.contents.draw_text(0, 0, @debug_window.width - 32, 32, (@text_to_add + eval(@variable_to_change).to_s), 1) @status_window.refresh elsif Input.repeat?(Input::UP) eval(@variable_to_change + " += 10") @change_variable_window.contents.clear @change_variable_window.contents.draw_text(0, 0, @debug_window.width - 32, 32, (@text_to_add + eval(@variable_to_change).to_s), 1) @status_window.refresh elsif Input.repeat?(Input::DOWN) eval(@variable_to_change + " -= 10") @change_variable_window.contents.clear @change_variable_window.contents.draw_text(0, 0, @debug_window.width - 32, 32, (@text_to_add + eval(@variable_to_change).to_s), 1) @status_window.refresh elsif Input.trigger?(Input:: or Input.trigger?(Input::C) @variable_to_change = "" @text_to_add = "" @change_variable_window.visible = false @change_variable_window.active = false if @stat_window.visible @stat_window.active = true elsif @d_actor_window.visible @d_actor_window.active = true elsif @d_enemy_window.visible @d_enemy_window.active = true end end elsif @stat_window.active @stat_window.update if Input.trigger?(Input::C) if @d_actor_window.visible asd = "$game_party.members[#{@d_actor_window.index}]" else asd = "$game_troop.members[#{@d_enemy_window.index}]" end case @stat_window.index when 0 @variable_to_change = asd + ".maxhp" @text_to_add = (eval((asd + ".name")) + " Hp Max :") when 1 @variable_to_change = asd + ".maxmp" @text_to_add = (eval((asd + ".name")) + " Mp Max :") when 2 @variable_to_change = asd + ".atk" @text_to_add = (eval((asd + ".name")) + " Attacco :") when 3 @variable_to_change = asd + ".def" @text_to_add = (eval((asd + ".name")) + " Difesa :") when 4 @variable_to_change = asd + ".spi" @text_to_add = (eval((asd + ".name")) + " Intelligenza :") when 5 @variable_to_change = asd + ".agi" @text_to_add = (eval((asd + ".name")) + " Agilità :") end @change_variable_window.visible = true @change_variable_window.active = true @change_variable_window.contents.clear @change_variable_window.contents.draw_text(0, 0, @debug_window.width - 32, 32, (@text_to_add + eval(@variable_to_change).to_s), 1) @stat_window.active = false elsif Input.trigger?(Input:: @stat_window.visible = false @stat_window.active = false if @d_actor_window.visible @d_actor_window.active = true elsif @d_enemy_window.visible @d_enemy_window.active = true end end end end end Demo:N/A Incompatibilità: Non dovrebbe andare in conflitto con nessuno script. Note dell'autore: kingartur2 (no, a me no, non ho fatto niente, questo scripter è italiano.)
-
Nome Script: Bloccare gli Eventi Versione: 1.0 Autore/i: Sky00Valentine Informazioni: Questo script da la possibilità di bloccare tutti gli eventi della mappa, per poi farli ripartire. Funziona come una specie di pausa. Istruzioni: Inserite lo script sopra Main. Le istruzioni sono all'interno dello script. Script: #=========================================================================== # # Sky Script Revolution : Freeze Map Snippet (SSR) (SSR/FMS) # Version 1.0 # July 22, 2011 Started # July 22, 2011 Completed # September 30, 2011 Last Updated # #=========================================================================== # # What is Sky Script Revolution (SSR)? # It is a revamp of Sky's previous scripts. # Is that all? # No, that is only the beginning. Look for # New Scripts as well. Also look forward to # the reopenning of script request hall soon. # What kind of scripts are you planning? # I am starting to get into battle system # scripting so look for edits. # Are you supporting old scripts? # Some scripts don't need revamping as they # work beautifully, so I will update those # scripts. # #=========================================================================== # # Features : # Version 1.0 - July 22, 2011 # - Freezes Map and all events while switch is on. # Version 1.2 - September 30, 2011 # - Bugfixes # - Fixed The Common Event problem. # #=========================================================================== # # Credit # Sky00Valentine :creator and editor # Celianna :requesting script # #=========================================================================== # # Terms of Use # ------------ # # Crediting Rpgmakervx.net is the only thing I ask. # However feel free to credit Sky00Valentine if you # see fit. # #=========================================================================== # # Future improvement # ------------------ # # - Unknown # #=========================================================================== # # Instructions & Installation # --------------------------- # - place script line command in event as is # # save_event(@event_id) to start freeze. For Normal Event. # del_event(@event_id) to quit freezing. Use only for Normal Events. # add_common(the common event id) add a common event that won't freeze. # del_common(the common event id) removes a common event so that it can be frozen. # # - Change Whether map animation actually freezes or not in the Freeze Module # #=========================================================================== $imported = {} if $imported == nil $imported["SSRFreezeMapSnippet"] = true module Sky module Freeze Animate = true #set to true to allow map to remain animate. end end class Game_Event attr_accessor :event alias stop start def start unless $game_map.interpreter.freeze stop else stop if $game_map.interpreter.unfrozen.include?(@id) end end alias pause update def update unless $game_map.interpreter.freeze pause else pause if $game_map.interpreter.unfrozen.include?(@id) end end end class Game_Character alias ssr_fm_move_type_random move_type_random def move_type_random unless $game_map.interpreter.freeze ssr_fm_move_type_random end end alias ssr_fm_move_toward_player move_toward_player def move_type_toward_player unless $game_map.interpreter.freeze ssr_fm_move_toward_player end end alias ssr_fm_move_type_custom move_type_custom def move_type_custom unless $game_map.interpreter.freeze ssr_fm_move_type_custom end end end class Game_CommonEvent attr_reader :common_event_id alias pause update def update unless $game_map.interpreter.freeze pause else pause if $game_map.interpreter.unfrozen_com.include?(@common_event_id) end end end class Spriteset_Map alias stop update_tilemap def update_tilemap unless $game_map.interpreter.freeze and (not Sky::Freeze::Animate) stop end end end class Game_Player alias stop_movement update def update unless $game_map.interpreter.freeze stop_movement end end end class Game_Interpreter attr_reader :freeze alias ssr_fd_initialize initialize def initialize(depth = 0, main = false) @unfrozen_events = [] @unfrozen_common = [] @freeze = false ssr_fd_initialize(depth,main) end def get_event_id events = $game_map.events @x = events == nil ? nil : events[@event_id] return @x end def save_event(id) @unfrozen_events.push(id) unless @unfrozen_events.include?(id) @freeze = true end def add_common(id) @unfrozen_common.push(id) unless @unfrozen_common.include?(id) end def del_common(id) @unfrozen_common.delete(id) if @unfrozen_common.include?(id) end def del_event(id) @unfrozen_events.delete(id) if @unfrozen_events.include?(id) @freeze = false end def unfrozen return @unfrozen_events end def unfrozen_com return @unfrozen_common end end Incompatibilità: Dovrebbe essere compatibile con la maggior parte degli script ^^
-
Maker tool Sceneggiatura superba per le variabili local1
Ally ha aggiunto un topic in Scripts RPG Maker VX (RGSS2)
Nome Script: Sceneggiatura superba per le variabili local1 Versione: 1 Autore/i: Nuki Informazioni: This script allows you to manipulate variables to a local event Istruzioni: Paste above main Script: #Ajout de la gestion des variables locales aux evenement #Auteur: Nuki #Liste des méthodes utilisables #============================================================= # get(map_id, evt_id, id) -> retourne la variable n°id de l'evenement n°evt_id de la map n°map_id # => Alias : get_by_map(map_id, evt_id, id) # get(evt_id, id) -> retourne la variable n°id de l'evenement n°evt_id de la map courante # => Alias : get_by_event(evt_id, id) # get(id) -> retourne la variable n°id de l'evenement courant # => Alias : get_by_id(id) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # set(map_id, evt_id, id, valeur) -> attribue valeur à la variable n°id de l'evenement n°evt_id de la map n°map_id # => Alias : set_by_map(map_id, evt_id, id, valeur) # set(evt_id, id, valeur) -> attribue valeur à la variable n°id de l'evenement n°evt_id de la map courante # => Alias : set_by_event(evt_id, id, valeur) # set(id, valeur) -> attribue valeur à la variable n°id de l'evenement courant # => Alias : set_by_id(id, valeur) #============================================================= class Self_Var attr_accessor :map_id attr_accessor :event_id attr_accessor :id attr_accessor :value def initialize(map_id, event_id, id, value) @map_id = map_id @event_id = event_id @id = id @value = value end end class Scene_Title alias var_main main def main var_main $game_self_var = Array.new end end class Game_Interpreter # Récupère une variable en fonction de toute ces données def get_by_map(map_id, event_id, id) local = $game_self_var.find{ |variable| variable.map_id == map_id && variable.event_id == event_id && variable.id == id } return local.value if local.instance_of?(Self_Var) return 0 if local == nil end # Récupère une variable en fonction de son ID d'event et de son idée sur la map courante def get_by_event(event_id, id) return get_by_map(@map_id, event_id, id) end # Récupère la variable de l'evenement courant en fonction d'une ID def get_by_id(id) return get_by_map(@map_id, @event_id, id) end # Attribue une variable en fonction de toutes les données def set_by_map(map_id, event_id, id, value) index = $game_self_var.index( $game_self_var.find{ |variable| variable.map_id == map_id && variable.event_id == event_id && variable.id == id }) if index == nil $game_self_var << Self_Var.new(map_id, event_id, id, value) else $game_self_var[index].value = value end end # Attribue une variable en fonction de l'evenement ID et de l'ID de la variable def set_by_event(event_id, id, value) set_by_map(@map_id, event_id, id, value) end # Attribue une variable en fonction de l'ID de la variable dans l'evenement courant def set_by_id(id, value) set_by_map(@map_id, @event_id, id, value) end #Utilisation GET générique def get(*args) if args.length == 3 return get_by_map(args[0], args[1], args[2]) elsif args.length == 2 return get_by_event(args[0], args[1]) elsif args.length == 1 return get_by_id(args[0]) else return 0 end end #Utilisation SET générique def set(*args) if args.length == 4 set_by_map(args[0], args[1], args[2], args[3]) return true elsif args.length == 3 set_by_event(args[0], args[1], args[2]) return true elsif args.length == 2 set_by_id(args[0], args[1]) return true else return false end end end class Scene_File alias var_write_save_data write_save_data alias var_read_save_data read_save_data def write_save_data(file) var_write_save_data(file) Marshal.dump($game_self_var,file) end def read_save_data(file) var_read_save_data(file) $game_self_var = Marshal.load(file) end end Note dell'Autore: http://funkywork.blogspot.com -
Maker tool Script di configurazione iniziale
Ally ha aggiunto un topic in Scripts RPG Maker VX (RGSS2)
Nome Script: Script di configurazione iniziale Versione: 1.0 Autore/i: Melosx Informazioni: Per evitare di far eventi in parallelo o in automatico che assegnino oro e oggetti iniziali lo script permette di impostare i valori iniziali di oro, armi, armature e oggetti non che il font di gioco e la sua grandezza. Istruzioni: Seguire attentamente le istruzioni. Aprite l'editor degli script, trovate in basso lo script Main e sostituite a esso questo script. Per aggiungere altri elementi agli strumenti o alle armi/armature seguite questo semplice template: ID => Quantità ID = ID dell'oggetto nel database. Quantità = la quantità iniziale che si vuole avere dell'oggetto. Script: #============================================================================= # Melosx - Configurazione Iniziale #============================================================================= # Autore: Melosx # Versione: 1.0 # Data di creazione: 10-7-2011 => v 1.0 # #=============================================================================== # * Descrizione # ----------------------------------------------------------------------------- # Lo script permette di impostare i valori iniziali di oro, armi, armature e # oggetti non che il font di gioco e la sua grandezza. # #=============================================================================== # * Istruzioni # ----------------------------------------------------------------------------- # Seguire attentamente le istruzioni. # Aprite l'editor degli script, trovate in basso lo script Main e sostituite a # esso questo script. # Per aggiungere altri elementi agli strumenti o alle armi/armature seguite # questo semplice template: # ID => Quantità # ID = ID dell'oggetto nel database. # Quantità = la quantità iniziale che si vuole avere dell'oggetto. # #=============================================================================== #============================================================================== # ** Modulo di configurazione #============================================================================== module MSX_CONFIG #============================================================================== # ** Quantità oro iniziale #============================================================================== ORO = 500 # <- Quantità di denaro iniziale #============================================================================== # ** Strumenti, armi e armature iniziali. Si troveranno nell'inventario. #============================================================================== STRUMENTI = { # ID => Quantità 1 => 34, # Pozione x 34 10 => 25 # PM Up x 25 } # <- NON cancellare la parentesi. ARMI = { # ID => Quantità 1 => 2, # Bastone di legno x 2 10 => 5 # Spada Bastarda x 5 } # <- NON cancellare la parentesi. ARMATURE = { # ID => Quantità 1 => 3, # Scudo di pelle x 3 10 => 2 # Tiara x 2 } # <- NON cancellare la parentesi #============================================================================== # ** Font del gioco e grandezza. #============================================================================== FONT = "Arial" # <- Nome del font GRANDEZZAFONT = 14 # <- Grandezza del font end #======================FINE MODULO DI CONFIGURAZIONE=========================== #============================================================================== # ** Game_Party #============================================================================== class Game_Party include MSX_CONFIG alias melosx_initialize initialize def initialize super @gold = MSX_CONFIG::ORO #---------------------------------# @steps = 0 @last_item_id = 0 @last_actor_index = 0 @last_target_index = 0 @actors = [] #---------------------------------# @items = MSX_CONFIG::STRUMENTI @weapons = MSX_CONFIG::ARMI @armors = MSX_CONFIG::ARMATURE end end #============================================================================== # ** Main #============================================================================== begin Graphics.freeze Font.default_name = MSX_CONFIG::FONT Font.default_size = MSX_CONFIG::GRANDEZZAFONT $scene = Scene_Title.new $scene.main while $scene != nil Graphics.transition(30) rescue Errno::ENOENT filename = $!.message.sub("File o Directory mancante - ", "") print("Impossibile trovare il file #{filename}.") end Demo: N/D -
Nome Script: Dividi per...? Versione: 1.0 Autore/i: 3xter (io) Informazioni: Questo script serve per dividere per un determinato numero un characterset. Di default se antecediamo $ al nome di un chara, esso viene diviso per 3 (un solo elemento) e non per 12 (4 elementi) Con questo script, il file verrà diviso per il numero inserito all'inizio del chara. Istruzioni: Rinominare la risorsa interessata con il numero di frame presenti per X e Y. Prendiamo per esempio questo chara: Di default il vx lo visualizzerebbe male.. Importiamolo nel nostro progetto e rinominiamolo: 44 truppe.png Così facendo abbiamo ottenuto ciò che ci serviva: visualizzare correttamente qualsiasi chara! Script: =begin Script: Dividi per...? Autore: 3xter http://wwww.rpgmkr.net Questo script serve per dividere per un determinato numero un characterset. Di default se antecediamo $ al nome di un chara, esso viene diviso per 3 (un solo elemento) e non per 12 (4 elementi) Con questo script, il file verrà diviso per il numero inserito all'inizio del chara. Esempio: Chara (diviso per 12) $Chara (diviso per 3) 5Chara (diviso per 5) =end class Sprite_Character < Sprite_Base def update_bitmap if @tile_id != @character.tile_id or @character_name != @character.character_name or @character_index != @character.character_index @tile_id = @character.tile_id @character_name = @character.character_name @character_index = @character.character_index if @tile_id > 0 sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32; sy = @tile_id % 256 / 8 % 16 * 32; self.bitmap = tileset_bitmap(@tile_id) self.src_rect.set(sx, sy, 32, 32) self.ox = 16 self.oy = 32 else self.bitmap = Cache.character(@character_name) #Il valore numerico di un numero in stringa è di (valore - 48) #La variabile num infatti è uguale al primo carattere di @character_name #meno 48. Visualizzo tramite finestra il valore di x e y con print (commentato) #dopo averli convertito in intero prima = @character_name[0].to_i seconda = @character_name[1].to_i x = (prima - 48) y = (seconda - 48) x.to_i y.to_i #Mostra il valore di X e Y #print x, " e ", y sign = @character_name[/^[!$]./] if sign != nil and sign.include?('$') @cw = bitmap.width / 3 @ch = bitmap.height / 4 #Delimita il campo ai numeri da -infinito a 9 elsif x < 10 and y < 10 @cw = bitmap.width / x @ch = bitmap.height / y else @cw = bitmap.width / 12 @ch = bitmap.height / 8 end self.ox = @cw / 2 self.oy = @ch end end end end ############################################################################# class Window_Base < Window def draw_character(character_name, character_index, x, y) return if character_name == nil bitmap = Cache.character(character_name) #Il valore numerico di un numero in stringa è di (valore - 48) #La variabile num infatti è uguale al primo carattere di @character_name #meno 48. Visualizzo tramite finestra il valore di num con print num #dopo averlo convertito in intero prima = @character_name[0].to_i seconda = @character_name[1].to_i x = (prima - 48) y = (seconda - 48) x.to_i y.to_i #Mostra il valore di X e Y #print x, " e ", y sign = @character_name[/^[!$]./] if sign != nil and sign.include?('$') @cw = bitmap.width / 3 @ch = bitmap.height / 4 #Delimita il campo ai numeri da -infinito a 9 elsif x < 10 and y < 10 @cw = bitmap.width / x @ch = bitmap.height / y else @cw = bitmap.width / 12 @ch = bitmap.height / 8 end n = character_index src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch) self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) end end
-
Nome Script: napco's XP Sprite_Character Versione: 0.1 Autore/i: napco Informazioni: Permette di utilizzare i characters di RPGMaker XP al posto dei charset del VX, importandoli semplicemente. Istruzioni: Inserire lo script sotto "Materials". Script: #============================================================================== # ** napco's XP Sprite_Character #------------------------------------------------------------------------------ # Permette di utilizzare i chara dell'XP al posto di quelli del VX #============================================================================== class Sprite_Character < Sprite_Base def update_bitmap if @tile_id != @character.tile_id or @character_name != @character.character_name @tile_id = @character.tile_id @character_name = @character.character_name if @tile_id > 0 sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32; sy = @tile_id % 256 / 8 % 16 * 32; self.bitmap = tileset_bitmap(@tile_id) self.src_rect.set(sx, sy, 32, 32) self.ox = 16 self.oy = 32 else self.bitmap = Cache.character(@character_name) @cw = bitmap.width / 4 @ch = bitmap.height / 4 self.ox = @cw / 2 self.oy = @ch end end end def update_src_rect if @tile_id == 0 pattern = @character.pattern > 0 ? @character.pattern - 1 : 3 sx = pattern * @cw sy = (@character.direction - 2) / 2 * @ch self.src_rect.set(sx, sy, @cw, @ch) end end end Incompatibilità: Lo script potrebbe essere incompatibile con altri script che agiscono sulla classe Sprite_Character, come lo script per il riflesso. Se trovate qualche incompatibilità o bug segnalatemelo e provvederò con la correzione.
-
Nome Script: MRA_FreezeMoveRoute Versione: N/D Autore/i: Mr. Anonymous, Moon, Jeff Informazioni: Questo piccolo script fornisce una funzione di congelare i movimenti autonomi di tutti gli eventi attraverso l'uso di un singolo switch... Istruzioni: Inserite lo script sotto Material. Cambiate 12: SWITCH_ID = 12con il numero di una switch a voi scelta. Script: #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/ ◆ Freeze Event Move Route - MRA_FreezeMoveRoute ◆ VX ◆ #_/ ◇ Last Update: 2008/09/30 ◇ #_/ ◆ Created by Mr. Anonymous ◆ #_/ ◆ Special Thanks to Moon for the 9/30 Update ◆ #_/ ◆ Creator's Blog: ◆ #_/ ◆ http://mraprojects.wordpress.com ◆ #_/---------------------------------------------------------------------------- #_/ This script provides a a function for freezing the automated movement #_/ routes of events through the use of a switch. #_/============================================================================ #_/ Aliased Method: Game_Character's update_self_movement #_/============================================================================ #_/ Install: Insert above main. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #=============================================================================# # ★ Customization ★ # #=============================================================================# module MRA module FreezeMoveRoute # ★ Freeze Movement Switch ID ★ # This allows you to designate a switch that freezes all moveroutes of # events on the map. SWITCH_ID = 12 end end #=============================================================================# # ★ End Customization ★ # #=============================================================================# #============================================================================== # ** Game_Character #------------------------------------------------------------------------------ # This class deals with characters. It's used as a superclass of the # Game_Player and Game_Event classes. #============================================================================== class Game_Character #-------------------------------------------------------------------------- # * Update During Self movement #-------------------------------------------------------------------------- alias update_self_movement_mra_freezemoveroute update_self_movement def update_self_movement update_self_movement_mra_freezemoveroute if !$game_switches[MRA] end end
-
Nome Script: Chiama Evento Versione: 1.0 Autore/i: Woratana Informazioni: Fondamentalmente è come chiamare un evento comune normale,ma qui abbiamo l'opzione di richiamre pure un evento situato in un'altra mappa ^^ Istruzioni: Inserite lo script sotto Material. Usate i seguenti call script per richiamare l'evento comune: callev(event_id, page, map_id) callev(event_id,page) Script: #============================================================ # ? [VX] ? Call Event ? # * Missing features from RM2K #------------------------------------------------------------ # ? by Woratana [[email protected]] # ? Thaiware RPG Maker Community # ? Released Date: 04/05/2008 #------------------------------------------------------------ =begin +[How to use: Version 2]+ ========================================================================= >> Call event from other map by call script: callev(event id, page you want, map ID) ------------------------------------------------------------------------ e.g. callev(5,2,1) ^ to call event commands list from 'page 2' of 'event ID 5' in Map ID '1' ------------------------------------------------------------------------ >> Call event in current map by call script: callev(event id, page you want) ------------------------------------------------------------------------ >> If you want to call event in current page that it's running, set 'page you want' to 0 ------------------------------------------------------------------------ *Note: You CANNOT call erased event! ======================================================================== =end #------------------------------------------------------------ # Make variable 'event' readable from outside class Game_Event; attr_reader :event; end class Game_Interpreter def callev(evid = 0,page = 0, id_map = $game_map.map_id) return if evid == 0 if id_map != $game_map.map_id # Load new map data if event is not from current map dest_map = load_data(sprintf("Data/Map%03d.rvdata", id_map)) if page == 0 # Get first page if user haven't set page inter_event = dest_map.events[evid].pages[0] else inter_event = dest_map.events[evid].pages[page - 1] end else # Use $game_map if event is in current map if page == 0 inter_event = $game_map.events[evid] else inter_event = $game_map.events[evid].event.pages[page - 1] end end # Add new child_interpreter to run commands @child_interpreter = Game_Interpreter.new(@depth + 1) # Add commands from target event @child_interpreter.setup(inter_event.list, @event_id) end end
-
Nome Script: Debug velocità Versione: N/D Autore/i: Gammastar Informazioni: Velocizza la battaglia con il tasto F6. Istruzioni: Inserite lo script sotto Material Script: #By: Gammastar. #Debug speeder. Boosts the frame rate when you press the F6 key. #Press F6 again to return to normal. #This is much more effective if you dash while using it. #No need to give me credit, since this is only usable in debug mode. #Set variable to false. $using = false class Scene_Map #Alias the update method in Scene_Map. alias gammastar_speedupdate update #By aliasing, I add to the method instead of actually defining it. def update #Refer to alias (can't work without this) gammastar_speedupdate #Check to see if in debug and if F6 is pressed. if $TEST and Input.trigger?(Input::F6) #Check to see if you are using the speeder. if $using == false Graphics.frame_rate = 120 Sound.play_decision $using = true else Graphics.frame_rate = 60 Sound.play_cancel $using = false end end end end #Essentially the same as above. class Scene_Battle alias gammastar_speedupdate_b update def update gammastar_speedupdate_b if $TEST and Input.trigger?(Input::F6) if $using == false Graphics.frame_rate = 120 Sound.play_decision $using = true else Graphics.frame_rate = 60 Sound.play_cancel $using = false end end end end
-
Titolo: Vx To Xp Char Converter Versione: 1.0 Autore/i: game_guy Informazioni: Converte Chara VX in Chara XP Screenshots: Istruzioni: Mettete il file nella cartella giusta e avviate il gioco e convertirà automaticamente... Ah se all'avvio vi da errore è perchè dovete creare la cartella 3x4 che serve per mettere i file a un chara.. le conversioni le trovate nella cartella Converted... Script: #=============================================================================== #=============================================================================== # Vx To Xp Char Converter # Version 1.0 # Author game_guy #------------------------------------------------------------------------------- # Intro # Converts the little vx guys to xp format. # # Features # Converts the 12x8 frame chars (ones with 8 people) # Converts the 3x4 frame chars (the single person) # # Instructions # Just place character files in the Chars/12x8 folder for 12x8 chars. # Place files in Chars/3x4 folder for 3x4 chars. # Then run the game, it'll convert it for you. # # Credits # game_guy ~ for making it # Fantasist ~ teaching me how to get files from folder, and how to use bitmap to # png code # 66rpg ~ for their bitmap to png code # #=============================================================================== =begin ============================================================================== Bitmap to PNG By 轮回者 ============================================================================== 对Bitmap对象直接使用 bitmap_obj.make_png(name[, path]) name:保存文件名 path:保存路径 感谢66、夏娜、金圭子的提醒和帮助! ============================================================================== =end module Zlib class Png_File < GzipWriter #-------------------------------------------------------------------------- # ● 主处理 #-------------------------------------------------------------------------- def make_png(bitmap_Fx,mode) @mode = mode @bitmap_Fx = bitmap_Fx self.write(make_header) self.write(make_ihdr) self.write(make_idat) self.write(make_iend) end #-------------------------------------------------------------------------- # ● PNG文件头数据块 #-------------------------------------------------------------------------- def make_header return [0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a].pack("C*") end #-------------------------------------------------------------------------- # ● PNG文件情报头数据块(IHDR) #-------------------------------------------------------------------------- def make_ihdr ih_size = [13].pack("N") ih_sign = "IHDR" ih_width = [@bitmap_Fx.width].pack("N") ih_height = [@bitmap_Fx.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 #-------------------------------------------------------------------------- # ● 生成图像数据(IDAT) #-------------------------------------------------------------------------- def make_idat header = "\x49\x44\x41\x54" case @mode # 请54~ when 1 data = make_bitmap_data#1 else data = make_bitmap_data end data = Zlib::Deflate.deflate(data, 8) crc = [Zlib.crc32(header + data)].pack("N") size = [data.length].pack("N") return size + header + data + crc end #-------------------------------------------------------------------------- # ● 从Bitmap对象中生成图像数据 mode 1(请54~) #-------------------------------------------------------------------------- def make_bitmap_data1 w = @bitmap_Fx.width h = @bitmap_Fx.height data = [] for y in 0...h data.push(0) for x in 0...w color = @bitmap_Fx.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 #-------------------------------------------------------------------------- # ● 从Bitmap对象中生成图像数据 mode 0 #-------------------------------------------------------------------------- def make_bitmap_data gz = Zlib::GzipWriter.open('hoge.gz') t_Fx = 0 w = @bitmap_Fx.width h = @bitmap_Fx.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 #GC.start end color = @bitmap_Fx.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 #-------------------------------------------------------------------------- # ● PNG文件尾数据块(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 #============================================================================== # ■ Bitmap #------------------------------------------------------------------------------ # 关联到Bitmap。 #============================================================================== class Bitmap #-------------------------------------------------------------------------- # ● 关联 #-------------------------------------------------------------------------- def make_png(name="like", path="",mode=0) make_dir(path) if 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 #-------------------------------------------------------------------------- # ● 生成保存路径 #-------------------------------------------------------------------------- def make_dir(path) dir = path.split("/") for i in 0...dir.size unless dir == "." add_dir = dir[0..i].join("/") begin Dir.mkdir(add_dir) rescue end end end end end module GameGuy def self.vxconvert(file) begin char = GameGuy.character(file, 0) rescue $skipped += 1 return end width = char.width / 4 height = char.height / 2 vxwidth = width / 3 index = 0 xx = 0 yy = 0 unless FileTest.directory?("Converted/#{file}/") Dir.mkdir("Converted/#{file}/") end loop do bitmap = Bitmap.new(width + vxwidth, height) rect1 = Rect.new(xx+vxwidth, yy, vxwidth, height) bitmap.blt(0, 0, char, rect1) rect2 = Rect.new(xx, yy, width, height) bitmap.blt(vxwidth, 0, char, rect2) bitmap.make_png("#{file} #{index}", "Converted/#{file}/") bitmap.dispose bitmap = nil if index == 7 $converted += 1 break end index += 1 case index when 0,4 xx = width*0 when 1,5 xx = width*1 when 2,6 xx = width*2 when 3,7 xx = width*3 end if index == 4 yy = height end end end def self.svxconvert(file) begin char = GameGuy.scharacter(file, 0) rescue $skipped += 1 return end width = char.width / 3 height = char.height bitmap = Bitmap.new(width * 4, height) rect1 = Rect.new(width, 0, width, height) bitmap.blt(0, 0, char, rect1) rect2 = Rect.new(0, 0, width * 3, height) bitmap.blt(width, 0, char, rect2) unless FileTest.directory?("Converted/#{file}/") Dir.mkdir("Converted/#{file}/") end bitmap.make_png("#{file}", "Converted/#{file}/") $converted += 1 end end module GameGuy @cache = {} def self.load_bitmap(folder_name, filename, hue = 0) path = folder_name + filename if not @cache.include?(path) or @cache[path].disposed? if filename != "" @cache[path] = Bitmap.new(path) else @cache[path] = Bitmap.new(32, 32) end end if hue == 0 @cache[path] else key = [path, hue] if not @cache.include?(key) or @cache[key].disposed? @cache[key] = @cache[path].clone @cache[key].hue_change(hue) end @cache[key] end end def self.character(filename, hue) self.load_bitmap("Chars/12x8/", filename, hue) end def self.scharacter(filename, hue) self.load_bitmap("Chars/3x4/", filename, hue) end end begin unless FileTest.directory?("Converted") Dir.mkdir("Converted") end $time = Time.now $converted = 0 $skipped = 0 @names = [] dir = Dir.new('Chars/12x8/') dir.entries.each {|file| next unless file.include?('.png') @names.push(file); GameGuy.character(file, 0)} for i in [email protected] GameGuy.vxconvert(@names[i]) end @names = [] dir = Dir.new('Chars/3x4/') dir.entries.each {|file| next unless file.include?('.png') @names.push(file); GameGuy.scharacter(file, 0)} for i in [email protected] GameGuy.svxconvert(@names[i]) end print "Converted #{$converted} files in #{Time.now - $time} seconds" + "\n" + "Total Skipped Files: #{$skipped}" exit end Demo:Download Incompatibilita: Nessuna incompatibilità riscontrata.
-
Nome Script: MCDU_System Versione: 1.0 Autore/i: Mexod Informazioni: Questo script permette di scomporre in unità-decine-centinaia-migliaia-dec.migliaia un numero e salvare ogni cifra in una variabile di gioco. Istruzioni: Istruzioni per l'uso e la customizzazione all'interno dello script. Script: #=============================================================================== # MCDU_System V 1.1 20/02/2010 #=============================================================================== # by Mexod #=============================================================================== # Come usare lo script: # Assegnare alla variabile di gioco n°6 il valore del numero da scomporre. # Richiamare lo script inserendo in un call script il seguente codice: # # var = $game_variables[6] # MCDU_System.new(var) # # Una volta avviato lo script le variabili assumeranno i seguenti valori: # V[0001] = unità # V[0002] = decine # V[0003] = centinaia # V[0004] = migliaia # V[0005] = decine di migliaia # V[0006] = numero intero # # E' consigliato non utilizzare queste variabili per altre operazioni. # Terminati i calcoli lo script si disattiva da solo, per scomporre un # altro numero richiamare nuovamente lo script come indicato sopra. # Lo script funziona solo con i numeri minori di 100000. #=============================================================================== # Per cambiare le variabili con cui lo script lavora modificare gli id # a partire dalla riga 100 # Inserire l'id senza gli zeri che precedono la cifra. # es: # V[0054] ---> $game_variables[54] # # Se si modifica l'id della variabile associata a @[member=varifortEa] # (di default $game_variables[6]) modificare il call script in questo modo: # # var = $game_variables[nuovo_id] # MCDU_System.new(var) # #=============================================================================== class MCDU_System def initialize(var) @[member=varifortEa] = var mcdu_sys end def mcdu_sys if @[member=varifortEa] < 10 alg_u else if @[member=varifortEa] > 10 && @[member=varifortEa] < 100 alg_d else if @[member=varifortEa] > 100 && @[member=varifortEa] < 1000 alg_c else if @[member=varifortEa] > 1000 && @[member=varifortEa] < 10000 alg_m else if @[member=varifortEa] > 10000 && @[member=varifortEa] < 100000 alg_dm else chiudi end end end end end end def alg_u @[member=varifortEa]_u = @[member=varifortEa] chiudi end def alg_d @[member=varifortEa]_u = @[member=varifortEa] % 10 @[member=varifortEa]_d = ((@[member=varifortEa] - @[member=varifortEa]_u) / 10) % 10 chiudi end def alg_c @[member=varifortEa]_u = @[member=varifortEa] % 10 @[member=varifortEa]_d = ((@[member=varifortEa] - @[member=varifortEa]_u) / 10) % 10 @[member=varifortEa]_c = ((@[member=varifortEa] - @[member=varifortEa]_d) / 100) % 10 chiudi end def alg_m @[member=varifortEa]_u = @[member=varifortEa] % 10 @[member=varifortEa]_d = ((@[member=varifortEa] - @[member=varifortEa]_u) / 10) % 10 @[member=varifortEa]_c = ((@[member=varifortEa] - @[member=varifortEa]_d) / 100) % 10 @[member=varifortEa]_m = ((@[member=varifortEa] - @[member=varifortEa]_c) / 1000) % 10 chiudi end def alg_dm @[member=varifortEa]_u = @[member=varifortEa] % 10 @[member=varifortEa]_d = ((@[member=varifortEa] - @[member=varifortEa]_u) / 10) % 10 @[member=varifortEa]_c = ((@[member=varifortEa] - @[member=varifortEa]_d) / 100) % 10 @[member=varifortEa]_m = ((@[member=varifortEa] - @[member=varifortEa]_c) / 1000) % 10 @[member=varifortEa]_dm = ((@[member=varifortEa] - @[member=varifortEa]_m) / 10000) % 10 chiudi end def chiudi $game_variables[1] = @[member=varifortEa]_u # unità $game_variables[2] = @[member=varifortEa]_d # decine $game_variables[3] = @[member=varifortEa]_c # centinaia $game_variables[4] = @[member=varifortEa]_m # migliaia $game_variables[5] = @[member=varifortEa]_dm # decine di migliaia $game_variables[6] = @[member=varifortEa] # numero intero end end Incompatibilità:Nessun bug/conflitto noto. Note dell'Autore: Non so quanto realmente possa servire uno script del genere, ma se lo usate creditatemi ^^