1.: Gibt es einen Befehl der Charakterkollisionen von vorneherein vermeidet, oder muss man dafür immer einen neuen Befehl schreiben-->
if (AreCharactersColliding(EGO,MAN)==1)
{ colliding code here }
Wie muss dann der colliding code aussehen und in welcher Funktion muss er stehen?
Ich habe es mit einem MoveCharacterBlocking-Code versucht, aber das ist keine besonders gute Lösung.
2.: Ich möchte, dass ein Charakter einige Sätze sagt, ohne dass das Spiel unterbrochen wird, also DisplaySpeechBackground. Aber in welche Funktion kommt das? Da der Charakter es wiederholen soll, habe ich es mit der repeatedly execute function versucht, aber dann stürzt es ab (Error: too many screen overlays created.)
Charakterkollision & Backgroundspeech
-
- Frischling
- Beiträge: 1
- Registriert: 05.01.2003, 13:52
- DasJan
- Adventure-Treff
- Beiträge: 14683
- Registriert: 17.02.2002, 17:34
- Wohnort: London
- Kontaktdaten:
Re:Charakterkollision & Backgroundspeech
1.
Da fällt mir spontan nix ein. Das Problem ist ja, dass sich NPCs auch bewegen können und daher sowas ziemlich kompliziert wird. Wenn die NPCs immer an derselben stelle stehen, würde ich einfach ein kleines Loch in die Walkable Area machen.
2.
RepeatedlyExecute passt schon. Du musst nur immer mit abfragen, ob der Char gerade schon was sagt. Er darf nur sprechen, wenn er nicht schon was anderes sagt. Mir ist gerade der Befehl entfallen, vielleicht kannst du die TalkingView da benutzen.
Das Jan
Da fällt mir spontan nix ein. Das Problem ist ja, dass sich NPCs auch bewegen können und daher sowas ziemlich kompliziert wird. Wenn die NPCs immer an derselben stelle stehen, würde ich einfach ein kleines Loch in die Walkable Area machen.
2.
RepeatedlyExecute passt schon. Du musst nur immer mit abfragen, ob der Char gerade schon was sagt. Er darf nur sprechen, wenn er nicht schon was anderes sagt. Mir ist gerade der Befehl entfallen, vielleicht kannst du die TalkingView da benutzen.
Das Jan
"If you are the smartest person in the room, you are in the wrong room."
-
- Rätselmeister
- Beiträge: 2219
- Registriert: 11.06.2002, 18:22
- Wohnort: gone (forever)
- Kontaktdaten:
Re:Charakterkollision & Backgroundspeech
halt einfach beide charaktere an, wenn sie zusammenstoßen...
Wer Ironie oder beleidigende Inhalte in diesem Beitrag findet, darf sie behalten.
http://www.thwboard.de | http://oph-qfb.sourceforge.net
http://www.thwboard.de | http://oph-qfb.sourceforge.net
- DasJan
- Adventure-Treff
- Beiträge: 14683
- Registriert: 17.02.2002, 17:34
- Wohnort: London
- Kontaktdaten:
Re:Charakterkollision & Backgroundspeech
Und wie soll man das feststellen, Don?
Das Jan
Das Jan
"If you are the smartest person in the room, you are in the wrong room."
-
- Rätselmeister
- Beiträge: 2219
- Registriert: 11.06.2002, 18:22
- Wohnort: gone (forever)
- Kontaktdaten:
Re:Charakterkollision & Backgroundspeech
du nimmst die koordinaten von jeder person, fabrizierst ein rechteck darum (bounding box) und guckst dann, ob die sich überlappen...
Wer Ironie oder beleidigende Inhalte in diesem Beitrag findet, darf sie behalten.
http://www.thwboard.de | http://oph-qfb.sourceforge.net
http://www.thwboard.de | http://oph-qfb.sourceforge.net
- DasJan
- Adventure-Treff
- Beiträge: 14683
- Registriert: 17.02.2002, 17:34
- Wohnort: London
- Kontaktdaten:
Re:Charakterkollision & Backgroundspeech
Das ist sicher nicht zweckmäßig. Graphisch können sie sich schon überlappen, wenn sie voreinander stehen. Ich würde eher den Abstand der Koordinaten (Pythagoras) prüfen, der keinen bestimmten Wert unterschreiten darf, obwohl ne waagerechte Ellipse sicher korrekter wär.
Das Problem ist nur: Stehen bleiben ist irgendwie uncool, hilft keinem wirklich weiter.
Das Jan
Das Problem ist nur: Stehen bleiben ist irgendwie uncool, hilft keinem wirklich weiter.
Das Jan
"If you are the smartest person in the room, you are in the wrong room."
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Irgendwo bei den neuen Einträgen wird dieses Problem diskutiert. Ich habe das Thema, glaube ich, mit einer (mehr oder eniger) intelligenten Lösung gemacht
Link is here
Klick mal drauf
Un guck rein
Link is here
Klick mal drauf
Un guck rein
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet