• Anmelden

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

1

Sonntag, 6. September 2015, 13:55

[Offen] Hide&Seek Bug

Hallo! :3

Letztens habe ich zufällig einen Bug entdeckt.
Und zwar hatte ich herumexperiemtiert, wie man einen Chara herumschieben kann- inzwsichen läuft die Eventlösung! :D
Es geht um etwas anderes.

Hide&Seek
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
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
#==============================================================================
# Sichtweite plus Sichtblockevents Script
# "Hide and Seek" - Script
#------------------------------------------------------------------------------
# By Hüpfende Kokosnuss || Jumping Coconut 
# 8. June 2009,  Version 2.1
#==============================================================================
=begin
 
                            Deutsche Erkärung
                            =================
 
Dieses Skript sorgt dafür, dass ihr eine Art Versteckspiel
ganz einfach basteln könnt. Wie z.B. bei Zelda Ocarina of Time oder in 
etlichen anderen Spielen. Das Prinzip hierbei ist immer:
Der Spieler darf von den Events nicht gesehen werden, kann sich aber
hinter gewissen Gegenständen verstecken.
Es gibt hier 2 Arten von Events, die neuerdings sogar Kombiniert werden
können:
 
Seek-Events ("Suchende Events"): Diese Events "suchen" den Spieler.
                                 Wenn sie den Spieler sehen, starten sie sich.
                                 Man kann bei Seekern viele Dinge einstellen, 
                                 zum Beispiel die Sichtweite.
Hide-Events ("Versteck-Events"): Steht ein Hide-Event zwischen dem Spieler 
                                 und einem Seek-Event, so wird das Seek-Event
                                 den Spieler nicht "sehen" und kann sich somit
                                 nicht starten.
 
Außerem kann man Terrain-Tags einstellen, welche die selben Fähigkeiten wie
ein Hide-Event haben (etwa ein Baum).
 
 
Allgemeines zur Definition von Hide- und Seek-Events
----------------------------------------------------
 
Hide- und Seek-Events definiert man durch den Eventnamen (gilt dann für alle
Eventseiten) oder durch Kommentare auf einer Eventseite (gilt dann nur für 
die entsprechende Eventseite). Hier nimmt man auch alle Einstellungen, wie
zum Beispiel Sichtweite und Sichtwinkel, vor.
Der Eventname muss immer angepasst werden. Entweder man nimmt die Einstellungen
direkt im Eventnamen vor, oder der Eventname muss ein Schlüsselwort für 
Kommentare enthalten. Nur Events, deren Namen dieses Kommentar-Schlüsselwort
enthält, werden auf ihre Kommentare hin untersucht.
Beispiele von Eventnamen für Hide- and Seekevents:
 
 
Eventname:  Hide Seek 5 90 7
             |     |   \ | /
             |     |  Reaktionszeit 5 Sek., Sichtwinkel 90°, Sichtweite 7 Tiles
             |   Event ist ein Seeker (löst sich aus, wenn es den Spieler sieht)
            Event ist undurchsichtig für andere Seeker
 
 
Eventname:  Bla bla Event bla Comment:5 bla bla
                   |             |
             Sinnloser Kram      |
                      Hide- and Seekanweisungen befinden sich in Kommentaren
                      auf den jeweiligen Eventseiten, die 2 gibt an, dass der
                      jeweilige Kommentar sich innerhalb der ersten 5 
                      Eventbefehle befindet
 
 
Die selben Befehle wie für Eventnamen können auch für Kommentare verwendet 
werden. Zu beachten hierbei ist, dass bei Kommentaren alle Befehle in EINER
Kommentarzeile stehen müssen!
Die Reihenfolge ist egal, außer bei Reaktionszeit, Sichtwinkel und Sichtweite.
Diese müssen, wenn sie überhaupt angegeben werden, IMMER die letzten 3 Werte
bilden. Zuerst wird die Reaktionszeit angegeben (ist 0 wenn sie fehlt), dann
der Sichtwinkel, dann die Sichtweite. Siehe hierzu auch das erste Beispiel.
Folgende Schlüsselworte können angegeben werden:
  - Hide     = Event ist ein Hide-Event, also blockiert es die Sicht der Seeker.
  - Seek     = Event ist ein Seeker, löst also aus, wenn Spieler in Sichtweite.
  - Circle   = Event sieht in Sichtkreisen (nicht in Sichtdreiecken). Besonders
               nützlich wenn dabei ein Sichtwinkel von 0 angegeben wurde, 
               das ermöglicht dem Seeker nämlich, Kreisförmig in alle Richtungen
               zu schauen (gut für Sensoren, Fallen, etc).
  - Reverse  = Wenn das Seekerevent eigentlich auslösen sollte, löst es nicht
               aus, und wenn es nicht auslösen sollte, löst es aus. Gut für 
               Events, nur agieren sollen, wenn Spieler außer Sichtweite ist.
  - Comment:X= Comment beziehungsweise Comment:X gibt an, dass neben den
               Befehlen im Eventnamen auch die ersten X Befehle des Events
               nach Kommentaren gescannt werden sollen, die Hide-and Seek
               Befehle beeinhalten. Die Angabe von X ist optional, aber
               gut für die Performance!
 
Folgende Werte bilden den Schluss des Eventnamens:
  - Drittletzte Stelle = Reaktionszeit in Sekunden, Seeker-Event löst erst
                         aus, nach dem der Spieler sich bereits X Sekunden
                         im Sichtfeld befindet.
  - Zweitletzte Stelle = Sichtwinkel in Grad. Gültige Werte sind 1-179 Grad.
  - Letzte Stelle      = Sichtweite in Tiles.
 
Alle Schlüsselworte und die Positionen der Werte können unter 
"Hide and Seek SETTINGS" verändert werden.
 
 
Erstellen von "Verstecken" für den Spieler
------------------------------------------
 
Verstecke sind leicht einzurichten. Hide-Events fungieren als Sichtblocker 
(wie diese eingerichtet werden ist ja oben beschrieben).
Um Events zu sparen kann man allerdings auch bestimmte Terrain-Tags vergeben,
welche dann automatisch wie Hide-Events gehandhabt werden.
Man kann sowohl eins als auch mehrere Terrains angeben.
Einstellbar bei den SETTINGS unter: $has_hideterrain
 
 
Neue Eventbefehle (Callscripts)
-------------------------------
 
Für TRUE/FALSE Abfrage in Conditional Branch:
  has_seek(Sichtweite, Sichtwinkel, Circle, Reaktionszeit, Event-ID)
   Manuelle Seek-Abfrage für spezielles Event. Die Bedingung ist dann 
   entweder wahr, wenn der das Event den Spieler unter den entsprechenden
   Bedingungen sieht, oder falsch, wenn dies nicht der Fall ist.
   Reaktionszeit und Event-ID müssen nicht immer angegeben werden, 
   sind dann standardmäßig 0 und die ID des aktuellen Events. Beispiel hierfür:
  has_seek(5, 90, false) 
   => Sichtweite 5, Sichtwinkel 90, gilt für aktuelles Event.
 
  has_seconds_player_seen(Event-ID)
   Gibt als Zahl zurück, wie viele Sekunden der Spieler schon im Sichtfeld des
   entsprechenden Seek-Events ist. Wird die Event-ID nicht angegeben, so 
   wird das aktuelle Event genommen. Beispiel:
  has_seconds_player_seen == 10
   => Conditional Branch ist wahr, wenn der Spieler GENAU 10 Sekunden im 
      Sichtfeld des aktuellen Events ist. Ansonsten kommt der ELSE-Zweig zum 
      tragen. Funtkioniert nur bei Seekern, ist der Spieler nicht im Sichtfeld,
      wird 0 zurückgegeben.
 
Normale Eventbefehle:
  has_set_seconds_player_seen(Sekunden, Event-ID) 
   Setzt die Sekunden, die das Event mit der entsprechenden ID den Spieler schon
   gesehen hat, auf übergebenen Wert.
   Wird nichts übergeben, so setzt es die Sekunden des aktuellen Events auf 0.
  has_set_seconds_player_seen(5, 10)
   => Event mit der ID 10 sieht den Spieler jetzt seit 5 Sekunden. Kann dann
      Beispielsweise mit "has_seconds_player_seen" abgefragt werden.
 
 
Performance
-----------
 
Das Skript verbraucht nicht viel Performance, für das was es leistet. 
Generel gilt, dass Events, die über Eventnamen deklariert sind, weniger
Performance fressen.
Sind Kommentare doch unausweichlich, so sollte auf jedenfall die Funktion 
genutzt werden, den Bereich, in dem Sich der Kommentar befindet, anzugeben
(also mit Comment:X)!
Des weiteren kann man das Skript über Mapnamen an- und ausstellen.
Dann ist das Skript nur auf den Maps aktiv, die das entsprechende
Schlüsselwort beeinhalten (oder nur auf denen, die das Schlüsselwort NICHT
beeinhalten, ist Einstellbar ;D).
Hierfür muss bei den SETTINGS $has_mpkey und $has_mpcon angepasst werden.
Soll das Skript auf allen Maps aktiv sein, empfielt sich, bei $has_mpkey
einfach "" einzutragen und $has_mpcon auf true zu stellen.
 
 
Zur Kompatibilität
------------------
 
Eigentlich funktioniert dieses Skript sogar mit Pixelmovement.
Ich habe es mit f0tz!baerchens Pixelmovement 1.5 getestet, wichtig ist nur,
dass Hide and Seek unter das Pixelmovement- und über das Main- Skript 
gestellt wird.
Es ist sogar zu fast allen vorherigen Hide- and Seek Versionen 
abwärtskompatibel, so dass man alte Hide- and Seek Events nicht noch mal 
umbennen braucht. Es empfiehlt sich aber, die alten Maps trotzdem noch 
zu testen, wenn man von einer alten Hide- and Seek Version auf die aktuelle
umspringt.
 
 
Sonstiges
---------
 
Wenn ein Seek-Event weder einen Kreis noch ein Sichtdreieck bekommt (weil man
einen Winkel größer als 179 oder kleiner als 1 gewählt hat), löst es nur aus,
sobald der Spieler auf das Event drauftritt. Das würde nämlich sogar ein Blinder
merken ^_~
 
Umgekehrt: Wenn der Spieler auf einem Hide-Event steht ist er für
die Seek-Events unsichtbar. Das ist gut für "geschützte Bereiche".
 
Bei allen Schlüsselwörtern wird Groß- und Kleinschreibung nicht beachtet.
 
 
Das ganze System hört sich vielleicht kompliziert an, aber in der Demo gibts 
genug Beispiele, und wenn man sich die Erklärungen hier mal 5 Minuten
durchliest, versteht mans auch! Es ist alles sehr logisch aufgebaut.
Ich wünsche euch allen viel Spaß mit euren jeweiligen Projekten ^^
 
=end
#==============================================================================
# Erwähnt bitte "Hüpfende Kokosnuss" in den Credits.
# Please remember "Jumping Coconut || Hüpfende Kokosnuss" for your credits!
#==============================================================================
 
# ------ Hide and Seek SETTINGS ------
 
 
# - Keywords for Events -
 
# Keyword for Hide-Events
  $has_hdkey = "Hide"
# Keyword for Seek-Events
  $has_skkey = "Seek"
# Keyword for Seighting-Circle (Seek-Event only)
  $has_sckey = "Circle"
# Keyword for Revers-Function (Seek-Event only)
  $has_rvkey = "Reverse"  
# Keyword if event contains Hide-and-Seek specific comments
  $has_cmkey = "Comment"
 
# - Values for Events - 
 
# Follwoing Settings should only be changed if you're sure what you're doing.
# Position where Range is declared (1 for last, 2 for forelast, 3 for ...)
  $has_swpos = 1 
# Position where Angle is declared (1 for last, 2 for forelast, 3 for ...)
  $has_sapos = 2
# Position where Reaction Time is declared (1 for last, 2 for forelast, 3 for ...)
  $has_rtpos = 3
 
# - Other -
 
# Keyword for map ("" for no Keyword)
  $has_mpkey = "Hide and Seek"
# TRUE if Keyword has to appear in Map-Name for making Hide and Seek active,
# FALSE if Keyword has to appear in Map-Name for turning Hide and Seek off
  $has_mpcon = true
 
# Hideterrains (these terrains will act like a Hide-Event)
# for example you can write $has_hideterrain = 1 or $has_hideterrain = [4,6,7]
  $has_hideterrain = 5
 
# ------ Hide and Seek SETTINGS ------
 
 
#==============================================================================
# ** Game_Map
#------------------------------------------------------------------------------
#  Reading Event-Names for Hide and Seek - Declaration, Checking Seekers
#==============================================================================
class Game_Map
  #--------------------------------------------------------------------------
  # * Adding Public instance Variable, aliasing setup and update method
  #--------------------------------------------------------------------------
  attr_accessor :map
  alias_method(:hk_has_setup , :setup)
  alias_method(:hk_has_update, :update)
  #--------------------------------------------------------------------------
  # * After Setup, checking Event Names
  #--------------------------------------------------------------------------
  def setup(*args)
    hk_has_setup(*args)
    $hide_and_seek = nil
    if map_name.downcase.include?($has_mpkey.downcase) == $has_mpcon
      $hide_and_seek = Hide_and_Seek.new
    end
    unless $hide_and_seek == nil
      @events.each {|id, event|
        unless @map.events[id].name.downcase.include?($has_cmkey.downcase)    
          # Die Namen überprüfen, wenn keine Kommentare geprüft werden sollen
          name = @map.events[id].name.downcase
          seeker = name.include?($has_skkey.downcase)
          hideev = name.include?($has_hdkey.downcase)
          $hide_and_seek.change_unit(id, seeker, hideev)
        end
      }
      # Undurchsichtige Terrains überprüfen
      $hide_and_seek.get_terrains
      # Die Events müssen refreshed werden damit die Kommentare gelesen werden
      for event in @events.values
        event.refresh
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Map_Name  This method returns the map's name
  #--------------------------------------------------------------------------
  def map_name
    return load_data("Data/MapInfos.rxdata")[@map_id].name if @map_id != nil
  end
  #--------------------------------------------------------------------------
  # * Check Seekers each update
  #--------------------------------------------------------------------------
  def update(*args)
    hk_has_update(*args)
    if $hide_and_seek != nil
      $hide_and_seek.check_seekers 
    end
  end
end
 
#==============================================================================
# ** Game_Event
#------------------------------------------------------------------------------
#  Reading Comments for Hide and Seek - Declaration
#==============================================================================
class Game_Event
  #--------------------------------------------------------------------------
  # * Adding Public instance Variable, aliasing refresh and initialize method
  #--------------------------------------------------------------------------
  attr_accessor :hk_has_seen_player_since
  alias_method(:hk_has_refresh, :refresh)
  alias_method(:hk_has_initialize, :initialize)
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     hk_has_seen_player_since : Framecount, starting at the moment when 
  #                                event could see the player          
  #--------------------------------------------------------------------------
  def initialize(*args)
    @hk_has_seen_player_since = 0
    hk_has_initialize(*args)
  end
  #--------------------------------------------------------------------------
  # * If Event hasn't got a Hide and Seek - declared Name, check if it has
  #     a Hide and Seek - declared comment (each new Page)
  #--------------------------------------------------------------------------
  def refresh
    hk_has_refresh
    if $hide_and_seek != nil
      # Gelöschte Events aus den Listen entfernen
      $hide_and_seek.change_unit(@id, false, false) if @erased
      # Kommentare prüfen wenn gewünscht
      if event_name.downcase.include?($has_cmkey.downcase) and list != nil
        # checklistsize aus dem Eventnamen lesen (Schlüsselwort:checklistsize)
        checklistsize = 0
        event_name.split.each do |namepart|
          checklistsize = namepart.split(":")[1].to_i if namepart.include?($has_cmkey)
        end
        # Im Zweifelsfall listsize als checklistsize nehmen nehmen
        if checklistsize <= 0 or (list.size-1) < checklistsize
          checklistsize = (list.size-1)
        end
        seeker = false
        hideev = false
        for i in 0..checklistsize
          if list[i].code == 108 || list[i].code == 408
            unless seeker
              seeker = list[i].parameters[0].downcase.include?($has_skkey.downcase)
            end
            unless hideev
              hideev = list[i].parameters[0].downcase.include?($has_hdkey.downcase)
            end
          end
        $hide_and_seek.change_unit(@id, seeker, hideev)
        end
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Event_Name  This method returns the events's name
  #--------------------------------------------------------------------------
  def event_name
    if $game_map != nil
      return $game_map.map.events[@id].name if @id != nil
    end
  end
end
 
#==============================================================================
# ** Hide_and_Seek
#------------------------------------------------------------------------------
#  This Class handles interaction between User and pure Mathematics
#==============================================================================
class Hide_and_Seek
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     seekers : Array of EventIDs from Seeker-Events
  #     hideevs : Array of EventIDs from Hide-Events
  #     Starting HaS_Geometrie
  #--------------------------------------------------------------------------
  def initialize
    @seekers = []
    @hideevs = []
    $has_geometrie = HaS_Geometrie.new
  end
  #--------------------------------------------------------------------------
  # * Change Unit  Adds or Removes Hide- and Seekevent-IDs
  #     id   : Eventid
  #     seek : True for adding a Seeker, False for removing a Seeker
  #     hide : True for adding a Hideevent, False for removing a Hideevent
  #--------------------------------------------------------------------------
  def change_unit(id, seek, hide)
    @seekers.delete(id) unless seek == nil
    @hideevs.delete(id) unless hide == nil
    @seekers << id if seek
    @hideevs << id if hide
  end
  #--------------------------------------------------------------------------
  # *  Get Terrains  Scanning Map for Hideterrains
  #--------------------------------------------------------------------------
  def get_terrains
    @terrains = []
    terraintags = $has_hideterrain.to_a
    for x in 0..$game_map.map.width
      for y in 0..$game_map.map.height
        if terraintags.include?($game_map.terrain_tag(x,y))
          @terrains << {"x" => x, "y" => y}
        end
      end
    end
  end
  #--------------------------------------------------------------------------
  # *  Check Seekers  Reading Seek-Events over ID, filtering their 
  #                   Hide and Seek - Parameters (like seighting-distance)
  #--------------------------------------------------------------------------
  def check_seekers
    if @seekers != nil
      @seekers.each do |i|
        if $game_map.events[i] != nil
          # Je nach Sclüsselwort Eventname oder Kommentare prüfen
          unless $game_map.events[i].event_name.downcase.include?($has_cmkey.downcase)
            seekerstring = $game_map.events[i].event_name.downcase
          else
            # Herausbekommen, wie weit in die Commandlist reingeschaut werden muss
            checklistsize = $game_map.events[i].list.size-1
            $game_map.events[i].event_name.downcase.split.each do |namepart|
              checklistsize = namepart.split(":")[1].to_i if namepart.include?($has_cmkey)
            end
            # Die Commandlist durchgehen und nach entsprechendem Kommentar suchen
            for j in 0..checklistsize
              code = $game_map.events[i].list[j].code
              comment = $game_map.events[i].list[j].parameters[0]
              if (code == 108 || code == 408) and comment.downcase.include?($has_skkey.downcase)
                seekerstring = comment.downcase
                break
              end
            end
          end
          # Jetzt relevante Informationen aus Seekerstring filtern
          # Seek Befehl umkehren?
          reverse = seekerstring.include?($has_rvkey.downcase)
          # Kreisförmige Sicht aktivieren?
          circle = seekerstring.include?($has_sckey.downcase)
          seekerstring = seekerstring.split
          # Range auslesen (positionsbedingt)
          ra = seekerstring[seekerstring.size-$has_swpos].to_i
          # Sichtwinkel auslesen (positionsbedingt)
          sw = seekerstring[seekerstring.size-$has_sapos].to_i
          # Reaction Time auslesen (positionsbedingt)
          rt = seekerstring[seekerstring.size-$has_rtpos].to_i
          # Reaction Time ist in Sekunden, in Frames umrechnen
          rt *= Graphics.frame_rate
          # Abwärtskompatibilitiät v1.2 : nur über Eventnamen
          if comment == nil
            if ra == 0
              # Wert wurde von Kennzeichen mit ":" getrennt
              ra = seekerstring[seekerstring.size-$has_swpos].split(":")[1].to_i
            end
            if sw == 0
              # Sichtwinkel gabs nicht, Seeker sahen nur geradeaus (SW 1 Grad)
              sw = 1
            end
          end
          # Seek-Befehl absetzen und ins Gegenteil verkehren wenn Reverse-Schlüsselwort
          if seek2(ra, sw, i, circle) != reverse
            # Wenn in Sichtweite, den Framecount setzen falls noch nicht geschehen
            if $game_map.events[i].hk_has_seen_player_since == 0
              $game_map.events[i].hk_has_seen_player_since = Graphics.frame_count
            end
          else
             # Wenn nicht in Sichtweite, den Framecount auf 0 setzen
             $game_map.events[i].hk_has_seen_player_since = 0
          end
          # Wenn Player schon lang genug in Sichtweite ist
          if ( ( ( $game_map.events[i].hk_has_seen_player_since + rt ) <
            Graphics.frame_count ) and $game_map.events[i].hk_has_seen_player_since != 0 )
            # Starten nur wenn Event nicht läuft und nicht gelöscht ist
            unless $game_system.map_interpreter.running? or 
                   $game_map.events[i].list == nil or
                   $game_map.events[i].moving?
              $game_map.events[i].start
            end
          end
        end
      end
    end
  return true
  end
  #--------------------------------------------------------------------------
  # *  Seek2  New Seek-Method since v2.0, acts with HaS_Geometrie
  #     range  : How far the Seeker can look (Tiles)
  #     siwi   : Seighting-Triangle-Angle
  #              1-179 degrees, other values will skip Triangle-Check
  #     seeker : Seeker's Event-ID
  #     circle : Seighting-Circle with Radius range around Seeker?
  #              If Triangle and Circle are aktive, Player has to be in both
  #--------------------------------------------------------------------------
  def seek2(range, siwi, seeker, circle)
    ax = $game_map.events[seeker].real_x
    ay = $game_map.events[seeker].real_y
    px = $game_player.real_x
    py = $game_player.real_y
    blx = 0.0
    bly = 0.0
    alpha = siwi
    strecke_h = range * 128
    richtung = $game_map.events[seeker].direction
    sichtkreis = circle
    if $has_geometrie.variablen_uebergeben(ax, ay, px, py, blx, bly, alpha, strecke_h, richtung, sichtkreis)
      if $has_geometrie.spieler_in_sichtfeld #spieler ist in sichtfeld
        @hideevs.each do |id| #überprüfe ob hide event auf strecke
          blx = $game_map.events[id].real_x
          bly = $game_map.events[id].real_y
          $has_geometrie.blockpunkte_aendern(blx, bly)
          return false if $has_geometrie.hide_auf_strecke
        end
        @terrains.each do |terrain| #überprüfe ob terrain event auf strecke
          blx = terrain["x"] * 128
          bly = terrain["y"] * 128
          $has_geometrie.blockpunkte_aendern(blx, bly)
          return false if $has_geometrie.hide_auf_strecke
        end
        return true
      end
    end
    return false
  end
end
 
#==============================================================================
# ** Interpreter
#------------------------------------------------------------------------------
#  For direct Commands to Hide and Seek and old methods (compatibility)
#==============================================================================
class Interpreter
  #--------------------------------------------------------------------------
  # *  HaS Seek  Manual seek for Conditional Branch. 
  #     siwi   : Angle
  #     sw     : Seighting-Distance      
  #     circle : Circle on or off
  #     rt     : Reaction Time
  #     seek_id: Id of the seeking Event                            
  #--------------------------------------------------------------------------
  def has_seek(siwi, sw, circle = false, rt = 0, seek_id = @event_id )
    if $hide_and_seek != nil
      if $hide_and_seek.seek2(sw,siwi,seek_id,circle)
        if $game_map.events[@event_id].hk_has_seen_player_since == 0
          $game_map.events[@event_id].hk_has_seen_player_since = Graphics.frame_count
        end
        if ( ( ( $game_map.events[@event_id].hk_has_seen_player_since + rt ) <
          Graphics.frame_count ) and $game_map.events[@event_id].hk_has_seen_player_since != 0 )
          return true
        end
      else
        $game_map.events[@event_id].hk_has_seen_player_since = 0
      end
    end
    return false
  end
  #--------------------------------------------------------------------------
  # *  HaS Seconds Player Seen  Returns how many seconds the Player is seen
  #                             by the Event with the ID.
  #     eventid: ID of the Seeker (optional)
  #--------------------------------------------------------------------------
  def has_seconds_player_seen(eventid = @event_id)
    if $game_map.events[eventid].hk_has_seen_player_since == 0
      spt = 0
    else
      spt = Graphics.frame_count - $game_map.events[eventid].hk_has_seen_player_since
      spt = (spt / Graphics.frame_rate).round
    end
    return spt
  end
  #--------------------------------------------------------------------------
  # *  HaS Set Seconds Player Seen  Sets the Player-Seen-Seconds to a value.
  #     seconds: Seconds (optional)
  #     eventid: ID of the Seeker (optional)
  #--------------------------------------------------------------------------
  def has_set_seconds_player_seen(seconds = 0, eventid = @event_id)
    $game_map.events[eventid].hk_has_seen_player_since = seconds * Graphics.frame_rate
    return true
  end
  #--------------------------------------------------------------------------
  # *  Set Hide and Seek Event  Name of old Method (v1.3), 
  # *                           use is not recommed.
  #--------------------------------------------------------------------------
  def set_hideandseek_event(eventid, seek, hide)
    if $hide_and_seek != nil 
      $hide_and_seek.change_unit(eventid, seek, hide)
    end
    return true
  end
  #--------------------------------------------------------------------------
  # *  Seek  Name of the old Seek-Method which was declared at Interpreter Class
  #     sw      : Range
  #     sb      : no use anymore (was event id of the first hideevent)
  #     ab      : no use anymore (was event id of the last hideevent)
  #     seek_id : Seeker's Event-ID
  #--------------------------------------------------------------------------
  def seek(sw, sb = 0, ab = 0, seek_id = @event_id)
    if $hide_and_seek != nil
      return $hide_and_seek.seek2(sw, 1, seek_id, false)
    end
    return false
  end
end
 
#==============================================================================
# ** HaS_Geometrie
#------------------------------------------------------------------------------
#  This Class does the geometrics for Hide and Seek
#  If you extract anything from this class (even if you just get
#  "inspiration"), I want to be credited! Sorry but this was pretty much work.
#==============================================================================
class HaS_Geometrie
  #--------------------------------------------------------------------------
  # * Variablen Übergeben  Setting instance Variables for the calculations
  #     ax, ay     : Event X and Event Y Coordinates
  #     px, py     : Player X and Player Y Coordinates
  #     blx, bly   : Hideevent X and Hideevent Y Coordinates
  #     alpha      : Seighting-Triangle Angle
  #     sichtweite : Seighting-Distance
  #     kreis      : True if a Seighting-Circle shout be calculated
  #--------------------------------------------------------------------------
  def variablen_uebergeben(ax, ay, px, py, blx, bly, alpha, sichtweite, richtung, kreis)
    @punkt_a = { "x" => ax, "y" => ay}
    @punkt_b = { "x" => 0.0, "y" => 0.0}
    @punkt_c = { "x" => 0.0, "y" => 0.0}
    @punkt_p = { "x" => px, "y" => py}
    @punkt_bl = { "x" => blx, "y" => bly}
    @richtung = richtung
    @sichtweite = sichtweite
    @sichtwinkel = alpha
    @circle = kreis
    return true if eckpunkte_bestimmen
  end
  #--------------------------------------------------------------------------
  # * Blockpunkte Ändern  Method to change Hideevent-Coordinates
  #     blx, bly   : Hideevent X and Hideevent Y Coordinates
  #--------------------------------------------------------------------------
  def blockpunkte_aendern(blx, bly)
    @punkt_bl = { "x" => blx, "y" => bly}
  end
  #--------------------------------------------------------------------------
  # * Bogenmass  Thanks to =Kai= and Monsta from rpg-studio for this Method
  #     n : Angle
  #--------------------------------------------------------------------------
  def bogenmass(n)
     n * 2.0 * Math::PI / 360.0
  end
  #--------------------------------------------------------------------------
  # * Eckpunkte Bestimmen  Figures out Verticles of the Seighting-Triangle
  #     Thanks to =Kai= for eliminating some syntax errors with Math.sin
  #--------------------------------------------------------------------------
  def eckpunkte_bestimmen
    alpha = @sichtwinkel
    strecke_h = @sichtweite
    gamma = (180.0 - alpha) / 2.0
    gamma_b = bogenmass(gamma)
    alpha_b = bogenmass(alpha)
    a = ((strecke_h/Math.sin(gamma_b)) * (Math.sin(alpha_b/2.0))) * 2.0
    case @richtung
    when 2
      @punkt_b["y"] = @punkt_a["y"]+strecke_h
      @punkt_c["y"] = @punkt_a["y"]+strecke_h
      @punkt_b["x"] = @punkt_a["x"]+(a/2.0)
      @punkt_c["x"] = @punkt_a["x"]-(a/2.0)  
    when 4
      @punkt_b["x"] = @punkt_a["x"]-strecke_h
      @punkt_c["x"] = @punkt_a["x"]-strecke_h
      @punkt_b["y"] = @punkt_a["y"]-(a/2.0)
      @punkt_c["y"] = @punkt_a["y"]+(a/2.0)
    when 6
      @punkt_b["x"] = @punkt_a["x"]+strecke_h
      @punkt_c["x"] = @punkt_a["x"]+strecke_h
      @punkt_b["y"] = @punkt_a["y"]+(a/2.0)
      @punkt_c["y"] = @punkt_a["y"]-(a/2.0)
    when 8
      @punkt_b["y"] = @punkt_a["y"]-strecke_h
      @punkt_c["y"] = @punkt_a["y"]-strecke_h
      @punkt_b["x"] = @punkt_a["x"]-(a/2.0)
      @punkt_c["x"] = @punkt_a["x"]+(a/2.0)  
    end
    return true
  end
  #--------------------------------------------------------------------------
  # * Spieler in Sichtfeld  Returns True if Player is within 
  #     Seighting-Triangle (if it is activated) and Seighting-Circle 
  #     (if it is activated), or if Player is on Seek-Event
  #--------------------------------------------------------------------------
  def spieler_in_sichtfeld
 
    # Punkte zur Berechnung setzen (P ist Spieler, A Seeker)
    px = @punkt_p["x"]
    py = @punkt_p["y"]
    ax = @punkt_a["x"]
    ay = @punkt_a["y"]
    bx = @punkt_b["x"]
    by = @punkt_b["y"]
    cx = @punkt_c["x"]
    cy = @punkt_c["y"]
 
    # Wenn Spieler auf selber Position wie Seeker steht: True
    return true if px == ax && py == ay
 
    # Wenn weder Sichtkreis noch Sichtdreieck aktiviert sind, hier abbrechen
    if not @circle and not @sichtwinkel.between?(1,179)
      return false
    end
 
    # Sichtkreis:
    # Prüfung ob Spieler innerhalb eines Kreises mit Radius Sichtweite ist
    if @circle
      # Muss nur geprüft werden wenn es eingestellt wurde
      return false if (((px - ax).abs + (py - ay).abs) > @sichtweite )
    end
 
    # Sichtdreieck:
    # Prüfung ob Spieler außerhalb der Sichtweite oder hinter dem Seeker ist
    unless @sichtwinkel.between?(1,179)
      # Wenn ein Sichtwinkel von 0 oder 360 eingestellt wurde: Prüfung überspringen
      # Dann wird nur die Auswertung vom Sichtkreis genommen
      return true
    end
    case @richtung
    when 2
      return false if py > by || py < ay  # by == cy
    when 4
      return false if px > ax || px < bx  # bx == cx
    when 6
      return false if px < ax || px > bx  # bx == cx
    when 8
      return false if py < by || py > ay  # by == cy
    end
    ab_m = 1.0
    ab_b = 1.0
    ac_m = 1.0
    ac_b = 1.0
    #gerade AB
    ab_m = (by - ay) / (bx - ax)
    ab_b = ay - (ab_m * ax)
    #gerade AC
    ac_m = (cy - ay) / (cx - ax)
    ac_b = ay - (ac_m * ax)
    #aufgelöst nach x und y :
    #py == (m*px) + b
    #px == (py - b) / m
    #Eingesetzte für X-Wert der Strecke AB, 
    ab_x = (py - ab_b) / ab_m
    ab_y = (ab_m*px) + ab_b
    ac_x = (py - ac_b) / ac_m
    ac_y = (ac_m*px) + ac_b
    case @richtung
    when 2
      return false if px <= ac_x || px >= ab_x
    when 4
      return false if py >= ac_y || py <= ab_y
    when 6
      return false if py <= ac_y || py >= ab_y
    when 8
      return false if px >= ac_x || px <= ab_x
    end
 
    return true
  end
  #--------------------------------------------------------------------------
  # * Hide auf Strecke  Returns True if Hideevent is between Player and Seeker
  #     Thanks to uni-protokolle.de for some inspiration, they could not
  #     explain what I wanted to know, but somehow I figuerd it out by myself
  #--------------------------------------------------------------------------
  def hide_auf_strecke
 
    # Punkte zur Berechnung übernehmen (P ist Spieler, A Seeker und BL Hide)
    px = @punkt_p["x"]
    py = @punkt_p["y"]
    ax = @punkt_a["x"]
    ay = @punkt_a["y"]
    blx = @punkt_bl["x"]
    bly = @punkt_bl["y"]
 
    # Wenn Seeker selbst Hideevent, nicht prüfen  
    return false if @punkt_bl == @punkt_a 
 
    case @richtung # ist Hide-Event irgendwo zwischen Spieler und Seeker
    when 2
      return false if bly > py || bly < ay
    when 4
      return false if blx > ax || blx < px
    when 6
      return false if blx < ax || blx > px
    when 8
      return false if bly < py || bly > ay
    end
    # Temporäre Variablen deklarieren, vorhandene zu Dezimalzahlen umwandeln
    px *= 1.0
    py *= 1.0
    ax *= 1.0
    ay *= 1.0
    blx *= 1.0
    bly *= 1.0
    m = -1.0
    b = -1.0
    tempx = -1.0
    tempy = -1.0
    qx = []
    qy = []
    # Das Blockevent wird zu einem Quadrat gemacht; die 4 Punkte berechnen:
    qx[1] = blx - 64.0
    qy[1] = bly - 64.0
    qx[2] = blx + 64.0
    qy[2] = bly - 64.0
    qx[3] = blx - 64.0
    qy[3] = bly + 64.0
    qx[4] = blx + 64.0
    qy[4] = bly + 64.0
    # Funktionsgleichung für eine Gerade zwischen Seeker und Spieler aufstellen
    # Steigung M berechnen
    if ((px - ax) == 0) # Steigung endlos
      m = 9999999.99
    else
      m = (py - ay) / (px - ax)
    end 
    # Y-Achsenabschnittszahl B berechnen
    b = ay - (m * ax)
    # Jetzt nur noch prüfen, ob die Gerade eine der Kanten des Quadrates schneidet
    tempx = funktionsgleichung_auswerten(qy[1], 0, m, b)
    return true if tempx >= qx[1] && tempx <= qx[2]
    tempx = funktionsgleichung_auswerten(qy[3], 0, m, b)
    return true if tempx >= qx[3] && tempx <= qx[4]
    tempy = funktionsgleichung_auswerten(0, qx[1], m, b)
    return true if tempy >= qy[1] && tempy <= qy[3]  
    tempy = funktionsgleichung_auswerten(0, qx[2], m, b)
    return true if tempy >= qy[2] && tempy <= qy[4]   
    # Wenn Gerade nicht das Quadrat schneitet, false
    return false
  end
  #--------------------------------------------------------------------------
  # * Funktionsgleichung Auswerten  Returns X or Y ( y = m * x + b )
  #--------------------------------------------------------------------------
  def funktionsgleichung_auswerten(y, x, m, b)
    if y == 0
      # nach y auflösen
      return (m * x + b)
    elsif x == 0
      # nach x auflösen
      return ((y -  b) / m)
    else
      return 0
    end
  end
end
zum Lesen den Text mit der Maus markieren

Ich habe im Hide&Seek von Jumping Coconut in einem Event folgendes eingegeben:
Im Eventnamen: "Shy Girl Comment:1", im Event selbst "seek circle 0 1" als Comment in der ersten Zeile.
Nun ist es aber manchmal so, dass das H&S nicht anschlägt, obwohl es das müsste. Ich gehe zu dem Charakter und "schiebe" ihn von vorne oder hinten, er geht seine 3 Schritte. Aber manchmal- NICHT IMMER!- wenn ich ihn von der Seite versuche zu schieben, reagiert das H&S nicht. Es tut so, als würde das Event den Chara nicht sehen, obwohl es das ja müsste. Ich werd die Funktion "seek circle 0 1" noch öfter brauchen, kann mal jemand schauen, woran das lliegt, dass das Seek-Event den Chara nicht sieht?


Josey~


PS: Der Fehler tritt auch auf, wenn ich den Befehl in den Eventnamen schreibe und er tritt auf, wenn ich einen größeren Sichtkreis verwende. Ich denke die Funktion "Circle" funktioniert nicht richtig. Allerdings ist mir der Fehler bist jetzt nur aufgefallen, wenn ich den Chara bewege. Bleibt er immer an einem Ort stehen, reagiert er auch immer von der Seite.
»Josey« hat folgende Datei angehängt:
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Josey« (6. September 2015, 13:55)


Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

2

Samstag, 7. November 2015, 15:17

Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Cryztal

Knappe

Motto: Ich mag das Gefühl von völliger Ungezwungenheit. Dann bin ich am besten, würde ich sagen.

  • Nachricht senden

3

Montag, 9. November 2015, 02:15

Hi Josey. Ich weiß nicht obs dir weiter hilft, aber wirf doch mal einen Blick in den Anhang. :)
»Cryztal« hat folgende Datei angehängt:
Ich habe kein Talent.
Meister Tentakel besitzt das ganze Talent.

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

4

Dienstag, 10. November 2015, 07:34

Das ist lieb von dir, Cryztal, aber das Problem soll ja nicht gelößt werden, indem man das Event doch auf PlayerTouch stellt ;D
Und bei Comment oben muss "Shy Girl Comment:1" stehen, wenn du da eine 0 dazwischenpackst, wird die entweder ignoriert oder stört das H&S-Event dabei, dass Comment im Event zu finden. Das sagt nämlich nur:: "In Zeile 1 steht das Comment, welches beachtet werden soll". Ich habe das Comment direkt aus der Demo übernommen und nur die Distanz verändert.
Übrigens macht es den Fehler auch, wenn man die Distanz vergrößert. Während die Hüpfetussi auf jeder Distanz läuft (sie ist nur zum Testen da, damit man sieht, dass der Befehl eigentlich doch funktioniert)
Das Event sollte schon weiterhin ein ActionButton sein. Auf PlayerTouch läuft es ja ;3


Falls du den Fehler mal rekonstruieren willst: Bei mir taucht er zuverlässig auf, wenn ich folgendes mache:
Nimm meine Version.
Schiebe die linke Tussi nach unten.
Dann nach rechts.
Dann nach links.
Versuche jetzt von unten nach oben zu schieben.

= Sie reagiert nicht mehr, wenn man sie nun hoch oder runter schieben will. Sie kann nur noch links und rechts geschoben werden.


Danke dir trotzdem :3
Netter Chara, den du da reingepackt hast >XD
Dem fehlts noch an Haarschatten :P
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Cryztal

Knappe

Motto: Ich mag das Gefühl von völliger Ungezwungenheit. Dann bin ich am besten, würde ich sagen.

  • Nachricht senden

5

Dienstag, 10. November 2015, 14:27

Ich schau es mir bei Gelegenheit nochmal an :)

Danke xD war einer der ersten die ich je designed hab xD
Ich habe kein Talent.
Meister Tentakel besitzt das ganze Talent.

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

6

Dienstag, 10. November 2015, 17:22

Na dann, bin ich mal gespannt :3

Gar nicht all zu schlecht ;D
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Social Bookmarks