Advertisement
Guest User

Elevator Script Modification

a guest
Jul 17th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.55 KB | None | 0 0
  1. // ZombieKid164's buyable elevator
  2. #using scripts\zm\_zm_score;
  3. #using scripts\shared\flag_shared;
  4.  
  5. function init()
  6. {
  7.  
  8. //Things you can edit below \/
  9. level.elevator_cost = ; // Change this to change the cost of the elevator. Leave it undefined to make it free.
  10. level.elevate_height = -348; //This is how far the elevator will travel up.
  11. level.elevator_transition_time = 10; //How long it will take for the elevator travel.
  12. level.elevator_cooldown_time = 30; // Cooldown time of the elevator.
  13. level.zk_debug = false; //Enable or disable this to show action text in game. (Ex: "Debug: Elevator Moving" will be shown on the screen)
  14. level.change_door_direction = false; //Change this to true if your doors slide backwards or forwards instead of side to side.
  15. //Things you can edit above /\
  16.  
  17. level.elevator_trigger = GetEnt( "elevator_trigger", "targetname" );
  18. level.elevator_trigger_top = GetEnt( "elevator_trigger_top", "targetname" );
  19. level.elevator_trigger_outside_bottom = GetEnt( "elevator_trigger_outside_bottom", "targetname");
  20. level.elevator_trigger_outside_top = GetEnt( "elevator_trigger_outside_top", "targetname");
  21. level.elevator_model = GetEnt("elevator", "targetname" );
  22. level.elevator_top_door_left = GetEnt("top_door", "targetname" );
  23. level.elevator_top_door_right = GetEnt("top_door", "targetname" );
  24. level.elevator_bottom_door_left = GetEnt("bottom_door", "targetname" );
  25. level.elevator_bottom_door_right = GetEnt("bottom_door", "targetname" );
  26. level.elevator_door_in_left = GetEnt("bottom_door", "targetname" );
  27. level.elevator_door_in_right = GetEnt("bottom_door", "targetname" );
  28. level.elevator_called = false;
  29. main();
  30. }
  31.  
  32. function main()
  33. {
  34. level endon( "intermission" );
  35. thread bottom_door_open();
  36. level.elevator_trigger_top SetHintString( "" );
  37.  
  38. while(1)
  39. {
  40. thread wait_for_buy_bottom();
  41. thread wait_for_call_top();
  42. thread zk_print("Waiting for Buy or Call");
  43. level waittill("Elevator_Used");
  44. level notify("elevator_moving");
  45. thread zk_print("Elevator Moving");
  46. thread clear_trigger_text();
  47.  
  48. thread bottom_door_left_close();
  49. thread bottom_door_right_close();
  50. thread door_in_left_close();
  51. thread door_in_right_close();
  52. wait(1);
  53. thread elevator_rise( level.elevate_height, level.elevator_transition_time );
  54. wait( level.elevator_transition_time );
  55. thread top_door_left_open();
  56. thread top_door_right_open();
  57. level.elevator_trigger_top SetHintString( "Elevator is cooling down." );
  58. level.elevator_trigger_outside_bottom SetHintString( "Elevator is cooling down." );
  59. wait( level.elevator_cooldown_time );
  60.  
  61. thread wait_for_buy_top();
  62. thread wait_for_call_bottom();
  63. thread zk_print("Waiting for Buy or Call");
  64. level waittill("Elevator_Used");
  65. level notify("elevator_moving");
  66. thread zk_print("Elevator Moving");
  67. thread clear_trigger_text();
  68.  
  69. level.elevator_trigger_top SetHintString( "" );
  70. thread top_door_left_close();
  71. thread top_door_right_close();
  72. wait(1);
  73. thread elevator_fall( level.elevate_height, level.elevator_transition_time );
  74. wait( level.elevator_transition_time );
  75. thread bottom_door__left_open();
  76. thread bottom_door__right_open();
  77. level.elevator_trigger SetHintString( "Elevator is cooling down." );
  78. level.elevator_trigger_outside_top SetHintString( "Elevator is cooling down." );
  79. wait( level.elevator_cooldown_time );
  80. }
  81. }
  82.  
  83. function elevator_rise( height, speed )
  84. {
  85. level.elevator_model movez (height, speed);
  86. level.elevator_model waittill ("movedone");
  87. }
  88.  
  89. function elevator_fall( height, speed )
  90. {
  91. level.elevator_model movez (height - (height * 2), speed);
  92. level.elevator_model waittill ("movedone");
  93. }
  94.  
  95. function bottom_door_left_open()
  96. {
  97. if(!level.change_door_direction == true)
  98. {
  99. level.elevator_bottom_door_right movex (32, 1);
  100. }
  101. else
  102. {
  103. level.elevator_bottom_door_right movey (32, 1);
  104. }
  105. }
  106.  
  107. function bottom_door_right_open()
  108. {
  109. if(!level.change_door_direction == true)
  110. {
  111. level.elevator_bottom_door_right movex (-32, 1);
  112. }
  113. else
  114. {
  115. level.elevator_bottom_door_right movey (-32, 1);
  116. }
  117. }
  118.  
  119. function bottom_door_left_close()
  120. {
  121. if(!level.change_door_direction == true)
  122. {
  123. level.elevator_bottom_door_left movex ((-32), 1);
  124. }
  125. else
  126. {
  127. level.elevator_bottom_door_left movey ((-32), 1);
  128. }
  129. }
  130.  
  131. function bottom_door_right_close()
  132. {
  133. if(!level.change_door_direction == true)
  134. {
  135. level.elevator_bottom_door_right movex ((32), 1);
  136. }
  137. else
  138. {
  139. level.elevator_bottom_door_right movey ((32), 1);
  140. }
  141. }
  142.  
  143. function top_door__left_open()
  144. {
  145. if(!level.change_door_direction == true)
  146. {
  147. level.elevator_top_door movex (32, 1);
  148. }
  149. else
  150. {
  151. level.elevator_top_door movey (32, 1);
  152. }
  153. }
  154.  
  155. function top_door__right_open()
  156. {
  157. if(!level.change_door_direction == true)
  158. {
  159. level.elevator_top_door movex (-32, 1);
  160. }
  161. else
  162. {
  163. level.elevator_top_door movey (-32, 1);
  164. }
  165. }
  166.  
  167. function top_door__left_close()
  168. {
  169. if(!level.change_door_direction == true)
  170. {
  171. level.elevator_top_door movex (-32, 1);
  172. }
  173. else
  174. {
  175. level.elevator_top_door movey (-32, 1);
  176. }
  177. }
  178.  
  179. function top_door__right_close()
  180. {
  181. if(!level.change_door_direction == true)
  182. {
  183. level.elevator_top_door movex (32, 1);
  184. }
  185. else
  186. {
  187. level.elevator_top_door movey (32, 1);
  188. }
  189. }
  190.  
  191. function wait_for_buy_bottom()
  192. {
  193. level endon("elevator_moving");
  194. if( isDefined(level.elevator_cost) )
  195. {
  196. while(1)
  197. {
  198. level.elevator_trigger SetHintString( "Hold ^3&&1^7 to Use Elevator [Cost: "+level.elevator_cost+"]" );
  199. level.elevator_trigger waittill( "trigger", player );
  200. if( isDefined(level.elevator_cost) && player.score >= level.elevator_cost )
  201. {
  202. player zm_score::minus_to_player_score( level.elevator_cost );
  203. level notify("Elevator_Used");
  204. thread zk_print("Elevator Bought");
  205. break;
  206. }
  207. else if( isDefined( level.elevator_cost ) && player.score < level.elevator_cost )
  208. {
  209. level.elevator_trigger SetHintString( "You do not have enough money." );
  210. wait(4);
  211. level.elevator_trigger SetHintString( "Hold ^3&&1^7 to Use Elevator [Cost: "+level.elevator_cost+"]" );
  212. continue;
  213. }
  214. }
  215. }
  216. else
  217. {
  218. level.elevator_trigger SetHintString( "Hold ^3&&1^7 to Use Elevator" );
  219. level.elevator_trigger waittill( "trigger", player );
  220. level.elevator_trigger SetHintString( "" );
  221. level notify("Elevator_Used");
  222. thread zk_print("Elevator Bought [Free]");
  223. }
  224. }
  225.  
  226. function wait_for_buy_top()
  227. {
  228. level endon("elevator_moving");
  229. if( isDefined(level.elevator_cost) )
  230. {
  231. while(1)
  232. {
  233. level.elevator_trigger_top SetHintString( "Hold ^3&&1^7 to Use Elevator [Cost: "+level.elevator_cost+"]" );
  234. level.elevator_trigger_top waittill( "trigger", player );
  235. if( isDefined(level.elevator_cost) && player.score >= level.elevator_cost )
  236. {
  237. player zm_score::minus_to_player_score( level.elevator_cost );
  238. level notify("Elevator_Used");
  239. thread zk_print("Elevator Bought");
  240. break;
  241. }
  242. else if( isDefined( level.elevator_cost ) && player.score < level.elevator_cost )
  243. {
  244. level.elevator_trigger_top SetHintString( "You do not have enough money." );
  245. wait(4);
  246. level.elevator_trigger_top SetHintString( "Hold ^3&&1^7 to Use Elevator [Cost: "+level.elevator_cost+"]" );
  247. continue;
  248. }
  249. }
  250. }
  251. else
  252. {
  253. level.elevator_trigger SetHintString( "Hold ^3&&1^7 to Use Elevator" );
  254. level.elevator_trigger waittill( "trigger", player );
  255. level.elevator_trigger SetHintString( "" );
  256. level notify("Elevator_Used");
  257. thread zk_print("Elevator Bought [Free]");
  258. }
  259. }
  260.  
  261. function wait_for_call_bottom()
  262. {
  263. self endon("elevator_moving");
  264. level.elevator_trigger_outside_bottom SetHintString( "Hold ^3&&1^7 to Call Elevator" );
  265. level.elevator_trigger_outside_bottom waittill( "trigger", player );
  266. level.elevator_trigger_outside_bottom SetHintString( "" );
  267. level notify("Elevator_Used");
  268. thread zk_print("Elevator Called");
  269. }
  270.  
  271. function wait_for_call_top()
  272. {
  273. self endon("elevator_moving");
  274. level.elevator_trigger_outside_top SetHintString( "Hold ^3&&1^7 to Call Elevator" );
  275. level.elevator_trigger_outside_top waittill( "trigger", player );
  276. level.elevator_trigger_outside_top SetHintString( "" );
  277. level notify("Elevator_Used");
  278. thread zk_print("Elevator Called");
  279. }
  280.  
  281. function zk_print( string )
  282. {
  283. if( level.zk_debug == true )
  284. {
  285. iprintlnbold( "Debug: "+string );
  286. }
  287. }
  288.  
  289. function clear_trigger_text()
  290. {
  291. level.elevator_trigger_outside_top SetHintString( "" );
  292. level.elevator_trigger_outside_bottom SetHintString( "" );
  293. level.elevator_trigger SetHintString( "" );
  294. level.elevator_trigger_top SetHintString( "" );
  295. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement