Jump to content

AD-Blocker detected, please disable your ad-blocker when surfing in makerando.com - There is no invasive Ad.

 

  • Chatbox

    You don't have permission to chat.
    Load More
Sign in to follow this  
Ally

System Mod Screen tint

Recommended Posts

Nome script: Screen tint[/color]

Versione: Rgss[/color]

Autore: Leon_Westbrooke[/color]

 

Informazioni:

Questo script permette tramite gioco di cambiare i settaggi di colorazione dello screen.

 

Screenshoots:

2wqu61c.png

 

Istruzioni:

Premete F8 per lanciare le opzioni di settaggio.

 

Script:

#-------------------------------------------------------------------------------
#  Screen Tint Debug Menu by Leon_Westbrooke
#-------------------------------------------------------------------------------
#  Questo script permette di, in Debug mode, modificare la tinta dello schermo
#  fino a trovare una colorazione adatta.
#  NON imposterà automaticamente la tinta.  Invece, bisognerà ricordare i numeri
#  ed usarli in un evento Cambia Screen Tone.  Questo dovrebbe evitare
#  innumerevoli test per la colorazione adatta.
#
#  Come usare:
#    Inserire lo script sopra Main e sotto gli altri script.
#    Per accedervi, andare in debug mode (F12) e premere F8. Apparirà la window di modifica.
#    Utilizzare le frecce direzionali per modificare le tinte.
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
#  *  Game_Temp
#-------------------------------------------------------------------------------
class Game_Temp
  alias leon_stdm_gametemp_init initialize
 
  attr_accessor :tinttest_red
  attr_accessor :tinttest_green
  attr_accessor :tinttest_blue
  attr_accessor :tinttest_gray
 
  def initialize
    leon_stdm_gametemp_init
    @tinttest_red = 0
    @tinttest_green = 0
    @tinttest_blue = 0
    @tinttest_gray = 0
  end
end
#-------------------------------------------------------------------------------
# END Game_Temp
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
#  *  Spriteset_Map
#-------------------------------------------------------------------------------
class Spriteset_Map
  attr_accessor :viewport1
end
class Game_Screen
  attr_accessor :tone
end
#-------------------------------------------------------------------------------
# END Spriteset_Map
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
#  *  Scene_Map
#-------------------------------------------------------------------------------
class Scene_Map
 
  alias leon_svcl_scenemap_update update
  def update
    leon_svcl_scenemap_update
    if $DEBUG and Input.press?(Input::F8)
	  $scene = Scene_TintDebug.new
    end
  end
end
#-------------------------------------------------------------------------------
# END Scene_Map
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
#  *  Window_TintTest
#-------------------------------------------------------------------------------
class Window_TintTest < Window_Selectable
  def initialize
    super(0, 0, 192, 192)
    self.contents = Bitmap.new(width - 32, height - 32)
    @item_max = 5
    self.index = 0
    self.active = true
    refresh
  end
 
  def refresh
    self.contents.clear
    self.contents.draw_text(4, 0, 160, 32, "Rosso")
    self.contents.draw_text(4, 32, 160, 32, "Verde")
    self.contents.draw_text(4, 64, 160, 32, "Blu")
    self.contents.draw_text(4, 96, 160, 32, "Grigio")
    self.contents.draw_text(4, 128, 160, 32, "Esci")
    self.contents.draw_text(-4, 0, 160, 32, $game_temp.tinttest_red.to_s, 2)
    self.contents.draw_text(-4, 32, 160, 32, $game_temp.tinttest_green.to_s, 2)
    self.contents.draw_text(-4, 64, 160, 32, $game_temp.tinttest_blue.to_s, 2)
    self.contents.draw_text(-4, 96, 160, 32, $game_temp.tinttest_gray.to_s, 2)
  end
end
#-------------------------------------------------------------------------------
# END Window_TintTest
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
#  *  Scene_TintDebug
#-------------------------------------------------------------------------------
class Scene_TintDebug
  def main
    @spriteset = Spriteset_Map.new
    $game_temp.tinttest_red = @spriteset.viewport1.tone.red.to_i
    $game_temp.tinttest_green = @spriteset.viewport1.tone.green.to_i
    $game_temp.tinttest_blue = @spriteset.viewport1.tone.blue.to_i
    $game_temp.tinttest_gray = @spriteset.viewport1.tone.gray.to_i
    @window_tint = Window_TintTest.new
   
    Graphics.transition
    loop do
	  Graphics.update
	  Input.update
	  update
	  if $scene != self
	    break
	  end
    end
    Graphics.freeze
    @window_tint.dispose
    @spriteset.dispose
  end
 
 
  def update
    if Input.trigger?(Input::
	  $scene = Scene_Map.new
    end
   
    if @window_tint.active
	  update_windowtint
	  return
    end
  end
 
  def update_windowtint
    @window_tint.update
    case @window_tint.index
    when 0
	  if Input.trigger?(Input::RIGHT)
	    $game_temp.tinttest_red += 1
	    if $game_temp.tinttest_red >= 255
		  $game_temp.tinttest_red = 255
	    end
	  elsif Input.trigger?(Input::LEFT)
	    $game_temp.tinttest_red -= 1
	    if $game_temp.tinttest_red <= -255
		  $game_temp.tinttest_red = -255
	    end
	  elsif Input.repeat?(Input::RIGHT)
	    $game_temp.tinttest_red += 5
	    if $game_temp.tinttest_red >= 255
		  $game_temp.tinttest_red = 255
	    end
	  elsif Input.repeat?(Input::LEFT)
	    $game_temp.tinttest_red -= 5
	    if $game_temp.tinttest_red <= -255
		  $game_temp.tinttest_red = -255
	    end
	  end
    when 1
	  if Input.trigger?(Input::RIGHT)
	    $game_temp.tinttest_green += 1
	    if $game_temp.tinttest_green >= 255
		  $game_temp.tinttest_green = 255
	    end
	  elsif Input.trigger?(Input::LEFT)
	    $game_temp.tinttest_green -= 1
	    if $game_temp.tinttest_green <= -255
		  $game_temp.tinttest_green = -255
	    end
	  elsif Input.repeat?(Input::RIGHT)
	    $game_temp.tinttest_green += 5
	    if $game_temp.tinttest_green >= 255
		  $game_temp.tinttest_green = 255
	    end
	  elsif Input.repeat?(Input::LEFT)
	    $game_temp.tinttest_green -= 5
	    if $game_temp.tinttest_green <= -255
		  $game_temp.tinttest_green = -255
	    end
	  end
    when 2
	  if Input.trigger?(Input::RIGHT)
	    $game_temp.tinttest_blue += 1
	    if $game_temp.tinttest_blue >= 255
		  $game_temp.tinttest_blue = 255
	    end
	  elsif Input.trigger?(Input::LEFT)
	    $game_temp.tinttest_blue -= 1
	    if $game_temp.tinttest_blue <= -255
		  $game_temp.tinttest_blue = -255
	    end
	  elsif Input.repeat?(Input::RIGHT)
	    $game_temp.tinttest_blue += 5
	    if $game_temp.tinttest_blue >= 255
		  $game_temp.tinttest_blue = 255
	    end
	  elsif Input.repeat?(Input::LEFT)
	    $game_temp.tinttest_blue -= 5
	    if $game_temp.tinttest_blue <= -255
		  $game_temp.tinttest_blue = -255
	    end
	  end
    when 3
	  if Input.trigger?(Input::RIGHT)
	    $game_temp.tinttest_gray += 1
	    if $game_temp.tinttest_gray >= 255
		  $game_temp.tinttest_gray = 255
	    end
	  elsif Input.trigger?(Input::LEFT)
	    $game_temp.tinttest_gray -= 1
	    if $game_temp.tinttest_gray <= -255
		  $game_temp.tinttest_gray = -255
	    end
	  elsif Input.repeat?(Input::RIGHT)
	    $game_temp.tinttest_gray += 5
	    if $game_temp.tinttest_gray >= 255
		  $game_temp.tinttest_gray = 255
	    end
	  elsif Input.repeat?(Input::LEFT)
	    $game_temp.tinttest_gray -= 5
	    if $game_temp.tinttest_gray <= -255
		  $game_temp.tinttest_gray = -255
	    end
	  end
    when 4
	  if Input.trigger?(Input::
	    $scene = Scene_Map.new
	  end
    end
    red = $game_temp.tinttest_red
    green = $game_temp.tinttest_green
    blue = $game_temp.tinttest_blue
    gray = $game_temp.tinttest_gray
    @spriteset.viewport1.tone = Tone.new(red, green, blue, gray)
    $game_screen.tone = Tone.new(red, green, blue, gray)
    @window_tint.refresh
    @spriteset.update
  end
end
#-------------------------------------------------------------------------------
#  *  Scene_TintDebug
#-------------------------------------------------------------------------------

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

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

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By Ally
      Nome Script: H.U.T.O. MMO System por Tomoaky
      Versione:
      Autore/i: Tomoaky, hikimoki
       
      Informazioni:
      Un sistema completo per creare un progetto in pieno stile MMO, dove il movimento è con il mouse e la battaglia è in gruppo.
      Che cosa contiene?
       
      Features:
      - Mini-mappa con caratteristiche realistiche della mappa.
      - Sistema di Battaglia con la partecipazione attiva del party.
      - Sistema di full-pixel: Camminata, Attacco, Abilità, e altre cose che devono essere ancora scoperte nella demo
      - Sistema di tempo con orari diurni e serali giusto.
      - Tempo di sistema. (Climi)
       
      (La demo è ancora in fase di test, quindi verranno aggiunte altre features con il progredire dei test)
       
      Screenshots:

       
      Istruzioni:
      Istruzioni e script, all'interno della demo.
       
      Demo:
      http://hikimoki.sakura.ne.jp/zip/hutommo_ace.zip
    • By Ally
      Nome Script: Permanent Switches & Variables
      Versione: 1.2
      Autore/i: mikb89
       
      Informazioni:
      Con questo script potrete far sì che i valori di determinate switch e variabili vengano memorizzati in modo da restare tali in nuova partita e caricamento.
      Utile per esempio se si vuole aggiungere un Nuovo gioco +, cambiando una switch appena finito il gioco, oppure un sistema di punteggio alto tramite variabile o magari per memorizzare delle opzioni.
       
      Features:
      Si possono utilizzare sia singoli elementi che range multipli rapidamente.
      È possibile scegliere un nominativo personalizzato per i dati.
       
      Istruzioni:
      Creare una nuova voce sopra Main ed inserire lo script.
      Nel caso di incompatibilità, provare a spostarla più in alto.
       
      Script
       
      Incompatibilità:
      N/A
    • By Ally
      Nome Script: ReMapped Keys
      Versione: 1.0
      Autore/i: mikb89
       
      Informazioni:
      Con questo script potrete riassegnare i tasti standard. Se ad esempio voleste usare Invio sia per interagire che per correre, basta rimappare il tasto Shift (:A) con quello di Invio (:C). Giusto un esempio.
      Lo script è comunque stato inizialmente creato per un cabinato che supportava solo determinati tasti: combinando questo script con uno di tastiera estesa è stato possibile far funzionare il gioco.
       
      Istruzioni:
      Creare una nuova voce sopra Main ed inserire lo script.
      Nel caso di incompatibilità, provare a spostarla più in alto.
       
      Script
       
      Incompatibilità:
      Ricordatevi di usare uno script per la tastiera estesa separato se le vostre intenzioni sono quelle di usare tasti non standard.
       
      Note dell'autore:
      Script creato per una richiesta di syntonia;
      Ringrazio per il suo script di tastiera estesa che ho usato come esempio.
    • By Ally
      Nome Script: Independent Player Actor
      Versione: 1.4
      Autore/i: mikb89

      Informazioni:
      Questo script nasce da una richiesta di , fatta in questo topic.
      Pensato per giochi tipo Pokémon, questo script consente di avere un 'leader' (visibile come primo personaggio nel caterpillar e come nome team in battaglia: "Il gruppo di X ha ottenuto punti exp...") che non è parte del gruppo vero e proprio.

      Features:
      L'unica impostazione presente nello script è il numero di una variabile.
      Cambiandone poi il valore potrete:
      disattivare lo script se questo è minore di 1; selezionare l'eroe leader dal database impostando la variabile al suo ID; attivare e disattivare lo script quindi semplicemente moltiplicando la variabile per -1.
      Istruzioni:
      Inserire lo script sotto Materials/Materiali/Modules/Moduli (a seconda della traduzione che avete) ma sopra Main.

      Script

      Demo:
      Demo multilingua v 1.4
      Mediafire, zip di 1.32MB

      Incompatibilità:
      Se non aggiungete nessuno al party, anche se il leader è impostato, non potrete comunque accedere ai vari menu Oggetti, Skill, Equip, Status.

      Note dell'autore:
      per aver richiesto lo script;
      SowS per l'idea originale.

      Pareri in evidenza:
    • By Ally
      Nome Script: Keyboard Input
      Versione: 3.0
      Autore/i: Keroro
       
      Informazioni:
      Porting per VX-ACE dello script YEM Keyboard Script per VX.
      Rimpiazza lo Scene_Name facendo inserire direttamente da tastiera.
      TODO: Gestire la punteggiatura
       
      Istruzioni:
      Creare una nuova tab sotto Materials e incollare lo script.
      Oltre a modificare lo Scene_Name modifica la classe Input consentendo,
      al programmatore volenteroso di utilizzare tutti le lettere e i numeri tramite sintassi:
       
      if Input.press(:VK_A)
      #se premo la lettera a
      end
      if Input.press(:NUM5) or Input.press(:PAD5)
      #se premo il numero 5 sulla tastiera o sul numpad
      end
       
      Script:
       
       
      #===============================================================================# Keyboard Input - Porting to VX-ACE# By Keroro - [email protected]# Version 3.0# Last Date Updated. 2012.03.17#===============================================================================## OriginalWij and Yanfly Collaboration - Keyboard Input# Last Date Updated: 2010.06.12# Level: Normal## This is a utility script that provides the functionality to return inputs# from the keyboard as well as free up more keys to be used in the Input module.# This script will also replace Scene_Name and allow for direct keyboard input# to type in an actor's name as well as fix the maximum characters shown from# the default base script.##===============================================================================$imported = {} if $imported == nil$imported["KeyboardInput"] = trueclass << Input #-------------------------------------------------------------------------- # Aliases (Mods - Linked to Module) - Created by OriginalWij #-------------------------------------------------------------------------- alias ow_dt_i_press press? unless [email protected] alias ow_dt_i_trigger trigger? unless [email protected] alias ow_dt_i_repeat repeat? unless [email protected] alias ow_dt_i_update update unless [email protected] Input #-------------------------------------------------------------------------- # constants - Created by OriginalWij and Yanfly and Keroro #-------------------------------------------------------------------------- VALUES = {} VALUES[:VK_A] = 65; VALUES[:VK_B] = 66; VALUES[:VK_C] = 67; VALUES[:VK_D] = 68; VALUES[:VK_E] = 69; VALUES[:VK_F] = 70; VALUES[:VK_G] = 71; VALUES[:VK_H] = 72; VALUES[:VK_I] = 73; VALUES[:VK_J] = 74; VALUES[:VK_K] = 75; VALUES[:VK_L] = 76 VALUES[:VK_M] = 77; VALUES[:VK_N] = 78; VALUES[:VK_O] = 79; VALUES[:VK_P] = 80; VALUES[:VK_Q] = 81; VALUES[:VK_R] = 82; VALUES[:VK_S] = 83; VALUES[:VK_T] = 84; VALUES[:VK_U] = 85; VALUES[:VK_V] = 86; VALUES[:VK_W] = 87; VALUES[:VK_X] = 88 VALUES[:VK_Y] = 89; VALUES[:VK_Z] = 90; LETTERS = [:VK_A,:VK_B,:VK_C,:VK_D,:VK_E,:VK_F,:VK_G,:VK_H,:VK_I,:VK_J, :VK_K,:VK_L,:VK_M,:VK_N,:VK_O,:VK_P,:VK_Q,:VK_R,:VK_S,:VK_T, :VK_U,:VK_V,:VK_W,:VK_X,:VK_Y,:VK_Z] VALUES[:NUM0] = 48; VALUES[:NUM1] = 49; VALUES[:NUM2] = 50; VALUES[:NUM3] = 51; VALUES[:NUM4] = 52; VALUES[:NUM5] = 53; VALUES[:NUM6] = 54; VALUES[:NUM7] = 55; VALUES[:NUM8] = 56; VALUES[:NUM9] = 57; VALUES[:PAD0] = 96; VALUES[:PAD1] = 97; VALUES[:PAD2] = 98; VALUES[:PAD3] = 99; VALUES[:PAD4] = 100; VALUES[:PAD5] = 101; VALUES[:PAD6] = 102; VALUES[:PAD7] = 103; VALUES[:PAD8] = 104; VALUES[:PAD9] = 105; NUMBERS = [:NUM0,:NUM1,:NUM2,:NUM3,:NUM4,:NUM5,:NUM6,:NUM7,:NUM8,:NUM9] NUMPAD = [:PAD0,:PAD1,:PAD2,:PAD3,:PAD4,:PAD5,:PAD6,:PAD7,:PAD8,:PAD9] VALUES[:ENTER] = 13; VALUES[:SPACE] = 32; VALUES[:ESC] = 27; VALUES[:BACK] = 8; VALUES[:PGUP] = 33; VALUES[:PGDN] = 34; VALUES[:CAPS] = 20;#TODO: aggiungere tags per punteggiatura #-------------------------------------------------------------------------- # initial module settings - Created by OriginalWij and Yanfly #-------------------------------------------------------------------------- GetKeyState = Win32API.new("user32", "GetAsyncKeyState", "i", "i") GetCapState = Win32API.new("user32", "GetKeyState", "i", "i") KeyRepeatCounter = {} module_function #-------------------------------------------------------------------------- # alias method: update - Created by OriginalWij and Keroro #-------------------------------------------------------------------------- def update ow_dt_i_update for key in KeyRepeatCounter.keys if (GetKeyState.call(VALUES[key]).abs & 0x8000 == 0x8000) KeyRepeatCounter[key] += 1 else KeyRepeatCounter.delete(key) end end end #-------------------------------------------------------------------------- # alias method: press? - Created by OriginalWij and Keroro #-------------------------------------------------------------------------- def press?(key) return ow_dt_i_press(key) if !VALUES.has_key?(key) return true unless KeyRepeatCounter[key].nil? return key_pressed?(key) end #-------------------------------------------------------------------------- # alias method: trigger? - Created by OriginalWij and Keroro #-------------------------------------------------------------------------- def trigger?(key) return ow_dt_i_trigger(key) if !VALUES.has_key?(key) count = KeyRepeatCounter[key] return ((count == 0) or (count.nil? ? key_pressed?(key) : false)) end #-------------------------------------------------------------------------- # alias method: repeat? - Created by OriginalWij and Keroro #-------------------------------------------------------------------------- def repeat?(key) return ow_dt_i_trigger(key) if !VALUES.has_key?(key) count = KeyRepeatCounter[key] return true if count == 0 if count.nil? return key_pressed?(key) else return (count >= 23 and (count - 23) % 6 == 0) end end #-------------------------------------------------------------------------- # new method: key_pressed? - Created by OriginalWij and Keroro #-------------------------------------------------------------------------- def key_pressed?(key) if (GetKeyState.call(VALUES[key]).abs & 0x8000 == 0x8000) KeyRepeatCounter[key] = 0 return true end return false end #-------------------------------------------------------------------------- # new method: typing? - Created by Yanfly and Keroro #-------------------------------------------------------------------------- def typing? return true if repeat?(:SPACE) for key in LETTERS return true if repeat?(key) end for key in NUMBERS return true if repeat?(key) end return false end #-------------------------------------------------------------------------- # new method: key_type - Created by Yanfly and Keroro #-------------------------------------------------------------------------- def key_type return " " if repeat?(:SPACE) for key in LETTERS next unless repeat?(key) return upcase? ? key.to_s[3].upcase : key.to_s[3].downcase end for key in NUMBERS return key.to_s[3] if repeat?(key) end for key in NUMPADS return key.to_s[3] if repeat?(key) end return "" end #-------------------------------------------------------------------------- # new method: upcase? - Created by Yanfly #-------------------------------------------------------------------------- def upcase? return !press?(:SHIFT) if GetCapState.call(VALUES[:CAPS]) == 1 return true if press?(:SHIFT) return false endend #Input#===============================================================================# Window_NameEdit#===============================================================================class Window_NameEdit < Window_Base #-------------------------------------------------------------------------- # overwrite method: initialize #-------------------------------------------------------------------------- def initialize(actor, max_char) dw = Graphics.width - 176 dy = (Graphics.height - 128) / 2 if $game_message.visible difference = Graphics.height - 128 case $game_message.position when 0; dy += 64 when 1; dy += 0 when 2; dy -= 64 end end super(88, dy, dw, 128) @actor = actor @name = actor.name @max_char = max_char name_array = @name.split(//)[[email protected]_char] @name = "" for i in 0...name_array.size @name += name_array[i] end @default_name = @name @index = name_array.size self.active = false refresh end #-------------------------------------------------------------------------- # overwrite method: item_rect #-------------------------------------------------------------------------- def item_rect(index) if index == @max_char rect = Rect.new(0, 0, 0, 0) else rect = Rect.new(0, 0, 0, 0) rect.x = 112 + index * 12 rect.y = 36 rect.width = 24 rect.height = line_height end return rect endend # Window_NameEdit#===============================================================================# Scene_Base#===============================================================================class Scene_Base #-------------------------------------------------------------------------- # new method: name_entry #-------------------------------------------------------------------------- def name_entry(actor_id, max_char) @name_actor_id = actor_id @name_entry_max = max_char start_name_entry end_name_entry end #-------------------------------------------------------------------------- # new method: start_name_entry #-------------------------------------------------------------------------- def start_name_entry Graphics.freeze actor = $game_actors[@name_actor_id] @edit_window = Window_NameEdit.new(actor, @name_entry_max) Graphics.transition(10) loop do update_name_entry if Input.repeat?(:BACK) and @edit_window.index > 0 Sound.play_cancel @edit_window.back elsif Input.typing? and @edit_window.index != @edit_window.max_char Sound.play_cursor @edit_window.add(Input.key_type) elsif Input.trigger?(:ENTER) Sound.play_ok actor.name = @edit_window.name break elsif Input.trigger?(:ESC) Sound.play_cancel break end end end #-------------------------------------------------------------------------- # new method: update_name_entry #-------------------------------------------------------------------------- def update_name_entry Graphics.update Input.update if SceneManager.scene.is_a?(Scene_Map) $game_map.update @spriteset.update elsif SceneManager.scene.is_a?(Scene_Battle) Graphics.update Input.update $game_system.update $game_troop.update @spriteset.update @message_window.update end @edit_window.update end #-------------------------------------------------------------------------- # end_name_entry #-------------------------------------------------------------------------- def end_name_entry @edit_window.dispose @edit_window = nil @name_actor_id = nil @name_entry_max = nil endend # Scene_Base#===============================================================================# Game_Interpreter#===============================================================================class Game_Interpreter #-------------------------------------------------------------------------- # overwrite method: command_303 (Name Input Processing) #-------------------------------------------------------------------------- def command_303 if $data_actors[@params[0]] != nil SceneManager.scene.name_entry(@params[0], @params[1]) end @index += 1 return false endend # Game_Interpreter Incompatibilità:Nessuna incompatibilità
       
      Note dell'Autore:
      In modalità finestra il mouse compare e scompare, a schermo intero invece resta nascosto.
×