HintService (Archived) | Legacy hints reimagined, customizable, straight-forward, and simple

sorry for responding so late, i was in school, here

1 Like

basically makes so the module cant be used

1 Like



1 Like

I don’t believe this is a bug. You can’t use HintService on the server. I see you use the HintAdded event in a server script.

1 Like

I deleted that HS.HintAdded but it still doesnt works

I released a patch related to your problem. Check the output again after inserting v30

now it prints “HintService Cannot be used on the server”, but i dont know what i am doing wrong, i just tested it on a single localScript and it worked, but i am just firing a remote from the server, i dont know why is that the problem

Simply requiring it on the server can stop the module from working. Remove line 10 in your main server, and the HintAdding function if you haven’t already.

1 Like

Didn’t know that!, Thanks =))))

1 Like

This is really cool and I like all the utilitarian features it provides! But there were some issues with the source code that I found that you might want to change:

-- Line 507
local isBroadcasted = self.IsBroadcasted

isBroadcasted = true

This will only change local isBroadcasted to true, not self.IsBroadcasted causing cancelBroadcast to fail.

-- Line 518
task.spawn(function()
	animateHint(self)
end)

Use task.defer instead of task.spawn; deferring the thread schedules it to run on the next resumption cycle while spawn runs it immediately. There are very few cases where you would want to run a thread immediately, but animating a hint is not one of them.

-- Line 499
if debounceEnabled then
	if tick() - lastHint < debounceTime then return end
end

lastHint = tick()

tick is on the road to deprecation. time would be a more future-proof global for this.

-- Line 531
if isBroadcasted then
	broadcastCancelled:Fire()
	cancelBroadcast(self)

cancelBroadcast yields but is not ran in a separate thread, causing the running thread to yield as well.

-- Line 137
local borderStroke = label:FindFrstChild("BorderStroke")

Misspelling causing cancelBroadcast break.

My only other issue I have is all the returned methods are in camelCase instead of LuaU-Standard PascalCase, but that’s totally just a nitpick thing with me and I can just fork it anytime.

1 Like

What do you mean by this?

Thanks for the criticism! Will be making patches.

Update

@MagmaBurnsV


I recently deployed an update. Thanks for your patience!

Read More

I have a permanent hint set at the bottom of the screen. When another hint is broadcasted, it gets pushed up. When that other hint disappears, the permanent hint stays pushed up. Is there any way to bring it back down to the bottom?

Sorry, there’s no way to fix this.

1 Like

Update

@firedup13579


I recently deployed an update. Thanks for your patience!

Read More

(I added the feature you needed!)

1 Like

That’s wonderful. Thank you so much. This module is amazing!

1 Like

Just set the hint you always want on the bottom to LayoutOrder 1.

How to set the time the hint is shown?

Use setBroadcastTime(false, 5 --amount of time its visible)