collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: Simples Uhranzeige Skript  (Gelesen 2245 mal)

Offline Itakoo

  • Freigeist
  • RTP-Mapper
  • *
  • Beiträge: 42
Simples Uhranzeige Skript
« am: Oktober 29, 2009, 20:44:58 »
Hello =)
Ich habe nach einem Skript gesucht welches nur
die aktuelle Zeit wiedergibt. (Ohne Fades und Tints und so)
Und ich wurde fündig!

Das Skript erstellt nur eine Zeitanzeige.
Die Minuten, Stunden, und in diesem Fall Tage sind Wert von Variablen.
Die Namen und Funktionen könnt ihr beliebig ändern.
So könnt ihr zB aus 13:24 Uhr --> 13 Pirepoints und 24 Waterpoints ^^ machen.



SKRIPT
Spoiler for Hiden:
module OMEGAS7
 
 WINDOW_X = 5
 WINDOW_Y = 5
 FONT_SIZE = 16
 SECONDS_VAR_ID = 7
 MINUTES_VAR_ID = 6
 HOURS_VAR_ID = 5
 
 
end

class Omegas_Clock < Window_Base
 
 include OMEGAS7
 
 def initialize
   super(WINDOW_X,WINDOW_Y,180,50)
   self.contents.font.size = FONT_SIZE
   refresh
 end
 
 def refresh
   self.contents.clear
   
   @seconds = $game_variables[SECONDS_VAR_ID]
   @minutes = $game_variables[MINUTES_VAR_ID]
   @hours = $game_variables[HOURS_VAR_ID]
   
   
   self.contents.draw_text(0,-10,150,35,@hours.to_s + " : " + @minutes.to_s +  " Uhr   " + "[" + @seconds.to_s + "] Tag" )
   
 end
 
 def update
   if @seconds != $game_variables[SECONDS_VAR_ID]
     refresh
   end
   
   if @minutes != $game_variables[MINUTES_VAR_ID]
     refresh
   end
   
   if @hours != $game_variables[HOURS_VAR_ID]
     refresh
   end
 end
end


class Scene_Map
 
 alias omegas_start start
 def start
   omegas_start
   @omegas_clock_window = Omegas_Clock.new
 end
 
 alias omegas_update update
 def update
   omegas_update
   @omegas_clock_window.update
 end
 
 def omegas_window_dispose
   @omegas_clock_window.dispose
 end
 
 alias omegas_terminate terminate
 def terminate
   omegas_terminate
   omegas_window_dispose
 end
 
end

Re: Simples Uhranzeige Skript

Offline Emelie Rose

  • Meisterköchin
  • Eventmeister
  • ***
  • Beiträge: 329
Re: Simples Uhranzeige Skript
« Antwort #1 am: Oktober 29, 2009, 22:10:39 »
Ist das im Menü oder ist das auf der map selbst?

Re: Simples Uhranzeige Skript

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
Re: Simples Uhranzeige Skript
« Antwort #2 am: Oktober 30, 2009, 10:40:51 »
Es wird in der Map angezeigt.
Frage: Kann man auch die Sekunden anzeigen lassen?
PDM's Gameplays
Skype-Name: lordpdm

Re: Simples Uhranzeige Skript

Offline Ðeity

  • No Pain, no gain!
  • Administrator
  • Eventmeister
  • ****
  • Beiträge: 427
  • No Pain, no Gain!
    • Deity-VX
Re: Simples Uhranzeige Skript
« Antwort #3 am: November 01, 2009, 18:34:12 »
Versuch mal folgendes:
module OMEGAS7
 
 WINDOW_X = 5 # X-Koordinate des Fensters.
 WINDOW_Y = 5 # Y-Koordinate des Fensters.
 WIDTH = 180 # Breite des Fensters. Bei DAY_SHOW = true ~ 180 , Bei DAY_SHOW = false ~120
 FONT_SIZE = 16 # Schriftgröße
 SECONDS_VAR_ID = 1 # Variablen-ID für die Sekunden.
 MINUTES_VAR_ID = 2 # Variablen-ID für die Minuten.
 HOURS_VAR_ID = 3 # Variablen-ID für die Stunden.
 DAY_VAR_ID = 4 # Variablen-ID für die Tage(Nummer des Tages).
 VISIBLE_SWITCH_ID = 1 #Switch-ID, der die Sichtbarkeit des Fensters beeinflust. ~ ON = Sichtbar, OFF = Nicht Sichtbar.
 DAY_SHOW = true # Soll die Tagesnummer angezeigt werden? true = ja / false = nein
 TIME = "Uhr" # Anzeigetext für Uhr(Hinter der Uhrzeit).

end

class Omegas_Clock < Window_Base
 
 include OMEGAS7
 
 def initialize
   super(WINDOW_X,WINDOW_Y, WIDTH,50)
   self.contents.font.size = FONT_SIZE
   refresh
 end
 
 def refresh
   self.contents.clear
   
   @seconds = $game_variables[SECONDS_VAR_ID]
   @minutes = $game_variables[MINUTES_VAR_ID]
   @hours = $game_variables[HOURS_VAR_ID]
   if DAY_SHOW == true
    @day = $game_variables[DAY_VAR_ID]
  end
   
   if DAY_SHOW == true
    self.contents.draw_text(0,-10,150,35,@hours.to_s + " : " + @minutes.to_s + " : " + @seconds.to_s + " Uhr   " + "[" + @day.to_s + "] Tag",1 )
  else
    self.contents.draw_text(0,-10,90,35,@hours.to_s + " : " + @minutes.to_s + " : " + @seconds.to_s + " " + TIME,1 )
  end
 end
 
 def update
   if $game_switches[VISIBLE_SWITCH_ID] == true
     self.visible = true
   else
     self.visible = false
   end
   if @seconds != $game_variables[SECONDS_VAR_ID]
     refresh
   end
   
   if @minutes != $game_variables[MINUTES_VAR_ID]
     refresh
   end
   
   if @hours != $game_variables[HOURS_VAR_ID]
     refresh
   end
 end
end


class Scene_Map
 
 alias omegas_start start
 def start
   omegas_start
   @omegas_clock_window = Omegas_Clock.new
 end
 
 alias omegas_update update
 def update
   omegas_update
   @omegas_clock_window.update
 end
 
 def omegas_window_dispose
   @omegas_clock_window.dispose
 end
 
 alias omegas_terminate terminate
 def terminate
   omegas_terminate
   omegas_window_dispose
 end
 
end

Es beinhaltet die Sekundenanzeige und weitere Einstellungen für Dinge, die vllt nicht immer gewünscht sind.

MfG
Deity



Re: Simples Uhranzeige Skript

Crysis

  • Gast
Re: Simples Uhranzeige Skript
« Antwort #4 am: November 07, 2009, 13:24:20 »
Habe noch eine kurze Frage zum Skript. Also die Sichtbarkeit der Uhr wird ja durch ein Switch kontrolliert. Mein Problem ist nur, dass obwohl
der Switch ausgeschaltet ist, ist die Uhr noch an bestimmten Stellen kurz sichtbar. Als Beispiel kann ich hier das Öffnen und Schließen des Menüs, am Anfang beim Title Screen oder beim Mapwechsel nennen. Ist jetzt zwar nicht so schlimm, aber wäre trotzdem nett, wenn das jemand beheben könnte, da es schon ein wenig stört.

P.S.: Danke für das tolle Script.
« Letzte Änderung: November 07, 2009, 13:48:39 von Crysis »

Re: Simples Uhranzeige Skript

Offline DarkestHate

  • Database-Verunstalter
  • **
  • Beiträge: 112
  • Projekt: Koenigreich des Todes
Re: Simples Uhranzeige Skript
« Antwort #5 am: November 07, 2009, 13:29:09 »
wie muss den das Callscript aussehen das die Uhrzeit abgezeigt wird?? und kann ich sie auch dauerhaft anzeigen lassen?

Für Leute, die noch nie einen Contest gewonnen haben!

Ein Mensch ist ein Mensch, egal wie Ralph er ist!


Fortschritt Koenigreich des Todes:
http://www.rpgvx.net/index.php/topic,4082.0.html
Demo: 65%


Re: Simples Uhranzeige Skript

Offline Ðeity

  • No Pain, no gain!
  • Administrator
  • Eventmeister
  • ****
  • Beiträge: 427
  • No Pain, no Gain!
    • Deity-VX
Re: Simples Uhranzeige Skript
« Antwort #6 am: November 07, 2009, 14:32:16 »
@Crysis
Jetzt funktioniert es flüßiger, das heißt wird beim reloaden einer Map nicht angezeigt und wieder ausgeblendet.
Wenn es interesiert:
module OMEGAS7
 
 WINDOW_X = 5 # X-Koordinate des Fensters.
 WINDOW_Y = 5 # Y-Koordinate des Fensters.
 WIDTH = 180 # Breite des Fensters. Bei DAY_SHOW = true ~ 180 , Bei DAY_SHOW = false ~120
 FONT_SIZE = 16 # Schriftgröße
 SECONDS_VAR_ID = 1 # Variablen-ID für die Sekunden.
 MINUTES_VAR_ID = 2 # Variablen-ID für die Minuten.
 HOURS_VAR_ID = 3 # Variablen-ID für die Stunden.
 DAY_VAR_ID = 4 # Variablen-ID für die Tage(Nummer des Tages).
 VISIBLE_SWITCH_ID = 1 #Switch-ID, der die Sichtbarkeit des Fensters beeinflust. ~ ON = Sichtbar, OFF = Nicht Sichtbar.
 DAY_SHOW = true # Soll die Tagesnummer angezeigt werden? true = ja / false = nein
 TIME = "Uhr" # Anzeigetext für Uhr(Hinter der Uhrzeit).

end

class Omegas_Clock < Window_Base
 
 include OMEGAS7
 
 def initialize
   super(WINDOW_X,WINDOW_Y, WIDTH,50)
   self.contents.font.size = FONT_SIZE
   self.visible = false
   refresh
 end
 
 def refresh
   self.contents.clear
   
   @seconds = $game_variables[SECONDS_VAR_ID]
   @minutes = $game_variables[MINUTES_VAR_ID]
   @hours = $game_variables[HOURS_VAR_ID]
   if DAY_SHOW == true
    @day = $game_variables[DAY_VAR_ID]
  end
   
   if DAY_SHOW == true
    self.contents.draw_text(0,-10,150,35,@hours.to_s + " : " + @minutes.to_s + " : " + @seconds.to_s + " Uhr   " + "[" + @day.to_s + "] Tag",1 )
  else
    self.contents.draw_text(0,-10,90,35,@hours.to_s + " : " + @minutes.to_s + " : " + @seconds.to_s + " " + TIME,1 )
  end
 end
 
 def update
   if $game_switches[VISIBLE_SWITCH_ID] == true
     self.visible = true
   else
     self.visible = false
   end
   if @seconds != $game_variables[SECONDS_VAR_ID]
     refresh
   end
   
   if @minutes != $game_variables[MINUTES_VAR_ID]
     refresh
   end
   
   if @hours != $game_variables[HOURS_VAR_ID]
     refresh
   end
 end
end


class Scene_Map
 
 alias omegas_start start
 def start
   omegas_start
   @omegas_clock_window = Omegas_Clock.new
 end
 
 alias omegas_update update
 def update
   omegas_update
   @omegas_clock_window.update
 end
 
 def omegas_window_dispose
   @omegas_clock_window.dispose
 end
 
 alias omegas_terminate terminate
 def terminate
   omegas_terminate
   omegas_window_dispose
 end
 
end

@DarkestHate:
Das Script zeigt automatisch das Fenster an, wenn der Switch an ist. Also brauchst du nichts zu tun ausser den ausgewählten Switch an und aus machen.

MfG
Deity



Re: Simples Uhranzeige Skript

Offline DarkestHate

  • Database-Verunstalter
  • **
  • Beiträge: 112
  • Projekt: Koenigreich des Todes
Re: Simples Uhranzeige Skript
« Antwort #7 am: November 07, 2009, 14:47:21 »
bei deinem script zeigt er mir einen fehler an! in zeile 69

stack level too deep

Für Leute, die noch nie einen Contest gewonnen haben!

Ein Mensch ist ein Mensch, egal wie Ralph er ist!


Fortschritt Koenigreich des Todes:
http://www.rpgvx.net/index.php/topic,4082.0.html
Demo: 65%


Re: Simples Uhranzeige Skript

Offline Ðeity

  • No Pain, no gain!
  • Administrator
  • Eventmeister
  • ****
  • Beiträge: 427
  • No Pain, no Gain!
    • Deity-VX
Re: Simples Uhranzeige Skript
« Antwort #8 am: November 07, 2009, 15:03:08 »
Okay.
Zur anmerkung das ist nicht meinr Script, ich habs nur verändert xP.
Zum Problem:
Es kann eigentlich kaum an diesem Script liegen, da die Fehlergebende Zeile eine Methdoe ist, die aliased wurde und somit kompartibel zu "allen" sein muss. Kannst du auch sehen wenn du es in einem neuen Projekt ausprobierst. Der Fehler muss im Zusamenhang mit einem anderen Script entstehen, der auf die class Scene_Map zugreift.
Da ich deine Scriptliste nicht kenne, kann ich dir da aber auch nicht sehr viel weiter helfen.

MfG
Deity



Re: Simples Uhranzeige Skript

Offline DarkestHate

  • Database-Verunstalter
  • **
  • Beiträge: 112
  • Projekt: Koenigreich des Todes
Re: Simples Uhranzeige Skript
« Antwort #9 am: November 07, 2009, 15:05:02 »
Meine verwendeten Scripts sind:

Fog-Effect
Tag-Nacht system
und dieses Uhrzeit Script

wobei ich dieses Script hier und das Tag-Nacht system super gerne irgendwie verknüpft hätte aber hab dir mal ne PN geschickt^^
« Letzte Änderung: November 07, 2009, 15:05:49 von DarkestHate »

Für Leute, die noch nie einen Contest gewonnen haben!

Ein Mensch ist ein Mensch, egal wie Ralph er ist!


Fortschritt Koenigreich des Todes:
http://www.rpgvx.net/index.php/topic,4082.0.html
Demo: 65%


Re: Simples Uhranzeige Skript

Offline Klex

  • CoAD - Tiles Publisher
  • VX-Kenner
  • ****
  • Beiträge: 561
    • Klex Blog
Re: Simples Uhranzeige Skript
« Antwort #10 am: November 07, 2009, 23:54:44 »
Hab hier übrigens noch eine alternative, falls jemand probleme mit dem oben genannten Skript hat. Credits an Mithran. Mir persönlich gefällt er sogar etwas besser.

# Variable Clock Window Draw
# By Mithran
# Requested by Klex1992
# Draws a clock with 'hours' and 'minutes' based off two variables
# : symbol blinks on and off
# Set the options in the module
# The "X" button (keyboard A) toggles clock window position on screen in game
# The user is responsible for updating the variables used for the clock.

# Event Commands
# Event > Advanced > Script (type exactly how shown, without the leading #)

# hide_clock
# Hides the clock window.

# show_clock
# Shows the clock window.

module DrawClock
  MINS_VAR_ID = 1
  # Variable ID of minutes
  HOURS_VAR_ID = 2
  # Variable ID of hours
  POSITION = 3
  # Initial position
  # 1 = upper left
  # 2 = lower left
  # 3 = upper right
  # 4 = lower right
  # if set to 0, the clock is not shown until the "X" button is pressed
  # (keyboard A)
  INITIAL_HIDE = true
  # Clock hide value on startup.  When set to true, the clock his hidden.
  # If set to false, the clock is shown from the first map screen.
  SHOW_WINDOW = true
  # If set to false, no window will be drawn around the clock.  If set to false
  # the normal blue window will be shown.
end

class Scene_Map < Scene_Base
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  alias start_clock start
  def start
    start_clock
    @clock_window = Window_Clock.new($game_system.clock_draw_posx, $game_system.clock_draw_posy)
    @clock_window.openness = 0 if $game_system.clock_draw_pos == 0
  end
 
  def clock_draw_posx
    return DrawClock::POSITION
  end

  def clock_draw_posy
    return DrawClock::POSITION
  end
 
  alias update_clock update
  def update
    if Input.trigger?(Input::Z)
      @clock_window.shift_pos if @clock_window.visible
    end
    @clock_window.update
    update_clock
  end
 
  alias terminate_clock terminate
  def terminate
    @clock_window.dispose
    terminate_clock
  end
end

class Window_Clock < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     x : window X coordinate
  #     y : window Y coordinate
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 12 * 5 + 32, WLH + 32 - 12)
    self.windowskin = Cache.system("") unless DrawClock::SHOW_WINDOW
    update
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    draw_time
  end
 
  def update
    super
    self.visible = !$game_system.hide_clock
    if self.openness == 0 && $game_system.clock_draw_pos > 0
      self.x = $game_system.clock_draw_posx
      self.y = $game_system.clock_draw_posy
      self.open
    end
    update_clock if self.openness > 0
  end
 
  def shift_pos
    last_pos = $game_system.clock_draw_pos
    $game_system.clock_draw_pos += 1
    if $game_system.clock_draw_pos > 4
      $game_system.clock_draw_pos = 0
    end
    self.close if last_pos != $game_system.clock_draw_pos
    update
  end   
 
  def update_clock
    last_mins = @mins
    last_hrs = @hrs
    @mins = $game_variables[DrawClock::MINS_VAR_ID]
    @hrs = $game_variables[DrawClock::HOURS_VAR_ID]
    @blink_counter ||= 0
    @blink_counter += 1
    @blink_counter %= 100
    last_dots_on = @dots_on
    if @blink_counter <= 50
      @dots_on = true
    else
      @dots_on = false
    end
    if (last_dots_on != @dots_on) || (last_mins != @mins) || (last_hrs != @hrs)
      refresh
    end
  end
   
  def draw_time
    mins = @mins
    hrs = @hrs
    sep = @dots_on ? ":" : " "
    if mins < 10
      mins = "0" + mins.to_s
    else
      mins = mins.to_s
    end
    if hrs < 10
      hrs = "0" + hrs.to_s
    else
      hrs = hrs.to_s
    end
    self.contents.draw_text(0, 0 - 7, 24, WLH, hrs)
    self.contents.draw_text(0 + 24, 0 - 7, 12, WLH, sep)
    self.contents.draw_text(0 + 36, 0 - 7, 24, WLH, mins)
  end
   
end

class Game_System
  attr_accessor :clock_draw_pos
  attr_accessor :hide_clock
 
  def hide_clock
    @hide_clock = DrawClock::INITIAL_HIDE if @hide_clock == nil
    return @hide_clock
  end
 
  def clock_draw_pos
    @clock_draw_pos ||= DrawClock::POSITION
    return @clock_draw_pos
  end
 
  def clock_draw_posx
    posx = 32
    posy = 416 - 32 - 16 - 16
    case clock_draw_pos
    when 1
      posy = 32
    when 2
      posx = 32
      posy = 416 - 32 - 16 - 16     
    when 3
      posx = 544 - 32 - (12 * 5) - 32
      posy = 32
    when 4
      posx = 544 - 32 - (12 * 5) - 32
    end
    return posx
  end
 
  def clock_draw_posy
    posx = 32
    posy = 416 - 32 - 16 - 16
    case clock_draw_pos
    when 1
      posy = 32
    when 2
      posx = 32
      posy = 416 - 32 - 16 - 16     
    when 3
      posx = 544 - 32 - (12 * 5) - 32
      posy = 10
    when 4
      posx = 544 - 32 - (12 * 5) - 32
    end
    return posy
  end
 
end

class Game_Interpreter
  def hide_clock
    $game_system.hide_clock = true
  end
 
  def show_clock
    $game_system.hide_clock = false
  end
end

 


 Bild des Monats

rooftop party

Views: 3614
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal