Jingle - Notifications For Nearby Targets

Eorzea Time
1:15 PM
 
 
 
Language: JP EN FR DE
users online
Forum » Windower » General » Jingle - Notifications for nearby targets
Jingle - Notifications for nearby targets
 Valefor.Keylesta
Offline
Server: Valefor
Game: FFXI
user: Keyser
Posts: 119
By Valefor.Keylesta 2024-02-12 12:44:14
Link | Quote | Reply
 
Presenting: Jingle
Plays a sound and displays a chat notification when a target (player, mob, or NPC) is nearby.



Download from Github repo

(Make sure to get the /data/sounds folder!)

Features
  • Tells you distance and direction to target when found.

  • 3 types of targets:

    • Permanent - Found in all zones.
    • Zone - Only found within a specified zone.
    • Temporary - Only found until removed or you change zones.

  • Plays only once until the target moves out of range again.

  • Works using names, IDs, or Hex IDs (great for NM placeholders).

  • Specify an optional specific sound to play for each target.

    • Plays the default.wav sound if no sound specified.

  • Will play any .wav file you save to the /data/sounds folder.


Default Targets
These targets are automatically added when first loaded.
  • ??? (Apollyon and Temenos zones only)

  • Aurix

  • All wandering NMs in Sortie

  • Grimslight

  • Mog-Tablet

  • Chest



This started with a joke about needing to find a certain character on our server that bazaars low priced food, and needing an ice cream truck jingle to play when they run by. And then :lightbulb: wait I can make that. We quickly came to realize that this would be fantastic for Sortie, and so I've included some c/p that you can put into the settings file for Sortie stuff. Have fun!
[+]
 Valefor.Philemon
Offline
Server: Valefor
Game: FFXI
user: detlef
Posts: 578
By Valefor.Philemon 2024-02-12 13:09:09
Link | Quote | Reply
 
I need something that notifies me whenever Pomupomu is online and anywhere besides Sortie, Odyssey, or his Mog Garden. Get on it!
[+]
 
Offline
Posts: 0
By 2024-02-12 13:13:08
 Undelete | Edit  | Link | Quote | Reply
 
Post deleted by User.
[+]
Offline
Posts: 113
By Keyser 2024-02-12 13:20:31
Link | Quote | Reply
 
Valefor.Philemon said: »
I need something that notifies me whenever Pomupomu is online and anywhere besides Sortie, Odyssey, or his Mog Garden. Get on it!
//jingle add pomupomu ice_cream_truck is probably the closest we're gonna get to that lol

It's funny the first reply knew exactly who I was talking about lol
 Valefor.Philemon
Offline
Server: Valefor
Game: FFXI
user: detlef
Posts: 578
By Valefor.Philemon 2024-02-12 13:28:11
Link | Quote | Reply
 
Pomu's a rockstar celebrity.
[+]
Online
Posts: 2,096
By Felgarr 2024-02-12 15:33:36
Link | Quote | Reply
 
Who's Pomu?
[+]
 Valefor.Philemon
Offline
Server: Valefor
Game: FFXI
user: detlef
Posts: 578
By Valefor.Philemon 2024-02-12 15:43:26
Link | Quote | Reply
 
He's a JP on Valefor who has a reputation for bazaaring incredibly cheap food. Like, cheap enough you'd swear he's losing money on it.
[+]
Offline
By RadialArcana 2024-02-12 15:58:29
Link | Quote | Reply
 
[+]
Offline
Posts: 107
By Tathamet 2024-02-15 16:47:57
Link | Quote | Reply
 
Sound the Aurix horn
[+]
 Valefor.Keylesta
Offline
Server: Valefor
Game: FFXI
user: Keyser
Posts: 119
By Valefor.Keylesta 2024-02-15 19:32:41
Link | Quote | Reply
 
Tathamet said: »
Sound the Aurix horn
Ooh that's a good idea, added that to my own.
[+]
necroskull Necro Bump Detected! [488 days between previous and next post]
 Valefor.Keylesta
Offline
Server: Valefor
Game: FFXI
user: Keyser
Posts: 119
By Valefor.Keylesta 2025-06-17 11:12:16
Link | Quote | Reply
 
Updated to Version 2.1

2.1
  • Added `temp/t` command. Will add a new temporary target to be tracked. Automatically removed when the player zones. Can also be removed like normal with the `remove` command.

  • Adjusted the `add` and `test` commands to remove any extension in the name of the sound file provided by the user. Files must still be in the .wav format in order to work, but now the commands no longer care if an extension is included in the command or not.

  • Removed the `t` shorthand alias from the `test` command, it has been repurposed for the `temp` command.

  • Removed leftover targets list that is no longer used but was still being created in the settings file.



2.0
  • Overhauled how target data is saved. Now saves as a lua table in separate targets.lua file instead of saving as xml data inside the settings file. This approach allows for much easier handling of target names. No need to convert names with spaces and apostrophes to a format that xml can parse, instead saved as a direct string key exactly how it should be spelled.

  • Added `//jin` as a command prefix.

  • Added the ability to add and remove a target using the current cursor target. Simply target something and type `//jin a` to add the current targets name to the Target list, `//jin r` to remove it.

  • Added `flood_delay` option. Determines how much time after a target goes out of range before it can be considered "nearby" again.

  • Adjusted code for checking for nearby targets to be much more efficient, reducing a bunch of redundancies.

  • Default Targets now include:

    • Abject Obdella
    • Aurix
    • Biune Porxie
    • Cachaemic Bhoot
    • Chest
    • Demisang Deleterious
    • Diaphanous Bitzer
    • Esurient Botulus
    • Fetid Ixion
    • Grimslight
    • Gyvewrapped Naraka
    • Haughty Tulittia

[+]
 Fenrir.Jinxs
Offline
Server: Fenrir
Game: FFXI
user: Jinxs
Posts: 845
By Fenrir.Jinxs 2025-06-17 11:17:56
Link | Quote | Reply
 
Wow this is cool I must have missed this original post during my hiatus.

Can this work with let's say the new ??? In limbus?

Can a visual be added? If I don't have sound on?
[+]
 Valefor.Keylesta
Offline
Server: Valefor
Game: FFXI
user: Keyser
Posts: 119
By Valefor.Keylesta 2025-06-17 12:53:59
Link | Quote | Reply
 
Fenrir.Jinxs said: »
Wow this is cool I must have missed this original post during my hiatus.

Can this work with let's say the new ??? In limbus?

Can a visual be added? If I don't have sound on?
The Limbus ??? was actually what prompted the temp command. I figured it would be a great thing to have Jingle search for, but there's also ???'s littered -everywhere- in the world, so temp will only add it to an internal table and not save it to the normal list, and automatically dump that table when you zone.

There is also a chatlog notification when it finds a target, too, in case you have sound off :)
[+]
 Fenrir.Jinxs
Offline
Server: Fenrir
Game: FFXI
user: Jinxs
Posts: 845
By Fenrir.Jinxs 2025-06-17 13:01:55
Link | Quote | Reply
 
Ah that's a great idea so then we won't need to know the ID for the ???

Does this work on the standard pop in distance, which I am guessing is 40 or 50?

Showing distance for something like this could help a lot with hot cold

Having ran through temenos a couple times now and if they were there I definitely did not know
[+]
 Valefor.Keylesta
Offline
Server: Valefor
Game: FFXI
user: Keyser
Posts: 119
By Valefor.Keylesta 2025-06-17 13:55:00
Link | Quote | Reply
 
Fenrir.Jinxs said: »
Ah that's a great idea so then we won't need to know the ID for the ???

Does this work on the standard pop in distance, which I am guessing is 40 or 50?

Showing distance for something like this could help a lot with hot cold

Having ran through temenos a couple times now and if they were there I definitely did not know
Yes only detects things that are in normal object draw distance, which is 50 yalms. That range is able to be changed, but there is a hard cap of 50. I haven't actually tried it with the ring assault, but my guess is the game doesn't load it into memory until you're close enough to it for it to show up anyway, but not sure honestly.
 Bahamut.Zedoma
Offline
Server: Bahamut
Game: FFXI
user: zedoma
Posts: 84
By Bahamut.Zedoma 2025-06-17 15:00:00
Link | Quote | Reply
 
Should add Mog-Tablet to the default targets list. As a former hunter of collecting every reward this would have came in handy.
[+]
 Valefor.Keylesta
Offline
Server: Valefor
Game: FFXI
user: Keyser
Posts: 119
By Valefor.Keylesta 2025-06-17 15:54:58
Link | Quote | Reply
 
Bahamut.Zedoma said: »
Should add Mog-Tablet to the default targets list. As a former hunter of collecting every reward this would have came in handy.
That is a fantastic idea!
 Fenrir.Brimstonefox
Offline
Server: Fenrir
Game: FFXI
user: Brimstone
Posts: 268
By Fenrir.Brimstonefox 2025-06-18 09:56:35
Link | Quote | Reply
 
I know this really isn't the intent of the addon, but could it be modified to do something similar (text and/or sound) For the following conditions:
1. specified buff wears (on self or party member)
2. ja is ready (maybe code it such that the notifications goes off when there's 1 second left on the recast timer?)
3. specified debuff on the mob wears off
 Valefor.Keylesta
Offline
Server: Valefor
Game: FFXI
user: Keyser
Posts: 119
By Valefor.Keylesta 2025-06-18 15:53:05
Link | Quote | Reply
 
Yeah sorry, that's a completely different addon right there. Helper will let you know when some of the longer cooldown (10m+) abilities are ready again, and my gearswap job luas have a specific ability recast section in their HUDs though.
 Shiva.Magified
Offline
Server: Shiva
Game: FFXI
user: magified
Posts: 3
By Shiva.Magified 2025-07-07 07:52:45
Link | Quote | Reply
 
This addon is great.

My one suggestion would be to add a setting to move the chat notification into the other chat box, so that it's not buried in the combat log.
 Valefor.Keylesta
Offline
Server: Valefor
Game: FFXI
user: Keyser
Posts: 119
By Valefor.Keylesta 2025-07-07 10:39:24
Link | Quote | Reply
 
Shiva.Magified said: »
This addon is great.

My one suggestion would be to add a setting to move the chat notification into the other chat box, so that it's not buried in the combat log.
(EDIT: tl;dr: you're right, I'll update it shortly.)

That's an interesting one with everyone's chat split differently. For example, the Jingle notification shows up in the chat window and not the combat log window for me. It is an issue I've become aware of in the last couple months, though. For this addon that's easy enough to get a fix for that should work for everyone (color 1 is the say channel) since the notification text is so short.

Longer explanation:
[+]
 Valefor.Keylesta
Offline
Server: Valefor
Game: FFXI
user: Keyser
Posts: 119
By Valefor.Keylesta 2025-07-10 20:32:07
Link | Quote | Reply
 
Updated to Version 2.2

Now more Limbusier!
Step inside Temenos and Apollyon > //jin z ??? > profit!

  • Added zone command. Adds a target that will only be found as "nearby" while in the zone you are currently in. You can also manually add zone targets directly to the data/targets.lua file using the format "Target Name|Zone name" for the target name.

  • Adjusted all addon notifications to be sent to the say channel by default. This should make sure all "nearby" notifications should be sent to whichever log window you have your chat sent to.

  • Adjusted the temp command to save to the data/targets.lua file like other targets. Temporary targets get "|temporary" appended to the end of the target name and are still cleared on zoning as before.

[+]
 Shiva.Magified
Offline
Server: Shiva
Game: FFXI
user: magified
Posts: 3
By Shiva.Magified 2025-07-19 07:25:39
Link | Quote | Reply
 
The new version works great for moving the message into the right chat, but I think these are wrong:
https://github.com/iLVL-Key/FFXI/blob/main/addons/Jingle/Jingle.lua#L93-L94

and should be:
Code
  ["???|Temenos"]="default",
  ["???|Apollyon"]="default",


I've noticed over the past few days that Jingle stopped triggering when I saw the ??? in Apollyon. When I ran the zone command to re-add the ???, it added them with only one bar instead of the two in the new default values.
[+]
 Valefor.Keylesta
Offline
Server: Valefor
Game: FFXI
user: Keyser
Posts: 119
By Valefor.Keylesta 2025-07-19 16:10:05
Link | Quote | Reply
 
Ooh very good catch, thank you. I originally was going to set it up with the two but switched to just a single, forgot to adjust that, woops!
Offline
Posts: 133
By Genoxd 2025-07-19 19:33:26
Link | Quote | Reply
 
I wrote something similar but I also added compass directions and distance to target. Feel free to add it if you want
Code
function printLocation(target_mob)
	if target_mob == nil then 
		return
	end
	local player = windower.ffxi.get_player()
	local player_mob = windower.ffxi.get_mob_by_index(player.index)
	local degrees = math.deg(getAngle(player_mob, target_mob))
	local compass = degreesToCompass(degrees)
	local distance = math.sqrt(target_mob.distance)
	if addtochat then
		windower.add_to_chat(128, '<'..tostring(target_mob['name'])..'>! '..tostring(compass)..' '..tostring(distance)..' yalms.')
	end
end

function getAngle(me,point)
    local dir = V{point.x, point.y} - V{me.x, me.y}
    local heading = V{}.from_radian(1.57075)
    local angle = V{}.angle(dir, heading) * (dir[1]*heading[2]-dir[2]*heading[1] < 0 and -1 or 1)
    return angle
end

function degreesToCompass(degrees)
	local direction = 'inv'
	if degrees > -22.5 and degrees <= 22.5 then
		direction = 'S'
	elseif degrees > 22.5 and degrees <= 67.5 then
		direction = 'SW'
	elseif degrees > 67.5 and degrees <= 112.5 then
		direction = 'W'
	elseif degrees > 112.5 and degrees <= 157.5 then
		direction = 'NW'
	elseif (degrees > 157.5 and degrees <= 180) or (degrees < -157.5 and degrees > -180) then
		direction = 'N'
	elseif degrees >= -157.5 and degrees < -112.5 then
		direction = 'NE'
	elseif degrees >= -112.5 and degrees < -67.5 then
		direction = 'E'
	elseif degrees >= -67.5 and degrees <= -22.5 then
		direction = 'SE'
	end
	return direction
end
[+]
 Valefor.Keylesta
Offline
Server: Valefor
Game: FFXI
user: Keyser
Posts: 119
By Valefor.Keylesta 2025-07-19 20:32:46
Link | Quote | Reply
 
Hmmmmmmmmmmm....

I just may. Thank you for that.
[+]
 Fenrir.Jinxs
Offline
Server: Fenrir
Game: FFXI
user: Jinxs
Posts: 845
By Fenrir.Jinxs 2025-07-20 12:21:18
Link | Quote | Reply
 
I just wanna say this was MVP for campaign ops find the object
[+]
 Valefor.Keylesta
Offline
Server: Valefor
Game: FFXI
user: Keyser
Posts: 119
By Valefor.Keylesta 2025-07-22 14:55:46
Link | Quote | Reply
 
Updated to Version 2.3

Now includes the distance and direction of the target when found.
Thanks to Genoxd for the code this update was based around!