View difference between Paste ID: 4yKECf4j and pde8v5St
SHOW: | | - or go back to the newest paste.
1
vector COLOR_WHITE = <1.0, 1.0, 1.0>;
2
float  OPAQUE      = 1.0;
3
4
5
6
string collectname;
7
list convertname; //list to keep track of all the players
8
list leaderboard; 
9-
list displayer;
9+
10
integer nchan;
11
integer nhandle;
12
key touchid;
13
integer GetCh(key id)   // make a unieq channel from the key inputted
14
{
15
    return ((integer)("0x"+llGetSubString((string)id,-8,-1)) & 0x3FFFFFFF) ^ 0xBFFFFFFF;
16
}
17
 
18
19
key Region()  // get the region uuid
20
{
21
    vector z = llGetRegionCorner();
22
23
    return (key)((string)(z.x/256 + 100*z.y));
24
25
}
26
default
27
{
28
    state_entry()
29
    {
30
        
31
        llSay(0, "Script running");
32
        llSetText("ScoreBoard", COLOR_WHITE, OPAQUE);
33
        
34
        nchan = GetCh(Region()) - 35; //unique channel
35
        nhandle = llListen(nchan,"","","");
36
        
37
    }
38
    listen(integer channel, string what, key id, string msg)
39
    {
40
        
41
        if(channel == nchan)
42
        {
43
            //key avi = llGetOwnerKey(id);
44
            
45
            //key avi = llRequestUsername(llGetOwnerKey(id));
46
           // string usavi = llGetUsername(avi);
47
            
48
            collectname = (string)msg;
49
            //displayer = (list)collectname;
50
            //llSay(0,(string)displayer);
51
            list displayer = llParseString2List(collectname,["_"],[""]); // change seperator to whatever you used as seperator
52
53
54
            // a newly declared variable in an event is a local variable. It can be used in only the event it is declared in.
55
            // in this case the listen event
56
            
57
            // if a global variable and a local variable are called the same the compiler gets confused where to assign it to the global variable or the local variable.
58
59
            // because the parsed list is only temporary you dont need the global varibale so you can delete it
60
            
61
            // you are going to need the data in other events so you need to assign the data to a global variable
62
            
63
            // you can asssign it to the leaderboard variable
64
65
            key owner = llList2String(displayer,0);
66
            string avi = llGetUsername(llGetOwnerKey(owner));
67-
            integer idx = llListFindList(displayer, ["Username: "+avi]);
67+
68
            string username = llList2String(displayer,1);
69
70-
            llSetText("Scoreboard"+"\n"+ (string)displayer + "\n",COLOR_WHITE, OPAQUE); 
70+
71
            //convertname2 = (string)convertname;
72
            //string id = llList2String(displayer,0);
73
           // string username = llList2String(displayer,0);
74
           // string totalpoints = llList2String(displayer,2);
75
            
76-
             displayer = llListReplaceList(displayer,["Username: "+(string)username] +["  "]+["Total Score: "+(string)totalpoints] ,idx,idx+3);                                 
76+
77
            //displayer =  ["Username: "+(string)username] +["  "]+["Total Score: "+(string)totalpoints];
78
            integer idx = llListFindList(leaderboard, ["Username: "+(string)username]);
79
            //displayer = [];
80
            //displayer += displayer;
81
          
82-
              displayer += ["\n"]+["Username: "+(string)username] +["  "]+["Total Score: "+(string)totalpoints] ;              
82+
83
           if(idx != -1) 
84
          { 
85-
           
85+
86
             leaderboard = llListReplaceList(leaderboard,["Username: "+(string)username] +["  "]+["Total Score: "+(string)totalpoints] ,idx,idx+3);                                 
87
          }
88
          
89
          else  
90
          {
91
              llSay(0,"New user"); 
92
              leaderboard += ["\n"]+["Username: "+(string)username] +["  "]+["Total Score: "+(string)totalpoints] ;              
93
          }
94
          
95
             llSetText("Scoreboard"+"\n"+ (string)leaderboard + "\n",COLOR_WHITE, OPAQUE); 
96
            //llSetText("Scoreboard"+"\n"+ "Username: "+(string)b +"  "+"Total Score: "+(string)c,COLOR_WHITE, OPAQUE);  
97
        }
98
        //Click on the scoreboard to add name to scoreboard
99
        //listen for menu correct answer
100
        // +1 point for every correct
101
        
102
        
103
        
104
        
105
     }
106
     touch_start(integer num_detected)
107
     {
108
        
109
         //touchid = llDetectedKey(0);
110
         //displayer += convertname2;
111
         //integer idx = llListFindList(displayer, [touchid]);
112
         //displayer = llList2List(convertname, 0,2);
113
         
114
         //string stringdisplayer = llDumpList2String(displayer, "_");
115
         //integer username = llListFindList(displayer, [1]);
116
         //integer score = llListFindList(displayer, [2]);  
117
         
118
         
119
     }
120
     
121
122
    
123
}