Autor Thema: FaceCharacter-Bug behoben, aber trotzdem noch drin  (Gelesen 9885 mal)

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2675
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #15 am: 30. August 2010, 17:20:38 »
sowas in der art ist mir bei AGS3.1SP1 auch schon mal untergekommen
da hat AGS einfach ein vollkommen gültiges skript als fehlerhaft angesehen
hab da dann code gelöscht und neu geschrieben (aber 1:1 so wie es vorher da stand) bis es irgendwann wieder ging
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

fireorange

  • Ehrwürdiger Tentakel
  • ********
  • Beiträge: 3994
  • Geschlecht: Weiblich
    • Profil anzeigen
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #16 am: 30. August 2010, 17:31:42 »
Dann versuch ich es nochmal, danke.

fireorange

  • Ehrwürdiger Tentakel
  • ********
  • Beiträge: 3994
  • Geschlecht: Weiblich
    • Profil anzeigen
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #17 am: 30. August 2010, 19:16:38 »
Hab alles versucht, der beschwert sich nach wie vor...


Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2675
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #18 am: 30. August 2010, 21:00:09 »
jep, genau denn selben fehler hatte ich auch
ich wollte zwei integer eigenschaften vergleichen und AGS hat gestreikt

aber nach ein paar mal ändern, speichern, ... hat AGS aufgegeben  ;)
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

fireorange

  • Ehrwürdiger Tentakel
  • ********
  • Beiträge: 3994
  • Geschlecht: Weiblich
    • Profil anzeigen
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #19 am: 30. August 2010, 21:50:34 »
AGS ist hartnäckig... :P Und da gabs keinen Geheimtipp zur Lösung?

Edit: Ich muss wohl aufgeben... der Bug lässt sich net beheben. :-\
« Letzte Änderung: 30. August 2010, 22:12:42 von FireOrange »

Rocco

  • Administrator
  • alter Tentakel
  • *****
  • Beiträge: 2372
  • Geschlecht: Männlich
    • Profil anzeigen
    • Maniac Mansion Mania
    • E-Mail
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #20 am: 30. August 2010, 22:18:03 »

fireorange

  • Ehrwürdiger Tentakel
  • ********
  • Beiträge: 3994
  • Geschlecht: Weiblich
    • Profil anzeigen
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #21 am: 30. August 2010, 22:32:20 »
Wie das Eingangsposting verrät, habe ich den Thread hier nur geöffnet, weil eben dieser Skript dieses Mal offenbar keine Wirkung zeigt...

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2675
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #22 am: 30. August 2010, 22:33:32 »
bzgl. speichern-bug:
hast du schon probiert die zeile die ihm nicht passt zu entfernen, speichern, fenster schliessen, evtl. sogar ags schliessen, alles neu aufmachen und den code neu reintippen?
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

fireorange

  • Ehrwürdiger Tentakel
  • ********
  • Beiträge: 3994
  • Geschlecht: Weiblich
    • Profil anzeigen
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #23 am: 30. August 2010, 22:39:34 »
Ja, hab ich alles versucht... Leider sind es mindestens drei Zeilen, die ihm net passen. Wenn ich eine ausklammere, beschwert er sich über die nächste. Der Greif meinte, es müsste statt GetCharacterAt "Character.GetAtScreenXY" heißen, aber das ändert auch nichts, außer dass dann ne andere Meldung kommt (structure required on left of '.').

Rocco

  • Administrator
  • alter Tentakel
  • *****
  • Beiträge: 2372
  • Geschlecht: Männlich
    • Profil anzeigen
    • Maniac Mansion Mania
    • E-Mail
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #24 am: 30. August 2010, 22:54:27 »
das semikolon ist da am Ende der if-anweisung auf jeden Fall fehl am Platz, damit beendest du die if-Anweisung und mehrere Fehlermeldungen sind die Folge.
Semikolon am Ende von 3097 also einmal auf jeden Fall weg.

dann versuch mal den Teil rauslöschen
if (type == 2 || type == 6)
{
  if ( player.Room != GetCharacterAt (mouse.x, mouse.y).Room )
  {
    player.Say("Character nicht im selben Raum %d %d\n", GetCharacterAt (mouse.x, mouse.y).Room, GetCharacterAt (mouse.x, mouse.y).ID);
  }
  else
  {
    FaceCharacter (GetPlayerCharacter (), GetCharacterAt (mouse.x, mouse.y));
  }
}


und schau ob ohne diesen Abschnitt alles ordnungsgemäss kompiliert wird,
damit du dir sicher sein kannst, dass das Problem auch von diesem Bereich herrührt und nicht von wo anders kommt.

edit: wenn ich mir das so anschaue, dann bezweifle ich dass dieser code je funktioniert haben könnte.
GetCharacterAt (mouse.x, mouse.y) .Room <- das ist mir neu
um es mit bernards worten auszudrücken - "Das klappt so nicht."
« Letzte Änderung: 30. August 2010, 23:01:54 von Rocco »

fireorange

  • Ehrwürdiger Tentakel
  • ********
  • Beiträge: 3994
  • Geschlecht: Weiblich
    • Profil anzeigen
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #25 am: 30. August 2010, 23:01:31 »
Das hab ich schon versucht. Wenn ich den ganzen Part rauslösche, dann speichert es.

Dass das Semikolon an der Stelle falsch ist, hab ich inzwischen gepeilt, aber es ging so und so net speichern.

Zitat
GetCharacterAt (mouse.x, mouse.y) .Room <- das ist mir neu

Der Skript ist ja auch neu, der stammt von rulaman (vielleicht würdest du besser durchblicken, wenn du den Thread ganz durchliest ;) ). Und er lässt sich eben zumindest bei mir net abspeichern.

Edit: Bòógiemans Theorie vom Speicherfehler kann auch net ganz stimmen. Ich hab versucht den Skript bei einer alten Episode einzufügen und die Meldungen bleiben gleich. Bin mal im Bett, vielleicht findet morgen oder so ja noch jemand nen Fehler in besagtem Skript...
« Letzte Änderung: 30. August 2010, 23:12:14 von FireOrange »

Rocco

  • Administrator
  • alter Tentakel
  • *****
  • Beiträge: 2372
  • Geschlecht: Männlich
    • Profil anzeigen
    • Maniac Mansion Mania
    • E-Mail
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #26 am: 30. August 2010, 23:17:53 »
edit: ich blick schon durch keine Angst,  ;) aber es hat wohl vor mir noch keiner das Konstrukt von Rulaman an sich in Frage gestellt und da hakts meiner Meinung nach, weil so einen Befehl
GetCharacterAt (mouse.x, mouse.y).Room gibts in AGS nicht, führt deswegen zu deiner Fehlermeldung und kann nicht kompiliert werden.


versuchs mal damit.

 if (type == 2 || type == 6)
{
  Character *whichchar = Character.GetAtScreenXY(mouse.x,mouse.y);
  if ( player.Room != whichchar.Room)
    player.Say("Character nicht im selben Raum \n");
  else
    FaceCharacter (GetPlayerCharacter (), GetCharacterAt (mouse.x, mouse.y));
}
« Letzte Änderung: 30. August 2010, 23:22:07 von Rocco »

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2675
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #27 am: 31. August 2010, 09:18:22 »
GetCharacterAt gibt es sehr wohl!

Zitat von: AGS Hilfe
GetAtScreenXY (character)
(Formerly known as global function GetCharacterAt, which is now obsolete)

dieser liefert einen Character* zurück, somit geht GetCharacterAt(...).Room auch


probiere mal, die werte die du im if vergleichen willst als variable zwischenzuspeichern

int iRoom1 = player.Room;
int iRoom2 = Character.GetAtScreenXY(mouse.x,mouse.y).Room;
if ( iRoom1 != iRoom2)
...
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

Rocco

  • Administrator
  • alter Tentakel
  • *****
  • Beiträge: 2372
  • Geschlecht: Männlich
    • Profil anzeigen
    • Maniac Mansion Mania
    • E-Mail
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #28 am: 31. August 2010, 10:28:38 »
Natürlich gibts GetCharacterAT auch, aber AGS lässt diese Syntax mit .Room am Schluss nicht gelten.
Vielleicht würde es so funktionieren Character[GetCharacterAT(mouse.x,mouse.y)].room keine Ahnung,
könnte ich mir eher vorstellen, müsste man probieren.

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2675
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #29 am: 31. August 2010, 12:06:18 »
das kann jetzt nicht funktionieren

GetCharacterAt liefert den Character zurück (also wenn es zB auf Dave verweisst, bekommt man da das selbe wie wenn man cDave verwendet)
dein code geht aber davon aus, dass GetCharacterAt einen index zurück liefert, mit dem man in der Character-liste zugreifen kann

es sei denn, die AGS-hilfe ist falsch, dann nehme ich alles zurück ;)
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<