Lieber Besucher, herzlich willkommen bei: RPG Studio - Make your World real. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Mitsch93

Drachentöter

  • »Mitsch93« ist der Autor dieses Themas

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.

  • Nachricht senden

1

Samstag, 3. März 2018, 13:22

[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.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Mitsch93« (10. März 2018, 13:44)


2

Mittwoch, 7. März 2018, 15:36

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« ist der Autor dieses Themas

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.

  • Nachricht senden

3

Mittwoch, 7. März 2018, 18:07

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 Quellcode

    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:

Zitat


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

Freitag, 9. März 2018, 23:54

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

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ITgenie98« (10. März 2018, 13:21)


Mitsch93

Drachentöter

  • »Mitsch93« ist der Autor dieses Themas

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.

  • Nachricht senden

5

Samstag, 10. März 2018, 09:48

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

Samstag, 10. März 2018, 13:21

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« hat folgende Datei angehängt:
  • EnemyMapSysDS.7z (930,5 kB - 4 mal heruntergeladen - zuletzt: 18. Juli 2018, 13:05)
  • 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« ist der Autor dieses Themas

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.

  • Nachricht senden

Social Bookmarks