Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Ghostlady

#1
I'll take this all into consideration. Thank you!
#2
As I am getting close to finishing up my game and would like to have some beta testing done, is there any advice on how to have some trigger that will disable the game so that it cannot be copied/distributed?
Is there an internal date and time that I can check and cause the game to quit working once that expires.  Or a count of how many times the executable has been opened? Something along these lines...
#3
Crimson Wizard - Checking for the game being paused was a good fix.  I only had a handful of rooms it needed added it. I personally prefer scripting over graphics because graphic work is not one of things I am very good at.  But I am willing if it is a solution.  Thanks for the tidbit about Custom Properties, it is good to know going forward.

Kris - Thank you for working out a gui and showing me how to do a transparent border. This is my problem. It is an older game from 2004'ish and is set at a 16 bitrate, imported into the current AGS version, and transparencies won't show transparent for any bitrate over 24. When I created my background, it went higher than the 24 bitrate so no transparency.  If I export it to png it makes it 8 bit and looks bad. It has made this game a real challenge. But, it is almost complete and I feel there has been some magic that came into play with the graphics, none that I did. :)
#4
The Inventory Gui is currently set to "pause game when shown".
How did you add a transparent border to the background image?  Will the way I did it not work? (created a screensize background and layered my inventory window on top of the transparent background and then saved as a .png.)  Actually I played with this again today and it is offset.

Here are two screenshots showing how I created the Inventory Box.

This the inventory Box


This is the box inside the Inventory box which will hold all the inventory items.


I haven't tried Crimson Wizards plan yet.  That may be the easiest solution.


Code: ags
Global Repeatedly Execute:

if (GetLocationType(mouse.x,mouse.y) != eLocationNothing) {
      if(Mouse.Mode!=eModeUseinv)  {
      if (player == cWoman)  Mouse.UseModeGraphic(eModeDapHandU);
      if (player == cMan) Mouse.UseModeGraphic(eModePointer); } }
else { Mouse.UseDefaultGraphic (); }

Room multiple hotspot entryways Repeatedly Execute:

  // script for Room: Repeatedly execute
if (Hotspot.GetAtScreenXY(mouse.x, mouse.y) == hrighthall) {
    if (player == cWoman)  Mouse.UseModeGraphic(eModeDapHandR); 
    else if (player == cMan)  Mouse.UseModeGraphic(eModeUsermode2); }

if (Hotspot.GetAtScreenXY(mouse.x, mouse.y) == hlefthall) {
    if (player == cWoman)  Mouse.UseModeGraphic(eModeDapHandL); 
    else if (player == cMan)  Mouse.UseModeGraphic(eModeUsermode3); }

if (Hotspot.GetAtScreenXY(mouse.x, mouse.y) == hdownstairs) {
    if (player == cWoman)  Mouse.UseModeGraphic(eModeDapHandD); 
    else if (player == cMan)  Mouse.UseModeGraphic(eModeUsermode5); }

#5
How do I make a transparent border? I created a screensize background and layered my inventory window on top of the transparent background and then saved as a .png. It's not working though. 
#6
Interesting about the background with a transparent border.  I am going to try that.
#7
Can anyone help me with this?  This room has multiple directional hotspots.  When a gui is open, in this case the inventory gui or the interface gui, if the mouse rolls over one of the hotspots while the gui is open, it picks up hotspot and changes the mouse cursor, disregarding the mouse for the gui.  How can I stop this from happening.  See video for an example.

https://youtu.be/R_aq8aiVV4M
#8
Haunting At Cliffhouse is a traditional point and click adventure game.  It was created in 2012 and was sold through my website and also on the defunct Just Adventure website. In 2021, I decided to bring it back and it can now be purchased on the Steam website. 

You play as Sarah Blake and your husband has lost his life in a tragic accident. Your life seems pointless and without direction.  Lost in your sadness, you find an invitation to Cliffhouse Bed and Breakfast, a sanctuary of peace and serenity in your time of grief. It seems like an idyllic retreat from the world... a place to unwind, relax and let go of the misery that haunts you. But from the moment you ring the check-in bell, you are thrown into a world of mystery, family secrets and tragic history that will take you through time to unravel the buried scandals of the long-dead family dynasty who shaped the very coastline on which you stay. 

You can find it here: https://store.steampowered.com/app/1575290/Haunting_At_Cliffhouse/
#9
Hi, I think option 1 is the best solution.  I don't think producing lots more images is really worth it.  At this scene, the player is going to want to get into that shack and will not be spending much time looking at smoke.🙂   Can you start off with changing maybe just 5 images so that I can take a look and see if I like it better?  Before you change everything.
#10
Hi, I've been out of pocket today so just now able to respond. This is amazing! I love it. I would like to see it somewhat pixelated, a little more transparent and moving slower if this all it not hard to do.
This whole project has been a challenge. I'm not reproducing any of the rooms, it would cost too much, but I have worked magic to get animation going.  I mean magic like creating pieces of a room as objects and overlaying them on the background.  What you just did here. :) I've been having lots of fun with it all. :)
#11
@RootBound thank you very much for your offer. I'd like to see what Rik comes up with.
#12
@Rik_Vargard would you like me to send you the two backgrounds?
#13
Brushfe, I am looking for someone to do this for me.
#14
Recruitment / Re: Chimney Smoke
Wed 07/05/2025 23:25:39
Rik, the YouTube link you posted is exactly what I am looking for. That slow easy stream of smoke. This kind of work is out of my wheelhouse that's why I'm looking for some help. The background in that area of the chimney can be painted over to remove the smoke that is there.
#15
Recruitment / [AGS HELP WANTED] Chimney Smoke
Wed 07/05/2025 19:01:47
Looking for someone who can animate smoke coming out of a chimney.  It would be put on top of a background.

As you can see here, it needs some help:  https://www.youtube.com/watch?v=LvJSuMoXYQA
#16
Hi, currently when the inventory box is open and it's sitting in the middle of the screen but on some hotspots, if I move the mouse around within the inventory box, and it rolls over a hotspot, it changes the cursor to the Interact graphic.  Here is the code I use in my global script.  How this works is that the Inventory box opens and there should be an "arrow" cursor.  When the mouse rolls over an inventory item, the cursor graphic changes to the interact pointer. I shouldn't be seeing hotspots within the inventory box.


Code: ags
  // ** CUSTOM INVENTORY WINDOW
  gInventory.Visible = true;
  // switch to the Use cursor (to select items with)
  mouse.Mode = eModeInteract;
  // But, override the appearance to look like the arrow
  mouse.UseModeGraphic(eModePointer);
#17
Ok...so I got this figured out but I still don't understand. See code below.  If I use Mouse.UserModeGraphic with my custom cursor mode it works.  If I use Mouse.ChangeModeGraphic with the sprite # and with the Interact Mode, I lose my arrow. (see commented out lines)

Code: ags
//New cursor logic 
  if (GetLocationType(mouse.x,mouse.y) != eLocationNothing) {
    if(Mouse.Mode!=eModeUseinv)  {
      if (player == cWoman)  Mouse.UseModeGraphic(eModeDapHandU);
//    if (player == cWoman)  Mouse.ChangeModeGraphic(eModeInteract, 485);
      if (player == cMan) Mouse.UseModeGraphic(eModePointer); } }
//    if (player == cMan) Mouse.ChangeModeGraphic(eModeInteract,  16); } }
  else { Mouse.UseDefaultGraphic (); }
  //New cursor logic end

Here are two videos showing working correctly and incorrectly (when I lose the arrow).

Correct:  https://youtu.be/EQFJbFcnn2A

Inccorrect: https://youtu.be/7I21LJAYhQE
#18
1. I went through though the global script and found entries related to the mouse.  At the beginning I disable modes Walkto, Talkto and Lookat. 

2. I am using this to determine either arrow pointer or finger pointer. I am curious what defines Mouse User Default Graphic.

Code: ags
if (GetLocationType(mouse.x,mouse.y) > 0) {
    if(Mouse.Mode!=eModeUseinv) mouse.UseModeGraphic(eModePointer);}
  else {
    Mouse.UseDefaultGraphic(); 

3. There are multiple instances on Guis that the Mouse Mode is being selected.  Here's a few:
Code: ags
These deal with the Inventory box buttons:

function btnInvOK_Click(GUIControl *control, MouseButton button) {
  
    // They pressed the OK button, close the GUI
    gInventory.Visible = false;
    mouse.UseDefaultGraphic();
}
#sectionend btnInvOK_Click  // DO NOT EDIT OR REMOVE THIS LINE


function btnInvSelect_Click(GUIControl *control, MouseButton button) {
  
    // They pressed SELECT, so switch to the Get cursor
    mouse.Mode = eModeInteract;
    // But, override the appearance to look like the arrow
    mouse.UseModeGraphic(eModePointer);
}
#sectionend btnInvSelect_Click  // DO NOT EDIT OR REMOVE THIS LINE


#sectionstart btnIconCurInv_Click  // DO NOT EDIT OR REMOVE THIS LINE
function btnIconCurInv_Click(GUIControl *control, MouseButton button) {
  
  if (player.ActiveInventory != null)
    mouse.Mode = eModeUseinv;
}
#sectionend btnIconCurInv_Click  // DO NOT EDIT OR REMOVE THIS LINE


This is the icon bar or interface bar
// hide the icon bar and show a GUI
function open_gui(GUI* gui_to_open)
{
 // if (gui_to_open != gInventory)
 // {
 //  lblOverHotspot.Visible = false;
 // }

  gGui3.Visible = false;
  mouse.UseModeGraphic(eModePointer);
  gui_to_open.Visible = true;
}

// hide the GUI and show the icon bar
function close_gui(GUI* gui_to_close)
{
  gui_to_close.Visible = false;
  mouse.UseDefaultGraphic();
  gGui3.Visible = true;
//  lblOverHotspot.Visible = true;
//  gIconbar.Visible = true;
}

4. For movement in the rooms, when I turn left, right, up or down, and the curser finger pointer turns direction, I have created User modes with the different pointing direction graphic. 

Code: ags


Multiple hotspots/entryways
if (Hotspot.GetAtScreenXY(mouse.x, mouse.y) == hrighthall) {
      mouse.UseModeGraphic(eModeUsermode2); }

if (Hotspot.GetAtScreenXY(mouse.x, mouse.y) == hlefthall) {
      mouse.UseModeGraphic(eModeUsermode3); }  

if (Hotspot.GetAtScreenXY(mouse.x, mouse.y) == hdownstairs) {
      mouse.UseModeGraphic(eModeUsermode5); } 



5. To sum this all up, I think #2 above is the "all control of the pointer vs finger and any changes to that scenario will be notated in the global script or the room script.  If this is true, then I don't understand how it works on hotspots and objects based on only GetLocationType.

#19
Update:  I got it working by removing the "was over active area" statements.  On some screens I can see the graphic on the cursor switching images and the buttons on my save/load gui are now unclickable.

Code: ags
//New Area
bool wasOverActiveArea;
void HandleCursor() {
  if (Mouse.Mode == eModeUseinv) return; // do nothing
  bool isOverActiveArea = GetLocationType(mouse.x, mouse.y) != eLocationNothing; // compare to enum!
 // if (isOverActiveArea && !wasOverActiveArea) {
  if (isOverActiveArea)  {
    // mouse just moved over active area
  Mouse.Mode = eModeInteract; }
  else  if (!isOverActiveArea) {
  Mouse.Mode = eModePointer;
  Mouse.ChangeModeGraphic(eModePointer, 22); }
    // mouse just left active area
    //End New Area
}
#sectionstart repeatedly_execute  // DO NOT EDIT OR REMOVE THIS LINE
function repeatedly_execute() {
  // put anything you want to happen every game cycle here
  
  //New Area
    HandleCursor();
  //End New Area
  
//Old cursor logic 
//  if (GetLocationType(mouse.x,mouse.y) > 0) {
//    if(Mouse.Mode!=eModeUseinv) mouse.UseModeGraphic(eModePointer);}
//  else {
//    Mouse.UseDefaultGraphic(); }
//Old cursor logic end  

//New cursor logic 
  if (GetLocationType(mouse.x,mouse.y) > 0) {
    if ((Mouse.Mode!=eModeUseinv) && (Mouse.Mode == eModeInteract)) {
      if (player == cWoman)  Mouse.ChangeModeGraphic(eModeInteract, 485);
    else  if (player == cMan) Mouse.ChangeModeGraphic(eModeInteract,  16); }
 }
//New cursor logic end
      
#20
Also, I changed the eModeWalkto to Pointer and I get my arrow back but it only shows on the interface dropdown on top of screen.  It seems like the whole screen is being read as an active area.
SMF spam blocked by CleanTalk