Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- integer chan;
- integer d_chan;
- integer l_handle;
- integer time;
- integer debug = 0;
- list Buttons = ["{\"Min\":\"<0.03040, 0.37569, 0.00000>\",\"Max\":\"<0.90330, 0.65758, 0.00000>\"}","{\"Min\":\"<0.02494, 0.04958, 0.00000>\",\"Max\":\"<0.91809, 0.34513, 0.00000>\"}"];
- volume_menu(key did){
- if(debug)llSay(0,"DIALOG FOR VOLUME CALLED");
- llSetTimerEvent(0.0);
- llDialog(did,"Pick an option:",["Max Volume","Mute Volume","Volume Up","Volume Down","Half Volume","Close"],d_chan);
- time = 1;
- llSetTimerEvent(5.0);
- }
- integer CheckButton(integer Num, vector Pos)
- {
- string Button = llList2String(Buttons,Num);
- vector Min = (vector)llJsonGetValue(Button,["Min"]);
- vector Max = (vector)llJsonGetValue(Button,["Max"]);
- if(Pos.x > Min.x && Pos.y > Min.y && Pos.x < Max.x && Pos.y < Max.y) return 1;
- else return 0;
- }
- list sword_names = ["Oathkeeper"];
- key sword(){
- list a = llGetAttachedList(llGetOwner());
- integer x = 0;
- integer s = llGetListLength(a);
- integer l = llGetListLength(sword_names);
- integer i = 0;
- for(;x<s;++x){
- for(i=0;i<l;++i){
- string ct = llKey2Name(llList2Key(a,x));
- if(llSubStringIndex(llToLower(ct),llToLower(llList2String(sword_names,i)))==0){
- return llList2Key(a,x);
- }
- }
- }return NULL_KEY;
- }
- string check_desc(key id){
- list det = llGetObjectDetails(id,[OBJECT_DESC]);
- return llList2String(det,0);
- }
- key sword_id;
- string URL = "http://krypthax.prim3.co.uk/Swordnames.txt";
- list OPTIONS = [HTTP_METHOD,"GET",HTTP_MIMETYPE,"text/plain"];
- key reqid;
- default{
- on_rez(integer r){
- llResetScript();
- }state_entry(){
- reqid = llHTTPRequest(URL,OPTIONS,"");
- llSetTimerEvent(5.0);
- }http_response(key id, integer status, list meta, string body){
- if(reqid == id){
- llSetTimerEvent(0.0);
- reqid = NULL_KEY;
- sword_names = llCSV2List(body);
- if(debug)llSay(0,body);//llList2String(sword_names,0));
- chan = -((integer)("0x"+llGetSubString((string)llGetOwner(),-8,-1)) & 0x3FFFFFFF) ^ 0xBFFFFFFF;
- d_chan = ((integer)("0x"+llGetSubString((string)llGetOwner(),-8,-1)) & 0x3FFFFFFF) ^ 0xBFFFFFFF;
- l_handle = llListen(d_chan,"","","");
- llListenControl(l_handle,0);
- if(sword_id=sword()){
- if(check_desc(sword_id) == "0"){
- llSetTexture("cc34339d-0710-679a-7255-0e194bea5a04",-1);
- }else{
- llSetTexture("15f5961d-e01f-c5b6-5259-1abad3d46a79",-1);
- }
- chan = -((integer)("0x"+llGetSubString((string)llGetOwner(),-8,-1)) & 0x3FFFFFFF) ^ 0xBFFFFFFF;
- d_chan = ((integer)("0x"+llGetSubString((string)llGetOwner(),-8,-1)) & 0x3FFFFFFF) ^ 0xBFFFFFFF;
- l_handle = llListen(d_chan,"","","");
- llListenControl(l_handle,0);
- }else{
- llOwnerSay("You must first attach the sword for this hud to work.");
- llRequestPermissions(llGetOwner(),PERMISSION_ATTACH);
- llDetachFromAvatar();
- }
- }
- }touch_start(integer ts){
- vector p = llDetectedTouchUV(0);
- if(CheckButton(0,p)) {
- if(check_desc(sword_id) == "0"){
- if(!time){
- llSetTexture("15f5961d-e01f-c5b6-5259-1abad3d46a79",-1);//sheath only highlight
- }else{
- llSetTexture("b49f72b6-b089-a9a8-45a2-1123bab99d18",-1);
- }
- }else{
- if(!time){
- llSetTexture("cc34339d-0710-679a-7255-0e194bea5a04",-1);//sheath/sfx not highlight
- }else{
- llSetTexture("b5953000-6534-e8b8-e580-c1b91765b93f",-1);
- }
- }
- llRegionSay(chan,"spawn");
- llSleep(1.5);
- }
- if(CheckButton(1,p)) {
- if(check_desc(sword_id) == "0"){
- llSetTexture("b5953000-6534-e8b8-e580-c1b91765b93f",-1);//sheath nsfx
- }else{
- llSetTexture("b49f72b6-b089-a9a8-45a2-1123bab99d18",-1);//sheath/sfx not highlight
- }
- llListenControl(l_handle,1);
- volume_menu(llDetectedKey(0));
- }
- }listen(integer c,string n,key i,string m){
- if(m == "Max Volume"){
- llRegionSay(chan,"max_volume");
- volume_menu(i);
- }
- if(m == "Mute Volume"){
- llRegionSay(chan,"no_volume");
- volume_menu(i);
- }
- if(m == "Volume Up"){
- llRegionSay(chan,"++volume");
- volume_menu(i);
- }
- if(m == "Volume Down"){
- llRegionSay(chan,"--volume");
- volume_menu(i);
- }
- if(m == "Half Volume"){
- llRegionSay(chan,".5_volume");
- volume_menu(i);
- }
- if(m == "Close"){
- time = 0;
- if(check_desc(sword_id) == "0"){
- llSetTexture("cc34339d-0710-679a-7255-0e194bea5a04",-1);
- }else{
- llSetTexture("15f5961d-e01f-c5b6-5259-1abad3d46a79",-1);
- }
- llSetTimerEvent(0.0);
- llOwnerSay("Now closing sound menu.");
- llListenControl(l_handle,0);
- }
- }timer(){
- time = 0;
- if(reqid != NULL_KEY){
- llSetTimerEvent(0.0);
- llOwnerSay("Time out error, please contact Failedscience Resident.");
- llRequestPermissions(llGetOwner(),PERMISSION_ATTACH);
- llDetachFromAvatar();
- return;
- }
- if(check_desc(sword_id) == "0"){
- llSetTexture("cc34339d-0710-679a-7255-0e194bea5a04",-1);
- }else{
- llSetTexture("15f5961d-e01f-c5b6-5259-1abad3d46a79",-1);
- }
- llOwnerSay("Dialog timed out.");
- llListenControl(l_handle,0);
- llSetTimerEvent(0.0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement