Thanks. I'll take a look-see and respond if some things are a tad confusing.
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 Menufunction cLara_AnyClick()
{if(mouse.Mode == eModeSpFalcon)
{if((cLara.Room == 2)&&(LaraAwakened == false))
{
player.FaceCharacter(cLara, eBlock);
player.Say("Spirit Falcon, this dear child needs help!");
cLara.Animate(1, 5, eOnce, eBlock, eForwards);
Wait(20);
cLara.Animate(2, 5, eOnce, eBlock, eForwards);
cLara.UnlockView();
cLara.FaceDirection(eDirectionDown, eBlock);
LaraAwakened = true;
cLara.Name = "Lara Blaapeppe";
cLara.Say("Where am I?");
player.Say("I'm curious to that myself, but I got you out of that bag.");
player.Say("My name is Sarimento.");
cLara.Say("Thank you, Mr. Sarimento. My name is Lara. Lara Blaapeppe.");
cLara.FaceDirection(eDirectionRight, eBlock);
cLara.Say("My home town is not too far away. Follow me.");
Display("This is where we would transport to the Blaapeppe neighborhood. For now, we'll end here.");
QuitGame(0);
}
else
{
player.Say("She's already awoken from my Spirit Falcon's powers.");
}}
}
function on_mouse_click(MouseButton button)
{
if (interface == null || !enabled)
{
// don't do anything if GUI isn't set or is disabled
}
else if (button == eMouseLeft)
{
if (GetLocationType(mouse.x, mouse.y) != eLocationNothing)
{
if (player.ActiveInventory != null)
{
Room.ProcessClick(mouse.x, mouse.y, eModeUseinv);
}
else if (interface.Visible)
{
interface.Visible = false;
}
else if (interface_inv != null && interface_inv.Visible)
{
interface_inv.Visible = false;
}
else if (Character.GetAtScreenXY(mouse.x, mouse.y) != player)
{
if(GetLocationType(context_x, context_y) == eLocationObject)
{
Object* o = Object.GetAtScreenXY(context_x, context_y);
ThingToPickUp = o.GetProperty("CanObjectBePickedUp");
DoorToOpen = o.GetProperty("ADoorToOpen");
}
if(GetLocationType(context_x, context_y) == eLocationHotspot)
{
Hotspot* h = Hotspot.GetAtScreenXY(context_x, context_y);
PlaceToInspect = h.GetProperty("PlaceToInspect");
}
context_x = mouse.x;
context_y = mouse.y;
interface.X = Maths.Clamp(context_x - interface.Width / 2, 0, SCREEN_WIDTH - interface.Width);
interface.Y = Maths.Clamp(context_y - interface.Height / 2, 0, SCREEN_HEIGHT - interface.Height);
if (button_auto_disable)
{
for (int i; i < interface.ControlCount; i ++)
{
if (interface.Controls[i].AsButton != null)
{
interface.Controls[i].Enabled = IsInteractionAvailable(context_x, context_y, modemap[interface.Controls[i].ID]);
}
}
}
interface.Visible = true;
ThingToPickUp = false;
DoorToOpen = false;
PlaceToInspect = false;
}
}
// close windows or unset the active inventory item
else if (interface.Visible)
{
interface.Visible = false;
}
else if (interface_inv != null && interface_inv.Visible)
{
interface_inv.Visible = false;
}
else if (player.ActiveInventory != null)
{
player.ActiveInventory = null;
}
else
{
// ...except when there is no nothing to deselect or close,
// so just walk to this position
Room.ProcessClick(mouse.x, mouse.y, eModeWalkto);
}
}
if (interface.Visible)
{
// update text label for verb coin actions
GUIControl* control = GUIControl.GetAtScreenXY(mouse.x, mouse.y);
if (action_label == null)
{
// pass
}
else if (control != null && control.AsButton != null && control.Enabled && context_text != null)
{
String action = actionmap[control.ID];
if (control == btnUse)
{
if (ThingToPickUp) action = "Pick up";
else if (DoorToOpen) action = "Open";
else if (PlaceToInspect) action = "Check";
}
action_label.Text = String.Format("%s %s", action, context_text);
}
else if (context_text != null)
{
action_label.Text = context_text;
}
}
else if ((interface_inv != null && !interface_inv.Visible) || GetLocationType(mouse.x, mouse.y) == eLocationNothing)
{
// update regular text label
context_text = Game.GetLocationName(mouse.x, mouse.y);
if (action_label != null)
{
action_label.Text = context_text;
}
}
}
if (interface == null || !enabled)
{
// don't do anything if GUI isn't set or is disabled
}
function repeatedly_execute()
{
if (interface == null || !enabled)
{
// don't do anything if GUI isn't set or is disabled
}
else if (player.ActiveInventory == null)
{
if (interface.Visible)
{
// update text label for verb coin actions
GUIControl* control = GUIControl.GetAtScreenXY(mouse.x, mouse.y);
if (action_label == null)
{
// pass
}
else if (control != null && control.AsButton != null && control.Enabled && context_text != null)
{
if(control == btnUse)
{if(ThingToPickUp == true){action_label.Text = String.Format("Pick up %s", context_text);}
else if (DoorToOpen == true){action_label.Text = String.Format("Open %s", context_text);}
else if (PlaceToInspect == true){action_label.Text = String.Format("Check %s", context_text);}}
else action_label.Text = String.Format("%s %s", actionmap[control.ID], context_text);
}
else if (context_text != null)
{
action_label.Text = context_text;
}
}
else if ((interface_inv != null && !interface_inv.Visible) || GetLocationType(mouse.x, mouse.y) == eLocationNothing)
{
// update regular text label
context_text = Game.GetLocationName(mouse.x, mouse.y);
if (action_label != null)
{
action_label.Text = context_text;
}
}
}
else
{
if (interface_inv != null && interface_inv.Visible && GUI.GetAtScreenXY(mouse.x, mouse.y) != interface_inv)
{
// close inventory window once the cursor leaves
interface_inv.Visible = false;
}
// update text label for 'combining' items
String location = Game.GetLocationName(mouse.x, mouse.y);
InventoryItem *i = InventoryItem.GetAtScreenXY(mouse.x, mouse.y);
if ((i != null && i.ID == player.ActiveInventory.ID) || location == "")
{
location = "...";
}
if (action_label != null)
{
action_label.Text = String.Format("Use %s with %s", player.ActiveInventory.Name, location);
}
}
}
if(GetLocationType(context_x, context_y) == eLocationObject)
{
Hotspot* h = Hotspot.GetAtScreenXY(context_x, context_y);
Object* o = Object.GetAtScreenXY(context_x, context_y);
if (o.GetProperty("CanObjectBePickedUp") == 1){ThingToPickUp = true;} else {ThingToPickUp = false;}
if (o.GetProperty("ADoorToOpen") == 1){DoorToOpen = true;} else {DoorToOpen = false;}
if (h.GetProperty("PlaceToInspect") == 1){PlaceToInspect = true;} else {PlaceToInspect = false;}
}
if(control == btnUse)
{if(ThingToPickUp == true){action_label.Text = String.Format("Pick up %s", context_text);}
else if (DoorToOpen == true){action_label.Text = String.Format("Open %s", context_text);}
else if (PlaceToInspect == true){action_label.Text = String.Format("Check %s", context_text);}}
else action_label.Text = String.Format("%s %s", actionmap[control.ID], context_text);
else if (control != null && control.AsButton != null && control.Enabled && context_text != null)
{
if(button == btnUse)
{if(ThingToPickUp){action_label.Text = String.Format("Pick up %s", context_text);}
else if (DoorToOpen){action_label.Text = String.Format("Open %s", context_text);}
else if (PlaceToInspect){action_label.Text = String.Format("Check %s", context_text);}}
else action_label.Text = String.Format("%s %s", actionmap[control.ID], context_text);
}
else if (context_text != null)
{
action_label.Text = context_text;
}
Quoteundefined symbol "button"
Quote from: Khris on Sun 22/10/2023 09:16:06Yes, the text is set in the VerbCoin script's repeatedly_execute. You could add a custom property, a bool "isFood" with a default value of false, the set it to true for each edible item. The rep_exe will read this property and set the text accordingly.
I checked your game and override inv click handling was still set to false. I changed that but left-clicking an item only makes it active, as opposed to opening the VerbCoin. So you'd have to also implement that somehow.
Quote from: Khris on Thu 05/10/2023 07:45:11So have you changed the place_button function accordingly / removed the call from the RegisterButton function?
Plus it looks like the GUI is set to block the game? Can you check its visibility setting?
Quote from: eri0o on Tue 26/09/2023 00:24:10@cat , what is OROW?I can answer that for you.
function game_start()
{
// setup VerbCoin GUI and buttons
VerbCoin.InterfaceGui = gVerbcoin;
//Will need to update verb buttons later.
VerbCoin.RegisterButton(btnLook, eVerbCoinPositionNorthWest, eModeLookat, "Look at");
VerbCoin.RegisterButton(btnUse, eVerbCoinPositionNorth, eModeInteract, "Use");
VerbCoin.RegisterButton(btnTalk, eVerbCoinPositionNorthEast, eModeTalkto, "Talk to");
VerbCoin.RegisterButton(btnDarkStar, eVerbCoinPositionSouthWest, eModeDarkStar, "Use Dark Star on");
VerbCoin.RegisterButton(btnDDSpore, eVerbCoinPositionSouth, eModeDDSpore, "Use DandiiDooDad Spore on");
VerbCoin.RegisterButton(btnSpFlcn, eVerbCoinPositionSouthEast, eModeSpFalcon, "Use Spirit Falcon on");
// select the inventory GUI and action label
VerbCoin.InventoryGui = gInventoryGUI;
VerbCoin.ActionLabel = lblText;
// disable buttons where click events would be unhandled
VerbCoin.ButtonAutoDisable = true;
}
By continuing to use this site you agree to the use of cookies. Please visit this page to see exactly how we use these.
Page created in 0.106 seconds with 14 queries.