problems with cursor [Solved]

Started by Mouth for war, Tue 23/11/2010 16:23:35

Previous topic - Next topic

Mouth for war

GRRR I'm going nuts over this. On the introscreen I have disabled the interface because that shouldn't be visible during the credits etc. When the "NEW GAME" and "LOAD GAME" buttons appear, I'm getting problems. This is the script

function room_Load()
{
DisableInterface();
mouse.Visible =false;
gIconbar.Visible =false;
gInventory.Visible =false;
gPanel.Visible =false;
gRestartYN.Visible =false;
gSaveGame.Visible =false;
gRestoreGame.Visible =false;
}

No problems there. This is after the NEW GAME and LOAD GAME buttons appears

EnableInterface();
mouse.Visible =true;
mouse.UseModeGraphic(eModeInteract);
mouse.EnableMode(eModeInteract);

I also have the function for the loadbutton

function oload_Interact()
{
gRestoreGame.Visible =true;
RestoreGameDialog ();
}

I only want the Interact icon to be visible but It's not enabled...can't click on Load game or New game...Unless I set gIconbar to
gIconbar.Visible =true; but if I do that the entire iconbar is visible with all icons etc. I only want the Interact icon to be visible and enabled...Is that possible somehow?
thanks
mass genocide is the most exhausting activity one can engage in, next to soccer

tzachs

In the same manner you can make gIconBar visible and not visible (and enabled or not), you can do the same thing to each ones of the buttons in gIconBar (you can get their names if you double click the gui in the designer and look at the combo box in the properties window).

You basically need to make gIconBar and bInteract (or however its called) visible, and make all other buttons (bLookAt, bTalk, etc) not visible.

Mouth for war

the problem is that the Interact on the giconbar is a verb and when you press that verb the mouse changes into the interact image. I only want that interact image visible and not the iconbar at all.
mass genocide is the most exhausting activity one can engage in, next to soccer

Khris

First of all, note that all e.g.
  gRestoreGame.Visible =false;
actually does is turn off the GUI if it is visible. However, it looks as if you're trying to prevent those GUIs from showing. (Having all those commands in room_Load doesn't make any sense otherwise).

Say you still want F5 to bring up the save game dialog, just not in the menu, only during the game. What you do is put a check for the current room in on_key_press:

Code: ags
function on_key_press(int keycode) {

  // shortcut keys that are supposed to work always:
  if (keycode == eKeyF12) SaveScreenShot("scrnshot.bmp");  // F12

  if (player.Room == 1) return;   // exit the function if player is in menu room

  // rest of shortcuts, supposed to work only during game
 ...
}


This example disables all key commands except F12 in the menu screen.


On to your problem:

Why would you want the Interact Icon to be visible? Is the player supposed to be able to change the mouse mode while at the menu screen?

I don't know what modes you have enabled; my guess is that while you're changing the appearance of the mouse cursor to interact, the mode is still eModeWalkto. Naturally, this won't trigger oload_Interact().

Instead of
Code: ags
  mouse.UseModeGraphic(eModeInteract);
  mouse.EnableMode(eModeInteract);


use this:
Code: ags
  mouse.EnableMode(eModeInteract);
  mouse.mode = eModeInteract;



No offense, you seem to have what Germans call "dangerous half knowledge" when it comes to scripting. It looks like you're making simple things unnecessarily complicated and messy. The best way to go about solving this would be you telling us what the player's supposed to see when they play the game.

Mouth for war

Thanks for the answers...but I did a little work around and got it working the way I want :)
and yeah my scripting knowledge is limited but I'm learning :D
mass genocide is the most exhausting activity one can engage in, next to soccer

SMF spam blocked by CleanTalk