Guest User

Untitled

a guest
Feb 18th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. datablock AudioProfile(MusicLowC)
  2. {
  3. filename = "base/data/sound/notes/Synth 4/Synth4_00.wav";
  4. description = AudioClose3d;
  5. preload = true;
  6. };
  7.  
  8. datablock AudioProfile(MusicDb)
  9. {
  10. filename = "base/data/sound/notes/Synth 4/Synth4_01.wav";
  11. description = AudioClose3d;
  12. preload = true;
  13. };
  14.  
  15. datablock AudioProfile(MusicD)
  16. {
  17. filename = "base/data/sound/notes/Synth 4/Synth4_02.wav";
  18. description = AudioClose3d;
  19. preload = true;
  20. };
  21.  
  22. datablock AudioProfile(MusicEb)
  23. {
  24. filename = "base/data/sound/notes/Synth 4/Synth4_03.wav";
  25. description = AudioClose3d;
  26. preload = true;
  27. };
  28.  
  29. datablock AudioProfile(MusicE)
  30. {
  31. filename = "base/data/sound/notes/Synth 4/Synth4_04.wav";
  32. description = AudioClose3d;
  33. preload = true;
  34. };
  35.  
  36. datablock AudioProfile(MusicF)
  37. {
  38. filename = "base/data/sound/notes/Synth 4/Synth4_05.wav";
  39. description = AudioClose3d;
  40. preload = true;
  41. };
  42.  
  43. datablock AudioProfile(MusicGb)
  44. {
  45. filename = "base/data/sound/notes/Synth 4/Synth4_06.wav";
  46. description = AudioClose3d;
  47. preload = true;
  48. };
  49.  
  50. datablock AudioProfile(MusicG)
  51. {
  52. filename = "base/data/sound/notes/Synth 4/Synth4_07.wav";
  53. description = AudioClose3d;
  54. preload = true;
  55. };
  56.  
  57. datablock AudioProfile(MusicAb)
  58. {
  59. filename = "base/data/sound/notes/Synth 4/Synth4_08.wav";
  60. description = AudioClose3d;
  61. preload = true;
  62. };
  63.  
  64. datablock AudioProfile(MusicA)
  65. {
  66. filename = "base/data/sound/notes/Synth 4/Synth4_09.wav";
  67. description = AudioClose3d;
  68. preload = true;
  69. };
  70.  
  71. datablock AudioProfile(MusicBb)
  72. {
  73. filename = "base/data/sound/notes/Synth 4/Synth4_10.wav";
  74. description = AudioClose3d;
  75. preload = true;
  76. };
  77.  
  78. datablock AudioProfile(MusicB)
  79. {
  80. filename = "base/data/sound/notes/Synth 4/Synth4_11.wav";
  81. description = AudioClose3d;
  82. preload = true;
  83. };
  84.  
  85. datablock AudioProfile(MusicHighC)
  86. {
  87. filename = "Add-Ons/System_ReturnToBlockland/sounds/synth4_12.wav";
  88. description = AudioClose3d;
  89. preload = true;
  90. };
  91.  
  92. $MusicTones[0] = MusicLowC;
  93. $MusicTones[1] = MusicDb;
  94. $MusicTones[2] = MusicD;
  95. $MusicTones[3] = MusicEb;
  96. $MusicTones[4] = MusicE;
  97. $MusicTones[5] = MusicF;
  98. $MusicTones[6] = MusicGb;
  99. $MusicTones[7] = MusicG;
  100. $MusicTones[8] = MusicAb;
  101. $MusicTones[9] = MusicA;
  102. $MusicTones[10] = MusicBb;
  103. $MusicTones[11] = MusicB;
  104. $MusicTones[12] = MusicHighC;
  105.  
  106. function PlaySong(%brick, %tempo, %loop)
  107. {
  108. if(!isObject(%brick)) return;
  109. if(isobject(%brick.song)) %brick.song.delete();
  110. %song = new ScriptObject() {
  111. looping = %loop;
  112. tempo = (%tempo ? %tempo : 280);
  113. originalBrick = %brick;
  114. brickcount = 1;
  115. brick1 = %brick;
  116. };
  117.  
  118. %brick.song = %song;
  119. %song.nextmusicstep();
  120. }
  121.  
  122. function ScriptObject::NextMusicStep(%song) {
  123. if(!isObject(%song.originalbrick)) {
  124. %song.delete();
  125. return;
  126. }
  127. for(%i = 1; %i <= %song.brickcount; %i++) {
  128. %brick = %song.brick[%i];
  129. if(isObject(%brick)) {
  130. if(%brick.getcolorid() <= 12) schedule(10*%i, 0, "serverPlay3d", $MusicTones[%brick.getcolorid()], getwords(%song.originalbrick.gettransform(), 0, 2));
  131. }
  132. }
  133. for(%i = 1; %i <= %song.brickcount; %i++) {
  134. %brick = %song.brick[%i];
  135. if(isObject(%brick)) {
  136. for(%j = 0; %j < %brick.getnumupbricks() && %j < 5; %j++) {
  137. %bc++;
  138. %bg[%bc] = %brick.getupbrick(%j);
  139. }
  140. }
  141. %song.brick[%i] = "";
  142. }
  143. %song.brickcount = (%bc > 5 ? 5 : %bc);
  144. for(%i = 1; %i <= %song.brickcount; %i++) {
  145. %song.brick[%i] = %bg[%i];
  146. }
  147. if(%song.brickcount && !$stopmusic) %song.schedule(%song.tempo, "nextmusicstep");
  148. else if(%song.looping && !$stopmusic) {
  149. %song.brick1 = %song.originalbrick;
  150. %song.brickcount = 1;
  151. %song.schedule(%song.tempo, "nextmusicstep");
  152. } else %song.delete();
  153. }
Add Comment
Please, Sign In to add comment