Forum rules - please read before posting.

Is a one click, streamlined cursor interaction possible that avoids choosing look/use/talk to ?

Hi, I've just started.

Sorry if this question is dumb.

I recently played the Disavowed, which has a super simple cursor interaction. There is no cycling through if I want to 'look', 'use' or 'talk to'. Hovering shows which is possible (i.e. the mouse changes to the relevant symbol for 'talk' or 'interact with' - it is never more than one per object/npc) and at the same time the game displays a short description of the object/thing in question in text at the bottom of the screen. i.e. 'A giant crystal that reminds me of my hippie days'

I was really struck by how intuitive and easy to use this system was. Is it possible to implement with AC from the off?

In summary: you hover the cursor over an object. It gives you a brief description of it in text at the bottom of the screen. Clicking produces the relevant and only action available e.g. you try to pick it up, you open it, you talk to it, etc. There is no cycling through different actions required.

I had a quick look through but couldn't spot any posts relating to this. Maybe there are some I missed??

P.s. Thanks! Super excited to have bought this thing - and that it exists - it represents YEARS of dreaming it was possible and fun to start my own point and click. Thanksthanks

Comments

  • This straightforward interaction method is the one I personally favour, and it can be easily achieved in AC, as follows:

    1) AC Game Editor/Settings/Interface Settings/Interaction Method: Context Sensitive

    2) AC Game Editor/Cursor - ensure that you have a Cursor defined for every potential action you might want to implement in the game (e.g. one for Use, one for TalkTo, LookAt, Exit, etc)

    3) For every Hotspot you create in the game make sure that its "Use" Interaction Cursor/Icon is set to the appropriate Cursor for its default action. (Thus, for a door, you'd probably want to use an "Exit" or a "Use" Cursor)

    4) The position of the text that appears when the Cursor is over a Hotspot can be made to appear at any point on the screen by modifying the AC Game Editor/ Hotspot Menu, "Position" field

    ...

    Even within this simple interaction scheme there are further options and possibilities which you'll discover as you get further into AC, but basically once you've done all that then you should have achieved what you're aiming for, i.e. every object's Hotspot has just a single action available to the Player

  • Welcome to the community, @smokeincaves.

    You want to use AC's "Context sensitive" mode. In your Settings Manager, set your Interaction method to Context Sensitive.

    This causes your game to be a one-click interface - you can left-click to interact, and (optionally) right-click to examine. In your Hotspot component, you can define which "icon" is associated with the use interaction - so you can have the cursor change to "talk to" when over an NPC, for example.

    For more, see the Manual's "Context sensitive mode" chapter. The provided 3D Demo also makes use of this mode.

    To display text when hovering over a Hotspot, you can enter that text into the Hotspot component's Label (if not name) field. If you have a Hotpost menu in your Menu Manager (one is provided with the default interface), that label will show when hovering over a Hotspot.

    That'll replace the Hotspot's name, however. If you want to be able to show both, you'll need a little bit of custom scripting. Using the menu manager, create a new Menu (some tutorials on this topic can be found here), and inside it add a Label that displays the value of a Global String Variable. You'll have to go into the Variables Manager to define it.

    Set the Menu's Appear type property to On Hotspot, and it'll turn on whenever you mouse over a Hotspot.

    You can then attach a simple script (SetHotspotDescription.cs) to your Hotspots to set the Variable's text when hovering over it. This uses the OnHotspotSelect event - for more on custom events, see this tutorial.

    http://pasteall.org/1512378/csharp

  • Hoo hoo!
    Great, thanks very much Harry and Chris.
    Best wishes, whereever you may be.

  • edited June 2020

    Hello. I'm finally getting round to following this question up in more detail, over a year later. Wow.

    I really like the feature that you can give the hotspot a fun name using the 'label if not name field' on each scene object. My current problem with hotspots is that I want the text to appear on top of the hotspot but it isn't.

    @HarryOminous, you wrote:

    4) The position of the text that appears when the Cursor is over a Hotspot can be made to appear at any point on the screen by modifying the AC Game Editor/ Hotspot Menu, "Position" field

    Please see this image for my inspector information: https://imgur.com/tU6EVeQ

    For the life of me I can't get the x and y position of the hotspot label to appear directly over the hotspot. It keeps wanting to centre itself in the middle of the screen. The y seems to be working, and lines up with the y position of the cursor, but the x is always centred in the middle of the screen. I think I must have missed a simple setting in the hotspot menu, but I can't figure it out.

    Or is it that I have to get into scripting? Thanks

  • The X and Y position values are relative to whatever object the menu is positioned against. Set the Position value to On Hotspot - at the moment, it's set to Follow Cursor, which means it'll be positioned relative to the mouse position (or the centre of the screen, if the cursor is locked).

  • Thanks. I had tried that variant and it didn't seem to be helping.

    Once I knew that On Hotspot was the setting to go for I fiddled more with the Position in the Hotspot Properties now that both Appear Type and Position are set to On Hotspot. I also played a bit more with the settings in the Hotspot label and it seems to be getting closer to something that makes sense. But some labels, those left and right of centre, still seem to be behaving strangely.

    I don't really understand what the Position controls in the Hotspot Properties is affecting, nor do I understand what the Hotspot label position controls are adjusting. What do they do? I presume they centering on the origin point of each hotspot but it's not clear to me what these two sets of Position controls (1 in Hotspot Properties and 2 in Hotspot label) are doing.

    Here my current settings: https://imgur.com/sTH3CVy

    Thanks.

  • edited June 2020

    What is the actual behaviour of the menu in-game? A screenshot of it from the Game window - indicating where the Hotspot is as well - would be best.

    The Hotspot's default position, so far as menus go, is the centre of its collider. Though, you can override this on a per-Hotspot basis by assigning a "Centre-point (override)" transform in its Inspector.

    I don't really understand what the Position controls in the Hotspot Properties is affecting, nor do I understand what the Hotspot label position controls are adjusting. What do they do?

    A Menu is basically a container for elements within it. "HotspotLabel" is the Label element that actually displays the name of the Hotspot, while "Hotspot" is the Menu that it sits in.

    "Hotspot Properties" is referring to the properties of the Menu, i.e. when and how it appears. The Position field here refers to the position of the whole Menu, relative to the screen position of whatever Hotspot it's showing up for. The 2nd Position field, in the HotspotLabel element properties, is the position of the Label within that Menu. You shouldn't need to change this as you only have one element in the Menu.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.