if already split your land then you are halfway there. This script is public, I got it in the script library.
// This easy to use plot "covercharge" assist will help you be able to set-up a ticket booth, when charging cover to the "Carnivale" fairs and amusements. I find it always a good idea to sell passes on a day (24 hour) period. This enables people to return all day, bring in friends, and feel like they purchased a substantial block of time at your establishment.
//By editing these two simple variables you can easily automate your land rentals. Be sure to set your physical land ACCESS to reflect these changes to ensure less bugs and security regarding people getting in unpaid.
//VARIABLE 1: This variable determines the price for the set 24 hour time frame. Simple set it in ($L) Linden Dollars and it will automatically create a "quick pay" dialogue box for your customers.
integer gCorrectAmount = 60; // this defines the correct L$ price
//VARIABLE 2: This is the actual time for rent, in hours that your customers will have access to.
float timeAllowed = 24; // always in hours, for example: 1.0 is 1h; 3.5 is 3h30min; 0.2 is 12min
//DO NOT EDIT BELOW THIS LINE. Unless you are a practiced scripter there is no need to edit anything below this line. Doing so without knowledge will easily corrupt this script.
vector BLUE = <0,0,1>;
vector RED = <1,0,0>;
vector GREEN = <0,1,0>;
vector YELLOW = <1,1,0>;
default{
state_entry() {
llSetText("Requesting perms..",YELLOW,1.0);
llRequestPermissions(llGetOwner(), PERMISSION_DEBIT);
}
on_rez(integer parm){ llResetScript(); }
run_time_permissions(integer permissions) {
if (permissions & PERMISSION_DEBIT) { state ready; }
else { state error;}
}
}
state error {
state_entry(){ llSetText("error..",RED,1.0); }
on_rez(integer parm){ llResetScript(); }
touch_start(integer total_number) {
integer i;
for (i=0;i<total_number;++i) {
if(llDetectedKey(i)==llGetOwner()) {
llResetScript();
}
}
}
}
state ready {
state_entry() {
llSetPayPrice(PAY_DEFAULT, [gCorrectAmount, PAY_HIDE, PAY_HIDE, PAY_HIDE]); // Set values of fast pay dialog
llSetText("Buy your Pass of "+llGetRegionName()+" here",BLUE,1.0);
}
on_rez(integer parm){ llResetScript(); }
money(key id, integer amount) {
if (amount > gCorrectAmount) { // if they've overpaid.
integer refund = amount - gCorrectAmount; // determine how much extra they've paid.
llInstantMessage(id,"You paid too much, your change is L$" + (string)refund);
llGiveMoney(id, refund); // refund their change.
}
if (amount >= gCorrectAmount) { // When amount is correct
llSetText("Loading Access List..\nplease wait..",YELLOW,1.0);
llAddToLandPassList(id, timeAllowed);
llInstantMessage(id,"Thank you, " + llKey2Name(id) + ", your are now in the access list."

;
llInstantMessage(id,"You will recieve a notice when the time are nearly elapsed."

;
state reset_ready;
}
else {
llInstantMessage(id, llKey2Name(id)
+ ", you didn't pay enought (L$" + (string)gCorrectAmount
+ "

. Refunding your payment of L$" + (string)amount + "."

;
llGiveMoney(id, amount); // refund amount paid.
} } }
state reset_ready { state_entry() { state ready; } on_rez(integer parm){ llResetScript(); } }
K you will need to make sure the base prim is in the parcel you want to rent. This can easily be done by linking yout pay sign, on the main plot, to an invisable prim in the cinema. The person pays, and can enter the plot. There will be no camming of any sort. If you setup the pay per enter in the land the person can't even enter the said plot.
*Just delete that crap I added, I use it for my amusement park.