CasperLet: Difference between revisions

From CasperTech Wiki
Jump to navigation Jump to search
m (Redirected page to CasperLet HUB)
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
{|align=right
#REDIRECT [[CasperLet_HUB]]
  |__TOC__
  |}
 
= '''<span style="color:#00528c">Features</span>''' =
 
'''CasperLet is a feature rich, stable, good looking rental network with very low resource usage.'''
 
Here's a list of current features:
 
*A cool meter-style rent box, which looks pretty funky! It is designed to be rezzed on the ground, and has a popup prim for notices. It's designed mainly for land or store rentals.
*A regular old-fashioned 1-prim cube rental unit, which is maybe more suited for applications like stream rental (or areas where prim efficiency is very important)
*Only a single script.  Of course.
*You can set "states" which will change the position, size and alpha transparency of the unit when rented and when not rented.
*Remaining rental time calculated accurately to the nearest second.
*Can accept payments of ANY amount. For example, if the cost is L$200 per week, they can pay L$100 and they get half a week instead.
*You can also configure the unit to ONLY accept amounts that cover 1 week, 2 weeks, 3 weeks and 4 weeks.
*Full web management, including some nice maps showing you where each unit is on the sim.
*Flashy new website
*You can disable reminder notifications, and so can the tenant for the duration of their rental by touching the unit.
*You can reserve a unit for somebody, so it will only allow them to rent
*The unit can be configured to auto-evict when the rental goes overdue.. this can be turned off, or configured to a set amount of time
*The unit can be locked to prevent any rentals
*You can give refunds pro-rata, so the remaining time is calculated and refunded
*You can evict, refund, rent out, reserve, set pricing, set the prim count, set the remaining time or lock the unit all from the web interface
*You can evict, refund or lock the unit from in-world by touching it
*The tenant can touch the unit to see their remaining time
*Anyone can touch the unit to see info on the pricing, etc
*The units may be linked/unlinked as you wish, and the prims retextured - fully modifiable
*The units provide full prim counts and will display a warning when the tenant is over limit
*Units for multiple avatars accross multiple grids can be added to the same account. Everything in one place.
*A detailed list of rental units grouped by either status, region or tenant
*You can set both a minimum and a maximum rental term.
*"Soft lock" - this allows you to prevent the unit from receiving any more payments, but keeps the unit rented.
*Transaction log - A detailed list of the transactions including money received
*An API to allow people to create third party plugins (signs, doors)
*A notecard can be delivered when a user touches the "Info" button
*A notecard can also be delivered when the user rents from the unit, or clicks the "Notecard" button whilst the unit is rented
*Free updates, forever, using our unique UpgradeBee system that will seamlessly update all the units on each sim you own with no effort to yourself.
*US Dollar payments, dynamically converted to the grid currency depending on the exchange rate
*Bulk configuration, i.e setting the price of every unit in one go
*Ability to assign more than one tenant to a unit.       
*Managers - allow other users to manage your units safely
               
= '''<span style="color:#00528c">Coming Soon</span>''' =
 
We're adding new stuff every day. Some of the features we're currently working on are:
       
*Ability to ban certain users from being able to rent
*Group discount options
*Option to give X free time when they pay for a minimum of X time, and other discount options
       
These will be provided as free updates, of course!
           
= '''<span style="color:#00528c">Instructions</span>''' =
 
It's really, really easy!
 
Just rez the unit, then touch it and click "Config". It'll take you to the page where you can set the unit's options. For example, price, auto-evict.  And that's about it!
 
You can click on "Regions" on the website to get a nice overview of where all your units are in-world.
 
If you want to use prim counting, you need to also rez a "CasperLet Prim Counter".
 
You only need to rez one prim counter on your region, HOWEVER a prim counter can only count prims on parcels from the same owner.  That means, if you have four parcels owned by yourself,  and four parcels owned by the group, you will need two counters - one owned by you, one owned by the group (deeded).
 
If you like, you can move the script from this counter into one of your rent units (but not on group owned land, since the units can't be deeded).
 
I'm really convinced that you won't need any more instructions than this (when beta testing, i didn't provide any instructions to my testers and i didn't get one question!) However, if you get stuck i'm always happy to help.
 
= '''<span style="color:#00528c">Troubleshooting</span>''' =
 
'''Have the textures on your box stopped changing?'''
 
This is a common mistake -  Please don't delete the "box@" text from the beginning of the description on your rental box.
 
The description should look like
 
box@your text here
 
You can put your own description where it says "your text here" but you must leave the box@ at the start.
 
This only applies to rental boxes, not the meters.
 
= '''<span style="color:#00528c">States</span>''' =
 
'''States allow you to get your box to change size / position when rented.'''
 
1. Make sure the unit is available (not rented).
 
2. Resize the prim and move it to where it should appear when available, and set the transparency as desired.
 
3. Touch the unit, click "States", then "Set Available".
 
4. Resize the prim, move it, and set transparency as desired in the "Rented" state.
 
5. Touch the unit. click "States" then "Set Rented".
 
6. Pay the unit to start a rental.  This will store the settings.
 
= '''<span style="color:#00528c">Changing Textures</span>''' =
 
Simply place textures in the prim contents with the appropriate name. For example, "TEX-available", "TEX-overdue", "TEX-rented", "TEX-overlimit", "TEX-locked" or "TEX-reserved". These textures MUST be FULL PERM.
 
= '''<span style="color:#00528c">Notecard Delivery</span>''' =
 
Place two notecards into the prim contents, the names must end with "-Info" and "-Rented". The Info notecard is given when a user clicks Info in the menu, and Rented is given when a user rents.  The user can also touch the unit and click Notecard to get the Rented notecard again.
 
= '''<span style="color:#00528c">API Documentation</span>''' =
 
== V1 API ==
 
Here's the V1 API. This is supported by all CasperLET versions.
 
Our linked message is as follows: 
 
<lsl>llMessageLinked(LINK_SET, (integer)timeLeft, "RTIME", rentedBy);</lsl>
 
rentedBy is the key of the current renter, timeLeft is the amount of time left in seconds.
 
If rentedBy == NULL_KEY then it means there is no renter, and the unit is available.
 
You can detect rental events by storing the last message. If the last message was NULL_KEY, and then the next one isn't, it means that someone rented the unit, and vice versa.
 
== V2 API ==
 
The V2 API adds several new messages to provide extended information.
 
The first is REXTR:
 
<code>
REXTR|&lt;time left&gt;|&lt;renter key or NULL_KEY if not rented&gt;|&lt;locked? 0 or 1&gt;|&lt;reserved key or NULL_KEY if not reserved&gt;|&lt;price per week&gt;|&lt;number of prims&gt;|&lt;is tenant over limit? 0 or 1&gt;|&lt;Unix timestamp on which the unit was rezzed&gt;
</code>
 
We also provide some additional messages which provide useful information (both linked messages and broadcast on channel 77777.)
The "string" value of the linked message will identify the message type, as described below.
 
<br /><br />
<code>
ADDTNTS@userkey1#username1#userkey2#username2#userkey3#username3#userke..  (etc)</code><br />
<code>MANAGERS@managerkey1#managerkey2#managerkey3#managerkey4..  (etc)</code><br />
 
Note the use of different delimiters on these messages, this is due to technical limitations.
 
All of the above information is also broadcasted on channel 77777. The following messages are only provided in linked messages:
 
<code>String: BUTTONS  Key: pricebox|paybutton1|paybutton2|paybutton3|paybutton4</code> (to correspond with llSetPayPrice)<br />
<code>String: TEXT    Key: the floating text that is shown on the unit</code>
 
As before, THERE IS NO GUARANTEE WHEN THE INFORMATION WILL BE SENT - So check for changes, rather than just reacting to the message.
 
In addition to this, the unit also accepts certain linked messages, as well as chat messages on channel -77777.
 
You can use these as follows:
 
===PAY===
<lsl>
llMessageLinked( LINK_THIS, AMOUNT_PAID, "CLAPI-PAY", PAYER_KEY );
</lsl>
 
.. or ..
 
<lsl>
llRegionSayTo( KEY_OF_UNIT,  -77777, "CLAPI"+KEY_OF_UNIT+"-PAY|"+(string)PAYER_KEY+"|"+(string)AMOUNT_PAID);  // where KEY_OF_UNIT is the uuid of the rental box/meter
</lsl>
This provides a way to simulate payment to the unit.
 
BE WARNED: This WILL SIMULATE PAYMENT.  Which means, if the payment is rejected, money will be REFUNDED.
 
===SAFEPAY===
<lsl>
llMessageLinked( LINK_THIS, AMOUNT_PAID, "CLAPI-SAFEPAY", PAYER_KEY );
</lsl>
 
.. or ..
 
<lsl>
llRegionSayTo( KEY_OF_UNIT,  -77777, "CLAPI"+KEY_OF_UNIT+"-SAFEPAY|"+(string)PAYER_KEY+"|"+(string)AMOUNT_PAID);    // where KEY_OF_UNIT is the uuid of the rental box/meter
</lsl>
This provides a way to simulate payment to the unit, but WITHOUT any refunds, profit shares, or messages to the user.
 
===UPDATE===
<lsl>
llMessageLinked( LINK_THIS, 0, "CLAPI-UPDATE", NULL_KEY );
</lsl>
 
.. or ..
 
<lsl>
llRegionSayTo( KEY_OF_UNIT,  -77777, "CLAPI"+KEY_OF_UNIT+"-UPDATE|UPDATE|0" );    // where KEY_OF_UNIT is the uuid of the rental box/meter
</lsl>
This triggers the unit to spit out the linked messages and data on channel 77777. The integer can be any number.
 
===Reset===
<lsl>
llMessageLinked( LINK_THIS, 0, "CLAPI-Reset", NULL_KEY );
</lsl>
 
.. or ..
 
<lsl>
llRegionSayTo( KEY_OF_UNIT,  -77777, "CLAPI"+KEY_OF_UNIT+"-Reset|"+NULL_KEY+"|0" );    // where KEY_OF_UNIT is the uuid of the rental box/meter
</lsl>
This triggers the unit to reset. Please use this ONLY when absolutely necessary - if a unit restarts too often, it will be blocked from the network.
 
===TOUCH===
<lsl>
llMessageLinked( LINK_THIS, 0, "CLAPI-TOUCH", TOUCHER_KEY );
</lsl>
 
.. or ..
 
<lsl>
llRegionSayTo( KEY_OF_UNIT,  -77777, "CLAPI"+KEY_OF_UNIT+"-TOUCH|"+TOUCHER_KEY+"|0"  );    // where KEY_OF_UNIT is the uuid of the rental box/meter
</lsl>
This triggers the unit to give the user indicated by TOUCHER_KEY the standard dialog menu.
 
===Info===
<lsl>
llMessageLinked( LINK_THIS, 0, "CLAPI-Info", USER_KEY);
</lsl>
 
.. or ..
 
<lsl>
llRegionSayTo( KEY_OF_UNIT,  -77777, "CLAPI"+KEY_OF_UNIT+"-Info|"+USER_KEY+"|0" );    // where KEY_OF_UNIT is the uuid of the rental box/meter
</lsl>
 
Please pay attention to the case of the command above.
 
This command is synonymous to the user indicated by USER_KEY pressing the Info button, except it won't deliver the notecard.
 
===TimeLeft===
<lsl>
llMessageLinked( LINK_THIS, 0, "CLAPI-TimeLeft", USER_KEY);
</lsl>
 
.. or ..
 
<lsl>
llRegionSayTo( KEY_OF_UNIT,  -77777, "CLAPI"+KEY_OF_UNIT+"-TimeLeft|"+USER_KEY+"|0" );    // where KEY_OF_UNIT is the uuid of the rental box/meter
</lsl>
Please pay attention to the case of the command above.
 
This command is synonymous to the user indicated by USER_KEY pressing the TimeLeft button
 
===Evict===
<lsl>
llMessageLinked( LINK_THIS, 0, "CLAPI-Evict", USER_KEY);
</lsl>
 
.. or ..
 
<lsl>
llRegionSayTo( KEY_OF_UNIT,  -77777, "CLAPI"+KEY_OF_UNIT+"-Evict|"+USER_KEY+"|0"    );    // where KEY_OF_UNIT is the uuid of the rental box/meter
</lsl>
Please pay attention to the case of the command above.
 
This command is synonymous to the user indicated by USER_KEY pressing the Evict button
 
 
===Refund===
<lsl>
llMessageLinked( LINK_THIS, 0, "CLAPI-Refund", USER_KEY);
</lsl>
 
.. or ..
 
<lsl>
llRegionSayTo( KEY_OF_UNIT,  -77777, "CLAPI"+KEY_OF_UNIT+"-Refund|"+USER_KEY+"|0"    );    // where KEY_OF_UNIT is the uuid of the rental box/meter
</lsl>
Please pay attention to the case of the command above.
 
This command is synonymous to the user indicated by USER_KEY pressing the Refund button
 
===Prim Count===
<lsl>
llMessageLinked( LINK_THIS, 0, "CLAPI-Prim Count", USER_KEY);
</lsl>
 
.. or ..
 
<lsl>
llRegionSayTo( KEY_OF_UNIT,  -77777, "CLAPI"+KEY_OF_UNIT+"-Prim Count"+USER_KEY+"|"+    id    +"|0"    );    // where KEY_OF_UNIT is the uuid of the rental box/meter
</lsl>
Please pay attention to the case of the command above.
 
This command is synonymous to the user indicated by USER_KEY pressing the Prim Count button
 
===Won't Renew===
<lsl>
llMessageLinked( LINK_THIS, 0, "CLAPI-Won't Renew", USER_KEY);
</lsl>
 
.. or ..
 
<lsl>
llRegionSayTo( KEY_OF_UNIT,  -77777, "CLAPI"+KEY_OF_UNIT+"-Won't Renew|"+USER_KEY+"|0"    );    // where KEY_OF_UNIT is the uuid of the rental box/meter
</lsl>
Please pay attention to the case of the command above.
 
This command is synonymous to the user indicated by USER_KEY pressing the Won't Renew button
 
===Reminders===
<lsl>
llMessageLinked( LINK_THIS, 0, "CLAPI-Reminders", USER_KEY);
</lsl>
 
.. or ..
 
<lsl>
llRegionSayTo( KEY_OF_UNIT,  -77777, "CLAPI"+KEY_OF_UNIT+"-Reminders|"+USER_KEY+"|0" );    // where KEY_OF_UNIT is the uuid of the rental box/meter
</lsl>
Please pay attention to the case of the command above.
 
This command is synonymous to the user indicated by USER_KEY pressing the Reminders button
 
===Lock/Unlock===
<lsl>
llMessageLinked( LINK_THIS, 0, "CLAPI-Lock/Unlock", USER_KEY);
</lsl>
 
.. or ..
 
<lsl>
llRegionSayTo( KEY_OF_UNIT,  -77777, "CLAPI"+KEY_OF_UNIT+"-Lock/Unlock|"+USER_KEY+"|0");    // where KEY_OF_UNIT is the uuid of the rental box/meter
</lsl>
 
Please pay attention to the case of the command above.
 
This command is synonymous to the user indicated by USER_KEY pressing the Lock/Unlock button

Latest revision as of 16:09, 13 December 2014

Redirect to: