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

Rocco

  • Administrator
  • alter Tentakel
  • *****
  • Beiträge: 2352
  • Geschlecht: Männlich
    • Profil anzeigen
    • Maniac Mansion Mania
    • E-Mail
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #30 am: 31. August 2010, 15:17:26 »
ich dachte es ist umgekehrt, nämlich das GetCharacterAt ein int zurückliefert,
aber room eine Memberfunktion von Character ist und deswegen einen Character erwartet und mit einem int nichts anfangen kann.
müsste man austesten, das hier scheint aber zu funktionieren (zumindest gibts keinen Error):


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));
}

fireorange

  • Ehrwürdiger Tentakel
  • ********
  • Beiträge: 3985
  • Geschlecht: Weiblich
    • Profil anzeigen
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #31 am: 31. August 2010, 19:01:13 »
Kann es denn sein, dass rulamans Skript nur unter AGS 3 funktioniert? Dann kanns bei mir nämlich net klappen (und ich weiß net, bei welcher Version Rocco ist...). Danke für das Skript, Rocco, ich werde es nachher ausprobieren. :)

Rocco

  • Administrator
  • alter Tentakel
  • *****
  • Beiträge: 2352
  • Geschlecht: Männlich
    • Profil anzeigen
    • Maniac Mansion Mania
    • E-Mail
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #32 am: 31. August 2010, 19:21:54 »
Glaub ich nicht, weil GetCharacterAt eigentlich schon in AGS 272 veraltet war und durch GetAtScreenXY (character) ersetzt wurde.
Das du und die meisten anderen hier noch mit AGS 272 arbeiten ist allgemein bekannt.  ;)

@Bòógieman:
In der Hilfe steht nichts davon was GetCharacterAt zurückgibt, sondern nur das GetAtScreenXY einen Character zurückgibt.

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

static Character* Character.GetAtScreenXY(int x, int y)

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2653
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #33 am: 31. August 2010, 21:20:00 »
gut, du hast recht
ich hab mich von der hilfe in die irre leiten lassen
dachte echt, dass wenn eine funktion die andere ersetzt, dass zumindest der rückgabetyp gleich bleibt, aber naja
im skript selbst sieht man den rückgabetyp int, also index  :-[
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

rulaman

  • Moderator
  • Teenie Tentakel
  • *****
  • Beiträge: 354
  • Geschlecht: Männlich
    • Profil anzeigen
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #34 am: 31. August 2010, 21:40:17 »
Sorry für die übereilte Antwort. Aber Roccos Lösung sollte funktionieren.
Bin die letzten Tage nicht zum Lesen oder testen gekommen.
Wie schon gesagt es war ungetestet. Da hätte ich sorgfältiger sein sollen.
Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

fireorange

  • Ehrwürdiger Tentakel
  • ********
  • Beiträge: 3985
  • Geschlecht: Weiblich
    • Profil anzeigen
Re: FaceCharacter-Bug behoben, aber trotzdem noch drin
« Antwort #35 am: 01. September 2010, 03:41:18 »
Kein Problem, rulaman, kommt vor. ;) Roccos Skript funktioniert. :)