Maniac Mansion Mania Forum

MMM-Werkzeugkiste => Technik => Thema gestartet von: Mister L am 19. Dezember 2008, 14:39:57

Titel: Inventory-Objekt als Mouse-Curser?
Beitrag von: Mister L am 19. Dezember 2008, 14:39:57
Ich hab das bei einigen MMM-Folgen schon gesehen, dass der Curder beim benutzen von Inventargegenständen die Grafik des Inventarobjektes annimmt.
Wie macht man das eigentlich?  ???

Und: Kann man das dann wärhrend des Spiels ändern?

Titel: Re: Inventory-Objekt als Mouse-Curser?
Beitrag von: NsMn am 19. Dezember 2008, 14:43:58
Versuch doch mal in den general Settings das Häkchen bei "Don't use Inventory Items as Cursors' rauszumachen, dann müsste es eigentlich gehn.(Bei mir hats allerdings nicht gefunzt, keine Ahnung warum,aber ich will ja keinen verunsichern)
Titel: Re: Inventory-Objekt als Mouse-Curser?
Beitrag von: Mister L am 19. Dezember 2008, 16:54:20
So schlau war ich auch schon.  ;)
Bringt aber nix...  :-\
Titel: Re: Inventory-Objekt als Mouse-Curser?
Beitrag von: NsMn am 19. Dezember 2008, 17:09:14
dann einfach scripten:

//rep_execute:

if(player.activeinv > 0){
Mouse.ChangeModeGraphic(eModeUseinv,player.ActiveInventory.Graphic);
}

(ungetestet)

PS: "Curser" mit 'o' statt 'e' ;)

Edit: Und da es ja eh in rep_execute ist, kann man ja einfach eine Variable oder ein bool abfragen und die dann ändern,wenn mans ein- bzw. ausschalten will.
Titel: Re: Inventory-Objekt als Mouse-Curser?
Beitrag von: KhrisMUC am 19. Dezember 2008, 20:32:21
Ich war erst etwas baff, da ein Test ergab, dass mouse.GetModeGraphic(mouse.Mode) 114 war, also Bernards Kissen, aber trotzdem das Kreuz angezeigt wurde.
Dann hats klick gemacht: eModeUseinv ist, wie alle anderen auch, animiert; in diesem Fall wechselt der Cursor trotz entsprechender Einstellung nicht zum Inventar-Bild. Man muss also nur Animate auf false setzen, dann klappts.
Titel: Re: Inventory-Objekt als Mouse-Curser?
Beitrag von: NsMn am 19. Dezember 2008, 20:35:45
Das ist seltsam.Bei mir hats auch ohne funktioniert. Bei mir ist zwar gar nix animiert, weil ich den DotT- bzw. SaM- Cursor verwende, aber das script habe ich schon vorher geschreiben und getestetet. Komisch.

Kleine Anmerkung noch: Um das flimmernde Umschalten der mausgrafiken zu verhindern, vllt dieses Script oder etwas ähnliches hinzufügen:

//on_mouse_click:
if(UsedAction(A_USE_INV))Mouse.ChangeModeGraphic(eModeUseinv,- leeres Sprite (Wait-Cursor) - );
Titel: Re: Inventory-Objekt als Mouse-Curser?
Beitrag von: Mister L am 23. Dezember 2008, 15:22:11
Ich hab's jetzt mal probiert, klappt leider nicht.  :-\
Wie sieht denn der Code dafür aus, wenn ich die animation auf false setzen muss?  ???
Titel: Re: Inventory-Objekt als Mouse-Curser?
Beitrag von: NsMn am 23. Dezember 2008, 15:25:38
Mouse.SetModeView(eModeUseinv,-1);Schaltet die Animation aus.(Laut Hilfe)
Titel: Re: Inventory-Objekt als Mouse-Curser?
Beitrag von: rulaman am 23. Dezember 2008, 18:37:40
In der Oberfläche unter dem Eintrag 'Mouse cursors' gibt es die Nummer 4 'Use inv'

Da gibt es einen Eintrag 'Animate'. Setz den einfach auf False und gut ist.

Habs eben ausprobiert.
Titel: Re: Inventory-Objekt als Mouse-Curser?
Beitrag von: NsMn am 23. Dezember 2008, 18:41:35
Ich denke mal,dass das wenig bringt,da MisterL es ja bei bedarf wieder umschalten will.Richtig?
Titel: Re: Inventory-Objekt als Mouse-Curser?
Beitrag von: Mister L am 24. Dezember 2008, 11:51:45
Ja, stimmt, das soll im Spiel dann wieder abschaltbar sein.