Guest User

Untitled

a guest
Oct 16th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.42 KB | None | 0 0
  1. integer Copper;
  2. integer Silver;
  3. integer Gold;
  4. integer Platinum;
  5. integer Mithril;
  6. integer Chan = 1; //Used for listen channel
  7. integer Listen; //used for controlling listen
  8. string Texture = "6d93ac56-b349-2ceb-2e4c-ddc632825b17";
  9. list Offsets = [<0,.45,0>,<0,.35,0>,<0,.25,0>,<0,.15,0>,<0,.05,0>,<0,-.05,0>,<0,-.15,0>,<0,-.25,0>,<0,-.35,0>,<0,-.45,0>];
  10.  
  11. SetText()
  12. {
  13. //We won't actually set floaty text, or change texture, all do is adjust offsets
  14. //We will set text starting from Copper to Mith
  15. llSetLinkPrimitiveParamsFast(13,[PRIM_TEXTURE,3,Texture,<.5,.1,0>,llList2Vector(Offsets,Copper),0]);
  16. llSetLinkPrimitiveParamsFast(10,[PRIM_TEXTURE,3,Texture,<.5,.1,0>,llList2Vector(Offsets,Silver),0]);
  17. integer G4 = llFloor(Gold/1000);
  18. integer G3 = llFloor((Gold-(G4*1000))/100);
  19. integer G2 = llFloor(((Gold-(G4*1000))-(G3*100))/10);
  20. integer G1 = Gold - (G4*1000) - (G3*100) - (G2*10);
  21. //llOwnerSay((string) G4 + (string) G3 + (string) G2 + (string) G1);
  22. llSetLinkPrimitiveParamsFast(7,[PRIM_TEXTURE,3,Texture,<.5,.1,0>,llList2Vector(Offsets,G1),0]);
  23. llSetLinkPrimitiveParamsFast(6,[PRIM_TEXTURE,3,Texture,<.5,.1,0>,llList2Vector(Offsets,G2),0]);
  24. llSetLinkPrimitiveParamsFast(5,[PRIM_TEXTURE,3,Texture,<.5,.1,0>,llList2Vector(Offsets,G3),0]);
  25. llSetLinkPrimitiveParamsFast(4,[PRIM_TEXTURE,3,Texture,<.5,.1,0>,llList2Vector(Offsets,G4),0]);
  26. }
  27.  
  28. Check()
  29. {
  30. if (Copper >= 10)
  31. {
  32. Silver += Copper / 10;
  33. Copper = Copper % 10;
  34. }
  35. if (Silver >= 10)
  36. {
  37. Gold += Silver / 10;
  38. Silver = Silver % 10;
  39. }
  40.  
  41. @CheckCopper;
  42. if (Copper < 0)
  43. {
  44. Silver -= 1;
  45. Copper += 10;
  46. jump CheckCopper; //Do this to check again, in case Copper is *still* less than 0
  47. }
  48. @CheckSilver;
  49. if (Silver < 0)
  50. {
  51. Gold -= 1;
  52. Silver += 10;
  53. jump CheckSilver; //Check to make sure Silver is not still less than 0
  54. }
  55.  
  56. if (Gold < 0)
  57. {
  58. Gold = 0;
  59. Silver = 0;
  60. Copper = 0;
  61. llOwnerSay("You are broke now");
  62. }
  63. }
  64.  
  65. default
  66. {
  67. state_entry()
  68. {
  69. Listen = llListen(Chan,"",llGetOwner(),"");
  70. }
  71. touch_start(integer Num_Detected)
  72. {
  73. if(llDetectedLinkNumber(0) == 2) ++Gold;
  74. if(llDetectedLinkNumber(0) == 3) --Gold;
  75. if(llDetectedLinkNumber(0) == 8) --Silver;
  76. if(llDetectedLinkNumber(0) == 9) ++Silver;
  77. if(llDetectedLinkNumber(0) == 11) ++Copper;
  78. if(llDetectedLinkNumber(0) == 12) --Copper;
  79. Check();
  80. SetText();
  81. }
  82. listen(integer Channel, string Name, key ID, string Message)
  83. {
  84. if (llToLower(llGetSubString(Message,0,6)) == "mithril")
  85. {
  86. Gold += (integer)llGetSubString(Message,7,-1)*100;
  87. }
  88. if (llToLower(llGetSubString(Message,0,7)) == "platinum")
  89. {
  90. Gold += (integer)llGetSubString(Message,8,-1)*10;
  91. }
  92. if (llToLower(llGetSubString(Message,0,3)) == "gold")
  93. {
  94. Gold += (integer)llGetSubString(Message,4,-1);
  95. }
  96. if (llToLower(llGetSubString(Message,0,5)) == "silver")
  97. {
  98. Silver += (integer)llGetSubString(Message,6,-1);
  99. }
  100. if (llToLower(llGetSubString(Message,0,5)) == "copper")
  101. {
  102. Copper += (integer)llGetSubString(Message,6,-1);
  103. }
  104. Check();
  105. SetText();
  106. }
  107. }
Add Comment
Please, Sign In to add comment