Ich habe mir vor etwa einer Woche mal AGS heruntergeladen und mich seitdem intensiv eingearbeitet (was aufgrund ein bisschen Programmiererfahrung auch recht gut klappte).
Hab mir die etwas veraltete MI-Demo von Lucasfan heruntergeladen, mit den neuen Befehlen von 2.7 aktualisiert und das GUI-System in großen Teilen neu geschrieben, hänge nun aber an einem Problem fest.
Den Objekten, Hotspots und Charakteren hab ich die Property "stdMode" gegeben, in der die Standardinteraktion gespeichert ist (also zum Beispiel, dass sich geschlossene Türen bei Rechtsklick öffnen, mit Personen geredet wird, etc.)
Nun soll die globale Funktion on_mouse_click diese Property abfragen, wozu soweit ich das sehe, zunächst einmal festgestellt werden muss, was sich unter dem Cursor befindet und dann muss die Property geholt werden. Das hab ich zunächst einmal so realisiert:
Code: Alles auswählen
#sectionstart on_mouse_click // DO NOT EDIT OR REMOVE THIS LINE
function on_mouse_click(int button) {
...
if (GetLocationType(mouse.x, mouse.y) == 1)
handlingModus = Hotspot.GetAtScreenXY(mouse.x, mouse.y).GetProperty("stdMode");
else if (GetLocationType(mouse.x, mouse.y) == 2)
handlingModus = Character.GetAtScreenXY(mouse.x, mouse.y).GetProperty("stdMode");
else if (GetLocationType(mouse.x, mouse.y) == 3)
handlingModus = Object.GetAtScreenXY(mouse.x, mouse.y).GetProperty("stdMode");
...
}
#sectionend on_mouse_click // DO NOT EDIT OR REMOVE THIS LINE
handlingModus = Hotspot.GetAtScreenXY(mouse.x, mouse.y).GetProperty("stdMode");
Offenbar können die beiden Methoden nicht so aneinander gereiht werden.
Wie kann ich das Problem lösen?
Muss ich erst nur "Hotspot.GetAtScreenXY(mouse.x, mouse.y)" anwenden und als neuen Hotspot speichern, dessen Property ich anschließend abfrage? Und wenn ja, wie mach ich das?
Ich hoffe mal, ich hab euch nicht überfordert und ihr könnt mir helfen