Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account
This post has been closed. You can still view previous posts, but you can't post any new replies.

SendPing Function - fix it

March 29 (5 years ago)

Edited April 06 (5 years ago)

From the API wiki: https://wiki.roll20.net/API:Utility_Functions#Miscellaneous

sendPing(left, top, pageid, (optional) playerid, (optional) moveAll)

Sends a "ping" the tabletop (the same as if a player holds down their mouse button). You must specify the top/left coordinates, and the pageid of the page to be pinged. You can optionally specify the ID of a player who performed the ping -- if you don't "api" will be assumed and the ping will be yellow. You can also pass in "true" for the moveAll option if you want to move the player's screens to that location as well.


This does not currently function as advertised, only the GM is moved to the sendPing location, and not even every time the function is called. This would be extremely helpful for GMs wishing to split the party or make use of the teleporter scripts. Specifically, I need to be able to target individual players with this script to move only those players to the pinged location.


See below for full history of this bug/suggestion.

This API bug has been referenced multiple times in different suggestion threads, as well as having been broken since the original API release.

March 29 (5 years ago)

Edited March 29 (5 years ago)
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator

Ah, to see sendping work as expected. T'will be a great day indeed.

April 05 (5 years ago)

Edited April 10 (5 years ago)

I've gone ahead and compiled previous reports of this issue just to show how long it has been around for. Posts are separated by forum and listed oldest to newest. Please note the original report was in 2015, with three different Roll20 team members mentioning that the dev team was notified or a fix was in the pipeline.


Specific Use Questions & Macros:
https://app.roll20.net/forum/post/6790397/release-fixes-and-improvements-userscript
Posted Sep 11 2018    (Please thank "Noon" for this awesome contribution to the community!)
Browser plugin that inserts javascript to make sendping function correctly, but requires all users to have the plugin installed

Bugs Reports & Technical Issues:
https://app.roll20.net/forum/post/2571988/slug%7D
Posted Oct 29 2016

https://app.roll20.net/forum/post/6529447/slug%7D
Posted Jun 27 2018
Kristin C. from Roll20 responds that a ticket exists in the system

https://app.roll20.net/forum/post/6718676/slug%7D
Posted Aug 23 2018
Detailed breakdown of the issue as well as possible fix

API:
https://app.roll20.net/forum/post/905250/why-does-sendping-only-move-my-screen-location
Posted Jun 05 2015
Developer response from Riley D. that Roll20 was looking into it, but never had any updates

https://app.roll20.net/forum/post/987974/slug%7D
Posted Jul 07 2015
Dev response from Riley D. that a fix was in the pipeline and would be out in a few weeks

https://app.roll20.net/forum/post/1647338/send-ping-only-works-for-gm
Posted Feb 24 2016

https://app.roll20.net/forum/post/3962993/shift-plus-click-recenter-the-map-programatically
Posted Sep 12 2017

https://app.roll20.net/forum/post/5012487/bug-sendping-only-working-sporadicly
Posted May 06 2018
See first and last post for two different bugs

https://app.roll20.net/forum/post/5015360/sendping-api-function-only-moving-gm-and-only-working-at-all-sporadically
Posted May 7 2018
Roll20 Kristin C. reports that a ticket was created for the issue

https://app.roll20.net/forum/post/6534443/script-ping-location
Posted Jun 29 2018
An API script workaround to try to get some of the functionality working

Suggestion:
https://app.roll20.net/forum/post/6927402/sendping-api-should-be-able-to-be-ping-individual-players
Posted Oct 30 2018

https://app.roll20.net/forum/post/6413031/slug%7D
Posted May 23 2018

April 06 (5 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter

It's got my vote, definitely. I would suggest that the first post contain a brief description of what you want (sendPing to move specific player view.) It might help get you votes.

April 06 (5 years ago)

Good point Keith, updated for clarity.

April 06 (5 years ago)
+1, Would love to see this finally fixed!
April 07 (5 years ago)

Adding my +1 as it seems like a cool API that would be nice to actually have work!

April 08 (5 years ago)

Just in case anyone else runs into this, making posts on other forums on Roll20 to try to raise visibility of issues will result in your posts being deleted due to "spam". Not stating that I agree or disagree, just a PSA for the community.

April 09 (5 years ago)

Edited April 09 (5 years ago)

As the person who wrote that userscript to fix it, I would also love this fixed.


Also, as the same person, I'd like to add that while ideally that userscript works best when all players have it (like Dash said), there is an option in it to make it work if only the GM has it. You don't get extended functionality in that case though (fixing pings not respecting pageid parameter and being able to target individuals).


Also also, please make sure the other parameters of sendping work as well.
Pageid is ignored if moveall is true. The ping won't show up on the wrong page but everyone gets moved to the coordinates (nobody can test this since it has never worked).
playerid is used just for colors, not for who can see the ping. This is fine if you want to send a custom colored ping (just change their color, sendping, then change back) but would enable additional functionality without changing current scripts if playerid also made it only visible to the provided players.


I'm probably biased towards this implementation because that's how I wrote the fix for it, but conversely, I've also been "testing" it in that way for months now and it is great.

April 09 (5 years ago)

Edited April 10 (5 years ago)

Thanks again Noon for your userscript, it's been quite helpful in my game so far. Unfortunately my use case requires the Roll20 Dev Team to fix things, as my dungeon is spread across 7 map pages, each consisting of several smaller sub-maps that teleport all over the place. The Pro subscription level includes email support directly from the Dev Team, so I am awaiting a response from them on this issue.

+1

I'd really like to see an update on this.
April 12 (5 years ago)

Sorry, to clarify my last post, I need a Roll20 fix for this so I can work towards an eventual marketplace release of the dungeon. I can't ask users to install 3rd party plugins to fix bugs in a platform if they are paying for content.

April 12 (5 years ago)
DXWarlock
Sheet Author
API Scripter

Voted.

Only been waiting four years for this fix :)

May 06 (5 years ago)

Edited May 07 (5 years ago)

Any day now I expect to get my Developer response on this issue, I mean, why else would they post developer support for Pro subscribers on their subscription page if they weren't going to actually provide that service?


Dash said:

Any day now I expect to get my Developer response on this issue, I mean, why else would they post developer support for Pro subscribers on their subscription page if they weren't going to actually provide that service?


LOL! Ouch, man. LOL!

I actually didn't know that was one of the benefits of Pro sub. I'll sign up right away... Oh, wait... LOL!

May 11 (5 years ago)
+1 I support resources to work on this aspect.  

+1 would be useful for my script! My own turnorder needs to be able to point to the next player in the turn order!

+1 from me

June 03 (5 years ago)

No developer has touched this one yet.......


................



.....

June 04 (5 years ago)
Kenton
Forum Champion
Translator

Hello all,

As a means to a quick update, we're researching this issue and a fix to the problem. You'll see that I've change the status of the Suggestion to reflect that, and I'll be back by next week with a plan moving forward.

As I sit here on this most momentous of eve's, I can hardly contain my excitement at a developer response...!
June 12 (5 years ago)
Kenton
Forum Champion
Translator

An update as promised, with good news I hope.

We have an update in development that should repair the functionality as documented in the Wiki. Sending your own Player ID will use your own ping color. Passing the function with moveall set to true will move your own view as well.

There is one limitation I want to mention specifically. This will be added to the Wiki documentation, but letting you all know first.

When a ping originates from a different page than the player is on, the API will not change the player's page, however the player's view will be moved to the coordinates as specified to the API.

June 12 (5 years ago)

Edited June 12 (5 years ago)

Thanks for the update Kenton.
I knew I should have created a formal bug report for that one instead of just leaving it on a comment of my original bug report...
And not to (or maybe to) split hairs, if it doesn't respect pageid, it has gotten a repair, but isn't repaired. There will still be a difference between documentation and feature. Please keep this feature/ unbug request open. I see it marked as queued and hope it won't be locked.


Anyways, now that this is soon to be partially fixed, here's a tip for people:

You can change color of the player who's ping you're going to be using before sending and then back again after.

You can combine this with whatever color you want or even transparency to send a transparent ping (Useful if you want to move views without drawing a big circle). Set color with something like

getObj('player', playerId).set('color', 'rgba(255, 255, 255, 0)');

Other uses will come when page or player can be targeted.

(Sorry about the pompous tone. I can't figure out how to reduce the sass while keeping the same content.)

June 13 (5 years ago)
The Aaron
Roll20 Production Team
API Scripter

I wouldn't like to lose the GM only ping functionality.  I think that's more useful than the ping everyone functionality.

June 13 (5 years ago)
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator

Very true, there at minimum needs to be a self and a move all option. Ideally, we'd be able to specify players to pull. Also, ideally, the pull would respect pages.

June 14 (5 years ago)
Kenton
Forum Champion
Translator

Thanks for the feedback. The Dev server has an update available for testing, which includes repaired sendPing functionality as documented and an enhancement that limits targets if pings to Players on the page where the ping originates.

Because the function has only been targeting the GM for so long, we're looking into another short-term enhancement to give that functionality back.

Sorry if I have misread something, but will the new changes allow the option to send pings to just individual players? From your last response it looks like it will be limited to only players on the page receiving the ping, but ideally the sendping function would allow passing a list of Players to send the ping to.

June 18 (5 years ago)

Edited June 18 (5 years ago)
Kenton
Forum Champion
Translator

The sendPing function has been updated on the Production Servers, and the bug mentioned in this Suggestion has been resolved. As mentioned, that brought up a few other points of undesirable functionality. The Good News is we were able to include those enhancements.

  • The sendPing API function option moveAll = True now moves all players, not just the GM, if they are all on page specified in the API call. When it is false, no players are moved, and all connected players see the ping. If no value is provided for moveAll, the default is a false value.
  • The sendPing API can now ping the same location more than once in a row.
  • The sendPing function only affects players on the Page specified in the script or the page where the ping originated, if a page is not specified.
  • The sendPing now has a new option available, visibleTo, which can be used to specify which players are affected by the ping. Other players will not be moved or see the ping.
    • If sending to a single player, you can include their player ID as a string or variable.
    • If sending multiple IDs, they can be included either as an array, or as a comma-delimited text string.

With the correction of the initial post as well as the subsequent requests, and because there is a new thread in the API form, I'll be closing this Suggestion as Complete.

The visibleTo option will allow for the functionality to target the GM only, created by the long standing bug. However, we hope the added ability to target any player or group of players is even more helpful.

Because this changes how some API scripts may currently be set up, a hotfix for APIs is scheduled to be deployed Friday morning, June 21, 2019. Please see the API forum thread for more detail.

More documentation and an example script is posted to the API script wikiPlease report any issues with the sendPing update to the API forum thread.