
Episode 34: Helden des Tages
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
- neon
- Adventure-Treff
- Beiträge: 30025
- Registriert: 08.07.2004, 10:55
- Wohnort: Wiesbaden
- Kontaktdaten:
Ich wollte keine 23 Seiten thread durchlesen, kann sein daß es schon gefixt ist, aber ich bekomme eine Fehlermeldung in Zeile 2271 Face Character: Invalid Character specified.
Falls das schon erledigt ist, vergesst es einfach.
Falls das schon erledigt ist, vergesst es einfach.
"Ich habe mich so gefühlt, wie Sie sich fühlen würden, wenn sie auf einer Rakete sitzen, die aus zwei Millionen Einzelteilen besteht - die alle von Firmen stammen, die bei der Regierungsausschreibung das niedrigste Angebot abgegeben haben"
- John Glenn nach der ersten Erdumrundung 1962
- John Glenn nach der ersten Erdumrundung 1962
- SeltsamMitHut
- Profi-Abenteurer
- Beiträge: 798
- Registriert: 22.06.2004, 21:54
- Wohnort: Arkham
Ist glaube ein typischer AGS-Fehler. Der Charakter mit dem etwas gemacht wird ist angeblich nicht im Raum (kam schon mal vor, wenn man Achmed das Rad gegeben hat, glaub ich).neon hat geschrieben:Ich wollte keine 23 Seiten thread durchlesen, kann sein daß es schon gefixt ist, aber ich bekomme eine Fehlermeldung in Zeile 2271 Face Character: Invalid Character specified.

I was frozen today!
- Edison Interactive
- Hobby-Archäologe
- Beiträge: 130
- Registriert: 23.07.2005, 16:02
Wenn du es nochmal machst, dürfte es einwandfrei klappen...neon hat geschrieben:Ich wollte keine 23 Seiten thread durchlesen, kann sein daß es schon gefixt ist, aber ich bekomme eine Fehlermeldung in Zeile 2271 Face Character: Invalid Character specified..
SeltsamMitHut hat geschrieben: Ist glaube ein typischer AGS-Fehler. Der Charakter mit dem etwas gemacht wird ist angeblich nicht im Raum (kam schon mal vor, wenn man Achmed das Rad gegeben hat, glaub ich).
Das seltsame ist, dass das dann ein Programmierfehler ist, der unter gleichen Bedingungen sowohl auftritt alsauch nicht, du kannst es mehrmals versuchen, meistens klappt es, manchmal nicht...khrismuc hat geschrieben:Hört sich für mich aber eher nach einem typischen Programmierfehler an.
Denn Achmed und Bernard sind im Raum. Warum dann einer von beiden "invalid" ist, können wir nicht nachvollziehen. Bernard ist "PlayerCharakter" und Achmed wird angeklickt. Und sie sind die einzigen beiden, auf die "FaceCharacter" angewendet wird...
Es ist einer von 2 sehr seltsamen Fehlern, die auch in anderen MMM Teilen gelegentlich vorkommen. In den meisten Fällen tritt dieser Fehler nicht auf. Wir beobachten ihn beim Benutzen eines Objektes oder beim Geben eines Objektes an einen Charakter.
Man benutzt z.B. ein Inventory Item mit irgendwas und fliegt raus, weil der Gegenstand nicht im Inventar ist (Player does not have anything of that...), obwohl schon der Klick auf den Item eigentlich vorraussetzt, dass man den Gegenstand besitzt.
Ähnlich bei dem Charakter. Denn Achmed ist ja im Raum, wenn man ihm das Rad gibt - sonst könnte man ihn ja nicht anklicken, das gebietet die Logik. Außerdem wird ja ein Script ausgeführt, das dem jeweiligen Charakter zugeordnet ist...
Sind deshalb auch schon aus einigen anderen Episoden rausgeflogen... haben aber keine Ahnung, woran das liegen kann, wenn nicht an AGS...
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Ich kenne die Lösung, ich schick's euch gleich per PN
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
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Na gut, dann zitiere ich mal eben die PN:
Ich bin mir aber nicht 100%-ig sicher...[ZENSIERT] hat geschrieben:Das Problem ist, dass AGS nach dem Geben selbst versucht, den Spieler auf den Charakter zu drehen, auf dem die Maus ist. Ist aber kein Charakter unter der Maus, bricht das Spiel logischerweise ab, da es nicht weiß, zu welchem Charakter der Spieler sich noch drehen soll.
Die ausschlaggebenden Zeilen sind diese:
Ersetzt sie einfach durch:Code: Alles auswählen
if (arrived > 0) { // characters only face each other after the moving character arrived at the target point if (NPCfacesplayer == 1) FaceCharacter (charid, playerchar); FaceCharacter (playerchar, charid); }
Und die Sache wär gelutschtCode: Alles auswählen
if (arrived > 0) { // characters only face each other after the moving character arrived at the target point /* if (NPCfacesplayer == 1) FaceCharacter (charid, playerchar); FaceCharacter (playerchar, charid); */ }
Sollte was schief gehen einfach /* und */ wieder entfernen
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
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Ich denke, dass es eher an dieser Zeile (1883) liegt:
Ist aber das selbe Problem. GetCharacterAt() liefert u.U. keinen Charakter mehr zurück.
Code: Alles auswählen
if (type == 2 || type == 6) FaceCharacter (GetPlayerCharacter (), GetCharacterAt (mouse.x, mouse.y));
Use gopher repellent on funny little man
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Args, richtig...
Ich hatte das schon in Epi 13 gefixt und wusste, dass es einzeilig war. Peinlich, peinlich
Ich hatte das schon in Epi 13 gefixt und wusste, dass es einzeilig war. Peinlich, peinlich

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
- Edison Interactive
- Hobby-Archäologe
- Beiträge: 130
- Registriert: 23.07.2005, 16:02
- Lak
- Rätselmeister
- Beiträge: 1586
- Registriert: 27.02.2005, 10:43
- Wohnort: London (England)
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Das ich nicht lache!Edison Interactive hat geschrieben:sind nicht wirklich erfahrene Programmierer...

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
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Z.B. so:
Das dürfte ein ausreichender workaround sein.
Code: Alles auswählen
if (type == 2 || type == 6) {
if (GetCharacterAt (mouse.x, mouse.y)==-1) {
FaceLocation((GetPlayerCharacter (), mouse.x, mouse.y);
}
else {
FaceCharacter (GetPlayerCharacter (), GetCharacterAt (mouse.x, mouse.y));
}
}
Use gopher repellent on funny little man
- Edison Interactive
- Hobby-Archäologe
- Beiträge: 130
- Registriert: 23.07.2005, 16:02