• Anmelden

MeisterSamweiß

Ankömmling

  • »MeisterSamweiß« ist der Autor dieses Themas

Motto: "A very small man can cast a very large shadow."

  • Nachricht senden

1

Samstag, 12. Oktober 2013, 11:21

Fliegende Events und Passierbakeit

Moinsen!

In meinem aktuellen Projekt habe ich ein kleines Problem mit "fliegenden" Events. Gegner, in diesem Fall Hornissen, sollen sich in einem festgelegten Areal herumbewegen können (siehe 1. Datenanhang).
Diese Events sollten sich eigentlich auch über das Wasser hinüber bewegen können, denn sie können schließlich fliegen. Das klappt aber nicht, da die Wassertiles unpassierbar sind.
Wenn man die Events durchlässig macht, können sie sich zwar über dem Wasser bewegen, aber auch aus dem Areal verschwinden, was nicht passieren soll.

Wie kann ich dem Programm beibringen, dass es sich um "fliegende" Events handelt, die sich über jeden unpassierbaren Boden, aber nicht über Wände oder andere Events, hinwegbewegen können?

Viele Grüße,
MeisterSamweiß
»MeisterSamweiß« hat folgende Datei angehängt:
  • 01.PNG (261,83 kB - 15 mal heruntergeladen - zuletzt: 21. Dezember 2014, 17:02)

Spoiler
XSlug2Pixel for Pixel
zum Lesen den Text mit der Maus markieren

2

Samstag, 12. Oktober 2013, 16:35

Hi
mach doch das Wasser im Tileset auf passierbar
oder ne moveroute?

MeisterSamweiß

Ankömmling

  • »MeisterSamweiß« ist der Autor dieses Themas

Motto: "A very small man can cast a very large shadow."

  • Nachricht senden

3

Montag, 14. Oktober 2013, 09:17

Die Wassertiles sollen für den Spieler und für alle anderen Events nicht passierbar sein, also nur passierbar für bestimmte Events.

Eine Moveroute ist nur eine Notlösung, denn die unvorhersehbare Bewegung der Gegner macht einen Reiz des Spieles aus.

Spoiler
XSlug2Pixel for Pixel
zum Lesen den Text mit der Maus markieren

Kagu-chan

Alopex Lagopus

Motto: Ich Böse, Du Teufel

  • Nachricht senden

4

Montag, 14. Oktober 2013, 11:21

Im XP gibt es always on tough (oder wie es heißt).

Mach Random Bewegung und in einem Parallel Process kannst du die Koordinaten prüfen und ihn gegebenenfalls in eine Richtung zwingen. Wäre mein Ansatz, hab aber kaum Ahnung von Events...
Bild

  • Hallo

    Tabs klicken unso, ne?
  • Lyric

    Meine schwarze Liste, beginnt mit einem Satz:
    "Wer zuletzt lacht, lacht am besten!", und am Ende ist noch Platz.
    Auf der Liste meiner Feinde, ist auch für euch noch Platz
    Wer zuletzt lacht, lacht am besten!
    Merkt euch diesen Satz!

    Ode an die Feindschaft von Saltatio Mortis

  • Outtakes

    • Nummer 3
      20.09.2012 - 19:46
      "Yah, ich bin ihre Motivazin." "Motivazin - gibts das jetzt in der Apotheke rezeptflichtig?"
    • Ich mag Kekse
    • Nummer 2
      08.09.2012 - 01:29 Uhr
      "Die Erlebnismacher zu Hannovre - Exlibre - ääääh... Excalibur"

      *Lachflash*
    • Nummer 1
      07.09.2012 - 22:58 Uhr
      *Bööarps* - Die Erlebnismacher zu Hannovre - Excalibur... "Mahlzeit... also... doch nicht Mahlzeit... war nur die Website"
      "Ich hab gerülpst -.-" "Du hast was?" *LACHFLASH*
      "Nicht dein Ernst, oder?" "DOCH!" *LACHFLASH second tour*
  • Profile

    Bild
  • Ich

    Dass bin ich:

    Maker: RPG-XP, RPG-VX
    Story:
    Für andere mehr als für mich: 60%

    Grafik:
    Ich werde besser: 35%

    Pixeln:
    Ich stehe an den Anfängen: 7%

    Mapping:
    Es fehlen nur noch (alle) Feinheiten: 67%

    Scripting:
    Informatiker, mittlerweile auch andere Sachen am skripten: 93%
  • Neues aus der SB

    Neues aus der SB:

    Spoiler: Die Camper
    (03:41:36) Kagurame: n8 du
    (03:41:37) Irrlicht: Nacht Mozilla
    (03:41:47) MozillaBabybird: Kagu: der witz war flach
    (03:42:01) Kagurame: welcher witz?
    (03:42:14) Heatra: geh nicht benji
    (03:42:21) Heatra: spiel lieber ats2 :D
    (03:42:25) MozillaBabybird: nacht leute ^^ ijemand sollte diesen verlauf im studio bash posten, damit die mal wissen wer die echten camper hier sind :D
    (03:42:35) Kagurame: ich bin scripten
    (03:42:38) MozillaBabybird: Heat: tut mir sorry xD
    (03:42:40) Kagurame: ich mach das...^^
    (03:42:48) MozillaBabybird: bis .... mittag ?
    (03:42:49) Heatra: ^^
    (03:42:55) MozillaBabybird: ja mittag dürfte passen
    (03:42:56) MozillaBabybird: :D
    (03:42:57) Kagurame: ^^
    (03:43:02) Heatra: ich steh morgen eh erst um 5 uhr mittags auf
    (03:43:07) Kagurame: bis heute
    (03:43:11) Steve: MozillaBabybird verlässt den Chat.
    (03:43:15) Kagurame: ich so um 3
    zum Lesen den Text mit der Maus markieren


    Spoiler: Die Informatiker vom Dienst
    (03:05:32) Ankou: bist du dir SICHER, dass es die Performance an der Stelle kritisch ist und c.a. 30% sind KEIN großer Unterschied?
    (03:05:41) Ankou: oh
    (03:05:45) Ankou: okay
    (03:06:21) Asandril: Oh Ha was habt Ihr gerade für ein Thema?
    (03:06:41) Ankou: das ist in der Tat eine performancekritische angelegenheit, aber ich denke dennoch nicht, dass das die Dinge sind auf die du dein Hauptaugenmerk richten solltest.
    (03:07:01) Heatra: maschine
    (03:07:01) Ankou: derartige Mikrooptimierungen werden Performanceprobleme sogut wie niemals beseitigen können
    (03:07:01) Irrlicht: anhand der Tatsache dass es 20 000 000 Durchläufe waren nicht wirklich :-/
    (03:07:08) Ankou: änder was konzeptionelles oder lass es bleiben.
    (03:07:31) Ankou: evtl. kannst du mehr der Interpretation nach vorne verlagern
    (03:08:06) Ankou: aber solche Dinge zu versuchen wie die case Abfragen durch send zu ersetzen in der Hoffnung ein paar Prozent einzusparen bringens dir nicht
    (03:08:26) Asandril: Bin ich gerade hier in einem Kurs gelandet ..
    (03:08:36) Irrlicht: hatte mal in Erwägung gezogen die Befehle evtl. schonmal etwas "vorzuinterpretieren", aber das dürfte dann mehr Speicher verbrauchen als es Geschwindigkeit bringt...
    (03:09:11) Ankou: Asandril: ja, erstaunlich, angetrunken an Silvester über so etwas zu reden
    (03:09:28) Heatra: -> lampenfieber
    (03:09:40) Asandril: Kann ich nur beipflichten.
    (03:09:46) Irrlicht: atm bin ich mir nicht sicher was genau den doch vergleichsweise erheblichen Lag von Parallel-Process-Events verursacht (oder ob es einfach an der gesammten Masse liegt) wenn ich bei 2 000 000 solcher Durchläufe unter einer Sek. bleibe...
    (03:09:57) Ankou: Irrlicht: das ist durchaus üblich. Speicher gegen Geschwindigkeit einzustauschen ist sehr populär und bringt oft viel
    (03:11:23) Irrlicht: mal schaun :)
    zum Lesen den Text mit der Maus markieren


    Spoiler: Auch noch später^^
    (03:32:35) (Kagurame_AnkündigungImForumMach): es da ne methode wie beim xp?
    (03:32:48) Irrlicht: Cache.system("Iconset")
    bekommst das Iconset
    (03:32:50) (Kagurame_AnkündigungImForumMach): brauche es dringend, aber nix gefunden bisher
    (03:33:01) (Kagurame_AnkündigungImForumMach): und dann per id?
    (03:33:06) (Kagurame_AnkündigungImForumMach): drauf zugreifen?
    (03:33:07) Irrlicht: Index berechnet sich einfach aus
    x = index % 16
    y = index / 16
    (03:33:17) Irrlicht: afaik warens 16 nebeneinander^^
    (03:33:28) (Kagurame_AnkündigungImForumMach): ok, danke.
    (03:33:51) (Kagurame_AnkündigungImForumMach): ich glaub ich scripte dann noch ein bissl
    (03:34:01) Steve: (Kagurame_AnkündigungImForumMach​) heißt jetzt Kagurame.
    (03:34:04) Irrlicht: im XP hast die einzelnen Icons anhand des Namens aus dem Icon-Ordner aufgerufen
    (03:34:09) Steve: Kagurame ist nun Scripten!
    (03:34:17) Irrlicht: (geht natürlich im VX auch, aber wozu gibts das Iconset)
    (03:34:23) Kagurame: ja ich weis, daher war ich heut mittag verwirrt
    zum Lesen den Text mit der Maus markieren

Bex

Seher

Motto: Lets have some Fun.

  • Nachricht senden

5

Montag, 14. Oktober 2013, 13:12

Es gibt zwar bestimmt auch Scriptbefehle für Moveroute die das ermöglichen ohne Script.Die kenne ich aber nicht.
Deshalb hier ein Link zu einem scheinbar tollen Script das dir helfen könnte.
http://www.rpgmakervxace.net/topic/13385-move-route-extras/

- Move randomly only in specified regions
Dann könntest die Bienen doch auf Through stellen sie verlassen den vorgegebenen Bereich aber nicht.
Mir ist nur grad aufgefallen das das Event auf Above und Through zwar bei Event Touch triggert wenn ich rauflaufe.
Es triggert aber nicht wenn das Event auf mich läuft.Entweder liegt das grad an einem Script in meinem Project oder es ist halt so.
Ist ja in echt auch so, das die weniger stechen wenn man sich nicht bewegt.

Vieleicht ist das aber schonmal ein Ansatz...

Kagu-chan

Alopex Lagopus

Motto: Ich Böse, Du Teufel

  • Nachricht senden

6

Montag, 14. Oktober 2013, 13:31

Naja, es würde ja eig. ein Paralel Process reichen:

Ruby Quellcode

1
2
3
4
5
6
# Pseudocode für Event
richtung = random (0-3)
bewege in die richtung
prüfe, ob außerhalb der koordinaten
ja => laufe zurück
nein => nächster durchlauf
Bild

  • Hallo

    Tabs klicken unso, ne?
  • Lyric

    Meine schwarze Liste, beginnt mit einem Satz:
    "Wer zuletzt lacht, lacht am besten!", und am Ende ist noch Platz.
    Auf der Liste meiner Feinde, ist auch für euch noch Platz
    Wer zuletzt lacht, lacht am besten!
    Merkt euch diesen Satz!

    Ode an die Feindschaft von Saltatio Mortis

  • Outtakes

    • Nummer 3
      20.09.2012 - 19:46
      "Yah, ich bin ihre Motivazin." "Motivazin - gibts das jetzt in der Apotheke rezeptflichtig?"
    • Ich mag Kekse
    • Nummer 2
      08.09.2012 - 01:29 Uhr
      "Die Erlebnismacher zu Hannovre - Exlibre - ääääh... Excalibur"

      *Lachflash*
    • Nummer 1
      07.09.2012 - 22:58 Uhr
      *Bööarps* - Die Erlebnismacher zu Hannovre - Excalibur... "Mahlzeit... also... doch nicht Mahlzeit... war nur die Website"
      "Ich hab gerülpst -.-" "Du hast was?" *LACHFLASH*
      "Nicht dein Ernst, oder?" "DOCH!" *LACHFLASH second tour*
  • Profile

    Bild
  • Ich

    Dass bin ich:

    Maker: RPG-XP, RPG-VX
    Story:
    Für andere mehr als für mich: 60%

    Grafik:
    Ich werde besser: 35%

    Pixeln:
    Ich stehe an den Anfängen: 7%

    Mapping:
    Es fehlen nur noch (alle) Feinheiten: 67%

    Scripting:
    Informatiker, mittlerweile auch andere Sachen am skripten: 93%
  • Neues aus der SB

    Neues aus der SB:

    Spoiler: Die Camper
    (03:41:36) Kagurame: n8 du
    (03:41:37) Irrlicht: Nacht Mozilla
    (03:41:47) MozillaBabybird: Kagu: der witz war flach
    (03:42:01) Kagurame: welcher witz?
    (03:42:14) Heatra: geh nicht benji
    (03:42:21) Heatra: spiel lieber ats2 :D
    (03:42:25) MozillaBabybird: nacht leute ^^ ijemand sollte diesen verlauf im studio bash posten, damit die mal wissen wer die echten camper hier sind :D
    (03:42:35) Kagurame: ich bin scripten
    (03:42:38) MozillaBabybird: Heat: tut mir sorry xD
    (03:42:40) Kagurame: ich mach das...^^
    (03:42:48) MozillaBabybird: bis .... mittag ?
    (03:42:49) Heatra: ^^
    (03:42:55) MozillaBabybird: ja mittag dürfte passen
    (03:42:56) MozillaBabybird: :D
    (03:42:57) Kagurame: ^^
    (03:43:02) Heatra: ich steh morgen eh erst um 5 uhr mittags auf
    (03:43:07) Kagurame: bis heute
    (03:43:11) Steve: MozillaBabybird verlässt den Chat.
    (03:43:15) Kagurame: ich so um 3
    zum Lesen den Text mit der Maus markieren


    Spoiler: Die Informatiker vom Dienst
    (03:05:32) Ankou: bist du dir SICHER, dass es die Performance an der Stelle kritisch ist und c.a. 30% sind KEIN großer Unterschied?
    (03:05:41) Ankou: oh
    (03:05:45) Ankou: okay
    (03:06:21) Asandril: Oh Ha was habt Ihr gerade für ein Thema?
    (03:06:41) Ankou: das ist in der Tat eine performancekritische angelegenheit, aber ich denke dennoch nicht, dass das die Dinge sind auf die du dein Hauptaugenmerk richten solltest.
    (03:07:01) Heatra: maschine
    (03:07:01) Ankou: derartige Mikrooptimierungen werden Performanceprobleme sogut wie niemals beseitigen können
    (03:07:01) Irrlicht: anhand der Tatsache dass es 20 000 000 Durchläufe waren nicht wirklich :-/
    (03:07:08) Ankou: änder was konzeptionelles oder lass es bleiben.
    (03:07:31) Ankou: evtl. kannst du mehr der Interpretation nach vorne verlagern
    (03:08:06) Ankou: aber solche Dinge zu versuchen wie die case Abfragen durch send zu ersetzen in der Hoffnung ein paar Prozent einzusparen bringens dir nicht
    (03:08:26) Asandril: Bin ich gerade hier in einem Kurs gelandet ..
    (03:08:36) Irrlicht: hatte mal in Erwägung gezogen die Befehle evtl. schonmal etwas "vorzuinterpretieren", aber das dürfte dann mehr Speicher verbrauchen als es Geschwindigkeit bringt...
    (03:09:11) Ankou: Asandril: ja, erstaunlich, angetrunken an Silvester über so etwas zu reden
    (03:09:28) Heatra: -> lampenfieber
    (03:09:40) Asandril: Kann ich nur beipflichten.
    (03:09:46) Irrlicht: atm bin ich mir nicht sicher was genau den doch vergleichsweise erheblichen Lag von Parallel-Process-Events verursacht (oder ob es einfach an der gesammten Masse liegt) wenn ich bei 2 000 000 solcher Durchläufe unter einer Sek. bleibe...
    (03:09:57) Ankou: Irrlicht: das ist durchaus üblich. Speicher gegen Geschwindigkeit einzustauschen ist sehr populär und bringt oft viel
    (03:11:23) Irrlicht: mal schaun :)
    zum Lesen den Text mit der Maus markieren


    Spoiler: Auch noch später^^
    (03:32:35) (Kagurame_AnkündigungImForumMach): es da ne methode wie beim xp?
    (03:32:48) Irrlicht: Cache.system("Iconset")
    bekommst das Iconset
    (03:32:50) (Kagurame_AnkündigungImForumMach): brauche es dringend, aber nix gefunden bisher
    (03:33:01) (Kagurame_AnkündigungImForumMach): und dann per id?
    (03:33:06) (Kagurame_AnkündigungImForumMach): drauf zugreifen?
    (03:33:07) Irrlicht: Index berechnet sich einfach aus
    x = index % 16
    y = index / 16
    (03:33:17) Irrlicht: afaik warens 16 nebeneinander^^
    (03:33:28) (Kagurame_AnkündigungImForumMach): ok, danke.
    (03:33:51) (Kagurame_AnkündigungImForumMach): ich glaub ich scripte dann noch ein bissl
    (03:34:01) Steve: (Kagurame_AnkündigungImForumMach​) heißt jetzt Kagurame.
    (03:34:04) Irrlicht: im XP hast die einzelnen Icons anhand des Namens aus dem Icon-Ordner aufgerufen
    (03:34:09) Steve: Kagurame ist nun Scripten!
    (03:34:17) Irrlicht: (geht natürlich im VX auch, aber wozu gibts das Iconset)
    (03:34:23) Kagurame: ja ich weis, daher war ich heut mittag verwirrt
    zum Lesen den Text mit der Maus markieren

Bex

Seher

Motto: Lets have some Fun.

  • Nachricht senden

7

Montag, 14. Oktober 2013, 15:00

Ich hab dir mal eine Demo gemacht.
Der Fluss ist begehbar, der Char kann aber keinen Schritt auf ihn drauf machen.
Funktioniert ohne Bugs. Falls du ein Anti Lag benutzt, so mache das Paralelle Event bei grossen Maps in ein Common Event.

Edit: Es funktioniert sogar ohne den Loop im paralellen Event. Der kann also raus.
Edit2: Es funktioniert überall einwandfrei, nur am unteren Maprand kann manüber die Region durch nach unten schauen aus dem Bildschirm und dann nach rechts drücken über den Fluss. Das geht sonst nirgends auch nicht oben. Sollte aber trotzdem helfen hoffe ich. Man sollte also am unteren Maprand ein schwarzes Tile mapen und die region 1 draufmachen wie beim Fluss.
Ich teste es aber nochmal.
Edit3: Alles durchgetestet auch auf Scrollenden Maps es funktioniert perfekt.Nur am unteren Rand muss man eine schwarze kante ziehen mit einem Maptile wenn der fluss unten rausläuft oder die Felder unten daneben unbegehbar machen mit irgendetwas.
»Bex« hat folgende Datei angehängt:
  • Fluss.exe (1,54 MB - 2 mal heruntergeladen - zuletzt: 21. Dezember 2014, 17:04)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Bex« (14. Oktober 2013, 17:50)


MeisterSamweiß

Ankömmling

  • »MeisterSamweiß« ist der Autor dieses Themas

Motto: "A very small man can cast a very large shadow."

  • Nachricht senden

8

Montag, 14. Oktober 2013, 16:03

Hi!

Super, vielen Dank für die Demo!
Schon den ganzen Nachmittag versuch ich was Ähnliches, kriege es nicht hin und wollte gerade erneut um Hilfe bitten. Die Demo macht das aber überflüssig. Ich bau's mal ein. :D

Jetzt kann's endlich weitergehen! :yahoo!:



EDIT:
Es klappt! Vielen Dank nochmal! :D

Spoiler
XSlug2Pixel for Pixel
zum Lesen den Text mit der Maus markieren

Bex

Seher

Motto: Lets have some Fun.

  • Nachricht senden

9

Montag, 14. Oktober 2013, 18:16

Mir ist grad aufgefallen der Bug tritt auch am rechten Rand auf und auch wenn man kurven in den Fluss malt.

Edit:
Fehler gefunden.
Du musst das Control Variables 1und 2 da vor rein kopieren wo es jeweils +1 gerechnet wird.
Dann tritt kein einziger Bug mehr auf.

MeisterSamweiß

Ankömmling

  • »MeisterSamweiß« ist der Autor dieses Themas

Motto: "A very small man can cast a very large shadow."

  • Nachricht senden

10

Montag, 14. Oktober 2013, 18:56

Dieses Problem hab ich nicht, da bei meinen Maps der Rand nicht erreichbar ist. Die Maps werden schon vorzeitig begrenzt.
Habe das trotzdem korrigiert, für alle Fälle oder falls ich das Event jemand anders empfehle.

Spoiler
XSlug2Pixel for Pixel
zum Lesen den Text mit der Maus markieren