Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.94 KB | None | 0 0
  1. string Title = "llAttachToAvatar";
  2. integer needsAdditionalTesting = TRUE;
  3. integer onlyRunOnce = FALSE;
  4.  
  5. integer spot2Attach = 0;
  6. // list attatchmentMissing = [ATTACH_LEFT_PEC,ATTACH_RIGHT_PEC];
  7. list attachmentpoints = [ATTACH_CHEST,ATTACH_HEAD,ATTACH_LSHOULDER,ATTACH_RSHOULDER,ATTACH_LHAND,ATTACH_RHAND,ATTACH_LFOOT,ATTACH_RFOOT,ATTACH_BACK,ATTACH_PELVIS,ATTACH_MOUTH,ATTACH_CHIN,ATTACH_LEAR,ATTACH_REAR,ATTACH_LEYE,ATTACH_REYE,ATTACH_NOSE,ATTACH_RUARM,ATTACH_RLARM,ATTACH_LUARM,ATTACH_LLARM,ATTACH_RHIP,ATTACH_RULEG,ATTACH_RLLEG,ATTACH_LHIP,ATTACH_LULEG,ATTACH_LLLEG,ATTACH_BELLY,ATTACH_HUD_CENTER_2,ATTACH_HUD_TOP_RIGHT,ATTACH_HUD_TOP_CENTER,ATTACH_HUD_TOP_LEFT,ATTACH_HUD_CENTER_1,ATTACH_HUD_BOTTOM_LEFT,ATTACH_HUD_BOTTOM,ATTACH_HUD_BOTTOM_RIGHT];
  8.  
  9. integer needs2RequestPermissions = TRUE;
  10. integer permissionTypeNeeded = 3;
  11. integer gotPermissions = FALSE;
  12. list permissionTypes = [PERMISSION_DEBIT,PERMISSION_TAKE_CONTROLS,PERMISSION_TRIGGER_ANIMATION,PERMISSION_ATTACH,PERMISSION_CHANGE_LINKS,PERMISSION_TRACK_CAMERA,PERMISSION_CONTROL_CAMERA];
  13. list permissionTypesString = ["PERMISSION_DEBIT","PERMISSION_TAKE_CONTROLS","PERMISSION_TRIGGER_ANIMATION","PERMISSION_ATTACH","PERMISSION_CHANGE_LINKS","PERMISSION_TRACK_CAMERA","PERMISSION_CONTROL_CAMERA"];
  14.  
  15. integer intFunctionParamater1 = -4;
  16. integer intFunctionParamater2 = -5;
  17.  
  18. integer boolFunctionParamater1 = TRUE;
  19. integer boolFunctionParamater2 = FALSE;
  20.  
  21. float floatFunctionParamater1 = 4.0;
  22. float floatFunctionParamater2 = 5.0;
  23.  
  24. string stringFunctionParamater1 = "four";
  25. string stringFunctionParamater2 = "five";
  26.  
  27. list listFunctionParamater1 = [1,2,3,4,5,6];
  28. list listFunctionParamater2 = ["one","two","three","four","five","six"];
  29.  
  30. vector vectorFunctionParamater1 = <1.0,1.0,1.0>;
  31. vector vectorFunctionParamater2 = <-1.0,-1.0,-1.0>;
  32.  
  33.  
  34. integer integerResultValue = 4;
  35. float floatResultValue = 4.0;
  36. string stringResultValue = "four";
  37.  
  38.  
  39. integer channel = 1;
  40. integer timesRan = 0;
  41.  
  42. integer runFunctionTest()
  43. {
  44. runFunction(llList2Integer(attachmentpoints, spot2Attach));
  45. spot2Attach++;
  46. if (spot2Attach == llGetListLength(attachmentpoints))
  47. spot2Attach = 0;
  48.  
  49. return boolFunctionParamater1;
  50.  
  51. // return runFunction(intFunctionParamater1);
  52. }
  53.  
  54. runFunction(integer value)
  55. {
  56. if ((onlyRunOnce) && (timesRan != 0)) return;
  57. llAttachToAvatar(value);
  58. }
  59.  
  60. printFunctionTestInfo()
  61. {
  62. llSay(0,Title + "(" + boolFunctionParamater1 + ") == " + runFunctionTest());
  63. }
  64.  
  65. RunTest()
  66. {
  67. if ((needs2RequestPermissions) && (!gotPermissions))
  68. {
  69. llRequestPermissions( llGetOwner(), llList2Integer(permissionTypes,permissionTypeNeeded) );
  70. return;
  71. }
  72.  
  73. integer results = runFunctionTest();
  74. if (needsAdditionalTesting)
  75. llSetText("Manual Test\n" + Title, <1.0,1.0,1.0>,1.0);
  76. else if (results)
  77. llSetText("Good " + Title, <0.0,1.0,0.0>,1.0);
  78. else
  79. llSetText("Bad " + Title, <0.0,1.0,0.0>,1.0);
  80. printFunctionTestInfo();
  81. llShout(channel + 1, (string)results);
  82. }
  83.  
  84. default
  85. {
  86. state_entry()
  87. {
  88. // listen on channel zero for any chat spoken by the object owner.
  89. llSetObjectName(Title);
  90. llSetText(Title, <1.0,1.0,1.0>,1.0);
  91. llListen(channel,"","","");
  92. }
  93.  
  94. run_time_permissions( integer vBitPermissions )
  95. {
  96. if( vBitPermissions & llList2Integer(permissionTypes,permissionTypeNeeded) )
  97. {
  98. gotPermissions = TRUE;
  99. RunTest();
  100. }
  101. else
  102. {
  103. gotPermissions = FALSE;
  104. llSay(0, "Permission to " + llList2String(permissionTypesString,permissionTypeNeeded) + " denied." );
  105. }
  106. }
  107.  
  108. touch_start(integer a)
  109. {
  110. RunTest();
  111. }
  112.  
  113. listen(integer channel, string name, key id, string message)
  114. {
  115. if (llToLower(message) == "test")
  116. {
  117. RunTest();
  118. }
  119. }
  120.  
  121. on_rez(integer a)
  122. {
  123. llResetScript();
  124. }
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement