Ergebnis 1 bis 16 von 16

Thema: Ausrufezeichen soll einem NPC folgen (2k3)

  1. #1

    Ausrufezeichen soll einem NPC folgen (2k3)

    Ein Charset-Ausrufezeichen schwebt über dem Kopf eines NPCs. Das klappt auch solange gut wie der NPC stillsteht, aber bei Random-Bewegungen wird das schwierig.

    Ein Ansatz würde mir schon reichen.

  2. #2
    Du könntest das Aufrufezeichen als Parallel-Process laufen lassen, die Position des NPC's in zwei Variablen speichern und dann das Event des Aufrufezeichens verschieben, oder nicht?
    Ich kenne mich nichtmehr so recht mit dem 2003er aus, da ich ihn schon seit Ewigkeiten nichtmehr verwendet habe, aber sofern meine Errinerung mich nicht trügt geht soetwas.

  3. #3
    Bastel ein eigenes Random-Beweg-System mit einer Zufallsvariabel von 1 bis 4... Den Rest kannst du dir wahrscheinlich denken.

  4. #4
    @Cornix:
    Das Ausrufezeichen soll sich ja mitbewegen und nicht rumteleportieren.

    @G-Brothers:
    Funktioniert leider nicht. Wenn der NPC gegen einen Stein läuft, bewegt sich das Ausrufezeichen selbständig weiter.

  5. #5
    Dann kannst du immernoch die Differenz von X- und Y-Position bestimmen und anhand dessen einen Move-Befehl ausführen lassen.

  6. #6
    Das Charset über der Figur bewegt sich aber nicht synchron, ich hab's mal ausprobiert. Soweit ich weiß setzt der 2003 die neuen Koordinaten auch schon vor der Bewegung.

  7. #7
    Zitat Zitat von Davy Jones Beitrag anzeigen
    @Cornix:
    Das Ausrufezeichen soll sich ja mitbewegen und nicht rumteleportieren.

    @G-Brothers:
    Funktioniert leider nicht. Wenn der NPC gegen einen Stein läuft, bewegt sich das Ausrufezeichen selbständig weiter.
    Klicke auf die Grafik für eine größere Ansicht 

Name:	Unbenannt.jpg 
Hits:	62 
Größe:	58,9 KB 
ID:	20176
    Keine Ahnung obs funktioniert.

    Eventüll 'n Wait am Ende setzen.

    Nah, hab überlesen, dass du'n Charset haben willst. Sorrü

  8. #8


    Das hier hat die kleinste Verzögerung die ich hinbekommen habe. Synchroner kriege ich das nicht selbst nach einigem rumprobieren nicht hin. Dafür müsstest du dann ein Picture und Screenkoordinaten benutzen.
    (Oder ich hab irgendetwas vollkommen offensichtliches nicht ausprobiert :'D )

  9. #9
    Zitat Zitat von Davy Jones Beitrag anzeigen
    @G-Brothers:
    Funktioniert leider nicht. Wenn der NPC gegen einen Stein läuft, bewegt sich das Ausrufezeichen selbständig weiter.
    Auf die Gefahr hin, das jetzt etwas ausarten zu lassen:

    Du könntest Terrain-IDs nutzen, um nicht begehbare Felder zu markieren und so abfragen, ob ein Feld betretbar ist, ehe du einen NPC sich bewegen lässt. Hat allerdings zwei (bzw. drei) Nachteile:
    1. Das würde Terrain IDs für "traditionelle" Zwecke unbrauchbar machen oder zumindest verkomplizieren,
    2. Müsstest du, für den Fall, dass ein anderer NPC im Weg steht, auch abfragen, ob ein Event vor dem Char steht. Das kann man jetzt zwar auch Anhand von IDs feintunen, aber faustregel wäre: Wo ein Event ist, käme kein NPC hin. Da du die Ausrufezeichen als Events darstellen willst, könnten NPCs also nicht direkt über- oder untereinander stehen, wenn du keine Whitelist für die Ausrufezeichen-IDs anfertigst.
    3. Der Aufwand.

    Ich bin der Meinung, dass das auch irgendwie anders gehen müsste, kann dir aber gerade aus dem Kopf heraus nicht sagen wie das aussehen könnte. Ich meine mal ein Hinterherlaufen-Script gesehen zu haben, welches keine Verzögerung hatte - das müsste man ja nur minimal abwandeln. Ich weiß allerdings nicht mehr wo... Ich meine VD2, oder die VD2 Demo. Wenn ich's richtig im Kopf habe, hatte Marlex das Script für die VV geändert, weil es zu Performance-feindlich war.
    Nichtsdestotrotz läuft das bestenfalls entweder auf furchtbare Scripte hinaus, die für jede Map neu angepasst werden müssten, oder auf zig Parallele Prozesse. Beides eher suboptimal. :/

    EDIT:
    Gab es nicht irgendwann mal einen CharExpand-Patch? Der würde dein Problem mit kilometerweitem Abstand am leichtesten lösen, indem du das Ausrufezeichen einfach zum Teil des Sprites machst.

    Geändert von BDraw (15.04.2014 um 23:13 Uhr)

  10. #10
    Wäre es denn eine Möglichkeit die Idee von G-Brothers dahingehend zu erweitern, dass du das Umfeld, in welchem sich der NPC bewegen soll, durch "Allow Event Overlap"-Events so einschränkst, dass besagter NPC gar nicht in die Nähe von anderen Hindernissen kommt? Oder muss der sich zwangsläufigerweise durch enge, vollgepackte Maps mit diversen Hindernissen schlängeln?

    Gruß
    Stoep

  11. #11
    @Stoep:
    Allow Event Overlap sorgt für zuviele Fehler. Bspw. machste ne Reihe von diesen Events nach Norden hin. Wenn der Char sich jetzt nach oben bewegt, bleibt sein Ausrufezeichen kleben. Ich werd das nochmal mit Phasing Mode testen, aber ich bezweifle dass es hilft.

    @BDraw:
    Der CharExpand-Patch funktioniert leider nur beim 2k. Und beim Aufwand mit den Terrains haste recht, es ist zuviel. Beim Hintereinanderlaufen in Sachen VD2 müsste ich nochmal reinschauen, bin mir aber nicht sicher ob sich das so einfach abändern lässt und ob der Skript dann überhaupt noch richtig funzt.

    @Quetschi:
    Kannst du mir deine Database hochladen? (cherryshare, dropbox, file-upload, etc.)

    @Raildex:
    Das geht sogar noch viel kürzer, indem du einfach die Koordinaten in zwei Varis packst, das Ausrufezeichen abfragst und dann einen 0.1 sek. wait hintendranschnallst. Allerdings soll das Charset animiert sein (auf- und ab-Bewegung), deswegen taugen Pictures nicht wirklich was.

  12. #12
    Zitat Zitat von Davy Jones Beitrag anzeigen
    @Raildex:
    Das geht sogar noch viel kürzer, indem du einfach die Koordinaten in zwei Varis packst, das Ausrufezeichen abfragst und dann einen 0.1 sek. wait hintendranschnallst. Allerdings soll das Charset animiert sein (auf- und ab-Bewegung), deswegen taugen Pictures nicht wirklich was.
    Ach komm, nen weiteren PP für die Auf/Ab-Bewegung zu machen ist jetzt nicht wirklich schwer
    Dabei muss man das ja nichmal in ein separates PP packen.

  13. #13
    Die Bewegungen würden sich aber gegenseitig in die Quere kommen, weil man beide mit Move Picture ausführt. Eigentlich dürfte das mit dem Picture sowieso nicht so richtig funktionieren, weil man dessen Bewegungsgeschwindigkeit nur in vollen 0.1 Waits angeben kann. Charsets tun das nicht (bei "Normal" bewegt sich die Figur z. B. mit 1.33333333 Waits = Wait 0.1 + 2x Wait 0.0).

  14. #14
    Zitat Zitat von Davy Jones
    Ich werd das nochmal mit Phasing Mode testen, aber ich bezweifle dass es hilft.
    Mit "Phasing Mode" sollte das eigentlich machbar sein. Ansonsten kannst du bei den Events, die den NPC einzäunen auch, den "Allow Event Overlap" weglassen und ihn stattdessen nur beim NPC selber setzen. Müsste doch auch gehen.

    Gruß
    Stoep

  15. #15
    Bitte sehr
    Bei der Event-Version ist das Ausrufezeichen das Hühnchen, weil ich gerade kein Ausrufezeichen-Charset hatte und zu faul war mir eins zu machen.

    Ich hab noch eine Version mit Picture hinzugefügt. Ohne Animation läuft die flüssig. Mit hängt das ein bisschen hinterher (allerdings immer noch weniger als das Event).
    Das Problem ist eher die Animation vernünftig sichtbar zu machen.

    Ein weiteres Problem wenn du das als Event machst: Wenn der NPC ganz oben am Maprand steht, steht das Ausrufezeichen in ihm drin, da es wegen dem Mapende nicht weiter nach oben kann.

  16. #16
    Perfekt, ich bin wunschlos glücklich. Danke dir =)

    Ein paar Sachen:

    - Die beiden Events haben sich nicht synchron bewegt, weil sie unterschiedliche Bewegungsgeschwindigkeiten hatten (half normal & one-fourth normal).
    - Den Custom-Gehskript mit Random-Bewegungen habe ich rausgenommen, da der NPC sich selbst zufallsgeneriert bewegen kann.
    - Zur Absicherung der Performance auf älteren Rechnern habe ich am Ende des Events einen wait mit 0.0 sek. eingefügt.
    - Das mit dem oberen Maprand ist kein Problem, meine Maps sind ausschließlich so designt, dass man den oberen Maprand nur sehr selten erreicht. Zur Not gehen auch leere Events mit ForbidEventOverlap.

    @Stoep: Hast recht gehabt, mit Phasing Mode können Events das ForbidEventOverlap überwinden.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •