Advertisement
brucelee

Moving Platform

Jul 9th, 2011
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.48 KB | None | 0 0
  1. /// EXAMPLE
  2.  
  3.  
  4. CreateAsc((x, y, z), (x, y, z), angle, time);
  5.  
  6.  
  7.  
  8.  
  9. /// CODE HERE
  10.  
  11. CreatePlate(corner1, corner2, arivee, angle, time)
  12. {
  13. W = Distance((corner1[0], 0, 0), (corner2[0], 0, 0));
  14. L = Distance((0, corner1[1], 0), (0, corner2[1], 0));
  15. H = Distance((0, 0, corner1[2]), (0, 0, corner2[2]));
  16. CX = corner2[0] - corner1[0];
  17. CY = corner2[1] - corner1[1];
  18. CZ = corner2[2] - corner1[2];
  19. ROWS = roundUp(W/55);
  20. COLUMNS = roundUp(L/30);
  21. HEIGHT = roundUp(H/20);
  22. XA = CX/ROWS;
  23. YA = CY/COLUMNS;
  24. ZA = CZ/HEIGHT;
  25. center = spawn("script_model", corner1);
  26. for(r = 0; r <= ROWS; r++){
  27. for(c = 0; c <= COLUMNS; c++){
  28. for(h = 0; h <= HEIGHT; h++){
  29. block = spawn("script_model", (corner1 + (XA * r, YA * c, ZA * h)));
  30. block setModel("com_plasticcase_friendly");
  31. block.angles = (0, 0, 0);
  32. block Solid();
  33. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  34. block thread Escalatore((corner1 + (XA * r, YA * c, ZA * h)), (arivee + (XA * r, YA * c, ZA * h)), time);
  35. wait 0.01;
  36. }
  37. }
  38. }
  39. center.angles = angle;
  40. center thread Escalatore(corner1, arivee, time);
  41. center CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  42. }
  43.  
  44. Escalatore(depart, arivee, time)
  45. {
  46. while(1)
  47. {
  48. if(self.state == "open"){
  49. self MoveTo(depart, time);
  50. wait (time*2.5);
  51. self.state = "close";
  52. continue;
  53. }
  54. if(self.state == "close"){
  55. self MoveTo(arivee, time);
  56. wait (time*2.5);
  57. self.state = "open";
  58. continue;
  59. }
  60. }
  61. }
  62.  
  63. CreateAsc(depart, arivee, angle, time)
  64. {
  65. Asc = spawn("script_model", depart );
  66. Asc setModel("com_plasticcase_friendly");
  67. Asc.angles = angle;
  68. Asc Solid();
  69. Asc CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  70.  
  71. Asc thread Escalator(depart, arivee, time);
  72. }
  73.  
  74. Escalator(depart, arivee, time)
  75. {
  76. while(1)
  77. {
  78. if(self.state == "open"){
  79. self MoveTo(depart, time);
  80. wait (time*1.5);
  81. self.state = "close";
  82. continue;
  83. }
  84. if(self.state == "close"){
  85. self MoveTo(arivee, time);
  86. wait (time*1.5);
  87. self.state = "open";
  88. continue;
  89. }
  90. }
  91. }
  92.  
  93. CreateCircle(depart, pass1, pass2, pass3, pass4, arivee, angle, time)
  94. {
  95. Asc = spawn("script_model", depart );
  96. Asc setModel("com_plasticcase_friendly");
  97. Asc.angles = angle;
  98. Asc Solid();
  99. Asc CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  100.  
  101. Asc thread Circle(depart, arivee, pass1, pass2, pass3, pass4, time);
  102. }
  103.  
  104. Circle(depart, pass1, pass2, pass3, pass4, arivee, time)
  105. {
  106. while(1)
  107. {
  108. if(self.state == "open"){
  109. self MoveTo(depart, time);
  110. wait (time*1.5);
  111. self.state = "op";
  112. continue;
  113. }
  114. if(self.state == "op"){
  115. self MoveTo(pass1, time);
  116. wait (time);
  117. self.state = "opi";
  118. continue;
  119. }
  120. if(self.state == "opi"){
  121. self MoveTo(pass2, time);
  122. wait (time);
  123. self.state = "opa";
  124. continue;
  125. }
  126. if(self.state == "opa"){
  127. self MoveTo(pass3, time);
  128. wait (time);
  129. self.state = "ope";
  130. continue;
  131. }
  132. if(self.state == "ope"){
  133. self MoveTo(pass4, time);
  134. wait (time);
  135. self.state = "close";
  136. continue;
  137. }
  138. if(self.state == "close"){
  139. self MoveTo(arivee, time);
  140. wait (time);
  141. self.state = "open";
  142. continue;
  143. }
  144. }
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement