= Venue Kit: Tipjar = The Venue Kit Tipjar script can be placed in nearly any object from a simple prim to a large linkset and make it a clickable/payable tipjar. Only 1 script is needed even to have two tipjars on either side of a stage, for example. In this case, the two tipjars must be a single linkset but may otherwise look like separate objects. The script is configured with a {{{CONFIG}}} notecard that controls the default tip buttons amounts, who may login to the tipjar, and who other than the owner has administrative access. It also allows some customization of the visible messages, both the hover text and the messages sent to users. [[:venuekit:tipjar:readme|README]] == Tipjar Usage == === Logging In === Anyone who is a) the owner, or b) listed in an allow line in the {{{CONFIG}}} notecard, or c) has the same active group as the tipjar may click on it to log in. the hover text will change to display the logged in user. The group requirements may be changed with the {{{group_login}}} setting in the {{{CONFIG}}} notecard, see below. The logged-in user can click on the tipjar to get a menu to display the received tips, display the total amount received, or log out and display the received tips. === Logging Out === The logged-in user can click on the tipjar to get a menu to display the tippers, display the total amount received, or log out. The list of tippers is also displayed on logout so that does not need to be clicked separately. The list of tippers is displayed in the Nearby Chat window but only for the logged-in user. The names of the tippers may be clicked on in Nearby Chat to open an IM with them for a thank you if desired. The tipjar owner or anyone listed in an {{{admin}}} line in the {{{CONFIG}}} notecard are able to long-click (hold a click on the tipjar for 2 or more seconds) and see the same performer menu. This allows an admin to log out the tipjar in case a performer crashes or is unable to complete the logout. The user doing the logout will get the list of tippers in their Nearby Chat window in addition to the logged-in performer if they are online at that time. Tips are paid to the logged-in user as they are received so in the event the user crashes or is unable to log out no funds transfers are left outstanding. The owner or other admin should use the long-click described above to log out the tipjar. == Tipjar Setup == //[Note: Once the tipjar script is placed into the object every change will cause it to reset and prompt the owner to Accept the Debit permission before continuing to initialize. Either putting the script in the object near the end or setting the script to not running will stop these popups while setting up the tipjar.]// === Physical Setup === The tipjar may be as simple as a single prim, or it may be a linkset that appears to be a single or multiple objects. The hover text position may be somewhat controlled in that you get to select which link (or links) is used to display it. * Place the {{{tipjar}}} script and {{{CONFIG}}} notecard in the root of the tipjar object. * In order for the hover text to be displayed the word {{{hover}}} must be placed in the Description field of at least one link, the text will be displayed over every link with {{{hover}}} in the Description. Example: For a snowman tipjar consisting of 3 snowball prim stacked on top of each other, to make the hover text show above its head (the top snowball) the Description field of the top prim should contain {{{hover}}}. It does not matter for the hovertext which prim is the root link. Example: To put a snowman tipjar on both sides of the stage the snowman prims should be in a single linkset and the top prim of both would contain {{{hover}}} in their Description field. Again it does not matter which prim is the root link. Either snowman can be clicked on to login, logout or to give a tip. === Script Configuration === [[:venuekit:tipjar:config|CONFIG]] example The default configuration is likely to need only a few minor changes for most uses, typically the group setting, administrators and communications channel should be confirmed are set as required. * {{{group_login}}} - This determines who is allowed to login to the tipjar and collect tips: * {{{MATCH}}} - Only users with an active group that matches the tipjar object's group are allowed to login. * {{{ANY}}} - Anyone may login. * {{{NONE}}} - Only those listed in the {{{CONFIG}}} notecard in {{{allow}}} lines are allowed to login. * {{{allow}}} - List any users that may login without regard to their active group, or if {{{group_login}}} is set to {{{NONE}}} only those listed in an {{{allow}}} line may login. * {{{admin}}} - List anyone other than the owner who should have owner privileges to long-click on the tipjar and get the popup menu. * {{{default_tip}}} - Sets the default amount in the Pay popup if {{{tip_buttons}}} is not set. * {{{tip_buttons}}} - Sets the amount in the Pay popup for 1 to 4 buttons, list the numbers separated by commas: {{{tip_buttons=10,50,200,500}}} * {{{channel}}} - Set the channel used to remotely control the tipjar. See below for the available commands. Set this to a channel that is otherwise not in use at the venue. Default: 71 * {{{public_thanks}}} - Set to {{{TRUE}}} to send the tipper thank-you message via nearby chat rather than directly to the tipper. * {{{idle}}} - The message displayed in the hover text when nobody is logged in to the tipjar. * {{{overhead}}} - The message displayed in hover text when someone is logged in to the tipjar. * {{{touch}}} - The message sent to anyone who clicks on the tipjar who is not allowed to log in. Generally this should mention right-clicking and selecting {{{Pay}}} in order to leave a tip. * {{{thanks}}} - The message sent as a thank-you after leaving a tip. If {{{public_thanks}}} is {{{FALSE}}} it is sent directly to the tipper and if it is {{{TRUE}}} it is sent in nearby chat. * {{{split}}} - Used to configure the tipjar for sharing tips among multiple people. See below for specific information on how to use this. The allow and admin lines use user logins or key/UUID. Do not use Display Names here. * tomjs Resident: {{{allow=tomjs}}} or {{{allow=6c8ff91f-d74b-4842-b38b-81bb08f6efde}}} * DavidS.Pumpkins: {{{allow=DavidS.Pumpkins}}} The messages allow certain formatting to be used: * {{{\n}}} - This causes the text following to start on a new line. * {{{%login%}}} - The logged in user's Display Name is substituted. * {{{%tipper%}}} - The tipper's Display Name is substituted. == Remote Commands == The tipjar responds to the following commands sent over the configured chat channel ({{{channel}}} in the {{{CONFIG}}} notecard). * {{{login}}} - The user sending the command will be logged in to the tipjar if the configuration allows. * {{{logout}}} - The logged-in user, the owner and anyone listed in an {{{admin}}} line may send this to log out the logged-in user. This is how to recover when a logged-in user crashes or is otherwise unable to log out themselves. * {{{status}}} - Displays the tipjar status in nearby chat. Currently this includes the logged-in user (if any) and the {{{group_login}}} setting. == Splitting Tips == The tipjar can be configured to split tips among multiple users at specific or equal percentages. Add as many {{{split}}} lines in the {{{CONFIG}}} notecard to set the users and percentages. If the percentage is left off, the remainder of the tip amount after subtracting the specified percentages will be split evenly among those without percentages. For example, with the following settings Rebozuelo with get 10%, Pivius will get 5% and the logged-in user will get the remaining 85%. split=rebozuelo,10 split=privius,5 == Source == The tipjar script has evolved from an original script found in the [[http://wiki.secondlife.com/wiki/Tipjar|Second Life wiki]] by Kira Komarov. The Venue Kit version of the tipjar script may be found online at https://gitlab.com/tomjs/venue-kit. It is licensed as GPLv3 or later, like the original wiki script, which requires anyone who redistributes it to make any changes they may have made available to the recipient under the same terms they received the original source.