Wie der Titel schon sagt:
Ich würde im Script gerne den rechten Mausklick auf ein Inventar-Item abhandeln.
In den General Game Settings ist dafür ja auch extra ein Schalter vorhanden, doch selbst nach der Lektüre der Hilfe verstehe ich nicht, wo und wie ich im Script dann auf den Mausklick reagieren kann.
Rechtsklick auf Inventar
- AlphaBolley
- Verpackungs-Wegwerfer
- Beiträge: 53
- Registriert: 07.03.2006, 15:52
- Wohnort: Iserlohn
- Kontaktdaten:
Rechtsklick auf Inventar
100,5% Sinnlos
- Campusanis
- Hobby-Archäologe
- Beiträge: 108
- Registriert: 06.01.2003, 13:22
- Kontaktdaten:
Du schreibst einfach in die Funktion "on_mouse_click"
Vorausgesetzt, du hast das Häkchen aktiviert.
Meintest du das?
Code: Alles auswählen
else if (button == eMouseRightInv){
...
}
Meintest du das?
- AlphaBolley
- Verpackungs-Wegwerfer
- Beiträge: 53
- Registriert: 07.03.2006, 15:52
- Wohnort: Iserlohn
- Kontaktdaten:
Aso. Natürlich.
Irgendwo war mir nicht klar, dass das Event eMouseRightInv dann in Button gespeichert ist.
Werd's gleich mal ausprobieren, aber sollte klappen.
Und noch was:
Wie registiere ich, dass der Mauszeiger gerade über einem Inventar-Symbol ist, damit ich auch entsprechendes Button-Highlighting beim "Schaue"-GUI-Button durchführen kann?
EDIT:
Und noch was zum ursprünglichen Problem:
Wenn ich die Inventar-Klicks im Script handle, funktioniert dann der Aufruf eigentlich nicht, so wie es bei Hotspots etc. gehandhabt wird?
Muss ich entsprechend das Inventar-Handling nun komplett selber schreiben?
Irgendwo war mir nicht klar, dass das Event eMouseRightInv dann in Button gespeichert ist.
Werd's gleich mal ausprobieren, aber sollte klappen.
Und noch was:
Wie registiere ich, dass der Mauszeiger gerade über einem Inventar-Symbol ist, damit ich auch entsprechendes Button-Highlighting beim "Schaue"-GUI-Button durchführen kann?
EDIT:
Und noch was zum ursprünglichen Problem:
Wenn ich die Inventar-Klicks im Script handle, funktioniert dann der Aufruf
Code: Alles auswählen
ProcessClick(mouse.x, mouse.y, MODE_LOOK);
Muss ich entsprechend das Inventar-Handling nun komplett selber schreiben?
100,5% Sinnlos
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
1.
2.ProcessClick verhält sich so, als hätte man "durch alle GUIs durch" direkt auf den screen geklickt. Wenn Du trotzdem AGS ein InvItem anklicken lassen willst, geht das so:
Code: Alles auswählen
function repeatedly_execute() {
InventoryItem inv=InventoryItem.GetAtScreenXY(mouse.x, mouse.y);
if (inv!=null) {
// Maus befindet sich über inv
}
}
Code: Alles auswählen
iBuch.RunInteraction(eModeLookAt);
Use gopher repellent on funny little man
- AlphaBolley
- Verpackungs-Wegwerfer
- Beiträge: 53
- Registriert: 07.03.2006, 15:52
- Wohnort: Iserlohn
- Kontaktdaten:
Danke für die Lösungen.
Punkt 2) hab ich gestern abend schon mit ner eigenen Click-Implementierung gelöst.
Hat mich zwar mehrere Stunden gekostet, alles umzuwerfen, dafür ist es übersichtlicher und einfacher als der Weg über RunInteraction.
Aber immer schön zu wissen, dass es trotzdem gegangen wäre.
Punkt 2) hab ich gestern abend schon mit ner eigenen Click-Implementierung gelöst.
Hat mich zwar mehrere Stunden gekostet, alles umzuwerfen, dafür ist es übersichtlicher und einfacher als der Weg über RunInteraction.
Aber immer schön zu wissen, dass es trotzdem gegangen wäre.
100,5% Sinnlos