• Anmelden

Li Nan

Ankömmling

  • »Li Nan« ist der Autor dieses Themas

Motto: Man lernt nie aus!

  • Nachricht senden

1

Dienstag, 15. Juli 2014, 18:11

Tag und Nacht Script gesucht

Hallo ihr lieben!
Ich suche ein Tag und Nacht Script das es hier immer unter euren Scripts zu finden gab. Es war für den XP und man hatte vier Zeitabschnitte bei denen man auch mit Events arbeiten konnte. Zum Beispiel Mittags öffnet erst ein Geschäft, oder Abends schließt es. Die Fenster werden anders geöffnet und so weiter und so fort.
Ich habe schon mit dem Forgotten E-Book ein Tag und Nacht Event erstellt, das ist mir aber noch zu wenig. Ich würde das gerne echt wieder verwenden, kann es aber nirgends finden. Google hat auch nicht geholfen. Vielleicht wisst ihr ja, welches ich meine. Es hatte Zeit, Datum und Monate sowie Jahre die man individuell einstellen konnte.

LG,
Li Nan
  • :quill: Meine Projekte

    Bild
    Momentan in Planungsphase: Mana Tales
    Story: :star: :star: :star-empty: :star-empty: :star-empty:
    Charaktere: :star: :star: :star-empty: :star-empty: :star-empty:
    Mapping: :star: :star-empty: :star-empty: :star-empty: :star-empty:
    Scripts: :star: :star: :star: :star: :star-empty:
    Artworks: :star: :star-empty: :star-empty: :star-empty: :star-empty:
  • :rmvx:

    Mapping: :star: :star: :star: :star-half: :star-empty:
    Storywriting: :star: :star: :star: :star: :star-empty:
    Scripts: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
  • :rmxp:

    Mapping: :star: :star: :star: :star-half: :star-empty:
    Storywriting: :star: :star: :star: :star: :star-empty:
    Scripts: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
  • :heart: Lieblingsspiele

    PS3: Call of Duty Black Ops: Zombie Mode, Warriors Orochi 3, Dynasty Warriors 7,
    PS2: Dark Chronicle, Final Fantasy XII, Dynasty Warriors 3-5, Samurai Warriors 1-2,
    PC: Warcraft III - Frozen Throne (DotA), League of Legends, Sims 3, Fable 1&3, Oblivion, Atlantica

2

Dienstag, 15. Juli 2014, 22:53

Das von thunderbolt256? Klingt zumindest nach seinem Skript.
Das habe ich noch da, inklusive seiner alten Demo. :hi:

Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
#==============================================================================
#
#                             Tag-Nacht-Script
#
#------------------------------------------------------------------------------
#
# Grundidee und Originale von GermanD, 
# RGSS-Umsetzung und erweitere Funktionen von thunderbolt256
#
#==============================================================================
#
# Typ 0 = pro Sekunde vergehen im Spiel etwa 40 Sekunden
# Typ 1 = pro Sekunde vergeht im Spiel auch nur eine Sekunde
# Typ 2 = Im Spiel ist die Zeit identisch mit der echten Zeit 
# (die auf deinem PC eingestellt ist)
#
$timetyp = 0
 
class Game_Time
 
  attr_accessor :second
  attr_accessor :minute
  attr_accessor :hour
  attr_accessor :day
  attr_accessor :weekday
  attr_accessor :week_year
  attr_accessor :month
  attr_accessor :year
 
  def main
 
    # Hier kann man andere Zeitsysteme definieren. Es ist immer dahinter
    # angegeben, was sie bedeuten.
    @maxsec = 60        # die Minute besteht aus 60 Sekunden
    @maxmin = 60        # die Stunden besteht aus 60 Minuten
    @maxhour = 24       # der Tag besteht aus 24 Stunden
    @maxweekday = 7     # die Woche besteht aus 7 Tagen
    # Hier stehen, wie die Wochentage heißen sollen. Die Anzahl der 
    # Namen muss genauso groß sein, die es Wochentage geben soll!!
    @weekdayname = ["Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"]
    @maxmonthday = 30   # der Monat besteht aus 30 Tagen
    @maxmonth = 12      # das Jahr besteht aus 12 Monaten
    # Hier stehen, wie die Monate heißen sollen. Die Anzahl der 
    # Namen muss genauso groß sein, die es Monate geben soll!!
    @monthname = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"]
 
    # Folgende vier Zeilen nur bearbeiten, wenn man sich hiermit gut auskennt.
    # Sie definieren, ab wann es Morgen (@moa), Mittag (@mia), Abend (@aa) und
    # Nacht (@na) ist. 
    @moa = (6*@maxhour / 24).round
    @mia = (10*@maxhour / 24).round
    @aa = (18*@maxhour / 24).round
    @na = (22*@maxhour / 24).round
 
    @zyklus = true      # true = Tag-Nacht-Zyklus aktiv = Bei Nacht wirds dunkel.
 
    @drinnen = true     # hier kann man angeben, ob man drinnen startet oder
                        # draußen.
 
 jegliche Logik muss man, wenn
       # man drinne startet, false angeben. Die Methoden
       # beruhen aber daraus, dass @drinnen == true bedeutet
                        # das man in einem Haus ist.
    @stade = 0
 
    @trans = false            # bei true werden die Zeitdaten auf die Variablen
                              # übertragen, bei false nicht!
    @trans2 = false           # bei true werden die Zeitswitche gesetzt(z.B. Morgen)
    @vc = 3                   # die Zahl der ersten Variable (für Tageszeit)
                              # Sekunde, Min, Stunde, Tag, Wochentag,
                              # Woche im Monat, Woche in Jahr, Monat, Jahr
    @sc = 7                   # die Zahl für den ersten Switch
 
  end
 
  def initialize(year=500+rand(100), month=-1, d=-1, h=-1, min=-1, sec=-1)
    main
    unless $timetyp == 2
      @second = (sec == -1)?rand(@maxsec) : sec 
      @minute = (min == -1)?rand(@maxmin) : min
      @hour = h
      @day = (d == -1)?rand(@maxmonthday) : d
      @month = (month == -1)?rand(@maxmonth) : month
      @year = year
      @weekday = (@year*@maxmonth*@maxmonthday+(@month-1)*@maxmonthday+@day) % @maxweekday
      @weekday = (@weekday == 0 ) ? @maxweekday : @weekday
      @week_year = ((@month*@maxmonthday + @day) / @maxweekday).to_i
    else
      time = Time.now
      @second = time.sec
      @minute = time.min
      @hour = time.hour
      @day = time.mday
      @month = time.mon
      @year = time.year
      @weekday = time.wday
      @week_year = ((@month*30 + @day) / 7).to_i
    end
 
    @trans = true
    @trans2 = true
    @withzins = true
    time_of_day_main
 
    if @trans 
      $game_variables[@vc] = @second
      $game_variables[@vc+1] = @minute
      $game_variables[@vc+2] = @hour
      $game_variables[@vc+3] = @day
      $game_variables[@vc+4] = @weekday
      $game_variables[@vc+5] = @week_year
      $game_variables[@vc+6] = @month
      $game_variables[@vc+7] = @year
    end
  end
 
  def get_month_name
    return @monthname[@month-1]
  end
 
  def get_weekday_name
    return @weekdayname[@weekday-1]
  end
 
  def zyklus_ein
    @zyklus = true
    time_of_day_main
  end
 
  def zyklus_aus
    @zyklus = false
    $game_screen.start_tone_change(Tone.new(0 ,0 ,0 ,0 ), 1);
  end
 
  def add_sec(n)
    @second += n
    loop do
      if @second >= @maxsec
        @second -= @maxsec
        inc_min
      else
        break
      end
    end
    if @trans 
      $game_variables[@vc] = @second
      $game_variables[@vc+1] = @minute
      $game_variables[@vc+2] = @hour
      $game_variables[@vc+3] = @day
      $game_variables[@vc+4] = @weekday
      $game_variables[@vc+5] = @week_year
      $game_variables[@vc+6] = @month
      $game_variables[@vc+7] = @year
    end    
  end
 
  def inc_sec
    add_sec(1)
  end
 
  def add_min(n)
    @minute += n
    loop do
      if @minute >= @maxmin
        @minute -= @maxmin
        inc_h
      else
        break
      end
    end
    if @trans 
      $game_variables[@vc+1] = @minute
      $game_variables[@vc+2] = @hour
      $game_variables[@vc+3] = @day
      $game_variables[@vc+4] = @weekday
      $game_variables[@vc+5] = @week_year
      $game_variables[@vc+6] = @month
      $game_variables[@vc+7] = @year
    end  
    $game_map.refresh
  end
 
  def inc_min
    add_min(1)
  end
 
  def add_h(n)
    @hour += n
    loop do
      if @hour >= @maxhour
        @hour -= @maxhour
        inc_d
      else
        break
      end
    end
    time_of_day_main
  end
 
  def inc_h
    add_h(1)
  end
 
  def add_d(n)
    @day += n
    loop do
      if @day > @maxmonthday
        @day -= @maxmonthday
        inc_month
      else
        break
      end
    end
    @weekday += n % @maxweekday
    @weekday = (@weekday > @maxweekday) ? @weekday - @maxweekday : @weekday
    @week_year = ((@month*@maxmonthday + @day) / @maxweekday).to_i
  end
 
  def inc_d
    add_d(1)
  end
 
  def add_month(n)
    @month += n
    loop do
      if @month > @maxmonth
        @month -= @maxmonth
        inc_year
      else
        break
      end
    end
    @weekday = (@year*@maxmonth*@maxmonthday+(@month-1)*@maxmonthday+@day) % @maxweekday
    @week_year = ((@month*@maxmonthday + @day) / @maxweekday).to_i
  end
 
  def inc_month
    add_month(1)
  end
 
  def add_year(n)
    @year += n
    @weekday = (@year*@maxmonth*@maxmonthday+(@month-1)*@maxmonthday+@day) % @maxweekday
  end
 
  def inc_year
    add_year(1)
  end
 
  def raus
    @drinnen = true
    set_screen
  end
 
  def rein
    @drinnen = false
    set_screen
  end
 
  def time_of_day(n)
    if @trans2
      for i in @sc...(@sc+4)
        $game_switches[i] = false
      end
      $game_switches[@sc+n-1] = true
    end
    @stade = n
    set_screen
  end
 
  def set_screen
    if @zyklus
      case @stade
      when 1 # Morgens (6-10 Uhr)
        if @drinnen #morgens drinnen
          $game_screen.start_tone_change(Tone.new(-17 ,-51 ,-34 ,0 ), 15);
        else # morgens draußen
          $game_screen.start_tone_change(Tone.new(51 ,-51 ,-102 ,0 ), 15);
        end
      when 2 # Mittags (10-18 Uhr) hier ist draußen und drinnen gleich
        $game_screen.start_tone_change(Tone.new(0 ,0 ,0 ,0 ), 15);
      when 3 # Abends (18-22 Uhr) das (@drinnen ? -51 : -135) bedeutet: -51 wenn drinnen sonst -135
        $game_screen.start_tone_change(Tone.new(-65 ,(@drinnen ? -51 : -135),-35 ,17 ), 15);
      when 4 # Nachts (22-6 Uhr)
        if @drinnen # nachts drinnen
          $game_screen.start_tone_change(Tone.new(-136 ,-102 ,-17 ,51 ), 15);
        else # nachts draußen
          $game_screen.start_tone_change(Tone.new(-180 ,-120 ,-10 ,70 ), 15);
        end
      end
    end
  end
 
  def time_of_day_main
    if @hour >= 0 and @hour < @moa
      time_of_day(4)
    elsif @hour >=@moa and @hour < @mia
      time_of_day(1)
    elsif @hour >=@mia and @hour < @aa
      time_of_day(2)
    elsif @hour >=@aa and @hour < @na
      time_of_day(3)
    elsif @hour >=@na and @hour < @maxhour
      time_of_day(4)
    end
  end
end
 
class Scene_Title
  alias command_new_game_tnsobgdeebt :command_new_game
  def command_new_game
    command_new_game_tnsobgdeebt
    # Man kann für Game_Time.new() weniger Parameter übergeben.
    # Der erste Paramater ist immer, das Jahr, der zweite, der Monat,
    # dann, der Tag, die Stunde, die Minute, die Sekunde.
    # Wenn man z.B. nur 4 Parameter angibt, werden sie für das Jahr
    # Monat, Tag und Stunde eingesetzt, Minute und Sekunde, werden, dann
    # zufällig bestimmt. Wenn keine Parameter angegeben werden, was möglich
    # ist, wird alles zufällig bestimmt.
    $game_time = Game_Time.new(554, 11, 8, 5, 58, 0)
  end
end
#==============================================================================
# ** Scene_Save
#==============================================================================
class Scene_Save < Scene_File
  alias write_save_data_tnsobgdeebt :write_save_data
  def write_save_data(file)
    write_save_data_tnsobgdeebt(file)
    Marshal.dump($game_time, file)
  end
end
#==============================================================================
# ** Scene_Load
#==============================================================================
class Scene_Load < Scene_File
  #--------------------------------------------------------------------------
  alias read_save_data_tnsobgdeebt  :read_save_data
  def read_save_data(file)
    read_save_data_tnsobgdeebt(file)
    $game_time = Marshal.load(file)
  end
end
#==============================================================================
# ** Game_System
#==============================================================================
class Game_System
  alias update_tnsobgdeebt :update
  def update
    update_tnsobgdeebt
    case $timetyp 
    when 0
      unless $game_time == nil
        $game_time.inc_sec
      end
    when 1
      if Graphics.frame_count % Graphics.frame_rate == 0
        unless $game_time == nil
          $game_time.inc_sec
        end
      end
    when 2
      time = Time.now
      loop do
        if (time.sec == $game_time.second) && (time.min == $game_time.minute)          
          break
        end
        unless $game_time == nil
          $game_time.inc_sec
        end
      end
    end
  end
end
#==============================================================================
# ■ Window_PlayTime
#------------------------------------------------------------------------------
#  Hier ist der teil wo man die Uhrzeit sehen kann.
#  Durch die Uhr eröffnen sich neue Möglichkeiten
#  Zum Beispiel kann man mit etwas können
#  einen Shop machen der nur zwischen
#  15 und 18 Uhr geöffnet hat.
#  Oder die shops schließen ab 18Uhr^^
#  Also Ihr seht so eine Uhr is Praktisch^^
#
#                                                             (c) by German D
#==============================================================================
#  95% ist diese Klasse original von German D und 5% von thunderbolt verändert.
#==============================================================================
 
class Window_PlayTime < Window_Base
  #--------------------------------------------------------------------------
  #  Hier sind einige Sachen geändert.
  #  Das einzigste was aber relevant ist,
  #  dass anstatt 
  #  super(0, 0, 160, 96) 
  #  nun
  #  super(0, 0, 160, 191)
  #  dasteht.
  #  Dies dient dazu, um das Feld wo die
  #  Uhrzeit drinn steht zu vergrößern.
  #  Den Schrittzähler habe ich durch die gespielte
  #  Zeit ersetzt.
  #  Man kann Events an bestimmten
  #  Tagen stattfinden lassen. Ist doch schön oder? 
  #--------------------------------------------------------------------------
  def initialize(pos=nil, date=true)
    if pos.nil?
      super(0, 0, 160, 191)
    else
      case pos
      when 0 # links oben
        if date
          super(0, 0, 160, 191)
        else
          super(0, 0, 160, 88)
        end
      when 1 # rechts oben
        if date
          super(480, 0, 160, 191)
        else
          super(480, 0, 160, 88)
        end
      when 2 # links unten
        if date
          super(0, 289, 160, 191)
        else
          super(0, 392, 160, 88)
        end
      when 3 # rechts unten
        if date
          super(480, 289, 160, 191)
        else
          super(480, 392, 160, 88)
        end
      end
      self.opacity = 190
    end
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.color = system_color
    self.contents.font.name = "Arial"
    self.contents.font.size = 24
    @date = date
    refresh
  end
  #--------------------------------------------------------------------------
  #  Der interessanteste Teil^^
  #  Soo in diesem Teil ist die Uhr
  #  hier wird es durch Variabeln etc. 
  #  ermöglicht das im menu ne Uhrzeit und
  #  ne Anzeige das Wochentages angezeigt wird.
  #  Die Uhr bleibt stehen wenn man ins menu
  #  geht.
  #--------------------------------------------------------------------------
  def refresh
    $nds_txt = ["", 1, ":","", 4, ":","", 7] 
    # Falls ihr euch wundert warum das so da steht im prinzip läuft das so ab:
    # [""(0),1(1), ":"(2),""(3), 4(4), ":"(5),""(6), 7(7)] (zahlen in klammern sin da um die Reihenfolge zu verstehen)
    # wenn ich nun ["", 1, ":","", 2, ":","", 3] machen würde, würde eine seltsame Zahl angezeigt
    # also muss das so sein ;-)
 
    #hier wird zu $nds_txt jeweils einer Variable zugeordnet 
    $nds_txt[1] = $game_time.hour # Variable 5 steht für Stunde
    $nds_txt[4] = $game_time.minute # Variable 4 steht für Minute
    $nds_txt[7] = $game_time.second # Variable 3 steht für Sekunde
    $nds_txt[10] = $game_time.day # Variable 7 steht für Tag
    $nds_txt[11] = $game_time.year # Variable 3 steht für Jahr
 
    # Hier wird dem Maker erklärt, dass er, wenn die Ziffer bei der Uhr über 9 ist,
    # die Ziffer wieder auf 0 bringen soll
    if $nds_txt[1] <= 9
     then $nds_txt[0] = "0"
    end
 
    if $nds_txt[4] <= 9
     then $nds_txt[3] = "0"
    end
 
    if $nds_txt[7] <= 9
     then $nds_txt[6] = "0"
   end
 
  # Hier geben wir, den Wochentag ein.
  $nds_txt[8] = $game_time.get_weekday_name
 
   # nunja hier wird das gleiche wie darüber gemacht nur halt für die Monate
   $nds_txt[9] = $game_time.get_month_name
   # Ihr seht... is alles schön logisch was?
   # So nun kommen zu einem wichtigen Punkt... 
   # Dem Punkt, wo dann alles dargestellt werden muss
     self.contents.clear
     self.contents.font.color = system_color
     self.contents.draw_text(4, 0, 120, 32, "Uhrzeit")
     self.contents.font.color = normal_color
     self.contents.draw_text(4, 0, 120, 70, "#{$nds_txt[1..7]}")
     if @date
       self.contents.font.color = system_color
       self.contents.draw_text(4, 0, 120, 132, "Datum")
       self.contents.font.color = normal_color
       self.contents.draw_text(4, 0, 120, 170, "#{$nds_txt[8]}")
       self.contents.font.color = normal_color
       self.contents.draw_text(4, 0, 120, 232, "#{$nds_txt[10]}" "." "#{$nds_txt[9]}")
       self.contents.font.color = normal_color
       self.contents.draw_text(4, 0, 120, 290, "Jahr" " " "#{$nds_txt[11]}")
      end
    end
  #--------------------------------------------------------------------------
  # Hier ist nichts geändert
  #--------------------------------------------------------------------------
  def update
    super
    if $timetyp == 0 && $game_time.second == 0
      refresh
    elsif $timetyp != 0 && Graphics.frame_count % Graphics.frame_rate == 0
      refresh
    end
  end
end
zum Lesen den Text mit der Maus markieren
»Playm« hat folgende Datei angehängt:
  • Zeitscript.rar (254,78 kB - 16 mal heruntergeladen - zuletzt: 3. Oktober 2017, 22:28)

-Dolly-Princess-

unregistriert

3

Freitag, 20. Februar 2015, 18:02

Playm kannst du mir das Script umschreiben, das der Hud kleiner ist nur Uhrzeit und Datum soll da stehen aus dem menü soll das raus.
so ungefähr.

15:05 Uhr
15.05.2015

das reicht als Hud oder wenn mache den Hud weg und mache das anstatt des Stepzählers.
geht das?

Aber nur die beiden sachen sollen zu sehen sein.
ich habe es probiert und bekomme es einfach nicht hin.

4

Freitag, 20. Februar 2015, 18:44

Wird erledigt.
Bild

-Dolly-Princess-

unregistriert

5

Freitag, 20. Februar 2015, 20:08

Playm ist erledigt. :)
Danke an Lycaon das ist super geworden :)

Social Bookmarks