Vai al contenuto

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

  • Chatbox

    You don't have permission to chat.
    Load More
Ally

Maker tool Bloccare gli Eventi

Recommended Posts

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 ^^

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

You need to be a member in order to leave a comment

Crea un account

Iscriviti per un nuovo account nella nostra comunità. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

  • Contenuti simili

    • Da Ally
      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.
    • Da Ally
      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 ^^
    • Da Ally
      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
    • Da Ally
      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
    • Da Ally
      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
×