PRTech Roulette Table Scripts 9k

Thread Started By steadymobbin

2302
0
  • 32 Vote(s) - 3.09 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Rate Thread
#1
PHP Code:
/////////////////////////////////////////////////////////////////////////////////////////////////
// PARSER ///////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
string sep ";";
string putVar(string src,string varName,string varValue) {
    list 
varSet llParseString2List(llBase64ToString(src),[sep],[]);   
    
integer count;
    for(
count=0;count<llGetListLength(varSet);count++) {
        list var = 
llParseString2List(llList2String(varSet,count),["="],[]);
        if(
llList2String(var,0) == varName) {
            
varSet llListReplaceList(varSet,[varName "=" varValue],count,count);
            
src llDumpList2String(varSet,sep);
            return 
llStringToBase64(src);
        }    
    }
    
src llDumpList2String(varSet + [varName "=" varValue],sep);
    return 
llStringToBase64(src);
}
string getVar(string src,string varName) {
    list 
varSet llParseString2List(llBase64ToString(src),[sep],[]);
    
integer count;
    for(
count=0;count<llGetListLength(varSet);count++) {
        list var = 
llParseString2List(llList2String(varSet,count),["="],[]);
        if(
llList2String(var,0) == varName) return llList2String(var,1);      
    }
    return 
"";
}
/////////////////////////////////////////////////////////////////////////////////////////////////
// PARSER ///////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////

list the_wheel = ["?""2""14""35""23""4""16""26""21""6""18""31""19""8""12""29""25""10""27""00""1""13""36""24""3""15""34""22""5""17""7""33""30""11""32""28""9""20""0"];

float on_spin_time 20.0;
integer time_counter;
integer wheel_busy;  //must be higher than 18, or delay will fail

// MENU
integer menuChannel = -1;
integer menuListenId;
showMenu(string button)
{
    
menuChannel = -(integer)llFrand(10000000) - 1;
    
menuListenId llListen(menuChannel,llKey2Name(llGetOwner()),llGetOwner(),"");
    
    
string strBetLimit "BET LIMIT: (no limit)";
    if((integer)
getVar(llGetObjectDesc(),"betlimit")) strBetLimit "BET LIMIT: " getVar(llGetObjectDesc(),"betlimit") + "L$";
    
string text "CHOOSE AN OPTION\n \n";
    if(
button != ""llDialog(llGetOwner(),text "STATUS: enabled\n" strBetLimit,[button] + ["BET LIMIT","<RESET>","[CLOSE]"],menuChannel);
    else 
llDialog(llGetOwner(),text "STATUS: disabled\n" strBetLimit,["BET LIMIT","<RESET>","[CLOSE]"],menuChannel);
    
}

integer betListenId;
askBetLimit()
{
    
betListenId llListen(0,llKey2Name(llGetOwner()),llGetOwner(),"");
    
osay("Please say the bet limit for this roulette machine (0 = no limit)...");
}

//Function ears (for listen)
string ears(integer channelstring namekey idstring msg)
{
    if(
id != llGetOwner()) return "";
    if(
channel == menuChannel)
    {
        
llListenRemove(menuListenId);
        if(
msg == "ON") return "on";
        else if(
msg == "OFF") return "off";
        else if(
msg == "BET LIMIT"askBetLimit();
        else if(
msg == "<RESET>")
        {
            
llMessageLinked(LINK_ALL_OTHERS1234512345"resetscript"NULL_KEY);
            
llSleep(1.5);
            
llResetScript();
        }
    }
    else if(
channel == 0)
    {
        
llListenRemove(betListenId);
        
llSetObjectDesc(putVar(llGetObjectDesc(),"betlimit",(string)((integer)msg)));
        
llMessageLinked(LINK_ALL_CHILDREN,(integer)getVar(llGetObjectDesc(),"betlimit"),"betlimit",NULL_KEY);
        if((integer)
getVar(llGetObjectDesc(),"betlimit") == 0osay("Bet limit disabled. Any bet amount will be accepted.");
        else 
osay("Bet limit changed to L$" getVar(llGetObjectDesc(),"betlimit") + ".");
    }
    
    return 
"";
}

//Function osay (quick ownersay)
osay (string msg)
{
    
llOwnerSay("Oo. " msg);
}

//this state decides the result, spins the ball, and plays the sound
spinme(){
    
llPlaySound("e87c6247-ed65-2ee0-0d73-8b2f6c83453b"0.2);
    
//determine where the ball will stop
    
integer my_value RandInt(1,38);

    
//0.1653  don't change these numbers
    
float len = (my_value 0.1653) + 13.5664;
    
    
llWhisper(0"Ball now in motion.");
    
//                                          int     int         int         float   float           float
    //                  mode,                   side,   x_frames,   y_frames,   start,  length,         rate);
    //                                                                                  (PI * 4) + 1
    //                                                                                  + s2nd_rate         
    
llSetTextureAnim(ANIM_ON ROTATE SMOOTH,  0,      6,          1,          0,      len,           6);
    
    
string call llList2String(the_wheelmy_value);

    
string color;
    if ((
my_value 2) == 0){color "red";}
    else{
color "black";}
    
    
//set 0 and 00 to house
    
if ((call == "0") || (call == "00")) color "house";
    

    
llSleep(3.5);
    
llWhisper (0call " (" color ")");
    
integer call_num = (integer)call;
    
    if ((
call != "0") && (call != "00"))
    {
                       
//even odd
        
if ((call_num 2) == 0)
        {
            
//here message goes, what won, what won, blank
            
llMessageLinked(88"even"NULL_KEY);
        }else{
            
llMessageLinked(55"odd"NULL_KEY);
        }
        
        
//osay("analyze black red");
        
if (color == "red")
        {
            
//osay("sending linked messages to red and black announcing RED won");
            
llMessageLinked(77"red"NULL_KEY);
        }else{
            
//osay("sending linked messages to red and black announcing BLACK won");
            
llMessageLinked(66"black"NULL_KEY);
        }
        
                
//osay("analyze row");
        
if ((call_num == 1) || (call_num == 4) || (call_num == 7) || (call_num == 10) || (call_num == 13) || (call_num == 16) || (call_num == 19) || (call_num == 22) || (call_num == 25) || (call_num == 28) || (call_num == 31) || (call_num == 34)){
                
llMessageLinked(1313"lowrow"NULL_KEY); //low row

        
}else if((call_num == 2) || (call_num == 5) || (call_num == 8) || (call_num == 11) || (call_num == 14) || (call_num == 17) || (call_num == 20) || (call_num == 23) || (call_num == 26) || (call_num == 29) || (call_num == 32) || (call_num == 35)){
                
llMessageLinked(2626"midrow"NULL_KEY); //mid row

        
}else if((call_num == 3) || (call_num == 6) || (call_num == 9) || (call_num == 12) || (call_num == 15) || (call_num == 18) || (call_num == 21) || (call_num == 24) || (call_num == 27) || (call_num == 30) || (call_num == 33) || (call_num == 36)){
                
llMessageLinked(2727"highrow"NULL_KEY); //high row
        
}
        
        
//osay("analyze 18s");
        
if ((call_num >= 1) && (call_num <= 18)){
                
llMessageLinked(99"1-18"NULL_KEY); //1-18
        
}else if((call_num >= 19) && (call_num <= 36)){
                
llMessageLinked(44"19-36"NULL_KEY); //1-18
        
}
        
        
//osay("analyze 12s");
        
if ((call_num >= 1) && (call_num <= 12)){
                
llMessageLinked(1212"1st 12"NULL_KEY); //1st12
        
}else if ((call_num >= 13) && (call_num <= 24)){
                 
llMessageLinked(1111"2nd 12"NULL_KEY); //2nd12
        
}else if ((call_num >= 24) && (call_num <= 36)){
                
llMessageLinked(1010"3rd 12"NULL_KEY); //3rd12
        
}
        
        
//osay("analyze corners");
        
if ((call_num == 2) || (call_num == 3) || (call_num == 5) || (call_num == 6)) 
            
llMessageLinked(3333"2 3 5 6"NULL_KEY); //2-3-5-6
        
if ((call_num == 8) || (call_num == 9) || (call_num == 11) || (call_num == 12)) 
            
llMessageLinked(3232"8 9 11 12"NULL_KEY); //8-9-11-12
        
if ((call_num == 14) || (call_num == 15) || (call_num == 17) || (call_num == 18)) 
            
llMessageLinked(3131"14 15 17 18"NULL_KEY); //14-15-17-18
        
if ((call_num == 20) || (call_num == 21) || (call_num == 23) || (call_num == 24)) 
            
llMessageLinked(3030"20 21 23 24"NULL_KEY); //20-21-23-24 
        
if ((call_num == 26) || (call_num == 27) || (call_num == 29) || (call_num == 30)) 
            
llMessageLinked(2929"26 27 29 30"NULL_KEY); //26-27-29-30
        
if ((call_num == 32) || (call_num == 33) || (call_num == 35) || (call_num == 36)) 
            
llMessageLinked(2828"32 33 35 36"NULL_KEY); //32-33-35-36
    
        //osay("analyze straight bets");
        
if (call_num == 1llMessageLinked(2525"1"NULL_KEY); //one
        
if (call_num == 4llMessageLinked(2424"4"NULL_KEY); //four
        
if (call_num == 7llMessageLinked(2323"7"NULL_KEY); //seven
        
if (call_num == 10llMessageLinked(2222"10"NULL_KEY); //ten
        
if (call_num == 13llMessageLinked(2121"13"NULL_KEY); //thirteen
        
if (call_num == 16llMessageLinked(2020"16"NULL_KEY); //sixteen
        
if (call_num == 19llMessageLinked(1919"19"NULL_KEY); //nineteen
        
if (call_num == 22llMessageLinked(1818"22"NULL_KEY); //twentytwo
        
if (call_num == 25llMessageLinked(1717"25"NULL_KEY); //twentyfive
        
if (call_num == 28llMessageLinked(1616"28"NULL_KEY); //twentyeight
        
if (call_num == 31llMessageLinked(1515"31"NULL_KEY); //thirtyonehai
        
if (call_num == 34llMessageLinked(1414"34"NULL_KEY); //thirtyfour
            
    
}else
    {
        
llWhisper (0"House wins.");
    }
    
llWhisper(0,"Paying winners. Please wait to reset...");
    
llSleep(1);
    
//below is to empty betting lists
    //llMessageLinked(LINK_ALL_OTHERS, 0, "clear", NULL_KEY);
    //llSleep(2.5);
    //llWhisper(0, "Ready to be reset. Please wait...");
}

integer RandInt(integer lowerinteger higher) {
    
integer Range higher lower;
    
integer Result llFloor(llFrand(Range 1)) + lower;
    return 
Result;
}

reset()
{
    
llSetTextureAnim(ANIM_ON000000);
    
time_counter 0;
    
wheel_busy FALSE;
}

default
{
    
//all the code in default just shoves over to state off
    
state_entry ()
    {
        
llSetText("ROULETTE OFF\n(do not bet)\n.\n.\n.\n.",<1,0,0>,1);
        
llRequestPermissions(llGetOwner(),PERMISSION_DEBIT);
    }
    
    
run_time_permissions(integer perms)
    {
        if(!(
perms PERMISSION_DEBIT)) return;
        
        
osay("starting...");
        
state off;
    }
    
    
touch_start(integer touchers)
    {
        if(
llGetLinkName(llDetectedLinkNumber(0)) == "help")
        {
            
llGiveInventory(llDetectedKey(0),"roulette_player_help");
            return;
        }
        
        if(
llDetectedKey(0) != llGetOwner()) return;
        
//showMenu("");
        
llResetScript();
    }
    
    
listeninteger chanstring namekey idstring message )
    {if(
ears(channameidmessage) == "off"state off;}
    
    
on_rez(integer param)
    {
llResetScript();}
    
changed(integer change)
    {if(
change CHANGED_OWNERllResetScript();}
}

state off
{
    
state_entry ()
    {
        
osay ("Off mode");
        
reset();
        
llSetText("ROULETTE OFF\n(do not bet)\n.\n.\n.\n.",<1,0,0>,1);
        
showMenu("ON");
    }
    
    
touch_start(integer touchers)
    {
        if(
llGetLinkName(llDetectedLinkNumber(0)) == "help")
        {
            
llGiveInventory(llDetectedKey(0),"roulette_player_help");
            return;
        }
        
        if(
llDetectedKey(0) != llGetOwner()) return;
        
showMenu("ON");
    }
    
    
listeninteger chanstring namekey idstring message )
    {if(
ears(channameidmessage) == "on"state on;}
    
    
on_rez(integer param)
    {
llResetScript();}
    
changed(integer change)
    {if(
change CHANGED_OWNERllResetScript();}
}

state on
{
    
state_entry ()
    {
        
osay("On Mode");
        
reset();
        
llSetText("",<0,0,0>,0);
    }
    
    
touch_start(integer touchers)
    {
        if(
llGetLinkName(llDetectedLinkNumber(0)) == "help")
        {
            
llGiveInventory(llDetectedKey(0),"roulette_player_help");
            return;
        }
        
        if(
llDetectedKey(0) != llGetOwner()) return;
        
showMenu("OFF");
    }
    
    
listeninteger chanstring namekey idstring message)
    {if(
ears(channameidmessage) == "off"state off;}
    
    
link_message(integer senderinteger numstring strkey id)
    {
        if(
str == "pay")
        {
            
string av_name llKey2Name(id);
            
llGiveMoney(id,llAbs(num));
            if(
num 0llWhisper(0av_name " won L$" + (string)num " on " llGetLinkName(sender) + "!");    
        }
        else if(
wheel_busy) return;
        if(
str == "gotL")
        {
            
wheel_busy TRUE;
            
llWhisper(0"Wheel spins in " + (string)((integer)on_spin_time) + " seconds.");
            
llSetTimerEvent(on_spin_time 15);
        }
    }
    
    
timer()
    {
        ++
time_counter;
        if((
time_counter 2) == 1)
        {
            
llWhisper(0"Last chance to get your bet in, spinning in 10 seconds.");
            
llSetTimerEvent(10);
        }
        else
        {
            
llSetTimerEvent(0);
            
spinme();
            
llSetTextureAnim(FALSE000000);
            
llSleep(1);
            
llMessageLinked(LINK_ALL_CHILDREN,1234512345,"resetscript",NULL_KEY);
            
wheel_busy FALSE;
            
llWhisper (0"Wheel reset. Ready for new bets.");
        }
            
    }
    
    
on_rez(integer param)
    {
llResetScript();}
    
changed(integer change)
    {if(
change CHANGED_OWNERllResetScript();}


PHP Code:
/////////////////////////////////////////////////////////////////////////////////////////////////
// PARSER ///////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
string sep ";";
string putVar(string src,string varName,string varValue) {
    list 
varSet llParseString2List(llBase64ToString(src),[sep],[]);   
    
integer count;
    for(
count=0;count<llGetListLength(varSet);count++) {
        list var = 
llParseString2List(llList2String(varSet,count),["="],[]);
        if(
llList2String(var,0) == varName) {
            
varSet llListReplaceList(varSet,[varName "=" varValue],count,count);
            
src llDumpList2String(varSet,sep);
            return 
llStringToBase64(src);
        }    
    }
    
src llDumpList2String(varSet + [varName "=" varValue],sep);
    return 
llStringToBase64(src);
}
string getVar(string src,string varName) {
    list 
varSet llParseString2List(llBase64ToString(src),[sep],[]);
    
integer count;
    for(
count=0;count<llGetListLength(varSet);count++) {
        list var = 
llParseString2List(llList2String(varSet,count),["="],[]);
        if(
llList2String(var,0) == varName) return llList2String(var,1);      
    }
    return 
"";
}
/////////////////////////////////////////////////////////////////////////////////////////////////
// PARSER ///////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////

list people_who_bet = [];

integer win;
start_up()
{
    
string name llGetObjectName();
    if( (
name == "1")||(name == "4")||(name == "7")||(name == "10")||
        (
name == "13")||(name == "16")||(name == "19")||(name == "22")||
        (
name == "25")||(name == "28")||(name == "31")||(name == "34")) win 36;
    else if((
name == "2 3 5 6")||(name == "8 9 11 12")||(name == "14 15 17 18")||
            (
name == "20 21 23 24")||(name == "26 27 29 30")||(name == "32 33 35 36")) win 9;
    else if((
name == "even")||(name == "odd")||(name == "red")||(name == "black")||
            (
name == "1-18")||(name == "19-36")) win 2;
    else if((
name == "1st 12")||(name == "2nd 12")||(name == "3rd 12")||
            (
name == "lowrow")||(name == "midrow")||(name == "highrow")) win 3;
    else 
win 0;
}

pay(key avinteger prize)
{
llMessageLinked(LINK_ROOT,prize,"pay",av);}

reset()
{
people_who_bet = [];}

default
{
    
state_entry()
    {
        
start_up();
        
reset();
    }
    
    
on_rez(integer param)
    {
llResetScript();}

    
touch_start(integer total_number)
    {
llWhisper(0,"Pay me to bet.");}
    
    
money(key giverinteger amount)
    {
        
integer betLimit = (integer)getVar(llGetObjectDesc(),"betlimit");
        if((
betLimit!=0)&&(amount betLimit))
        {
            
integer dif amount betLimit;
            
llWhisper(0,llKey2Name(giver) + ", the current bet limit on this machine is L$" + (string)betLimit ". L$" + (string)dif " change returned.");
            
pay(giver,-dif);
            
amount betLimit;
        }
        
        
people_who_bet += (string)amount "^" + (string)giver;
        
llWhisper(0llKey2Name(giver) + ", you bet L$" + (string)amount " on " llGetObjectName() + ".");
        
llMessageLinked(10"gotL"NULL_KEY);
    }
    
    
link_message(integer sender_numinteger numstring strkey id)
    {
        if((
str == llGetObjectName()) && (num == llGetLinkNumber()))
        {
            
integer len llGetListLengthpeople_who_bet );
            
integer x;
            for (
0lenx++)
            {
                
string data llList2String(people_who_betx);
                
string prize llGetSubStringdata0, (llSubStringIndexdata"^" ) - 1) );
                
key av llGetSubStringdata, (llSubStringIndexdata"^" ) + 1), -);
                
integer payout win * (integer)prize;
                
pay(av,payout);
            }
            
reset();
        }
        else if(
str == "betlimit"llSetObjectDesc(putVar(llGetObjectDesc(),"betlimit",(string)num));
        else if ((
sender_num == 1) && (str == "resetscript") && (num == 1234512345)) llResetScript();
    }

[Image: guns-bullet-shirt_recreated.jpg]
Reply




Possibly Related Threads…
Thread Author Replies Views Last Post
  baby scripts english steadymobbin 15 13,941 08-02-2018, 11:54 AM
Last Post: lydia95
  Camper Scripts GriefTroll99 4 4,414 09-13-2015, 06:17 PM
Last Post: otavioscha
  Client and updater scripts steadymobbin 3 4,481 02-13-2015, 03:46 PM
Last Post: Fuzo21

Forum Jump:

1 Guest(s)
Share this:

About Second Life Copybot

Second Life CopyBot Forum is a place where you can get items for Second Life and other vitual worlds for free. With our CopyBot viewers you can export and import any content from these virtual worlds and modify them in 3D software such as Blender, 3D studio Macx etc...