Advertisement
Guest User

Untitled

a guest
Apr 16th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //list Data = [-1,2,0,0,-2,2,0,1];//type,linknumber,face,axis
  2. /*TEST INPUT*/list Data = [-1,0,0,0];
  3.  
  4. list Names = [-1,"Ferrum Carbide (FeC)",-2,"Titanium Disulfide (TiS)"];//type,name
  5.  
  6. list FindHexPosition(integer Type) //Returns [LinkNumber,Face,Axis] of input Type
  7. {
  8.     integer Index = llListFindList(Data,[Type]);
  9.     return [(integer)llList2String(Data,Index+1),(integer)llList2String(Data,Index+2),(integer)llList2String(Data,Index+3)];
  10. }
  11.  
  12. integer GetStoredValue(integer Type)
  13. {
  14.     integer Index = llListFindList(Data,[Type]);
  15.     integer Link = (integer)llList2String(Data,Index+1);
  16.     integer Face = (integer)llList2String(Data,Index+2);
  17.     integer Axis = (integer)llList2String(Data,Index+3);
  18.    
  19.     vector Temp = (vector)llList2String(llGetLinkPrimitiveParams(Link,[PRIM_COLOR,Face]),0)/255;
  20.     if(Axis == 0)   return (integer)Temp.x*255;
  21.     if(Axis == 1)   return (integer)Temp.y;
  22.     else            return (integer)Temp.z;
  23. }
  24.  
  25. WriteValue(integer Type, integer Value)
  26. {
  27.     integer Index = llListFindList(Data,[Type]);
  28.     integer Link = (integer)llList2String(Data,Index+1);
  29.     integer Face = (integer)llList2String(Data,Index+2);
  30.     integer Axis = (integer)llList2String(Data,Index+3);
  31.     llSay(0,"Writing: "+(string)Value+" to Link: "+(string)Link+" Face: "+(string)Face+" Axis: "+(string)Axis);
  32.     vector Temp = (vector)llList2String(llGetLinkPrimitiveParams(Link,[PRIM_COLOR,Face]),0)*255;
  33.     llSay(0,(string)Temp);
  34.     if(Axis == 0)   Temp = <(float)Overflow((integer)Temp.x),Temp.y,Temp.z>;
  35.     if(Axis == 1)   Temp = <Temp.x,(float)Overflow((integer)Temp.y),Temp.z>;
  36.     else            Temp = <Temp.x,Temp.y,(float)Overflow((integer)Temp.z)>;
  37.     llSetLinkColor(Link,Temp,Face);
  38.     llSay(0,(string)(Temp/255));
  39. }
  40.  
  41. string GetName(integer Type)
  42. {
  43.     integer Index = llListFindList(Names,[Type]);
  44.     return llList2String(Names,Index+1);
  45. }
  46.  
  47. integer Overflow(integer in)
  48. {
  49.     if(in > 255) return 255;
  50.     else return in;
  51. }
  52.  
  53.  
  54. default
  55. {
  56.     state_entry()
  57.     {
  58.         WriteValue(-1,3);
  59.     }
  60.  
  61.     touch_start(integer total_number)
  62.     {
  63.         llSay(0,"Value: "+(string)GetStoredValue(-1));
  64.     }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement