Difference between revisions of "Rental Script"

From Second Life Wiki
Jump to navigation Jump to search
(New page: My Rental Script :-) this is a COPYRIGHTED script,if u want any scripts doing just IM ME in world :-) im Doncaster Blackburn.... RIGHT im just making the script:-))
 
Line 1: Line 1:
My Rental Script :-)
Rental Script...
this is a COPYRIGHTED script,if u want any scripts doing just IM ME in world :-)
list splitwith;
im Doncaster Blackburn....
list splitname;
RIGHT im just making the script:-)
string ownername;
integer not_registered = TRUE;
vector original_location;
vector original_scale;
integer objects = 25; // objects
integer price = 350; // price
integer weeks = 1; // weaks
vector offset = <0, 0, 2>;
integer mature = 0;
string rentor;
string rentorkey;
integer rented = FALSE;
string rentperiod;
integer numListen;
integer randchannel;
integer editmode;
integer stopper;
string daterented;
integer rentedweeks;
integer timerevent;
 
default
{
    on_rez(integer change)
    {
    llInstantMessage(llGetOwner(),"for help click item then select help from menu");
        llSetTexture("rentit", ALL_SIDES);
       
        llListen(0,"","","");
        randchannel = (integer)llFrand(10000000);
        llListen(randchannel,"","","");
        editmode = 0;
        timerevent = 0;
        rented == FALSE;
        }
    listen(integer c, string n, key id, string m)
    {
        stopper = 0;
        string objectname;
        objectname = llGetObjectName();
        if (m == "Vacent" && c == randchannel && id == llGetOwner() && rented == TRUE)
        {
            llSetTexture("rentit", ALL_SIDES);
            llSetPos(original_location);
            llSetScale(original_scale); 
            llListenRemove(numListen);
            numListen = llListen(0, "", "", "" ); 
            rentperiod = "";
            rentor = "";
            rentorkey = NULL_KEY;
            rented = FALSE;
            daterented = "";
            rentedweeks = 0;
            timerevent = 0;
            llSetTimerEvent(0);
            llSay(0, objectname + " is vacent");
        }
        if (m == "Mature" && c == randchannel && id == llGetOwner())
        {
        mature = 1;
        llSay(0,"set to Mature Area");
        }
        if (m == "Renter info" && c == randchannel && id == llGetOwner())
        {
        integer weeks2;
    weeks2 = timerevent / 7 / 24 / 60 / 60;
    integer days;
    days = timerevent / 24 / 60 / 60 - (weeks2 * 7);
    integer hours;
    hours = timerevent / 60 / 60 - (weeks2 * 7 * 24) - (days * 24);
    integer mins;
    mins = timerevent / 60  - (weeks2 * 7 * 24 * 60) - (days * 24 * 60) - (hours * 60);
    integer seconds;
    seconds = timerevent - (weeks2 * 7 * 24 * 60 * 60) - (days * 24 * 60 * 60) - (hours * 60 * 60) - (mins * 60);
        llInstantMessage(llGetOwner(),"Renter name: " + rentor);
        llInstantMessage(llGetOwner(),"Rented Date: " + daterented);
        llInstantMessage(llGetOwner(),"Rented Left: " + (string)weeks2 + " weeks | " + (string)days + " days | " + (string)hours + ":" + (string)mins + ";" +(string)seconds);
        if (rentedweeks >= 2)
        {
        llInstantMessage(llGetOwner(),"Rented amount: " + (string)rentedweeks + " weeks");
        }
        if (rentedweeks == 1)
        {
        llInstantMessage(llGetOwner(),"Rented amount: " + (string)rentedweeks + " week");
        }
        if (rentedweeks <= 0)
        {
        llInstantMessage(llGetOwner(),"Rented amount: N/A");
        }
        }
        if (m == "PG" && c == randchannel && id == llGetOwner())
        {
        mature = 0;
        llSay(0,"set to PG Area"); 
        }
        if (m == "Status" && c == randchannel && id == llGetOwner())
        {
            string mit;
        llInstantMessage(llGetOwner(),"Prim's set to " + (string)objects);
        llInstantMessage(llGetOwner(),"Week's set to " + (string)weeks);
        llInstantMessage(llGetOwner(),"Offset set to " + (string)offset);           
        if (mature == 1)
        {
          mit = "Yes";
            }
            else
            {
              mit = "No"; 
            }
        llInstantMessage(llGetOwner(),"Regen Mature: " + (string)mit);
        }
        if(m == "Edit Mode" && editmode == 0 && stopper == 0 &&  c == randchannel && id == llGetOwner())
        {
        stopper = 1;
        editmode = 1;
        llInstantMessage(llGetOwner(),"editmode on");
        }
        if(m == "Edit Mode" && editmode == 1 && stopper == 0 && c == randchannel && id == llGetOwner())
        {
        stopper = 1;
        editmode = 0;
        llInstantMessage(llGetOwner(),"editmode off");
        }
       
        if (m == "Help" && c == randchannel && id == llGetOwner())
        {
        llGiveInventory(llGetOwner(), "Rentals Help");
        }
        if (llGetSubString(m,0,8) == "set weeks" && id==llGetOwner()  && editmode == 1)
        {
        weeks = (integer)llGetSubString(m,9,llStringLength(m));
        llSay(0,"weeks set to " + (string)weeks); 
        }
        if (llGetSubString(m,0,10) == "set renter " && id==llGetOwner()  && editmode == 1)
        {
        rentor = llGetSubString(m,11,llStringLength(m));
        llSay(0,"renter set to " + rentor); 
        }
        if (llGetSubString(m,0,9) == "set split " && id==llGetOwner()  && editmode == 1)
        {
        key id = (key)llGetSubString(m,10,llStringLength(m));
        splitwith += id;
        splitname += llKey2Name(id);
        llSay(0,llKey2Name(id) + " added to split with list"); 
        }
        if (llGetSubString(m,0,12) == "split remove " && id==llGetOwner()  && editmode == 1)
        {
        string name = llGetSubString(m,13,llStringLength(m));
        integer finddata = llListFindList(splitname,(list)name);
        if(finddata == -1)
        {
        llSay(0,"sorry " + name + " not found"); 
        }else
        {
        llDeleteSubList(splitwith,finddata,finddata);
        llDeleteSubList(splitname,finddata,finddata);
        llSay(0,name +" removed from shared list");
        }
        }
        if (llGetSubString(m,0,13) == "set rentedfor " && id==llGetOwner()  && editmode == 1)
        {
        string date = llGetTimestamp();
        daterented = llGetSubString(date,8,9) + "/" + llGetSubString(date,5,6) + "/" + llGetSubString(date,0,3) + " | Time " + llGetSubString(date,11,15);
        original_scale = llGetScale();
        original_location = llGetPos();
        list renttime = llParseStringKeepNulls(llGetSubString(m,14,llStringLength(m)), [":"], []);
        integer days = llList2Integer(renttime,0);
        integer hours = llList2Integer(renttime,1);
        integer minites = llList2Integer(renttime,2);
        integer seconds = llList2Integer(renttime,3);
        integer total;
        total = (days * 24 * 60 * 60) + (hours * 60 * 60) + (minites * 60) + (seconds);
        llSetTexture("info", ALL_SIDES);
        llSetPos(original_location + offset);
        llSetScale(<0.236,0.236,0.236>);
        timerevent = total;
        llSetTimerEvent(1);
        llWhisper(0,"set to " + (string)days + " days " + (string)hours + " hours " + (string)minites + " mins " + (string)seconds + " seconds");
        rented = TRUE;   
        }
        if (llGetSubString(m,0,10) == "set offset " && id==llGetOwner()  && editmode == 1)
        {
        offset = (vector)llGetSubString(m,11,llStringLength(m));
        llSay(0,"Offset set to " + (string)offset); 
        }
        if (llGetSubString(m,0,8) == "set prims" && id==llGetOwner() && editmode == 1)
        {
        objects = (integer)llGetSubString(m,9,llStringLength(m));
        llSay(0,"Prims set to " + (string)objects); 
        }
        if (llGetSubString(m,0,8) == "set price" && id==llGetOwner() && editmode == 1)
        {
        price = (integer)llGetSubString(m,9,llStringLength(m));
        llSay(0,"Price set to L$" + (string)price); 
        }
       
    }
    state_entry()
    {
        editmode = 0;
        randchannel = (integer)llFrand(10000000);
        llWhisper(0, "Activating...");
        ownername = llKey2Name(llGetOwner());
        llWhisper(0, "Asking for permission from owner " + ownername + ".");       
        llRequestPermissions(llGetOwner(), PERMISSION_DEBIT);       
        original_location = llGetPos();
        original_scale = llGetScale();
        llListenRemove(numListen);
        rentedweeks = 0;
        numListen = llListen(0, "", "", "" );
        llListen(randchannel,"","","");
        timerevent = 0; 
    }
 
    run_time_permissions(integer type)
    {
        if (type == PERMISSION_DEBIT)
        {
            ownername = llKey2Name(llGetOwner());
            llWhisper(0, "This space is now available for rent."); 
            not_registered = FALSE;
        }
    }
   
    timer() {
        timerevent--;
        if (timerevent != 0)
        { 
        }
        else
        {
        if(rentorkey != NULL_KEY)
        {
        llInstantMessage(rentorkey,"Your rental at " + llGetRegionName() + " has expired");
        }
        llSay(0,"rental expired");
        string objectname;       
        objectname = llGetObjectName();
        llSetTexture("rentit", ALL_SIDES);
        llSetPos(original_location);
        llSetScale(original_scale);       
        numListen = llListen(0, "", "", "" ); 
        rentperiod = "";
        rentor = "";
        rentorkey = NULL_KEY;
        daterented = "";
        rentedweeks = 0;
        rented = FALSE;
        timerevent = 0;
        llSetTimerEvent(0);       
    }
}
   
    touch_start(integer total_number)
    {
    if(llDetectedKey(0) == llGetOwner())
   
    {
    string edit;
    if (editmode == 0)
    {
    edit = "off";
    }
    if (editmode == 1)
    {
    edit = "on"; 
    }
    llDialog(llGetOwner(),"vender editor \n editmode is set to: " + edit,["Mature","PG","Vacent","Edit Mode","Renter info","Help","Status"],randchannel);
}
else
{
        if(rented == FALSE)
        {
        llWhisper(0, "This space is for rent. The price is $" +(string)price+ " per week. Prim limit is "+(string)objects+" prims. Obey prim limits to avoid termination of agreement. Rent is non-refundable.");
        if (mature == 1)
        {
        llWhisper(0, "Usage Restrictions:  This spot is for comercial use.  Keep within prim limits or face termination of lease.");
} else
{
llWhisper(0, "Usage Restrictions:  This spot is for comercial use.  Keep within prim limits or face termination of lease.  Keep To PG Rules as in PG Sim");
}
       
        llWhisper(0, "Right click and pay to rent this space. Minimum rental period is "+(string)weeks+" weeks, at $" +(string)(price*weeks)+". If you have any questions, please feel free to IM " + ownername + ". For Help please IM " + ownername + ".");
        }
        else
        {
        integer weeks2;
    weeks2 = timerevent / 7 / 24 / 60 / 60;
    integer days;
    days = timerevent / 24 / 60 / 60 - (weeks2 * 7);
    integer hours;
    hours = timerevent / 60 / 60 - (weeks2 * 7 * 24) - (days * 24);
    integer mins;
    mins = timerevent / 60  - (weeks2 * 7 * 24 * 60) - (days * 24 * 60) - (hours * 60);
    integer seconds;
    seconds = timerevent - (weeks2 * 7 * 24 * 60 * 60) - (days * 24 * 60 * 60) - (hours * 60 * 60) - (mins * 60);
        llWhisper(0, "This space is occupied by " + rentor + " for " + (string)weeks2 + " weeks | " + (string)days + " days | " + (string)hours + ":" + (string)mins + ";" +(string)seconds);
       
        llWhisper(0, "Max prims is " + (string)objects + ". For help please IM " + ownername + ".");
        }
    }
    }
   
    money(key giver, integer amount)
    {
        integer amount2 = amount%price;
        integer weeks = amount/price;
        if(amount>=price*weeks && amount2==0 && rented == FALSE)
        {
            rentedweeks = amount/price;
            string date = llGetTimestamp();
            daterented = llGetSubString(date,8,9) + "/" + llGetSubString(date,5,6) + "/" + llGetSubString(date,0,3) + " | Time " + llGetSubString(date,11,15);
            original_scale = llGetScale();
            original_location = llGetPos();
            timerevent = 604800*weeks;
            //vector offset = <-2, 0, -1>;
            llWhisper(0, "Correct amount");
            rentor = llKey2Name(giver);
            rented = TRUE;
            rentperiod = (string)weeks;
            llWhisper(0, "Prim limit is "+(string)objects+" prims.");
            llWhisper(0, "Keep prim limits or risk termination of agreement.Rent is non-refundable. IM " + ownername + " with questions.");
            llWhisper(0, "Thank you for renting this space . Thank You For Purchasing "+(string)weeks+" weeks . Feel Free To Put Your stuff in now");
            llSetTexture("info", ALL_SIDES);
            llSetPos(original_location + offset);
            llSetScale(<0.236,0.236,0.236>);
            rentorkey = giver;
            llSetTimerEvent(1);
            if(splitwith != [])
            {
            integer devide = llGetListLength(splitwith) + 1;
            integer totatogive = amount/devide;   
            integer no;
            while(no < llGetListLength(splitwith))
            {
            key dest = llList2Key(splitwith,no);
            llGiveMoney(dest,totatogive);
        llInstantMessage(dest,"you have bee payed L$"+ (string)totatogive +" by " + llGetObjectName());
            no ++;
            }
            }
        }
        else if(rented == TRUE)
        {
            if (llKey2Name(giver) == rentor && amount>=price*weeks && amount2==0)
            {     
            timerevent += (604800*weeks);
            llSay(0, "you have incresed your rental by " + (string)weeks + " weeks");
            rentedweeks += weeks;
            if(splitwith != [])
            {
            integer devide = llGetListLength(splitwith) + 1;
            integer totatogive = amount/devide;   
            integer no;
            while(no < llGetListLength(splitwith))
            {
            key dest = llList2Key(splitwith,no);
            llGiveMoney(dest,totatogive);
        llInstantMessage(dest,"you have bee payed L$"+ (string)totatogive +" by " + llGetObjectName());
            no ++;
            }
            }
        }
            else
            {
            llGiveMoney(giver, amount);
            llSay(0,"sorry please check rental");
            }
       
        }
       
        else
        {
            llWhisper(0, "Minimum rental period is "+(string)weeks+" weeks, at $" +(string)(price*weeks)+ ". If you have any questions, please feel free to IM" + ownername + ".");
            llWhisper(0, "Giving money back.");
            llGiveMoney(giver, amount);
        }
    }
}

Revision as of 08:39, 28 April 2008

Rental Script... list splitwith; list splitname; string ownername; integer not_registered = TRUE; vector original_location; vector original_scale; integer objects = 25; // objects integer price = 350; // price integer weeks = 1; // weaks vector offset = <0, 0, 2>; integer mature = 0; string rentor; string rentorkey; integer rented = FALSE; string rentperiod; integer numListen; integer randchannel; integer editmode; integer stopper; string daterented; integer rentedweeks; integer timerevent;

default {

   on_rez(integer change)
   {
   llInstantMessage(llGetOwner(),"for help click item then select help from menu");
       llSetTexture("rentit", ALL_SIDES);
       
       llListen(0,"","","");
       randchannel = (integer)llFrand(10000000);
       llListen(randchannel,"","","");
       editmode = 0;
       timerevent = 0;
       rented == FALSE;
       }
   listen(integer c, string n, key id, string m)
   {
       stopper = 0;
       string objectname;
       objectname = llGetObjectName();
       if (m == "Vacent" && c == randchannel && id == llGetOwner() && rented == TRUE)
       {
           llSetTexture("rentit", ALL_SIDES);
           llSetPos(original_location);
           llSetScale(original_scale);   
           llListenRemove(numListen);
           numListen = llListen(0, "", "", "" );  
           rentperiod = "";
           rentor = "";
           rentorkey = NULL_KEY;
           rented = FALSE;
           daterented = "";
           rentedweeks = 0;
           timerevent = 0;
           llSetTimerEvent(0);
           llSay(0, objectname + " is vacent");
       }
       if (m == "Mature" && c == randchannel && id == llGetOwner())
       {
       mature = 1;
       llSay(0,"set to Mature Area");
       }
       if (m == "Renter info" && c == randchannel && id == llGetOwner())
       {
       integer weeks2;
   weeks2 = timerevent / 7 / 24 / 60 / 60;
   integer days;
   days = timerevent / 24 / 60 / 60 - (weeks2 * 7);
   integer hours;
   hours = timerevent / 60 / 60 - (weeks2 * 7 * 24) - (days * 24);
   integer mins;
   mins = timerevent / 60  - (weeks2 * 7 * 24 * 60) - (days * 24 * 60) - (hours * 60);
   integer seconds;
   seconds = timerevent - (weeks2 * 7 * 24 * 60 * 60) - (days * 24 * 60 * 60) - (hours * 60 * 60) - (mins * 60);
       llInstantMessage(llGetOwner(),"Renter name: " + rentor);
       llInstantMessage(llGetOwner(),"Rented Date: " + daterented);
       llInstantMessage(llGetOwner(),"Rented Left: " + (string)weeks2 + " weeks | " + (string)days + " days | " + (string)hours + ":" + (string)mins + ";" +(string)seconds);
       if (rentedweeks >= 2)
       {
       llInstantMessage(llGetOwner(),"Rented amount: " + (string)rentedweeks + " weeks");
       }
       if (rentedweeks == 1)
       {
       llInstantMessage(llGetOwner(),"Rented amount: " + (string)rentedweeks + " week");
       }
       if (rentedweeks <= 0)
       {
       llInstantMessage(llGetOwner(),"Rented amount: N/A");
       }
       }
       if (m == "PG" && c == randchannel && id == llGetOwner())
       {
       mature = 0;
       llSay(0,"set to PG Area");  
       }
       if (m == "Status" && c == randchannel && id == llGetOwner())
       {
           string mit;
        llInstantMessage(llGetOwner(),"Prim's set to " + (string)objects);
        llInstantMessage(llGetOwner(),"Week's set to " + (string)weeks);
        llInstantMessage(llGetOwner(),"Offset set to " + (string)offset);            
        if (mature == 1)
        {
          mit = "Yes";
           }
           else
           {
             mit = "No";   
           }
        llInstantMessage(llGetOwner(),"Regen Mature: " + (string)mit);
       }
       if(m == "Edit Mode" && editmode == 0 && stopper == 0 &&  c == randchannel && id == llGetOwner())
       {
       stopper = 1;
       editmode = 1;
       llInstantMessage(llGetOwner(),"editmode on");
       }
       if(m == "Edit Mode" && editmode == 1 && stopper == 0 && c == randchannel && id == llGetOwner())
       {
       stopper = 1;
       editmode = 0;
       llInstantMessage(llGetOwner(),"editmode off");
       }
       
       if (m == "Help" && c == randchannel && id == llGetOwner())
       {
       llGiveInventory(llGetOwner(), "Rentals Help");
       }
       if (llGetSubString(m,0,8) == "set weeks" && id==llGetOwner()  && editmode == 1)
       {
       weeks = (integer)llGetSubString(m,9,llStringLength(m));
       llSay(0,"weeks set to " + (string)weeks);   
       }
       if (llGetSubString(m,0,10) == "set renter " && id==llGetOwner()  && editmode == 1)
       {
       rentor = llGetSubString(m,11,llStringLength(m));
       llSay(0,"renter set to " + rentor);   
       }
        if (llGetSubString(m,0,9) == "set split " && id==llGetOwner()  && editmode == 1)
       {
       key id = (key)llGetSubString(m,10,llStringLength(m));
       splitwith += id;
       splitname += llKey2Name(id);
       llSay(0,llKey2Name(id) + " added to split with list");   
       }
        if (llGetSubString(m,0,12) == "split remove " && id==llGetOwner()  && editmode == 1)
       {
       string name = llGetSubString(m,13,llStringLength(m));
       integer finddata = llListFindList(splitname,(list)name);
       if(finddata == -1)
       {
        llSay(0,"sorry " + name + " not found");   
       }else
       {
        llDeleteSubList(splitwith,finddata,finddata);
        llDeleteSubList(splitname,finddata,finddata);
        llSay(0,name +" removed from shared list");
       }
       }
       if (llGetSubString(m,0,13) == "set rentedfor " && id==llGetOwner()  && editmode == 1)
       {
       string date = llGetTimestamp();
       daterented = llGetSubString(date,8,9) + "/" + llGetSubString(date,5,6) + "/" + llGetSubString(date,0,3) + " | Time " + llGetSubString(date,11,15);
       original_scale = llGetScale();
       original_location = llGetPos();
        list renttime = llParseStringKeepNulls(llGetSubString(m,14,llStringLength(m)), [":"], []);
       integer days = llList2Integer(renttime,0);
       integer hours = llList2Integer(renttime,1);
       integer minites = llList2Integer(renttime,2);
       integer seconds = llList2Integer(renttime,3);
       integer total;
       total = (days * 24 * 60 * 60) + (hours * 60 * 60) + (minites * 60) + (seconds);
       llSetTexture("info", ALL_SIDES);
       llSetPos(original_location + offset);
       llSetScale(<0.236,0.236,0.236>);
       timerevent = total;
       llSetTimerEvent(1);
       llWhisper(0,"set to " + (string)days + " days " + (string)hours + " hours " + (string)minites + " mins " + (string)seconds + " seconds");
       rented = TRUE;     
       }
       if (llGetSubString(m,0,10) == "set offset " && id==llGetOwner()  && editmode == 1)
       {
       offset = (vector)llGetSubString(m,11,llStringLength(m));
       llSay(0,"Offset set to " + (string)offset);   
       }
       if (llGetSubString(m,0,8) == "set prims" && id==llGetOwner() && editmode == 1)
       {
       objects = (integer)llGetSubString(m,9,llStringLength(m));
       llSay(0,"Prims set to " + (string)objects);   
       }
       if (llGetSubString(m,0,8) == "set price" && id==llGetOwner() && editmode == 1)
       {
       price = (integer)llGetSubString(m,9,llStringLength(m));
       llSay(0,"Price set to L$" + (string)price);   
       }
       
   }
   state_entry()
   {
       editmode = 0;
       randchannel = (integer)llFrand(10000000);
       llWhisper(0, "Activating...");
       ownername = llKey2Name(llGetOwner());
       llWhisper(0, "Asking for permission from owner " + ownername + ".");        
       llRequestPermissions(llGetOwner(), PERMISSION_DEBIT);        
       original_location = llGetPos();
       original_scale = llGetScale();
       llListenRemove(numListen);
       rentedweeks = 0;
       numListen = llListen(0, "", "", "" );
       llListen(randchannel,"","","");
       timerevent = 0;  
   }
   run_time_permissions(integer type)
   {
       if (type == PERMISSION_DEBIT)
       {
           ownername = llKey2Name(llGetOwner());
           llWhisper(0, "This space is now available for rent.");  
           not_registered = FALSE;
       }
   }
   
   timer() {
       timerevent--;
       if (timerevent != 0)
       {   
       }
       else
       {
       if(rentorkey != NULL_KEY)
       {
       llInstantMessage(rentorkey,"Your rental at " + llGetRegionName() + " has expired");
       }
       llSay(0,"rental expired");
       string objectname;        
       objectname = llGetObjectName();
       llSetTexture("rentit", ALL_SIDES);
       llSetPos(original_location);
       llSetScale(original_scale);        
       numListen = llListen(0, "", "", "" );  
       rentperiod = "";
       rentor = "";
       rentorkey = NULL_KEY;
       daterented = "";
       rentedweeks = 0;
       rented = FALSE;
       timerevent = 0;
       llSetTimerEvent(0);         
   }

}

   touch_start(integer total_number)
   {
   if(llDetectedKey(0) == llGetOwner())
   
   {
   string edit;
   if (editmode == 0)
   {
    edit = "off"; 
   }
   if (editmode == 1)
   {
    edit = "on";  
   }
   llDialog(llGetOwner(),"vender editor \n editmode is set to: " + edit,["Mature","PG","Vacent","Edit Mode","Renter info","Help","Status"],randchannel);

} else {

       if(rented == FALSE)
       {
       llWhisper(0, "This space is for rent. The price is $" +(string)price+ " per week. Prim limit is "+(string)objects+" prims. Obey prim limits to avoid termination of agreement. Rent is non-refundable.");
       if (mature == 1)
       {
       llWhisper(0, "Usage Restrictions:  This spot is for comercial use.  Keep within prim limits or face termination of lease.");

} else { llWhisper(0, "Usage Restrictions: This spot is for comercial use. Keep within prim limits or face termination of lease. Keep To PG Rules as in PG Sim"); }

       llWhisper(0, "Right click and pay to rent this space. Minimum rental period is "+(string)weeks+" weeks, at $" +(string)(price*weeks)+". If you have any questions, please feel free to IM " + ownername + ". For Help please IM " + ownername + ".");
       }
       else 
       {
        integer weeks2;
   weeks2 = timerevent / 7 / 24 / 60 / 60;
   integer days;
   days = timerevent / 24 / 60 / 60 - (weeks2 * 7);
   integer hours;
   hours = timerevent / 60 / 60 - (weeks2 * 7 * 24) - (days * 24);
   integer mins;
   mins = timerevent / 60  - (weeks2 * 7 * 24 * 60) - (days * 24 * 60) - (hours * 60);
   integer seconds;
   seconds = timerevent - (weeks2 * 7 * 24 * 60 * 60) - (days * 24 * 60 * 60) - (hours * 60 * 60) - (mins * 60);
       llWhisper(0, "This space is occupied by " + rentor + " for " + (string)weeks2 + " weeks | " + (string)days + " days | " + (string)hours + ":" + (string)mins + ";" +(string)seconds);
       
       llWhisper(0, "Max prims is " + (string)objects + ". For help please IM " + ownername + ".");
       }
   }
   }
   
   money(key giver, integer amount)
   {
       integer amount2 = amount%price;
       integer weeks = amount/price;
       if(amount>=price*weeks && amount2==0 && rented == FALSE)
       {
           rentedweeks = amount/price;
           string date = llGetTimestamp();
           daterented = llGetSubString(date,8,9) + "/" + llGetSubString(date,5,6) + "/" + llGetSubString(date,0,3) + " | Time " + llGetSubString(date,11,15);
           original_scale = llGetScale();
           original_location = llGetPos();
           timerevent = 604800*weeks;
           //vector offset = <-2, 0, -1>;
           llWhisper(0, "Correct amount");
           rentor = llKey2Name(giver);
           rented = TRUE;
           rentperiod = (string)weeks;
           llWhisper(0, "Prim limit is "+(string)objects+" prims.");
           llWhisper(0, "Keep prim limits or risk termination of agreement.Rent is non-refundable. IM " + ownername + " with questions.");
           llWhisper(0, "Thank you for renting this space . Thank You For Purchasing "+(string)weeks+" weeks . Feel Free To Put Your stuff in now");
           llSetTexture("info", ALL_SIDES);
           llSetPos(original_location + offset);
           llSetScale(<0.236,0.236,0.236>);
           rentorkey = giver;
           llSetTimerEvent(1);
           if(splitwith != [])
           {
           integer devide = llGetListLength(splitwith) + 1;
           integer totatogive = amount/devide;    
           integer no;
           while(no < llGetListLength(splitwith))
           {
           key dest = llList2Key(splitwith,no);
           llGiveMoney(dest,totatogive);
       llInstantMessage(dest,"you have bee payed L$"+ (string)totatogive +" by " + llGetObjectName());
           no ++; 
           }
           }
       }
       else if(rented == TRUE)
       { 
           if (llKey2Name(giver) == rentor && amount>=price*weeks && amount2==0)
           {      
           timerevent += (604800*weeks);
           llSay(0, "you have incresed your rental by " + (string)weeks + " weeks");
           rentedweeks += weeks;
           if(splitwith != [])
           {
           integer devide = llGetListLength(splitwith) + 1;
           integer totatogive = amount/devide;    
           integer no;
           while(no < llGetListLength(splitwith))
           {
           key dest = llList2Key(splitwith,no);
           llGiveMoney(dest,totatogive);
       llInstantMessage(dest,"you have bee payed L$"+ (string)totatogive +" by " + llGetObjectName());
           no ++; 
           } 
           }
       }
           else
           {
            llGiveMoney(giver, amount);
            llSay(0,"sorry please check rental");
           }
       
       }
       
       else
       {
           llWhisper(0, "Minimum rental period is "+(string)weeks+" weeks, at $" +(string)(price*weeks)+ ". If you have any questions, please feel free to IM" + ownername + ".");
           llWhisper(0, "Giving money back.");
           llGiveMoney(giver, amount);
       }
   }

}