RPGVX.net

  RPG-Maker VX => VX Skripte [Fertiger Code] => Thema gestartet von: Onkel Hell am Februar 01, 2008, 09:29:43

Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am Februar 01, 2008, 09:29:43
Beschreibung :
Ein simples Tag und Nacht script was den Bildschirm automatisch färbt um einen Tag und Nacht effekt zu erzielen anhand der Schritte die man macht oder einem Zeitsystem

Last Update : v1.12 - 15.05.08
Changelog :
-----------------------------------------------------------------------------------
v1.12
-----------------------------------------------------------------------------------
nen kleinen lade und anzeigebug gefixed
-----------------------------------------------------------------------------------
v1.1
-----------------------------------------------------------------------------------
savebug und scene bug behoben
-----------------------------------------------------------------------------------
v1.0
-----------------------------------------------------------------------------------
versionssprung auf 1.0
passend zu dem simple mapname hab mich entschlossen die nightlights
öffentlich zu stellen.
mit den nightlights könnt ihr nachts automatisch lightmaps anzeigen
lassen sobald es nacht wird.
auf interior und dark interior karten werden sie direkt angezeigt während sie auf
exterior karten gefaded werden, also langsam eingeblended bzw ausgeblended
-----------------------------------------------------------------------------------
v0.3.3
-----------------------------------------------------------------------------------
da das script noch kleinere probleme mit der startzeit hatte hab ich $starting_time hinzugefügt
da gehört dann halt "day" ,"dawn","dusk" und "night" rein, default wert is nacht und das aus guten grunde
da ich übern frame_counter rechne verändere ich dem framecounter daher werden berechnungen übern framecounter dann falsch berechnet bzw die zeit verschiebt sich ABER
da im standard game nur einmal wirklich was damit angezeigt wird ist das nich weiter schlimm,
und zwar beim speichern wird die spielzeit angezeigt , hab nen kleinen hotfix bei gepackt der dort diesen
fehler behebt und somit wird die richtige spielzeit beim speichern angezeigt
ne anpassung an custom scripte die damit rechnen ist aber auch super einfach wie mein hotfix zeigt,
also braucht man sich da absolut keine sorgen zu machen
-----------------------------------------------------------------------------------
v0.3.2
-----------------------------------------------------------------------------------
die dark_interior funktion is jetz auch drin , einfach [dint] vor den kartennamen pappen und diese karte wird zu einer dark interior karte. Wozu ? z.b. für höhlen oder häußer in denen ja kein tag und nacht wechsel zu sehen ist aber auch kein licht sein sollte
desweiteren gibts jetz noch paar methoden um sich die zeit in eine game variable zu laden oder sons was damit zu machen
die tageszeit selbst kann man immernoch holen wie vorher, also if $day, if $night , if $dawn ,if $dusk wobei ich glaube das nichtmal viele gemerkt haben dass das geht
-----------------------------------------------------------------------------------
v0.3
-----------------------------------------------------------------------------------
Map-Detection funktion hinzugefügt , indem man [int] vor den kartennamen packt ,markiert man diese map als interior/indoor karte, man brauch nun das script nicht mehr abschalten sondern das script entscheidet selbst ob es den bildschirm färbt oder nicht

betritt man nun eine interior karte schaltet das script auf tag um, geht man wieder aus der interior karte heraus weiss das script welche zeit vergangen is und schaltet wieder auf die korrekte tageszeit um

ich hab das script zwar schon paar tage aber ich hab mich mal durchgerungen das doch zu posten,
vielleicht kanns ja doch irgendwer gebrauchen
-----------------------------------------------------------------------------------
v0.2.1
-----------------------------------------------------------------------------------
mehr einstellungsmöglichkeiten ,sowieso eine beschleunigung/verlangsamung für das zeitsystem
-----------------------------------------------------------------------------------
v0.2
ein kleines Zeitsystem ist jetz implementiert , ebenso wie 2 neue zeitliche perioden , sonnenaufgang und sonnenuntergang
-----------------------------------------------------------------------------------
Anmerkung :
Viele wird es stören wenn ihre Karten aufeinmal [dint]mapname bzw. [int]mapname heißen wenn sie
den Kartennamen irgendwo anzeigen lassen.
Deshalb hab ich ein Script erstellt welches den Kartennamen anzeigt und diese kleinen "beigaben"
zum namen ignoriert und den richtigen Kartennamen ausgibt
Dieses Script findet ihr hier : Simple Map-Name (http://forum.rpgvx.net/index.php?showtopic=854)

Anleitung :
Viel gibts nich zu erklären, ich hab ein paar globale gesetzt die ihr
#===============================================================================
# Map-Detection F.A.Q.
#===============================================================================
# Wenn du auf einer interior/indoor karte bist, wo meistens keine tag und nacht
# effekte zu sehen sind packt einfach [int] vor den kartennamen.
# Das script sofort auf tag schalten wenn man eine solche karte betritt und alle
# screen tone effekte die dieses script verursachen würde werden ignoriert
#
# Während ihr auf einer interior karte seit wird die zeit weiterlaufen und sobald
# ihr die karte wieder verlasst wird auf die korrekte tageszeit umgeschaltet
#==============================================================================
# Nightslights F.A.Q.
#==============================================================================
# Erstellt ein Verzeichnis namens Nightlights in eurem Graphics - Verzeichnis und tut
# ein Bild mit dem selben namen und der selbe größe wie ihre Map hinein.
# Das Bild wird auf Exterior Maps eingeblended wenn es nacht wird und ausgeblended
# wenn es tag wird.
# Auf Interior und Dark-Interior Maps wird das Bild direkt angezeigt ohne Fader
#===============================================================================
# Get-Time F.A.Q.
#===============================================================================
# Wenn man die genaue Zeit braucht kann man dieses in ein Callscript packen
# um die genaue Uhrzeit zu bekommen :
# $game_variables[0001] = $dayandnight.getTime
# um die genaue Stunde zu bekommen :
# $game_variables[0001] = $dayandnight.getHour
# um die genaue Minute zu bekommen :
# $game_variables[0001] = $dayandnight.getMinute
#
# $game_variables[0001] entspricht der variable 0001 in eurer Datenbank.
# Wenn ihr eine andere variable benutzen wollt ändert das 0001 einfach in etwas >5000
#
#===============================================================================
# Main config
#------------------------------------------------------------------------------
  PIC_FORMAT = "png" # Format für die Nachtlichter
  $timesystem = 1       # Entscheidet welches System läuft
                        # 0 = Schritt-System
                        # 1 = Zeit-System
  $fadingtime = 4       # Entscheidet wie schnell der Screen-Tone einsetzt (in sekunden)
#------------------------------------------------------------------------------
  $dusktone = Tone.new(-68, -51, -9, 25)      # Dusk-Screen-Tone
  $nighttone = Tone.new(-136, -102, -17, 51)  # Night-Screen-Tone
  $dawntone = Tone.new(-20, -51, -68, 0)      # Dawn-Screen-Tone
  $daytone = Tone.new(0, 0, 0, 0)             # Day-Screen-Tone
#------------------------------------------------------------------------------
# Timesystem config
#------------------------------------------------------------------------------
  $starting_time = "night"  # Bestimmt die Startphase
                          # "day" für tag ,"dusk" für dämmerung
                          # "dawn" für sonnenaufgang und "night" für nacht
                          # Anmerkung : Der standardwert ist "night";
                          # ALLE anderen berechnungen mit dem Graphics.frame_counter
                          # werden hier von beeinflusst.
                          # Für die Speicherzeit liegt bereits ein hotfix bei
  $divider = 1          # Entscheidet wie schnell das Zeit-System läuft
                        # z.b. 2 = 2 mal so schnell (30 sekunden = 1 stunde)
                        # z.b. 0,5 = 2 mal so langsam (2 minuten = 1 stunde)
  $dusktime =   7       # schaltet auf sonnenuntergang bei $dusktime
  $daytime =    8       # schaltet auf tag bei $daytime
  $dawntime =   19      # schaltet auf sonnenuntergang bei $dawntime
  $nighttime =  20      # schaltet auf nacht bei $nighttime
#------------------------------------------------------------------------------
# Footstep config
#------------------------------------------------------------------------------
  $count = 0            # Zähler der Schritte
  $maxsteps = 200       # Wieviele Schritte zwischen den Phasen sind

Script v1.12
#==============================================================================
#  Simple Day and Night Script
#
#  Version : 1.12 - 15.05.08
#  Created by : hellMinor
#  Do NOT redistribute without my permission
#  Description : A simple script which tones the screen to emulate a day and
#                night system on the basis of your footsteps or a time system.
#
#==============================================================================
#==============================================================================
# Map-Detection F.A.Q.
#==============================================================================
# If you have an interior map on which most likely no day and night effects
# are shown just put [int] to front of the mapname.
# When entering such a map the script will immediately change the screen tone
# to the $daytone and all tone changes done by the script will be ignored.
#
# Sometimes interior maps need to be dark ,i.e. caves, just put [dint]
# to the front of the mapname to mark this map as a dark interior map.
# The script while change the tone to the $nighttone instead of $daytone
#
# While in the interior map the time will still pass and when you leave the
# interior map it will tone the screen to the current game time
#==============================================================================
# Nightslights F.A.Q.
#==============================================================================
# Create a folder named Nightlights in your Graphics folder and put a picture
# with the same name,width and height as your map into it.
# The picture will automatically fade in when its night and fade out when its
# day as long as you are on an exterior map.
# On Interior and Dark Interior the picture will be shown directly.
#==============================================================================
# Get-Time F.A.Q.
#==============================================================================
# If you need to get current time, you can use this code in a call script.
# to get the current time :
# $game_variables[0001] = $dayandnight.getTime
# to get the current hour :
# $game_variables[0001] = $dayandnight.getHour
# or to get the current minute :
# $game_variables[0001] = $dayandnight.getMinute
#
# $game_variables[0001] will be for example the first variable in your database.
# To use another variable just change the 0001 to something >5000
#==============================================================================
# Main config
#==============================================================================
  PIC_FORMAT = "png" # Format for the Nightlight-Maps
  $timesystem = 1    # Determines which time system is active
                     # 0 = Footstep-System
                     # 1 = Time-System
  $fadingtime = 3    # How fast the tone changes (in seconds)
#------------------------------------------------------------------------------
  $dusktone = Tone.new(-68, -51, -9, 25)      # Dusk-Screen-Tone
  $nighttone = Tone.new(-136, -102, -17, 51)  # Night-Screen-Tone
  $dawntone = Tone.new(-20, -51, -68, 0)      # Dawn-Screen-Tone
  $daytone = Tone.new(0, 0, 0, 0)             # Day-Screen-Tone
#------------------------------------------------------------------------------
# Timesystem config
#------------------------------------------------------------------------------
  $starting_time = "day"  # Determines the starting phase
                          # "day" for day ,"dusk" for dusk
                          # "dawn" for dawn and "night" for night
                          # Notes : The default is "night",
                          # any other than night will change ALL calculations
                          # made with Graphics.frame_counter once !!!!!
                          
  $divider = 2            # Decides how fast the Time-System runs
                          # i.e. 2 = twice as fast (30 seconds = 1 hour)
                          # i.e. 0,5 = twice as slow (2 minutes = 1 hour)
                          
  $dawntime =   7         # turns into dawn on $dawntime
  $daytime =    8         # turns into day on $daytime
  $dusktime =   19        # turns into dusk on $dusktime
  $nighttime =  20        # turns into night on $nighttime
#------------------------------------------------------------------------------
# Footstep config
#------------------------------------------------------------------------------
  $count = 0            # Counter how many steps are made between one period
  $maxsteps = 200       # How many footsteps between each phase
#------------------------------------------------------------------------------
# boolean checks
#------------------------------------------------------------------------------
  $day = false           # Checker if its day
  $dusk = false          # Checker if its dusk
  $dawn = false          # Checker if its dawn
  $night = true          # Checker if its night
#==============================================================================
class DayAndNight < Game_Screen
#==============================================================================
  def change?
    if $count >= $maxsteps
      if $day
        doDusk
      end
      if $dusk
        doNight
      end
      if $night
        doDawn
      end
      if $dawn
        doDay
      end
    end
  end
#------------------------------------------------------------------------------
  def doNight
    if $dayandnight.exterior?
      $game_map.screen.start_tone_change($nighttone,$fadingtime*60)
    end
    $count = 0
    $day = false
    $dusk = false
    $dawn = false
    $night = true
  end
#------------------------------------------------------------------------------
  def doDay
    if $dayandnight.exterior?
      $game_map.screen.start_tone_change($daytone,$fadingtime*60)
    end
    $count = 0
    $day = true
    $night = false
    $dawn = false
    $dusk = false
  end
#------------------------------------------------------------------------------
  def doDawn
    if $dayandnight.exterior?
      $game_map.screen.start_tone_change($dawntone,$fadingtime*60)
    end
    $count = 0
    $day = false
    $night = false
    $dusk = false
    $dawn = true
  end
#------------------------------------------------------------------------------
  def doDusk
    if $dayandnight.exterior?
      $game_map.screen.start_tone_change($dusktone,$fadingtime*60)
    end
    $count = 0
    $day = false
    $night = false
    $dusk = true
    $dawn = false
  end
#------------------------------------------------------------------------------
  def updateclock
    clocktime = Graphics.frame_count / (Graphics.frame_rate/$divider)
    hour = clocktime / 60 % 24
    minutes = clocktime % 60
    if hour == $dawntime && minutes == 0
      doDawn
    end
    if hour == $daytime && minutes == 0
      doDay
    end
    if hour == $dusktime && minutes == 0
      doDusk
    end
    if hour == $nighttime && minutes == 0
      doNight
    end
  end
#------------------------------------------------------------------------------
  def interior?
    if($game_map.name.index("[int]") != nil)
      return true
    end
  end
#------------------------------------------------------------------------------
  def exterior?
    if($game_map.name.index("[int]") == nil &&
      $game_map.name.index("[dint]") == nil)
      return true
    end
  end
#------------------------------------------------------------------------------
  def dark_interior?
    if($game_map.name.index("[dint]") != nil)
      return true
    end
  end
#------------------------------------------------------------------------------
  def get_state_tone
    if $dawn
      return $dawntone
    end
    if $day
      return $daytone
    end
    if $dusk
      return $dusktone
    end
    if $night
      return $nighttone
    end
  end
#------------------------------------------------------------------------------
  def getTime
    clocktime = Graphics.frame_count / (Graphics.frame_rate/$divider)
    hour = clocktime / 60 % 24
    minutes = clocktime % 60
    return hour.to_s+":"+minutes.to_s
  end
#------------------------------------------------------------------------------
  def getHour
    clocktime = Graphics.frame_count / (Graphics.frame_rate/$divider)
    hour = clocktime / 60 % 24
    return hour
  end
#------------------------------------------------------------------------------
  def getMinute
    clocktime = Graphics.frame_count / (Graphics.frame_rate/$divider)
    minutes = clocktime % 60
    return minutes
  end
#------------------------------------------------------------------------------
  def show_mapname
  end
  
end
#==============================================================================
module Cache
#==============================================================================
  def self.nightlights(filename)
    load_bitmap("graphics/nightlights/", filename)
  end
  
end
#==============================================================================
class Game_Character
#==============================================================================
  def increase_steps
    @stop_count = 0
    if $timesystem == 0
      $count += 1
      $dayandnight.change?
    end
    update_bush_depth
  end
  
end
#==============================================================================
class Game_Map
#==============================================================================
  alias initialize_dayandnnight_adds initialize
  def initialize
    initialize_dayandnnight_adds
    $dayandnight = DayAndNight.new
  end

  def setup(map_id)
    @map_id = map_id
    @map = load_data(sprintf("Data/Map%03d.rvdata", @map_id))
    @display_x = 0
    @display_y = 0
    @passages = $data_system.passages
    referesh_vehicles
    setup_events
    setup_scroll
    setup_parallax
    setup_nightlights
    @need_refresh = false
  end
#------------------------------------------------------------------------------
  def setup_nightlights
    @nightlights_mapname = $game_map.name
    @nightlights_loop_x = 0
    @nightlights_loop_y = 0
    @nightlights_sx = 0
    @nightlights_sy = 0
    @nightlights_x = 0
    @nightlights_y = 0
  end
#------------------------------------------------------------------------------
  def update
    refresh if $game_map.need_refresh
    update_scroll
    update_events
    update_vehicles
    update_parallax
    if $timesystem == 1
      update_nightlights
      $dayandnight.updateclock
    end
    @screen.update
  end
#------------------------------------------------------------------------------
  def update_nightlights
    @nightlights_x += @nightlights_sx * 4 if @nightlights_loop_x
    @nightlights_y += @nightlights_sy * 4 if @nightlights_loop_y
  end
#------------------------------------------------------------------------------
  alias set_display_pos_adds set_display_pos
  def set_display_pos(x, y)
    set_display_pos_adds(x,y)
    @nightlights_x = x
    @nightlights_y = y
  end
#------------------------------------------------------------------------------
  def calc_nightlights_x(bitmap)
    if bitmap == nil
      return 0
    else
      w1 = bitmap.width - 544
      w2 = @map.width * 32 - 544
      if w1 <= 0 or w2 <= 0
        return 0
      else
        return @nightlights_x * w1 / w2 / 8
      end
    end
  end
#------------------------------------------------------------------------------
  def calc_nightlights_y(bitmap)
    if bitmap == nil
      return 0
    else
      h1 = bitmap.height - 416
      h2 = @map.height * 32 - 416
      if h1 <= 0 or h2 <= 0
        return 0
      else
        return @nightlights_y * h1 / h2 / 8
      end
    end
  end
#------------------------------------------------------------------------------
  def scroll_down(distance)
    if loop_vertical?
      @display_y += distance
      @display_y %= @map.height * 256
      @parallax_y += distance
      @nightlights_y += distance
    else
      last_y = @display_y
      @display_y = [@display_y + distance, (height - 13) * 256].min
      @parallax_y += @display_y - last_y
      @nightlights_y += @display_y - last_y
    end
  end
#------------------------------------------------------------------------------
  def scroll_left(distance)
    if loop_horizontal?
      @display_x += @map.width * 256 - distance
      @display_x %= @map.width * 256
      @parallax_x -= distance
      @nightlights_x -= distance
    else
      last_x = @display_x
      @display_x = [@display_x - distance, 0].max
      @parallax_x += @display_x - last_x
      @nightlights_x += @display_x - last_x
    end
  end
#------------------------------------------------------------------------------
  def scroll_right(distance)
    if loop_horizontal?
      @display_x += distance
      @display_x %= @map.width * 256
      @parallax_x += distance
      @nightlights_x += distance
    else
      last_x = @display_x
      @display_x = [@display_x + distance, (width - 17) * 256].min
      @parallax_x += @display_x - last_x
      @nightlights_x += @display_x - last_x
    end
  end
#------------------------------------------------------------------------------
  def scroll_up(distance)
    if loop_vertical?
      @display_y += @map.height * 256 - distance
      @display_y %= @map.height * 256
      @parallax_y -= distance
      @nightlights_y -= distance
    else
      last_y = @display_y
      @display_y = [@display_y - distance, 0].max
      @parallax_y += @display_y - last_y
      @nightlights_y += @display_y - last_y
    end
  end
#------------------------------------------------------------------------------
  def name
    $data_mapinfos[@map_id]
  end
    
end
#==============================================================================
class Scene_Map
#==============================================================================
  alias start_dayandnight_adds start
  def start
    start_dayandnight_adds
    nightlights?
  end

  def fadein(duration)
    Graphics.transition(0)
    if $dayandnight.interior?
      $game_map.screen.start_tone_change($daytone,1)
      $nightlights.opacity = 255
    else if $dayandnight.dark_interior?
      $game_map.screen.start_tone_change($nighttone,1)
      $nightlights.opacity = 255
    else if $dayandnight.exterior?
        $game_map.screen.start_tone_change($dayandnight.get_state_tone,1)
        nightlights?
      end
      end
    end
    for i in 0..duration-1
      Graphics.brightness = 255 * i / duration
      update_basic
    end
    Graphics.brightness = 255
  end
  
  def nightlights?
    $nightlights.opacity = 0 if $day
    $nightlights.opacity = 255 if $night
    $nightlights.opacity = 125 if $dawn or $dusk
  end
  
end
#==============================================================================
class Scene_Title
#==============================================================================
  alias load_database_additions load_database
  def load_database
    load_database_additions
    $data_mapinfos      = load_data("Data/MapInfos.rvdata")
    for key in $data_mapinfos.keys
      $data_mapinfos[key] = $data_mapinfos[key].name
    end
  end
  
  alias command_new_game_additions command_new_game
  def command_new_game
    command_new_game_additions
    $dayandnight = DayAndNight.new
    Graphics.frame_count += 25200/$divider if $starting_time == "dawn"
    Graphics.frame_count += 28800/$divider if $starting_time == "day"
    Graphics.frame_count += 68400/$divider if $starting_time == "dusk"    
  end
  
end
#==============================================================================
class Spriteset_Map
#==============================================================================
  def initialize
    create_viewports
    create_tilemap
    create_parallax
    create_characters
    create_shadow
    create_weather
    create_pictures
    create_timer
    create_nightlights
    update
  end
#-------------------------------------------------------------------------------
  def create_nightlights
    $nightlights = Plane.new(@viewport3)
    $nightlights.opacity = 0
  end
#-------------------------------------------------------------------------------
  alias dispose_addition dispose
  def dispose
    dispose_addition
    dispose_nightlights
  end
#-------------------------------------------------------------------------------
  def dispose_nightlights
    $nightlights.dispose
  end
#-------------------------------------------------------------------------------
  alias update_addition update
  def update
    update_addition
    update_nightlights
  end
#-------------------------------------------------------------------------------
  def update_fading
    if $dayandnight.exterior?
      $nightlights.opacity += 1 if $night and $nightlights.opacity <= 255
      $nightlights.opacity += 1 if $dusk and $nightlights.opacity <= 150
      $nightlights.opacity -= 1 if $dawn and $nightlights.opacity >= 100
      $nightlights.opacity -= 1 if $day and $nightlights.opacity >= 0
    else
      $nightlights.opacity = 255
    end
  end
#-------------------------------------------------------------------------------  
  def update_nightlights
    if @nightlights_mapname != $game_map.name
      @nightlights_mapname = $game_map.name
      if $nightlights.bitmap != nil
        $nightlights.bitmap.dispose
        $nightlights.bitmap = nil
      end
      if @nightlights_mapname != ""
        if File.exist?("Graphics/Nightlights/"+@nightlights_mapname+"."+PIC_FORMAT)
          $nightlights.bitmap = Cache.nightlights(@nightlights_mapname)
        end
      end
      Graphics.frame_reset
    end
    $nightlights.ox = $game_map.calc_nightlights_x($nightlights.bitmap)
    $nightlights.oy = $game_map.calc_nightlights_y($nightlights.bitmap)
    update_fading
  end
  
end
#===============================================================================
class Scene_File
#===============================================================================  
  alias write_save_data_dn_adds write_save_data
  def write_save_data(file)
    write_save_data_dn_adds(file)
    Marshal.dump($day,         file)
    Marshal.dump($dusk,        file)
    Marshal.dump($dawn,        file)
    Marshal.dump($night,       file)
  end
#-------------------------------------------------------------------------------  
  alias read_save_data_dn_adds read_save_data
  def read_save_data(file)
    read_save_data_dn_adds(file)
    $day         = Marshal.load(file)
    $dusk        = Marshal.load(file)
    $dawn        = Marshal.load(file)
    $night       = Marshal.load(file)
  end
  
end

#===============================================================================
# Game-Time-Hotfix
#===============================================================================
#===============================================================================
class Window_SaveFile < Window_Base
#===============================================================================
  def load_gamedata
    @time_stamp = Time.at(0)
    @file_exist = FileTest.exist?(@filename)
    if @file_exist
      file = File.open(@filename, "r")
      @time_stamp = file.mtime
      begin
        @characters     = Marshal.load(file)
        @frame_count    = Marshal.load(file)
        @last_bgm       = Marshal.load(file)
        @last_bgs       = Marshal.load(file)
        @game_system    = Marshal.load(file)
        @game_message   = Marshal.load(file)
        @game_switches  = Marshal.load(file)
        @game_variables = Marshal.load(file)
        case $starting_time
          when "night"
            @total_sec = @frame_count / Graphics.frame_rate
          when "dawn"
            @total_sec = (@frame_count-(25200/$divider)) / Graphics.frame_rate
          when "day"
            @total_sec = (@frame_count-(28800/$divider)) / Graphics.frame_rate
          when "dusk"
            @total_sec = (@frame_count-(68400/$divider)) / Graphics.frame_rate
        end
      rescue
        @file_exist = false
      ensure
        file.close
      end
    end
  end
  
end

Alte Scripte
Script v1.0
[code]#==============================================================================
#  Simple Day and Night Script
#
#  Version : 1.0 - 23.04.08
#  Created by : hellMinor
#  Do NOT redistribute without my permission
#  Description : A simple script which tones the screen to emulate a day and
#                night system on the basis of your footsteps or a time system.
#
#==============================================================================
#==============================================================================
# Map-Detection F.A.Q.
#==============================================================================
# If you have an interior map on which most likely no day and night effects
# are shown just put [int] to front of the mapname.
# When entering such a map the script will immediately change the screen tone
# to the $daytone and all tone changes done by the script will be ignored.
#
# Sometimes interior maps need to be dark ,i.e. caves, just put [dint]
# to the front of the mapname to mark this map as a dark interior map.
# The script while change the tone to the $nighttone instead of $daytone
#
# While in the interior map the time will still pass and when you leave the
# interior map it will tone the screen to the current game time
#==============================================================================
# Nightslights F.A.Q.
#==============================================================================
# Create a folder named Nightlights in your Graphics folder and put a picture
# with the same name,width and height as your map into it.
# The picture will automatically fade in when its night and fade out when its
# day as long as you are on an exterior map.
# On Interior and Dark Interior the picture will be shown directly.
#==============================================================================
# Get-Time F.A.Q.
#==============================================================================
# If you need to get current time, you can use this code in a call script.
# to get the current time :
# $game_variables[0001] = $dayandnight.getTime
# to get the current hour :
# $game_variables[0001] = $dayandnight.getHour
# or to get the current minute :
# $game_variables[0001] = $dayandnight.getMinute
#
# $game_variables[0001] will be for example the first variable in your database.
# To use another variable just change the 0001 to something >5000
#==============================================================================
# Main config
#==============================================================================
  PIC_FORMAT = "png" # Format for the Nightlight-Maps
  $timesystem = 1    # Determines which time system is active
                     # 0 = Footstep-System
                     # 1 = Time-System
  $fadingtime = 3    # How fast the tone changes (in seconds)
#------------------------------------------------------------------------------
  $dusktone = Tone.new(-68, -51, -9, 25)      # Dusk-Screen-Tone
  $nighttone = Tone.new(-136, -102, -17, 51)  # Night-Screen-Tone
  $dawntone = Tone.new(-20, -51, -68, 0)      # Dawn-Screen-Tone
  $daytone = Tone.new(0, 0, 0, 0)             # Day-Screen-Tone
#------------------------------------------------------------------------------
# Timesystem config
#------------------------------------------------------------------------------
  $starting_time = "night"  # Determines the starting phase
                          # "day" for day ,"dusk" for dusk
                          # "dawn" for dawn and "night" for night
                          # Notes : The default is "night",
                          # any other than night will change ALL calculations
                          # made with Graphics.frame_counter once !!!!!
                          
  $divider = 2            # Decides how fast the Time-System runs
                          # i.e. 2 = twice as fast (30 seconds = 1 hour)
                          # i.e. 0,5 = twice as slow (2 minutes = 1 hour)
                          
  $dawntime =   7         # turns into dawn on $dawntime
  $daytime =    8         # turns into day on $daytime
  $dusktime =   19        # turns into dusk on $dusktime
  $nighttime =  20        # turns into night on $nighttime
#------------------------------------------------------------------------------
# Footstep config
#------------------------------------------------------------------------------
  $count = 0            # Counter how many steps are made between one period
  $maxsteps = 200       # How many footsteps between each phase
#------------------------------------------------------------------------------
# boolean checks
#------------------------------------------------------------------------------
  $day = false           # Checker if its day
  $dusk = false          # Checker if its dusk
  $dawn = false          # Checker if its dawn
  $night = true          # Checker if its night
#==============================================================================
class DayAndNight < Game_Screen
#==============================================================================
  def change?
    if $count >= $maxsteps
      if $day
        doDusk
      end
      if $dusk
        doNight
      end
      if $night
        doDawn
      end
      if $dawn
        doDay
      end
    end
  end
#------------------------------------------------------------------------------
  def doNight
    if $dayandnight.exterior?
      $game_map.screen.start_tone_change($nighttone,$fadingtime*60)
    end
    $count = 0
    $day = false
    $dusk = false
    $dawn = false
    $night = true
  end
#------------------------------------------------------------------------------
  def doDay
    if $dayandnight.exterior?
      $game_map.screen.start_tone_change($daytone,$fadingtime*60)
    end
    $count = 0
    $day = true
    $night = false
    $dawn = false
    $dusk = false
  end
#------------------------------------------------------------------------------
  def doDawn
    if $dayandnight.exterior?
      $game_map.screen.start_tone_change($dawntone,$fadingtime*60)
    end
    $count = 0
    $day = false
    $night = false
    $dusk = false
    $dawn = true
  end
#------------------------------------------------------------------------------
  def doDusk
    if $dayandnight.exterior?
      $game_map.screen.start_tone_change($dusktone,$fadingtime*60)
    end
    $count = 0
    $day = false
    $night = false
    $dusk = true
    $dawn = false
  end
#------------------------------------------------------------------------------
  def updateclock
    clocktime = Graphics.frame_count / (Graphics.frame_rate/$divider)
    hour = clocktime / 60 % 24
    minutes = clocktime % 60
    if hour == $dawntime && minutes == 0
      doDawn
    end
    if hour == $daytime && minutes == 0
      doDay
    end
    if hour == $dusktime && minutes == 0
      doDusk
    end
    if hour == $nighttime && minutes == 0
      doNight
    end
  end
#------------------------------------------------------------------------------
  def interior?
    if($game_map.name.to_s.index("[int]") != nil)
      return true
    end
  end
#------------------------------------------------------------------------------
  def exterior?
    if($game_map.name.to_s.index("[int]") == nil &&
      $game_map.name.to_s.index("[dint]") == nil)
      return true
    end
  end
#------------------------------------------------------------------------------
  def dark_interior?
    if($game_map.name.to_s.index("[dint]") != nil)
      return true
    end
  end
#------------------------------------------------------------------------------
  def get_state_tone
    if $dawn
      return $dawntone
    end
    if $day
      return $daytone
    end
    if $dusk
      return $dusktone
    end
    if $night
      return $nighttone
    end
  end
#------------------------------------------------------------------------------
  def getTime
    clocktime = Graphics.frame_count / (Graphics.frame_rate/$divider)
    hour = clocktime / 60 % 24
    minutes = clocktime % 60
    return hour.to_s+":"+minutes.to_s
  end
#------------------------------------------------------------------------------
  def getHour
    clocktime = Graphics.frame_count / (Graphics.frame_rate/$divider)
    hour = clocktime / 60 % 24
    return hour
  end
#------------------------------------------------------------------------------
  def getMinute
    clocktime = Graphics.frame_count / (Graphics.frame_rate/$divider)
    minutes = clocktime % 60
    return minutes
  end
#------------------------------------------------------------------------------
  def show_mapname
  end
  
end
#==============================================================================
module Cache
#==============================================================================
  def self.nightlights(filename)
    load_bitmap("graphics/nightlights/", filename)
  end
  
end
#==============================================================================
class Game_Character
#==============================================================================
  def increase_steps
    @stop_coun
Titel: hellMinor's Simple Day and Night Script
Beitrag von: ERZENGEL am Februar 01, 2008, 12:50:22
Ich werde wohl in mein Spiel es verwenden, wenn du das Tag/Nacht-Skript mithilfe der Spielzeit läuft, denn das mit den Schritten finde ich unpraktisch und unlogisch, ist aber im Endeffekt ein wirklich nettes Tag/Nacht-Skript :)
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Talyana Meriweather Rahl am Februar 01, 2008, 13:06:58
Ich finde das Echt Cool^^

Das mit der Spielzeit ist auch eine gute Idee was Erzengel hat xD aber schritte sind wir irgendwie lieber xDDD

Mal sehen was demnächst kommt^-^
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Agorax am Februar 01, 2008, 13:13:53
Find ich auch richtig gut Tag/Nacht wechsel sind in Spielen immer gern gesehen.
Das macht das ganze dann etwas Realistischer.
Ich denke wenn es dann mit der Spielzeit geht werde ich es sicher benutzen :lol:
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am Februar 01, 2008, 14:01:42
dabei wollt ich das erst garnich releasen weil ich dachte keiner brauchts^^
ich glaub ich setz das in meinem scheduler mal bissl nach oben
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Snake am Februar 01, 2008, 20:51:19
n Tag-Nacht wechsel in nem game kommt immer gut^^
Wäre cool wenns nach der Spielzeit gehen würde.
Vor allem könnte man, ähnlich wie in zelda, z.b
versch. dinge nachts machen und andere eben tagsüber.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am Februar 02, 2008, 13:59:01
hat einer von euch vllt gescheite screentone werte für sonnenaufgang und sonnenuntergang?
dann kann ich das zeitsystem nochma testen, dann sollte es fertig sein, hab nur keine gescheiten screentones
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Dainreth am Februar 02, 2008, 14:13:22
Wieder ein nettes Skript hM, würde ich nutzen, aber ich mach das lieber auf Eventbasis ist mir immer etwas übersichtlicher sowas. Trotzdem mal wieder ein Lob und Danke für deine Mühe!
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Baur am Februar 02, 2008, 14:48:45
Hast eigentlich Recht, Dainreth, da man über CE besser Vairiablen oder Switches für Tageszeit-Wechsel und Stunden generieren und die auch später in Events wieder einsetzen kann und so gut zeitabhängige Events machen kann.

Mir ist das CE basiert auch lieber, aber nichts gegen das Script.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am Februar 02, 2008, 15:29:15
hab trotzdem ein kleines update beim script gemacht,
zeitsystem is jetz mit drinne und man kann zwischen den beiden systemen wechseln
ebenso sind 2 neue zeitliche phasen drinne , sonnenaufgang und sonnenuntergang
Titel: hellMinor's Simple Day and Night Script
Beitrag von: ERZENGEL am Februar 02, 2008, 15:38:37
Dankesehr. Aber das 24 Minuten = 1 Tag ist, ist zu viel. Ich würde eher 7 Minuten = 1 Tag machen, wenn du es hinbekommst. 24 Minuten Spielzeit sind ja viel für ein RPG Maker-Spiel und wenn man ein Spiel auf 2 Stunden festgelegt hat, spielt man das Spiel in 4 (Spiel-)Tagen durch. Trotzdem gutes Skript auch wenn es andere Lösungen gibt.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am Februar 02, 2008, 18:11:30
so habs nochmal geupdated , hab einfach paar mehr einstellungsmöglichkeiten hinzugefügt, zb kann man jetz über einen teiler selbst entscheiden wie schnell das zeit system läuft
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Goldenboss am Februar 02, 2008, 20:41:26
Hi

Hmm... Bei mir läuft das ganze bislang auf Eventbasis... Ich weiß also nicht, ob ich das Script nehmen sollte oder nicht.
Kann man die Uhr durch Callevents umstellen?

MFG Markus
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am Februar 02, 2008, 23:01:17
in wie fern meinste uhr umstellen ? bisher läuft die uhr noch über den framezähler, das werd ich aber noch ändern bzw nen eigenen counter zwischenstellen, dann kann die uhr frei umgestellt werden
bisher kann man nur die einzelnen phasen direkt aktivieren , wie man das macht steht aber auch im script falls du das meintest
Titel: hellMinor's Simple Day and Night Script
Beitrag von: woratana am Februar 02, 2008, 23:57:00
This is nice~^^

I like the idea that you use step for day/night system, but I think it's not looks real if day/night system use steps.

The other thing is, to rewrite method, I suggest you to use alias.
Because it will be more compatible~^^
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am Februar 03, 2008, 02:54:54
@woratana
yep step system is not as realistic as a time system but its easier to work with in a game , you can plan better , but ill improve my time system which i implemented yesterday

btw what do u meant with that
Zitat
The other thing is, to rewrite method, I suggest you to use alias.
Because it will be more compatible~^^

im not as familar with ruby and rgss as it might be occur, i coded my first lines maybe 2 weeks ago,
the syntax of ruby is a little bit weird, but a funny training if you wanna deal with rails
Titel: hellMinor's Simple Day and Night Script
Beitrag von: woratana am Februar 03, 2008, 04:27:15
Well, alias is syntax that help you when you add some line to original script from RGSS:

For example, if you have this script in original script:
def test
x += 1
y -= 1
p "test 1"
end

you will use alias like this
alias (the name you will use to store those command) (method name)
For example:
alias old_test testThis will make the new method called old_test that store commands from method test

Better example, When you want to make new script that will print "test 2" after "test 1", script like this
alias old_test test
def test
old_test
p "test 2"
end

and when you call method test, it will process as following:
x += 1
y -= 1
p "test 1"
p "test 2"

===================
I think this syntax is pretty hard to describe how it work, so ask if you don't understand~^^
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am Februar 03, 2008, 10:36:18
not so hard to understand but i think its only useful if youve small additions to a method, if u hav to many things you rewrote it isnt that useful
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Dragonlord am Februar 03, 2008, 11:01:24
Hi,
danke für das Skript.
Werde mal schauen was ich verwende, entweder ein Skript oder wieder alles auf Eventbasis.

Wie sieht es den mit Häuser usw. aus? Verfärbt sich das dennoch dunkel wenn man in ein Haus geht oder kann man das irgendwie mit ein Callskript oder so deaktivieren beim teleportieren?
Titel: hellMinor's Simple Day and Night Script
Beitrag von: woratana am Februar 03, 2008, 11:21:05
Well, it's really important if you want your script to be compatible (don't crash with other script)
especially for Game_Map update and initialize that many script rewrite it.

For example: There's original script like this:
def update
@window = Window.new
x = 1
end

And there're two scripts that script by different scripter: Both scripts want to make their own window.

If Both Script script like this:
1)
def update
@window = Window.new
x = 1
@window2 = Window.new
end

2)
def update
@window = Window.new
x = 1
@window3 = Window.new
end
================
When you use those scripts, it will replace each other, so you will get only one more window from the last script you post.

But if both scripts do like this: you will get more 2 windows from both of the script
1)
alias scripter1_map_update update
def update
@window2 = Window.new
end

2)
alias scripter2_map_update update
def update
@window3 = Window.new
end

Anyway, you don't have to do it right now. I think this's good start for you~^^

You may want to do it in your next script, alias will help you a lot from crash other scripts~*
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am Februar 03, 2008, 11:42:57
@dragonlord : ja das script kannste abschalten, du setzt einfach die $active = false und dann läuft script nicht mehr
da das script sich momentan anhand des framezählers berechnet müsste das script sobald es wieder angeschaltet wird ihre berechnung aber wieder normal aufnehmen, da der framezähler weiter läuft
ein beispiel :
du rennst auf ner exterior karte rum mit script an und es ist tag, du gehst in ein interior gebäude und deaktivierst es per call script, dnan hälst du dich längere zeit in dem gebäude auf, wäre das script an hätte es im gebäude auf nacht geschaltet, da es aus is passiert das nich , danach verlässt du das gebäude und schaltest das script wieder an, das script sollte sich dann eigentlich automatisch auf zb nacht schalten wenn du lange genug im gebäude warst , ich bin mir momentan nich sicher ob dieser effekt gut oder schlecht is

@woratana
i know what you mean, but if u have rewritten the method you cant realy use this
for small additions like i did it in this script for the initialize and update method its realy useful and helps the keep the code smaller and more optimized
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Wohnungsbauer am März 21, 2008, 17:48:22
Also ich bin ja die absolute Niete im Scripten, also wollte ich mal fragen wie ich das umstelle, das es statt 24 Min=1Tag nun 12 Min=1Tag sind.
Muss dich aber echt loben Hellminor. Ich will in meinem Project Das ATB und das Day/Night Script verwenden. Mach weiter so^^ Sind echt bombe die Scripts.
(Kurze Frage @Hellminor: Da du ja schenibar nicht an einem Project arbeitest sondern scriptest, könntest du sicher mal versuchen ein KS wie in den Gameboy Zelda titeln zu entwickeln oder?)
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Wohnungsbauer am März 21, 2008, 19:45:08
Ach ich horst^^
Ich hatte gedacht es ist komplexer. Aber klar.
Danke für die schnelle Hilfe ;)
Titel: hellMinor's Simple Day and Night Script
Beitrag von: eugene222 am März 22, 2008, 12:46:34
wie funktioniert das eigentlich wenn man in Häuser reingeht?
kann man das irgentwie ausschalten wenn man in häuser rein geht?
Titel: hellMinor's Simple Day and Night Script
Beitrag von: ERZENGEL am März 22, 2008, 18:23:36
$active = true        # Aktiviert/Deaktiviert das ScriptEinfach in ein Call Script reinschreiben und das true durch false ersetzen.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am März 22, 2008, 18:26:16
wobei mir grad bei dem script auffällt das die abfrage die ich da gemacht hab totaler müll is o_O
wtf hab ich da gemacht , ich muss das mal alles überarbeiten wenn ich zeit hab
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am März 26, 2008, 07:06:10
so hab das script mal geupdated , mich hat dieses an und abschalten des tag und nacht zyklus genervt,
also hab ich eine map detection funktion hinzugefügt

indem man [int] vor den kartennamen packt ,markiert man diese map als interior/indoor karte, man brauch nun das script nicht mehr abschalten sondern das script entscheidet selbst ob es den bildschirm färbt oder nicht

betritt man nun eine interior karte schaltet das script auf tag um, geht man wieder aus der interior karte heraus weiss das script welche zeit vergangen is und schaltet wieder auf die korrekte tageszeit um

ich hoffe das feature gefällt euch und funktioniert auch so wie es soll
steht euch wie immer frei eure meinung zu posten,mir eure ideen mitzuteilen und fehler zu melden
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Goldenboss am März 26, 2008, 08:53:56
Hi Hellminor.

Das ist schon mal ne tolle neue Funktion...

Kann man auch durch bestimmte Uhrzeiten (also Bedingungen) bestimmte Events auslösen?

MFG Markus
Titel: hellMinor's Simple Day and Night Script
Beitrag von: eugene222 am März 26, 2008, 10:50:30
danke alles wunderbar
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am März 26, 2008, 16:46:38
@ goldenboss : wie genau meinst du das? lässt sich bestimmt was machen wenn ich weiss wie du das meinst^^
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Mclovin am März 26, 2008, 21:24:31
Super feature!

Ich weiß, dass das per Script wahrscheinlich unmöglich oder zumindest extrem aufwändig ist, aber wäre doch total geil, wenn man durch die Fenster im Innenraum sehen könnte, welche Tages-/Nachtzeit gerade draußen ist. Aber so finde ich es auch schon richtig genial und werde es ganz sicher in meinem nächsten Projekt benutzen! THX Hell! ^^
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Goldenboss am März 26, 2008, 22:25:32
@hellMinor:

Angenommen es ist Nacht. Es wird also kalt draußen und die Leute verschwinden alle in ihren Häusern. Bis auf wenige, die dafür jetzt am Lagerfeuer sitzen.

Du gehst in ein Haus und dort siehst du durch das Fenster, dass es Nacht ist.

Dafür braucht man Bedingungen und darauf folgende Ereignisse.

Z.B. 18 Uhr als Bedingung und als Ereignis Peter friert und geht nach Hause

Gruß, Markus.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Logan am März 26, 2008, 22:47:24
Zitat von: ERZENGEL
$active = true        # Aktiviert/Deaktiviert das Script
Einfach in ein Call Script reinschreiben und das true durch false ersetzen.

Nettes Skript. Muss ich mal testen. Nur woran erkennt der Befehl, welchen Skript er ausschalten soll. Wenn ich jetzt neben dem Tag/Nacht-Skript noch z.B. ein "Andere Schriftart"-Skript laufen habe oder den "Schatten aus"-Skript. schaltet mir der Befehl dann die auch aus? Das wäre dann net so gut.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: eugene222 am März 26, 2008, 22:54:46
Zitat von: hellMinor
so hab das script mal geupdated , mich hat dieses an und abschalten des tag und nacht zyklus genervt,
also hab ich eine map detection funktion hinzugefügt

indem man [int] vor den kartennamen packt ,markiert man diese map als interior/indoor karte, man brauch nun das script nicht mehr abschalten sondern das script entscheidet selbst ob es den bildschirm färbt oder nicht

betritt man nun eine interior karte schaltet das script auf tag um, geht man wieder aus der interior karte heraus weiss das script welche zeit vergangen is und schaltet wieder auf die korrekte tageszeit um

ich hoffe das feature gefällt euch und funktioniert auch so wie es soll
steht euch wie immer frei eure meinung zu posten,mir eure ideen mitzuteilen und fehler zu melden

Für Häuser ist das gut, und wen du im Allgemeinem den Skript ausschalten willst dann
das:
$active = true/false        # Aktiviert/Deaktiviert das Script
Der Befehl sollte an deinen Anderen Skripts nichts ändern
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am März 26, 2008, 23:04:18
@logan : also den $active = true/false brauchste garnich mehr benutzen , das schaltet das ganze script ab , also die zeit läuft zwar weiter aber im script führt das zu inkonsistenzen, deshalb hab ich das mit der map detection gebaut,
du packst [int] vor den mapnamen , wobei eigentlich egal is wo das steht , die script erkennt das es sich um eine interior karte handelt , auf interior karten ist immer tag , also der screentone $daytone
und nein das script schaltet nichts an anderen scripts aus

@mclovin : also du meinst das man son event auf nem fenster macht und wenn man das fenster benutzt willste ne nachricht es ist nacht draußen oder hab ich das falsch verstanden?

@eugene222 : genau so ist es

@goldenboss : also willst du ne abfrage wieviel uhr es ist? die hab ich eingebaut aber noch net online gestellt^^
ich nehm an du versuchst dadurch nen tageszyklus der NPC´s zu steuern
----------------------------------------------------------------

wobei mir grad auffällt das es doch manchmal schlecht is wenn auch manchen interior karten immer tag is , ich werd das noch einbauen das man auf karten immer dunkel sein können , zb für höhlen oder häuser in denen kein licht is , nenn ich dann irgendwie [dint] oder sowas ,
was würdet ihr davon halten?
Titel: hellMinor's Simple Day and Night Script
Beitrag von: eugene222 am März 26, 2008, 23:36:41
kling gut
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am März 26, 2008, 23:40:12
@mclovin : also korrigier mich wenn ich dich falsch verstanden aber ich glaub du meinst das so oder?
(http://www.imgwelt.de/thumbs/IWZ5RB7S50O.jpg) (http://www.imgwelt.de/show.php?code=IWZ5RB7S50O)
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Goldenboss am März 27, 2008, 11:32:47
Zitat von: hellMinor
@goldenboss : also willst du ne abfrage wieviel uhr es ist? die hab ich eingebaut aber noch net online gestellt^^
ich nehm an du versuchst dadurch nen tageszyklus der NPC´s zu steuern
----------------------------------------------------------------

wobei mir grad auffällt das es doch manchmal schlecht is wenn auch manchen interior karten immer tag is , ich werd das noch einbauen das man auf karten immer dunkel sein können , zb für höhlen oder häuser in denen kein licht is , nenn ich dann irgendwie [dint] oder sowas ,
was würdet ihr davon halten?
Hiho..
Ist richtig. Will nen Tag-Nacht-Zyklus machen.

Und die Idee mit [dint] finde ich toll.

MFG Markus
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am März 27, 2008, 15:50:13
so wie ich das grad verstehe müsste das doch jetz schon gehen , is nur eventtechnisch aufwendig zumal du von verschiedenen karten ,mehrere ausführungen brauchst
du versuchst denk ich mal genau das was ich mir mal in mein Thief-Game gebaut hatte
das wird ein lustiges event wirrwarr sag ich dir xD

also ich hatte das so, wenn es nacht wurde hab ich mir nen switch umgelegt der alle npcs beeinflusste in ihre häußer zu watscheln, wenn ich dann ein gebiet gewechselt hab, hab ich ebenfalls nochma abgefragt ob tag oder nacht is und komm entsprechend auf eine tageskarte oder eine nachtkarte die jeweils unterschiedlich aussehen, das könnte man noch verfeinern in dem man mehr zustände hinzufügt , also nich nur sonnenaufgang,tag,dämmerung und nacht, sondern noch mittag, nachmittag etc
und dementsprechend die karten behandeln -
solang du dich auf einer karte aufhälst musste du halt mit switches arbeiten und wenn du die karte wechselst nur auf die entsprechende zeitkarte wechseln
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Link am März 27, 2008, 16:45:08
Hi ich habe ein problem mit dem tag und nacht script
jedesmal wenn ich das spiel starte zeigt es einen fehlermeldung an

Script"line229: NoMethod Error occurred undefined method?`interior` for nil:NilClass

(habe keine ahnung von scripten)
habe ich etwas falsch gemacht brauche hilfe
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am März 27, 2008, 18:00:18
also wenn ich das script kopier funzts bei mir innem neuen projekt, aber der fehler sieht nach nem tippfehler aus,
in der zeile sollte das hier stehen
if $active && $dayandnight.interior?

bei dir wird wahrschienlich aber
if $active && $dayandnight.interior     stehen , also ohne das ? , das muss aber da hin da die methode interior? heist
papp ma einfach das ? hinten dran
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Link am März 27, 2008, 21:56:12
Ich habe nachgeschaut das ? ist da.

Das spiel startet ja bis zum titel ,aber wenn ich ein neues Spiel starte erscheint dieser fehler.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: eugene222 am März 27, 2008, 22:37:21
mach mal ein neues Projekt und probiier das da. Und wenn es dann nicht klappt mach ich ein Projekt mit dem Skript.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Link am März 27, 2008, 23:16:43
Habe ich versucht ,aber es funktioniert nicht.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: eugene222 am März 27, 2008, 23:38:54
also bei mir gehts. Hab eine Demo (http://rapidshare.com/files/102887506/Tag-Nacht.exe.html) gemacht.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am März 28, 2008, 04:17:09
v0.3.2 is jetz online
die dark_interior funktion is jetz auch drin , einfach [dint] vor den kartennamen pappen und diese karte wird zu einer dark interior karte.
Wozu ? z.b. für höhlen oder häußer in denen ja kein tag und nacht wechsel zu sehen ist aber auch kein licht sein sollte
desweiteren gibts jetz noch paar methoden um sich die zeit in eine game variable zu laden oder sons was damit zu machen
die tageszeit selbst kann man immernoch holen wie vorher, also if $day, if $night , if $dawn ,if $dusk wobei ich glaube das nichtmal viele gemerkt haben dass das geht
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Herendil am März 28, 2008, 13:59:55
ALTER DU BIST DER BESTE!!!
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am März 31, 2008, 06:56:51
da das script noch kleinere probleme mit der startzeit hatte hab ich $starting_time hinzugefügt
da gehört dann halt "day" ,"dawn","dusk" und "night" rein, default wert is nacht und das aus guten grunde da ich übern frame_counter rechne verändere ich dem framecounter daher werden berechnungen übern framecounter dann falsch berechnet bzw die zeit verschiebt sich ABER da im standard game nur einmal wirklich was damit angezeigt wird ist das nich weiter schlimm,
und zwar beim speichern wird die spielzeit angezeigt , hab nen kleinen hotfix bei gepackt der dort diesen fehler behebt und somit wird die richtige spielzeit beim speichern angezeigt
ne anpassung an custom scripte die damit rechnen ist aber auch super einfach wie mein hotfix zeigt,
also braucht man sich da absolut keine sorgen zu machen
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Herendil am April 06, 2008, 11:07:31
Wie heißt die Scriptbedingung für den script?
Also z.B. bei Nacht sind die Fenster zu und alle schlafen.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am April 06, 2008, 15:29:02
scriptbedingung für den script?
ich weiss nichmal genau was du meinst , willst du auch son event machen das nur triggert wenn nacht is?
du kanns direkt ein paar variablen vom script anzapfen
das hatte ich hier in dem beispiel event mal gezeigt
(http://www.imgwelt.de/thumbs/IWZ5RB7S50O.jpg) (http://www.imgwelt.de/show.php?code=IWZ5RB7S50O)
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Herendil am April 06, 2008, 16:18:36
Ja sowas mein ich danke
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Blucky am April 10, 2008, 19:56:53
Hi,
Ich hab ein Problem mit dem Tag und Nacht script.
Ich hab ein Common Event gemacht das so aussieht.
(http://img3.imagebanana.com/img/ddm2zhw6/Tagnachtevent.JPG)

Ich habe alles so abgeschrieben  wie du es in einem Post geschrieben hast aber sobald das Event
an ist bekomm ich einen Error
(http://img3.imagebanana.com/img/cxroh1rj/error.JPG)

Sobald ich das event ausgeschaltet habe funktioniert der script.

Es kann sein das es vieleicht nicht kompatibel zu einen anderen script ist weil ich habe mal
in einem neuen project getestet und da funktioniert alles insofern ich nicht etwas vergessen habe.

Hier mal die Scripts die ich benutze:

MOG_Localscript
Engel_Speicherplätze
KGC_ExtraDropItem
KGC_ForceStopVictoryME
KGC_OverDrive
KGC_PassiveSkill
KGC_HiddenSkill
KGC_ComposeItem
KGC_EquipExtension
KGC_ExtendedEquipScene
KGC_AddEquipmentOptions
KGC_CategorizeItem
KCG_CustomMenuCommand
KGC_LimitBreak
Random Battle Music
MOG_Menu_Status_Aya

Sideview kampfsystem 2.4
module
Sideview 1
Sideview 2

und dan dein Tag/nacht Script
Titel: hellMinor's Simple Day and Night Script
Beitrag von: ERZENGEL am April 10, 2008, 20:26:17
Es existiert bei einem Script in Conditional Branch schon das if (Klasse Game_Interpreter, Methode command_111).
Lösche einfach mal das if, dann sollte es funktionieren. Was ebenfalls überflüssig ist, aber nach Geschmack der Übersichtlichkeit zu urteilen ist, sind die Klammern und das true. Weobei ich das true auch zur Übersichtlichkeit in einem Event stehen lassen würd ;)

PS: Tolle Fehlerbeschreibung *Daumen hoch*
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am April 10, 2008, 21:31:50
jop engel hat recht , warn fehler von mir
das conditional branch event setzt sich sein eigenes if im event ,
also brauchste unter dem 4ten reiher bei script nur
$day , $night , $dawn oder $dusk hinschreiben um das event auszulösen, kannst natürlich auch da hinter noch  == true setzen aber das is wie engel schon meinte geschmackssache

edit: btw wo ich einen von bluckys screens gesehen hab viel mir auf das wohl doch viele dieses ich zeig den mapnamen script benutzen,
braucht ihr ein feature, nach dem motto get_real_mapname ? also das ihr euch den namen der karte bekommt ohne dieses [int] bzw [dint] davor habt obwohl eure karte so heißt`?
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Blucky am April 10, 2008, 23:15:27
Erstmal danke Erzengel hat super geklappt :D




Zitat von: hellMinor
edit: btw wo ich einen von bluckys screens gesehen hab viel mir auf das wohl doch viele dieses ich zeig den mapnamen script benutzen,
braucht ihr ein feature, nach dem motto get_real_mapname ? also das ihr euch den namen der karte bekommt ohne dieses [int] bzw [dint] davor habt obwohl eure karte so heißt`?

und ich fände das super wen du das machen würdest weil es stört irgendwie schon ein bisschen
überall dieses [int] und [dint] zu sehen.

Wäre echt toll wen du das machen würdest :)
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am April 10, 2008, 23:33:23
die umsetzung davon is einfach, nur die frage is könntet ihr dann damit was anfangen ? oder braucht ihr ein komplettes script was dann den richtigen namen einblendet , weil nur den richtigen namen zurückgeben is simpel , das andere muss ich erst nachschauen
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Blucky am April 10, 2008, 23:45:36
Zitat von: hellMinor
die umsetzung davon is einfach, nur die frage is könntet ihr dann damit was anfangen ? oder braucht ihr ein komplettes script was dann den richtigen namen einblendet , weil nur den richtigen namen zurückgeben is simpel , das andere muss ich erst nachschauen

Kommt darauf an was für dich einfacher ist zu machen und für solche wie mich die von Scripts null Ahnung hat
zu erklären ist.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am April 11, 2008, 00:45:27
hmm eigentlich braucht man ja nur ein hintergrund bildchen , dazu den mapnamen , dann vllt noch was wo man den font einstellen kann, oda brauch man da noch was?
ich glaub ich sollte mit der nächsten version das simple aus dem namen nehmen^^ solangsam isses nich mehr simpel, zumindest meine v0.4 ^^
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Copyman am April 14, 2008, 20:19:35
jaaaaa, mach das mal bitte auf jedn fall rein, das man das [int] bzw. [dint] nicht angezeigt bekommt, wiel is echt nervig

ich hab das jetz nich so ganz verstanden wie das funzen soll mit dem das manche sachen ne bestimmte tageszeit erfordern.
ioch würds nämlich gern so amchen, das z.B. läden zu sind wenn nacht is oder das nachts draußen bestimmte monsten sind die am tag nich kommen doer sowas
oder das nachts bestimmte häuser offen sind die am tag nich offen haben
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am April 14, 2008, 20:37:39
ja an der name mit der map arbeite ich , problem is nur eher dass das script langsam echt aufgebläht wirkt :S

ich glaub ich sollte auf die erste seite kleines tutorial schreiben wie man events nur zu bestimmten tageszeiten ausführen kann ,
eigentlich brauchst du im event nur nen conditional branch machen und einen der booleans abfragen
also zb $day
mit der nächsten version kann ich das ja dazu machen, ich glaub da mach ich dann auch die nightlights public zusätzlich zu den mapnamen, vllt lass ich unter dem mapnamen ja noch die aktuelle uhrzeit beim map wechsel anzeigen , wär zumindest praktisch glaub ich

mehr features fallen mir jetz aber auch dann nich mehr ein die ich adden könnte
oder hat einer noch ne idee?^^
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Copyman am April 14, 2008, 20:51:35
das mit der uhrzeit is auf jedenfall nice die idee, des musst du auf jeden fall mit rein machen ^.^
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am April 23, 2008, 17:28:31
erstma eins vorweg
da es viele gestört hat das [int] bzw [dint] vor ihrem karten namen war hab ich das hier gestern gebastelt
Simple Map-Name (http://forum.rpgvx.net/index.php?showtopic=854)
das zeigt euch euren kartennamen und ignoriert die kleinen zugabgen [int] und [dint]

ich wollte das erst als addon hier posten aber da es auch ohne das script hier läuft hab ich es seperat gepostet

nun zu dem update der v1.0
ich mach nen kleinen versionsprung
desweiteren hab ich mich entschieden die nightlights mit zu veröffentlichen
damit könnt ich automatisch lightmaps mit anzeigen lassen ,
die pics werden dann bei nacht eingeblendet bzw bei tag wieder ausgeblendet ,
bei interior und dark interior werden sie sofort angezeigt, das schien mir dort sinnvoll

erstellt einfach einen ordner namens Nightlights in eurem Graphics ordner und tut ein bild mit dem mapname und der selben größe wie eure karte dort hinein und schon sollte es angezeigt werden.
beachtet aber hier auch bitte das [int] bzw [dint]

also viel spaß damit
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Dustinthewind91 am April 27, 2008, 13:15:15
Hi,

nun dieses script finde ich auch prima. Und ich will mal dazu beitragen damit es schön fehler frei wird ^^
Wen ich einen Innenraum erschaffe und [int] davor setzte und den Raum betrete ist der screen tone in dem raum natürlich normal wie es auch sein sollte. Wen ich aber nun zurück in die Stadt gehe und das Haus wieder betrete so ist der screen tone nicht mehr normal sondern hat den Screen Tone der Aktuellen Tageszeit also ist dunkel wen z.b. nacht ist.
Es könnte auch sein das es sich mit einem meiner anderen Scripts nicht verträgt aber ansonsten benutze ich nur:

[Hellminor] Mapname
[Hellminor] Simple Questlog
[Yatzumo] Advanced-Face-Script
[Woratana] Quick Face-Border
[KGC] Victory ME Stop

Bin für jede Hilfe dankbar.

Gruß,
Dustinthewind91

PS: Bei [dint] ist es genau das selbe Problem ^^
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am April 27, 2008, 18:53:59
das liegt am simple mapname, meine letzte änderung bezüglich des finden des mapnamen hat den gleichen nebeneffekt wie ich ihn schonmal bei slice! und chop! hatte
der komplette grund string wird verändert und dem fall verändert es den kompletten mapnamen!
also muss ich am mapname rumbauen,
das day and night funzt ohne das mapname so wies soll , näheres post ich dann in den thread vom simple map name
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Dustinthewind91 am April 27, 2008, 20:23:07
Hi,

achso, aber wie ich sehe haste das problem schon gefixt. Ist auch Prima das du die Fehler erklärst davon kann man ein bissl Rgss2 dazu lernen ^^
Also zu der frage was man noch dazu machen könnte.
Also mir würde noch etas gut an dem script gefallen wen man bei den Monstern Z.b [nacht] davor setzen kann das diese dann nur nachts erscheinen.Und das die dann bei Tag auf den Maps nicht erscheinen obwohl sie ind der Monsterauftauchliste (keine ahnung wie das heißt XD) stehen. Ebenso sollte das [nacht] oder wie auch immer nicht angezeigt werden ^^
Und noch eine frage wie kann ich die tageszeit ändern. Sprich mein held geht nachts in ein Inn und schläft da kann aber vorher auswählen wie lange er schlafen will also

Auswahl 1 = Bis zum nächsten Morgen Schlafen
Auswahl 2 = Bis zum Mittag schlafen
Auswahl 3 = Bis Abends schlafen
Auswahl 4 = Bis Mitternachtsschlafen

Falls es sowas noch nicht gibt dann wäre das auch ein nettes Feature.
Soviel zu meinen ideen^^

Gruß,
Dustinthewind91
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Evil95 am April 29, 2008, 14:51:24
Das Tag-Nacht-System bringt mein Spiel nach einer Weile zum Absturz. kann man das fixen?http://img111.imageshack.us/my.php?image=ansturzkk1.png (http://img111.imageshack.us/my.php?image=ansturzkk1.png)
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am April 29, 2008, 15:40:50
sicher das es mein script is o_O ?
mit der error meldung kann ich nur leider absolut nichts anfangen o_O
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Dainreth am April 29, 2008, 18:00:16
Denke auch nicht, dass es an hMs Skript liegt, hast du eventuell noch andere drinnen? Ich meine die Fehlermeldung sagt ja leider nichts über den Fehler aus.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Herendil am April 29, 2008, 18:06:42
also dass liegt am treiber! denn scripte haben ne eigene fehlermeldung!
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Evil95 am April 29, 2008, 23:49:43
im problembericht steht folgendes:
AppName: game.exe
AppVer: 2.0.0.1   
ModName: rgss202e.dll
ModVer: 2.0.2.1   
Offset: 000dcb59

@Herendil:
wat fürn treiber?

@hellMinor:
wenn ich das tag-nacht-system nicht drin habe, schmiert das Game auch nicht ab.

@Dainreth:
Folgende Scripte nutze ich noch:
Skill Shop for RMVX
GameBaker Battle Status Faces
Mog Basic Menu Plus
Target Flash
GameBaker Save Folder
TDS Sprite Reflect
[STR15] HP-Leiste bei Gegner
CATERPILLAR
Simple Map-Name
Simple Quest-Log
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am April 30, 2008, 00:49:20
wann tritt das denn genau auf? tritt das immer an der selben stelle auf, wie lange is die spielzeit zudem zeitpunkt  etc mehr infos dann bitte
aus der fehlermeldung kriegt man keine infos also muss du mir die geben wenns an meinem script liegen soll
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Evil95 am April 30, 2008, 01:01:56
nein es tritt nicht an der selben stelle auf, sondern immer so nach ~ 1 min. alle maps die bis dahin betreten werden sind mit [int] versehen. nutze den englischen maker. legal - ohne iwelche cracks oder so. rgss2-rtp is die version 1.02e installiert und habe Windows gestern neu aufgesetzt. joa...wie gesagt, entferne ich nur das day-night-system, stürzt das spiel nicht ab, soll aba nich heißen das dein script dran schuld is. evtl versteht es sich mit einen der anderen scripte nich?
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am April 30, 2008, 01:06:15
welche einstellungen has du im script? also starting time etc
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Evil95 am April 30, 2008, 01:07:37
die hier:
#===============================================================================
# Main config
#------------------------------------------------------------------------------
  PIC_FORMAT = "png" # Format für die Nachtlichter
  $timesystem = 1       # Entscheidet welches System läuft
                        # 0 = Schritt-System
                        # 1 = Zeit-System
  $fadingtime = 4       # Entscheidet wie schnell der Screen-Tone einsetzt (in sekunden)
#------------------------------------------------------------------------------
  $dusktone = Tone.new(-68, -51, -9, 25)      # Dusk-Screen-Tone
  $nighttone = Tone.new(-136, -102, -17, 51)  # Night-Screen-Tone
  $dawntone = Tone.new(-20, -51, -68, 0)      # Dawn-Screen-Tone
  $daytone = Tone.new(0, 0, 0, 0)             # Day-Screen-Tone
#------------------------------------------------------------------------------
# Timesystem config
#------------------------------------------------------------------------------
  $starting_time = "night"  # Bestimmt die Startphase
                          # "day" für tag ,"dusk" für dämmerung
                          # "dawn" für sonnenaufgang und "night" für nacht
                          # Anmerkung : Der standardwert ist "night";
                          # ALLE anderen berechnungen mit dem Graphics.frame_counter
                          # werden hier von beeinflusst.
                          # Für die Speicherzeit liegt bereits ein hotfix bei
  $divider = 1          # Entscheidet wie schnell das Zeit-System läuft
                        # z.b. 2 = 2 mal so schnell (30 sekunden = 1 stunde)
                        # z.b. 0,5 = 2 mal so langsam (2 minuten = 1 stunde)
  $dusktime =   4       # schaltet auf sonnenuntergang bei $dusktime
  $daytime =    5       # schaltet auf tag bei $daytime
  $dawntime =   9      # schaltet auf sonnenuntergang bei $dawntime
  $nighttime =  10      # schaltet auf nacht bei $nighttime
#------------------------------------------------------------------------------
# Footstep config
#------------------------------------------------------------------------------
  $count = 0            # Zähler der Schritte
  $maxsteps = 200       # Wieviele Schritte zwischen den Phasen sind
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am April 30, 2008, 01:30:29
also das script alleine lief bei meinem test jetz die ganze zeit ohne probs ,
also es muss eignetlich so sein das 2 scripte irgendwie was machen was die game.exe

versuch mal die scripte einzeln zusammen rein zu tun um zu gucken welches das andere script is was zu diesem fehler im spiel führt , script fehler isses nich
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Evil95 am April 30, 2008, 01:32:22
jo das werde ick ma machen.

Edit: es ist das script "TDS Sprite Reflect (http://forums.rmrevolution.com/index.php/topic,1578.0.html)".

Edit2: habn bug entdeckt. und zwar wenn man nen nightlight-picture drin hat und es nachts ist, also wenn nightlight sichtbar ist und wenn man dann ins menü geht und wieder raus, erlischt (fadeout) nightlight und taucht danach wieder auf (fadein). is doof beschrieben, aber ick hoffe ihr wisst wat ick mein.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Evil95 am Mai 02, 2008, 19:09:10
will das den niemand bugfixen? sad.gif\" style=\"vertical-align:middle\" emoid=\":(\" border=\"0\" alt=\"sad.gif\" /]
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am Mai 02, 2008, 19:13:56
habs garnich gesehn das du was editiert hattest^^

ich guck mir mal das sprite reflect an und dieses menü fehler
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Evil95 am Mai 02, 2008, 19:17:35
Zitat von: hellMinor
habs garnich gesehn das du was editiert hattest^^

ich guck mir mal das sprite reflect an und dieses menü fehler
deswegen habe ich einfach ne neue message geschrieben^^
vielen dank schon ma :)

PS: der "Menüfeher" passiert nich nur im menü, sondern auch beim Questlog und so.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am Mai 02, 2008, 20:35:23
also das mit dem ein und ausfaden tritt bei scene changes auf und das krieg ich gefixed

aber der andere fehler .....
das is kein fehler in meinem script,
das spiel stürzt mir zusammen mit dem reflect dingen mit errors wie unknown exception error ab oder irgendwelchen speicherfehlern , das wäre ein fehler im rpg maker und total außerhalb meiner reichweite zum fixen
auf den ersten blick seh ich im sprite reflect auch keine fehler die sowas verursachen können,
normal dürften scripte das auch überhaupt nicht verursachen können

ich befürchte das weder ich noch einer da groß was machen können :/
oder hat dazu einer ne idee? ich muss sagen da bin ich grad überfragt
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Evil95 am Mai 02, 2008, 20:47:19
dann muss ich wohl auf Sprite Reflect verzichen...sad.gif\" style=\"vertical-align:middle\" emoid=\":(\" border=\"0\" alt=\"sad.gif\" /] könntest du nich sowas schreiben?  ;)
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Evil95 am Mai 03, 2008, 17:51:23
Zitat von: hellMinor
also das mit dem ein und ausfaden tritt bei scene changes auf und das krieg ich gefixed
...

und wann wirst du eine gefixte version online stellen? *ganz-lieb-frag*

EDIT: habe einen fehler entdeck.
(http://img186.imageshack.us/img186/3850/fehlerhh8.png)
Der Fehler tratt auf als ich in einer  [dint] map gespeichert hatte und den speicherstand wieder laden wollte. habe ich iwas falsch gemacht? PS: es müsste bei dir die Zeile 471 sein.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am Mai 05, 2008, 19:53:58
das mit den scene changes is jetz weg
den fehler den du grad gepostet hast hab ich mir selbst reingebaut als ich was umgestellt hab^^
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Evil95 am Mai 05, 2008, 22:07:53
Zitat von: hellMinor
das mit den scene changes is jetz weg
den fehler den du grad gepostet hast hab ich mir selbst reingebaut als ich was umgestellt hab^^
das mit dem scene changes is genau so wie vorher  blink.gif\" style=\"vertical-align:middle\" emoid=\":blink:
mein geposteter fehler: der is immer noch drin... huh.gif\" style=\"vertical-align:middle\" emoid=\":huh:\" border=\"0\" alt=\"huh.gif\" /]
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am Mai 06, 2008, 16:56:41
v1.1 is online
könnte vllt einfach daran liegen das ich die neue version nich hochgeladen hatte
immer auf die versionsnummer achten
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Evil95 am Mai 06, 2008, 17:03:12
tja was soll man sagen. danke, dass mit dem Nightlights funzt, aber....
(http://img241.imageshack.us/img241/5340/sdnsfs9.png)
Wann trat der Fehler auf: Spiel bei Nacht abgespeichert und beendet, dann die Game.exe erneut gestartet und versucht spielstand zu laden.
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am Mai 06, 2008, 17:12:02
hab nochma kurz was geändert , versuchs jetz ma ,hatte scene_map statt game_map
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Evil95 am Mai 06, 2008, 17:14:49
jop funzt jetzt. vielen dank.  happy.gif\" style=\"vertical-align:middle\" emoid=\"^_^\" border=\"0\" alt=\"happy.gif\" /] *happy* wub.gif\" style=\"vertical-align:middle\" emoid=\":wub:\" border=\"0\" alt=\"wub.gif\" /]
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Evil95 am Mai 10, 2008, 22:16:19
Edit: hab das prob selber gelöst bekommen
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Onkel Hell am Mai 15, 2008, 04:01:48
tjo habs jetz trotzdem mal v1.12 hochgeladen
hatte die letzten tage eher keine lust irgendwas zu machen , ich war lieber betrunken

dieser ladefehler war eigentlich nur ein kleiner anzeige fehler weil er die variablen durcheinander geworfen hat , zudem war noch anderer kleiner anzeigefehler drin
beide sollten jetz weg sein
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Ly am Juni 15, 2008, 00:04:06
Huhu erstmal danke für das tolle Skript!!!

Allerdings muss ich leider sagen dass mir ein Fehler aufgefallen ist. Er tritt auf wenn man statt des framebasierten Tag-/Nachtwechsel den mit den Schritten verwendet. Welchselt der Screen auf Tag, kommt er davon nicht mehr weg.^^ Ich glaube dafür den Grund gefunden zu haben:
def change?
    if $count >= $maxsteps
      if $day
        doDusk
      end
      if $dusk
        doNight
      end
      if $night
        doDawn
      end
      if $dawn
        doDay
      end
    end
  end
Der Fehler dürfte so Zustande kommen:
$day = true also wird doDusk ausgeführt, durch doDusk wird $dusk true gesetzt. Dann wird die nächste Bedingung überprüft: $dusk = true also wird doNight ausgeführt, wodurch $night = true gesetzt wird, etc. etc.

Im Grunde genommen fängt man bei Tag an und hört bei Tag auf, da jede Bedingung überprüft wird ohne abzubrechen. Der Effekt ist, dass bei jedem 200. Schritt bei Tag der Bildschirm zwar etwas ruckelt beim laufen aber an der Tageszeit ändert sich nichts. Mein Lösungsvorschlag wäre folgender:
def change?
    if $count >= $maxsteps
      if $day
        doDusk
      else if $dusk
        doNight
      else if $night
        doDawn
      else
        doDay
      end
   end
end
Ich muss aber leider sagen, dass ich seitdem ich das ausprobiert habe, immer einen merkwürdigen Syntaxfehler bekomme, in der Zeile in der module Cache steht. Erklären kann ich mir das nicht weil ich da absolut nichts verändert habe. O_O
Vielleicht weißt du ja eine Antwort^^ Ich kenn mich zwar ein wenig mit Ruby aus aber die Rubyskriptsprache ist ja dann doch noch etwas anders^^
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Ly am Juni 15, 2008, 00:17:23
Ah ich hab's nun^^

  def change?
    if $count >= $maxsteps
      if $day
        doDusk
      else
        if $dusk
          doNight
        else
          if $night
            doDawn
          else
            doDay
          end
        end
      end
    end
  end
Titel: hellMinor's Simple Day and Night Script
Beitrag von: chaosBlender am Juni 15, 2008, 07:25:00
Hab jetz einfach mal den Code von oben bissi angenehmer für die Augen gemacht. ^^
@Ly: else if funktioniert bei Ruby nicht, dort heißt der Befehl "elsif". :)

  def change?
     if $count >= $maxsteps
       if $day
         doDusk
       elsif $dusk
         doNight
       elsif $night
         doDawn
       else
         doDay
       end
    end
Titel: hellMinor's Simple Day and Night Script
Beitrag von: Ly am Juni 15, 2008, 12:21:31
Thx, gut zu wissen^^

Naja nächstes Mal kann ich's schöner schreiben, meine Hässlich-Version tut's auch erstmal  :lol:

Oder ich änder das doch weil das mit den vielen Ends is doch etwas unübersichtlich  blink.gif\" style=\"vertical-align:middle\" emoid=\":blink:
Titel: Re: hellMinor's Simple Day and Night Script
Beitrag von: PD am Juli 04, 2008, 23:44:49
is n echt gutes script ;)
Titel: Re: hellMinor's Simple Day and Night Script
Beitrag von: Evil95 am Juli 15, 2008, 19:51:48
ich hab nen prob. also das spiel startet nachts. wechselt dann zu morgen und danach zu tag. dann zu dämmerung und schließlich wieder zu nacht. aba ab dann bleibt es nacht. ich habe mal das "$dayandnight.getTime" benutzt und fest gestellt, dass es nach 4 min trotzdem weiter läuft. es müsste doch aber theoretisch bei mir wieder von null anfangen wenn es bei 4 angekommen ist oder?
hier das script so wie es bei mir derzeit drin is:
#==============================================================================
#  Simple Day and Night Script
#
#  Version : 1.12 - 15.05.08
#  Created by : hellMinor
#  Do NOT redistribute without my permission
#  Description : A simple script which tones the screen to emulate a day and
#                night system on the basis of your footsteps or a time system.
#
#==============================================================================
#===============================================================================
# Map-Detection F.A.Q.
#===============================================================================
# Wenn du auf einer interior/indoor karte bist, wo meistens keine tag und nacht
# effekte zu sehen sind packt einfach [int] vor den kartennamen.
# Das script sofort auf tag schalten wenn man eine solche karte betritt und alle
# screen tone effekte die dieses script verursachen würde werden ignoriert
#
# Während ihr auf einer interior karte seit wird die zeit weiterlaufen und sobald
# ihr die karte wieder verlasst wird auf die korrekte tageszeit umgeschaltet
#==============================================================================
# Nightslights F.A.Q.
#==============================================================================
# Erstellt ein Verzeichnis namens Nightlights in eurem Graphics - Verzeichnis und tut
# ein Bild mit dem selben namen und der selbe größe wie ihre Map hinein.
# Das Bild wird auf Exterior Maps eingeblended wenn es nacht wird und ausgeblended
# wenn es tag wird.
# Auf Interior und Dark-Interior Maps wird das Bild direkt angezeigt ohne Fader
#===============================================================================
# Get-Time F.A.Q.
#===============================================================================
# Wenn man die genaue Zeit braucht kann man dieses in ein Callscript packen
# um die genaue Uhrzeit zu bekommen :
# $game_variables[0001] = $dayandnight.getTime
# um die genaue Stunde zu bekommen :
# $game_variables[0001] = $dayandnight.getHour
# um die genaue Minute zu bekommen :
# $game_variables[0001] = $dayandnight.getMinute
#
# $game_variables[0001] entspricht der variable 0001 in eurer Datenbank.
# Wenn ihr eine andere variable benutzen wollt ändert das 0001 einfach in etwas >5000
#
#===============================================================================
# Main config
#------------------------------------------------------------------------------
  PIC_FORMAT = "png" # Format für die Nachtlichter
  $timesystem = 1       # Entscheidet welches System läuft
                        # 0 = Schritt-System
                        # 1 = Zeit-System
  $fadingtime = 4       # Entscheidet wie schnell der Screen-Tone einsetzt (in sekunden)
#------------------------------------------------------------------------------
  $dusktone = Tone.new(-68, -51, -9, 25)    # Dusk-Screen-Tone
  $nighttone = Tone.new(-136, -102, -17, 51)  # Night-Screen-Tone
  $dawntone = Tone.new(-20, -51, -68, 0)      # Dawn-Screen-Tone
  $daytone = Tone.new(0, 0, 0, 0)             # Day-Screen-Tone
#------------------------------------------------------------------------------
# Timesystem config
#------------------------------------------------------------------------------
  $starting_time = "night"  # Bestimmt die Startphase
                          # "day" für tag ,"dusk" für dämmerung
                          # "dawn" für sonnenaufgang und "night" für nacht
                          # Anmerkung : Der standardwert ist "night";
                          # ALLE anderen berechnungen mit dem Graphics.frame_counter
                          # werden hier von beeinflusst.
                          # Für die Speicherzeit liegt bereits ein hotfix bei
  $divider = 1          # Entscheidet wie schnell das Zeit-System läuft
                        # z.b. 2 = 2 mal so schnell (30 sekunden = 1 stunde)
                        # z.b. 0,5 = 2 mal so langsam (2 minuten = 1 stunde)
  $dusktime =   1       # schaltet auf sonnenaufgang bei $dusktime
  $daytime =    2       # schaltet auf tag bei $daytime
  $dawntime =   3      # schaltet auf sonnenuntergang bei $dawntime
  $nighttime =  4      # schaltet auf nacht bei $nighttime
#------------------------------------------------------------------------------
# Footstep config
#------------------------------------------------------------------------------
  $count = 0            # Zähler der Schritte
  $maxsteps = 200       # Wieviele Schritte zwischen den Phasen sind
#------------------------------------------------------------------------------
# boolean checks
#------------------------------------------------------------------------------
  $day = false           # Checker if its day
  $dusk = false          # Checker if its dusk
  $dawn = false          # Checker if its dawn
  $night = true          # Checker if its night
#==============================================================================
class DayAndNight < Game_Screen
#==============================================================================
  def change?
    if $count >= $maxsteps
      if $day
        doDusk
      end
      if $dusk
        doNight
      end
      if $night
        doDawn
      end
      if $dawn
        doDay
      end
    end
  end
#------------------------------------------------------------------------------
  def doNight
    if $dayandnight.exterior?
      $game_map.screen.start_tone_change($nighttone,$fadingtime*60)
    end
    $count = 0
    $day = false
    $dusk = false
    $dawn = false
    $night = true
  end
#------------------------------------------------------------------------------
  def doDay
    if $dayandnight.exterior?
      $game_map.screen.start_tone_change($daytone,$fadingtime*60)
    end
    $count = 0
    $day = true
    $night = false
    $dawn = false
    $dusk = false
  end
#------------------------------------------------------------------------------
  def doDawn
    if $dayandnight.exterior?
      $game_map.screen.start_tone_change($dawntone,$fadingtime*60)
    end
    $count = 0
    $day = false
    $night = false
    $dusk = false
    $dawn = true
  end
#------------------------------------------------------------------------------
  def doDusk
    if $dayandnight.exterior?
      $game_map.screen.start_tone_change($dusktone,$fadingtime*60)
    end
    $count = 0
    $day = false
    $night = false
    $dusk = true
    $dawn = false
  end
#------------------------------------------------------------------------------
  def updateclock
    clocktime = Graphics.frame_count / (Graphics.frame_rate/$divider)
    hour = clocktime / 60 % 24
    minutes = clocktime % 60
    if hour == $dawntime && minutes == 0
      doDawn
    end
    if hour == $daytime && minutes == 0
      doDay
    end
    if hour == $dusktime && minutes == 0
      doDusk
    end
    if hour == $nighttime && minutes == 0
      doNight
    end
  end
#------------------------------------------------------------------------------
  def interior?
    if($game_map.name.index("[int]") != nil)
      return true
    end
  end
#------------------------------------------------------------------------------
  def exterior?
    if($game_map.name.index("[int]") == nil &&
      $game_map.name.index("[dint]") == nil)
      return true
    end
  end
#------------------------------------------------------------------------------
  def dark_interior?
    if($game_map.name.index("[dint]") != nil)
      return true
    end
  end
#------------------------------------------------------------------------------
  def get_state_tone
    if $dawn
      return $dawntone
    end
    if $day
      return $daytone
    end
    if $dusk
      return $dusktone
    end
    if $night
      return $nighttone
    end
  end
#------------------------------------------------------------------------------
  def getTime
    clocktime = Graphics.frame_count / (Graphics.frame_rate/$divider)
    hour = clocktime / 60 % 24
    minutes = clocktime % 60
    return hour.to_s+":"+minutes.to_s
  end
#------------------------------------------------------------------------------
  def getHour
    clocktime = Graphics.frame_count / (Graphics.frame_rate/$divider)
    hour = clocktime / 60 % 24
    return hour
  end
#------------------------------------------------------------------------------
  def getMinute
    clocktime = Graphics.frame_count / (Graphics.frame_rate/$divider)
    minutes = clocktime % 60
    return minutes
  end
#------------------------------------------------------------------------------
  def show_mapname
  end
 
end
#==============================================================================
module Cache
#==============================================================================
  def self.nightlights(filename)
    load_bitmap("graphics/nightlights/", filename)
  end
 
end
#==============================================================================
class Game_Character
#==============================================================================
  def increase_steps
    @stop_count = 0
    if $timesystem == 0
      $count += 1
      $dayandnight.change?
    end
    update_bush_depth
  end
 
end
#==============================================================================
class Game_Map
#==============================================================================
  alias initialize_dayandnnight_adds initialize
  def initialize
    initialize_dayandnnight_adds
    $dayandnight = DayAndNight.new
  end

  def setup(map_id)
    @map_id = map_id
    @map = load_data(sprintf("Data/Map%03d.rvdata", @map_id))
    @display_x = 0
    @display_y = 0
    @passages = $data_system.passages
    referesh_vehicles
    setup_events
    setup_scroll
    setup_parallax
    setup_nightlights
    @need_refresh = false
  end
#------------------------------------------------------------------------------
  def setup_nightlights
    @nightlights_mapname = $game_map.name
    @nightlights_loop_x = 0
    @nightlights_loop_y = 0
    @nightlights_sx = 0
    @nightlights_sy = 0
    @nightlights_x = 0
    @nightlights_y = 0
  end
#------------------------------------------------------------------------------
  def update
    refresh if $game_map.need_refresh
    update_scroll
    update_events
    update_vehicles
    update_parallax
    if $timesystem == 1
      update_nightlights
      $dayandnight.updateclock
    end
    @screen.update
  end
#------------------------------------------------------------------------------
  def update_nightlights
    @nightlights_x += @nightlights_sx * 4 if @nightlights_loop_x
    @nightlights_y += @nightlights_sy * 4 if @nightlights_loop_y
  end
#------------------------------------------------------------------------------
  alias set_display_pos_adds set_display_pos
  def set_display_pos(x, y)
    set_display_pos_adds(x,y)
    @nightlights_x = x
    @nightlights_y = y
  end
#------------------------------------------------------------------------------
  def calc_nightlights_x(bitmap)
    if bitmap == nil
      return 0
    else
      w1 = bitmap.width - 544
      w2 = @map.width * 32 - 544
      if w1 <= 0 or w2 <= 0
        return 0
      else
        return @nightlights_x * w1 / w2 / 8
      end
    end
  end
#------------------------------------------------------------------------------
  def calc_nightlights_y(bitmap)
    if bitmap == nil
      return 0
    else
      h1 = bitmap.height - 416
      h2 = @map.height * 32 - 416
      if h1 <= 0 or h2 <= 0
        return 0
      else
        return @nightlights_y * h1 / h2 / 8
      end
    end
  end
#------------------------------------------------------------------------------
  def scroll_down(distance)
    if loop_vertical?
      @display_y += distance
      @display_y %= @map.height * 256
      @parallax_y += distance
      @nightlights_y += distance
    else
      last_y = @display_y
      @display_y = [@display_y + distance, (height - 13) * 256].min
      @parallax_y += @display_y - last_y
      @nightlights_y += @display_y - last_y
    end
  end
#------------------------------------------------------------------------------
  def scroll_left(distance)
    if loop_horizontal?
      @display_x += @map.width * 256 - distance
      @display_x %= @map.width * 256
      @parallax_x -= distance
      @nightlights_x -= distance
    else
      last_x = @display_x
      @display_x = [@display_x - distance, 0].max
      @parallax_x += @display_x - last_x
      @nightlights_x += @display_x - last_x
    end
  end
#------------------------------------------------------------------------------
  def scroll_right(distance)
    if loop_horizontal?
      @display_x += distance
      @display_x %= @map.width * 256
      @parallax_x += distance
      @nightlights_x += distance
    else
      last_x = @display_x
      @display_x = [@display_x + distance, (width - 17) * 256].min
      @parallax_x += @display_x - last_x
      @nightlights_x += @display_x - last_x
    end
  end
#------------------------------------------------------------------------------
  def scroll_up(distance)
    if loop_vertical?
      @display_y += @map.height * 256 - distance
      @display_y %= @map.height * 256
      @parallax_y -= distance
      @nightlights_y -= distance
    else
      last_y = @display_y
      @display_y = [@display_y - distance, 0].max
      @parallax_y += @display_y - last_y
      @nightlights_y += @display_y - last_y
    end
  end
#------------------------------------------------------------------------------
  def name
    $data_mapinfos[@map_id]
  end
   
end
#==============================================================================
class Scene_Map
#==============================================================================
  alias start_dayandnight_adds start
  def start
    start_dayandnight_adds
    nightlights?
  end

  def fadein(duration)
    Graphics.transition(0)
    if $dayandnight.interior?
      $game_map.screen.start_tone_change($daytone,1)
      $nightlights.opacity = 255
    else if $dayandnight.dark_interior?
      $game_map.screen.start_tone_change($nighttone,1)
      $nightlights.opacity = 255
    else if $dayandnight.exterior?
        $game_map.screen.start_tone_change($dayandnight.get_state_tone,1)
        nightlights?
      end
      end
    end
    for i in 0..duration-1
      Graphics.brightness = 255 * i / duration
      update_basic
    end
    Graphics.brightness = 255
  end
 
  def nightlights?
    $nightlights.opacity = 0 if $day
    $nightlights.opacity = 255 if $night
    $nightlights.opacity = 125 if $dawn or $dusk
  end
 
end
#==============================================================================
class Scene_Title
#==============================================================================
  alias load_database_additions load_database
  def load_database
    load_database_additions
    $data_mapinfos      = load_data("Data/MapInfos.rvdata")
    for key in $data_mapinfos.keys
      $data_mapinfos[key] = $data_mapinfos[key].name
    end
  end
 
  alias command_new_game_additions command_new_game
  def command_new_game
    command_new_game_additions
    $dayandnight = DayAndNight.new
    Graphics.frame_count += 25200/$divider if $starting_time == "dawn"
    Graphics.frame_count += 28800/$divider if $starting_time == "day"
    Graphics.frame_count += 68400/$divider if $starting_time == "dusk"   
  end
 
end
#==============================================================================
class Spriteset_Map
#==============================================================================
  def initialize
    create_viewports
    create_tilemap
    create_parallax
    create_characters
    create_shadow
    create_weather
    create_pictures
    create_timer
    create_nightlights
    update
  end
#-------------------------------------------------------------------------------
  def create_nightlights
    $nightlights = Plane.new(@viewport3)
    $nightlights.opacity = 0
  end
#-------------------------------------------------------------------------------
  alias dispose_addition dispose
  def dispose
    dispose_addition
    dispose_nightlights
  end
#-------------------------------------------------------------------------------
  def dispose_nightlights
    $nightlights.dispose
  end
#-------------------------------------------------------------------------------
  alias update_additions update
  def update
    update_additions
    update_nightlights
  end
#-------------------------------------------------------------------------------
  def update_fading
    if $dayandnight.exterior?
      $nightlights.opacity += 1 if $night and $nightlights.opacity <= 255
      $nightlights.opacity += 1 if $dusk and $nightlights.opacity <= 150
      $nightlights.opacity -= 1 if $dawn and $nightlights.opacity >= 100
      $nightlights.opacity -= 1 if $day and $nightlights.opacity >= 0
    else
      $nightlights.opacity = 255
    end
  end
#------------------------------------------------------------------------------- 
  def update_nightlights
    if @nightlights_mapname != $game_map.name
      @nightlights_mapname = $game_map.name
      if $nightlights.bitmap != nil
        $nightlights.bitmap.dispose
        $nightlights.bitmap = nil
      end
      if @nightlights_mapname != ""
        if File.exist?("Graphics/Nightlights/"+@nightlights_mapname+"."+PIC_FORMAT)
          $nightlights.bitmap = Cache.nightlights(@nightlights_mapname)
        end
      end
      Graphics.frame_reset
    end
    $nightlights.ox = $game_map.calc_nightlights_x($nightlights.bitmap)
    $nightlights.oy = $game_map.calc_nightlights_y($nightlights.bitmap)
    update_fading
  end
 
end
#===============================================================================
class Scene_File
#=============================================================================== 
  alias write_save_data_dn_adds write_save_data
  def write_save_data(file)
    write_save_data_dn_adds(file)
    Marshal.dump($day,         file)
    Marshal.dump($dusk,        file)
    Marshal.dump($dawn,        file)
    Marshal.dump($night,       file)
  end
#------------------------------------------------------------------------------- 
  alias read_save_data_dn_adds read_save_data
  def read_save_data(file)
    read_save_data_dn_adds(file)
    $day         = Marshal.load(file)
    $dusk        = Marshal.load(file)
    $dawn        = Marshal.load(file)
    $night       = Marshal.load(file)
  end
 
end

#===============================================================================
# Game-Time-Hotfix
#===============================================================================
#===============================================================================
class Window_SaveFile < Window_Base
#===============================================================================
  def load_gamedata
    @time_stamp = Time.at(0)
    @file_exist = FileTest.exist?(@filename)
    if @file_exist
      file = File.open(@filename, "r")
      @time_stamp = file.mtime
      begin
        @characters     = Marshal.load(file)
        @frame_count    = Marshal.load(file)
        @last_bgm       = Marshal.load(file)
        @last_bgs       = Marshal.load(file)
        @game_system    = Marshal.load(file)
        @game_message   = Marshal.load(file)
        @game_switches  = Marshal.load(file)
        @game_variables = Marshal.load(file)
        case $starting_time
          when "night"
            @total_sec = @frame_count / Graphics.frame_rate
          when "dawn"
            @total_sec = (@frame_count-(25200/$divider)) / Graphics.frame_rate
          when "day"
            @total_sec = (@frame_count-(28800/$divider)) / Graphics.frame_rate
          when "dusk"
            @total_sec = (@frame_count-(68400/$divider)) / Graphics.frame_rate
        end
      rescue
        @file_exist = false
      ensure
        file.close
      end
    end
  end
 
end
und ist mir nochwas aufgefallen. das script läuft wie foglt ab: night -> dusk -> day -> dawn -> night...usw. müsste es aber eig nicht so sein: night -> dawn -> day -> dusk -> night usw?
weil dawn is die morgendämmerung und dusk die abenddämmerung. aber im script ist beides quasi vertauscht...oder irre ich mich da?
Titel: Re: hellMinor's Simple Day and Night Script
Beitrag von: Kyoshiro am Juli 16, 2008, 18:33:23
Gibt es eine Möglichkeit über ein Event die Tageszeit zu bestimmen.
Also ich will jetzt, dass es morgens ist, würde es dann gehen, dass ich über ein Event mit der Script-Funktion das einstelle?
Titel: Re: hellMinor's Simple Day and Night Script
Beitrag von: armin am Oktober 02, 2008, 13:26:36
Hallo,

Wollte nur kurz sagen das das Script absolut Klasse ist.

Mir ist jedoch aufgefallen das es mit dem Script (Mini-Map) von Woratana nicht 100% Funktioniert.
Er Ignoriert in diesem Fall wohl das [int].
Bei mir ist es auf jeden Fall so.
Gibt es dafür evl. noch eine Lösung ??

Danke für's absolute Super Script

Gruß Armin
Titel: Re: hellMinor's Simple Day and Night Script
Beitrag von: eugene222 am Dezember 17, 2008, 20:15:40
@Kyo
Mach das so:
Du wählst Conditional Branch aus und dann Skript. Dann schreibse ins Skript einfach $Day für tag, $Night für nacht usw. Dann kannse das alles einstellen. Hoffe du hast es verstanden. Wenn nicht meld dich bei mir.

mfg. eugene
SimplePortal 2.3.3 © 2008-2010, SimplePortal