Dear visitor, welcome to RPG Studio - Make your World real. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Mitsch93

Drachentöter

  • "Mitsch93" started this thread

Motto: Aufgeben ist es, was den Menschen tötet. Nur der Mensch, der sich weigert aufzugeben, hat sich das Recht verdient, auf dem glanzvollen Pfad der Menschheit zu wandeln.

  • Send private message

1

Saturday, March 3rd 2018, 1:22pm

[Erledigt] Enemy Map System

Ahoi,

da ich aktuell wenig Zeit habe, frage ich einfach mal nach, ob jemand die Zeit und Muße hat,
ein Skript für mich zu schreiben, das in diesem Thread bereits
ausführlich beschrieben wurde.

Zwecks Zeitmangel konnte ich mich noch nicht selbst dran setzen. Und da dachte ich, dass vielleicht
gerade jemand zuviel Überstunden auf seinem Konto hat, und mich damit entlasten kann^^. Dann könnte ich
direkt nach der Klausurphase mit anderen Dingen in DS weitermachen.

Nochmal ein Überblick, worum es geht:
  • Gegner-Events sollen über einen Skript gesteuert werden
  • Gegner verfolgen den Spieler, sobald er sich in einer Mindestreichweite zu ihnen befindet. Verlässt der Spieler die Mindestreichweite,
    hören die Gegner auf ihn zu verfolgen.
  • Es muss einen Trigger geben, der alle Gegner stoppt (Gegner sollen sich nicht bewegen, während es Interaktion mit Gegenständen usw. gibt)
  • Gegner werden resettet, sobald man eine Instanz verlässt


Die genaue Beschreibung findet ihr im verlinkten Thread.

This post has been edited 1 times, last edit by "Mitsch93" (Mar 10th 2018, 1:44pm)


2

Wednesday, March 7th 2018, 3:36pm

Ein paar Fragen zu dem ganzen:
Soll das System immernoch mit Switches bzw Selfswitches funktionieren?
Wie wird die Aggro-Animation gelöst? Oder soll diese Auch im System mit enthalten sein?
Soll diagonales Laufen oder Pixelgenaues laufen unterstützt werden?

Mfg IT8
  • Info

    Code 4 Life

    Humorvoller bis leicht verrückter Coder mit einer Vorliebe zu Kawaiien Katzen.
    Neko FTW

    (sobald ich kreativere Ideen hierfür hab pack ich das hier rein)
  • Sprachen

    Programmiersprachen:
    - C, C++, C#, Java, Ruby, Lua

    Websprachen
    - JS, HTML, CSS, PHP

    (Zumindest von allem einen guten anteil, nix Perfekt)
  • Meep

    Do you like Cookies? Me too. *mapft kekse* :cookie3:

    Das Ziel eines Programmierers ist es, Software zu entwickeln die Bug-frei ist.
    Das Ziel des Universums ist, Menschen zu erschaffen die diese Software kaputt bekommen.
    Wäre es ein Wettrennen, würde das Universum gewinnen.

    Why wear Java developers glasses? Because they can't C#.
  • ITgenies aktuelle Arbeit

    Ich arbeite meist *etwas* chaotischer als andere. Das heißt bei mir:
    Projekt anfangen, Woche bis 2 Wochen arbeiten, Projekt vergessen, Wiederhole nach Monaten Vorgang

    - ICG / IngameCharsetGenerator Thread (v1.6 - Release)
    - Umsetzung eines eigenen Makers :3
    - Support bei den Skriptanfragen
  • ITgenies pausierten Projekte

    - Eigenes Jump n' Run (+ eigener Physik Engine)
    - Eigenes (umfangreiches) Strategie / Echtzeit Spiel
    - Eigene Website
    - Mit Acc System, Achievements, Leveln...
    - Remake Alter Games
    - N haufen Engines....
    - .... und anderen random Code '^' x3

Mitsch93

Drachentöter

  • "Mitsch93" started this thread

Motto: Aufgeben ist es, was den Menschen tötet. Nur der Mensch, der sich weigert aufzugeben, hat sich das Recht verdient, auf dem glanzvollen Pfad der Menschheit zu wandeln.

  • Send private message

3

Wednesday, March 7th 2018, 6:07pm

Hey, erstmal Danke für dein Interesse^^

Animation:
Die Animation soll durch das Skript ausgeführt werden. Die Animations-ID ist
aktuell 545 und deren Dauer beträgt 4 Frames (sollte ja relativ simpel dynamisch einzustellen sein).
Hat den einfachen Grund, dass ich ja sonst immer per Parallel Process Event eine Distanzabfrage für
jeden Gegner auf der Map machen muss.

Switches:
Ich glaube wir waren so verblieben, dass wir nur Self Switches benutzen.

Laufen:
Weder pixelgenaues noch diagonales Laufen möglich.

Sonstiges:
  • Gegner auf der Map würde ich eindeutig benamen, damit das Skript weiß, dass es seinen Mechanismus auf diese
    Events anwenden muss. zB "EnemyMap".
  • Gegner sollen nach Verlassen eines Instanz resettet werden. Eine Instanz kann aus einer oder mehreren Maps bestehen.
    Diese würde ich vorher im Skript angeben. (siehe hier)
  • Aggro-Range (Reichweite, ab der ein Gegner anfängt, dem Spieler zu folgen) würde ich gern in der Event-Benamung als Parameter angeben, z.B:

    Ruby Source code

    1
    
    EnemyMap(5) # Gegner fängt Spieler an zu verfolgen, wenn die Entfernung mindestens 5 Tiles beträgt
    . Playm hatte hier noch die Frage offen gelassen, ob man die Distanz als Parameter im Eventnamen oder als Kommentar einstellt. Im Endeffekt ist es mir egal, würde mich nach
    dem Skript-Masters richten^^.


Was sonst noch wichtig von diesem Beitrag ist:

Quoted


Seite 1 - keine Condition
Seite 2 - Condition: SelfSWitchA == TRUE
Seite 3 (NEU) - Condition: SelfSwitch B == TRUE
Seite 4 - Condition: StopAll == TRUE
Seite 5 - Condition: GegnerXbesiegt == TRUE

Seite 3 bräuchte man nun vermutlich, um zu verhindern, dass die Aggro-Animation weiterhin angezeigt wird.
Ich hab es mir so gedacht: Wird der Gegner besiegt (Seite 2), so wird der Self Switch B getriggert. Dieser sagt dem Skript
"Hör auf die Animation über Gegner X anzuzeigen". Seite 3 könnte dann ein Parallel Process/Autorun Event sein, das nur die "GegnerBesiegt"-
Animation abspielt und danach den Switch "GegnerXBesiegt" auf ON stellt.

4

Friday, March 9th 2018, 11:54pm

So hab mal was kleines Zusammengebastelt, hoffe es entspricht deinen Wünschen :)

Kleine Warnung: die Aggro Animation könnte epileptische Anfälle verursachen. ^^" Aber so zeigt sie das auch wirklich alle Frames durchlaufen werden.
  • Info

    Code 4 Life

    Humorvoller bis leicht verrückter Coder mit einer Vorliebe zu Kawaiien Katzen.
    Neko FTW

    (sobald ich kreativere Ideen hierfür hab pack ich das hier rein)
  • Sprachen

    Programmiersprachen:
    - C, C++, C#, Java, Ruby, Lua

    Websprachen
    - JS, HTML, CSS, PHP

    (Zumindest von allem einen guten anteil, nix Perfekt)
  • Meep

    Do you like Cookies? Me too. *mapft kekse* :cookie3:

    Das Ziel eines Programmierers ist es, Software zu entwickeln die Bug-frei ist.
    Das Ziel des Universums ist, Menschen zu erschaffen die diese Software kaputt bekommen.
    Wäre es ein Wettrennen, würde das Universum gewinnen.

    Why wear Java developers glasses? Because they can't C#.
  • ITgenies aktuelle Arbeit

    Ich arbeite meist *etwas* chaotischer als andere. Das heißt bei mir:
    Projekt anfangen, Woche bis 2 Wochen arbeiten, Projekt vergessen, Wiederhole nach Monaten Vorgang

    - ICG / IngameCharsetGenerator Thread (v1.6 - Release)
    - Umsetzung eines eigenen Makers :3
    - Support bei den Skriptanfragen
  • ITgenies pausierten Projekte

    - Eigenes Jump n' Run (+ eigener Physik Engine)
    - Eigenes (umfangreiches) Strategie / Echtzeit Spiel
    - Eigene Website
    - Mit Acc System, Achievements, Leveln...
    - Remake Alter Games
    - N haufen Engines....
    - .... und anderen random Code '^' x3

This post has been edited 1 times, last edit by "ITgenie98" (Mar 10th 2018, 1:21pm)


Mitsch93

Drachentöter

  • "Mitsch93" started this thread

Motto: Aufgeben ist es, was den Menschen tötet. Nur der Mensch, der sich weigert aufzugeben, hat sich das Recht verdient, auf dem glanzvollen Pfad der Menschheit zu wandeln.

  • Send private message

5

Saturday, March 10th 2018, 9:48am

Erstmal besten Dank für die Arbeit, klappt wie es soll!

Eine Frage habe ich noch: Ich bin ins Zelt reingegangen, Konsole sagt mir, dass ich die Instanz verlassen habe.
Wenn ich nun die Instanz erneut betrete, sollten die Gegner wieder respawnen. Also Self Switch A und B müssten wieder
deaktiviert werden. Wenn eine Instanz aus mehreren Maps besteht (z.B. MapID 1-3), müssten dann natürlich auf
allen 3 Maps alle Gegner-Events zurückgesetzt werden.

6

Saturday, March 10th 2018, 1:21pm

Ja, das sollte eigentlich auch so funktionieren, nur habe stumpf die Besiegten Enemys aus dem Array geworfen, und beim reseten ging ich genau über dieses array drüber... kleiner Fehler meinerseits xDD
ITgenie98 has attached the following file:
  • EnemyMapSysDS.7z (930.5 kB - 4 times downloaded - latest: Jul 18th 2018, 1:05pm)
  • Info

    Code 4 Life

    Humorvoller bis leicht verrückter Coder mit einer Vorliebe zu Kawaiien Katzen.
    Neko FTW

    (sobald ich kreativere Ideen hierfür hab pack ich das hier rein)
  • Sprachen

    Programmiersprachen:
    - C, C++, C#, Java, Ruby, Lua

    Websprachen
    - JS, HTML, CSS, PHP

    (Zumindest von allem einen guten anteil, nix Perfekt)
  • Meep

    Do you like Cookies? Me too. *mapft kekse* :cookie3:

    Das Ziel eines Programmierers ist es, Software zu entwickeln die Bug-frei ist.
    Das Ziel des Universums ist, Menschen zu erschaffen die diese Software kaputt bekommen.
    Wäre es ein Wettrennen, würde das Universum gewinnen.

    Why wear Java developers glasses? Because they can't C#.
  • ITgenies aktuelle Arbeit

    Ich arbeite meist *etwas* chaotischer als andere. Das heißt bei mir:
    Projekt anfangen, Woche bis 2 Wochen arbeiten, Projekt vergessen, Wiederhole nach Monaten Vorgang

    - ICG / IngameCharsetGenerator Thread (v1.6 - Release)
    - Umsetzung eines eigenen Makers :3
    - Support bei den Skriptanfragen
  • ITgenies pausierten Projekte

    - Eigenes Jump n' Run (+ eigener Physik Engine)
    - Eigenes (umfangreiches) Strategie / Echtzeit Spiel
    - Eigene Website
    - Mit Acc System, Achievements, Leveln...
    - Remake Alter Games
    - N haufen Engines....
    - .... und anderen random Code '^' x3

Mitsch93

Drachentöter

  • "Mitsch93" started this thread

Motto: Aufgeben ist es, was den Menschen tötet. Nur der Mensch, der sich weigert aufzugeben, hat sich das Recht verdient, auf dem glanzvollen Pfad der Menschheit zu wandeln.

  • Send private message

Social bookmarks