Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #using scripts\codescripts\struct;
  2.  
  3. #using scripts\shared\array_shared;
  4. #using scripts\shared\callbacks_shared;
  5. #using scripts\shared\clientfield_shared;
  6. #using scripts\shared\compass;
  7. #using scripts\shared\exploder_shared;
  8. #using scripts\shared\flag_shared;
  9. #using scripts\shared\laststand_shared;
  10. #using scripts\shared\math_shared;
  11. #using scripts\shared\scene_shared;
  12. #using scripts\shared\util_shared;
  13.  
  14. #insert scripts\shared\shared.gsh;
  15. #insert scripts\shared\version.gsh;
  16.  
  17. #insert scripts\zm\_zm_utility.gsh;
  18.  
  19. #using scripts\zm\_load;
  20. #using scripts\zm\_zm;
  21. #using scripts\zm\_zm_audio;
  22. #using scripts\zm\_zm_powerups;
  23. #using scripts\zm\_zm_utility;
  24. #using scripts\zm\_zm_weapons;
  25. #using scripts\zm\_zm_zonemgr;
  26.  
  27. #using scripts\shared\ai\zombie_utility;
  28.  
  29. //Perks
  30. #using scripts\zm\_zm_pack_a_punch;
  31. #using scripts\zm\_zm_pack_a_punch_util;
  32. #using scripts\zm\_zm_perk_additionalprimaryweapon;
  33. #using scripts\zm\_zm_perk_doubletap2;
  34. #using scripts\zm\_zm_perk_deadshot;
  35. #using scripts\zm\_zm_perk_juggernaut;
  36. #using scripts\zm\_zm_perk_quick_revive;
  37. #using scripts\zm\_zm_perk_sleight_of_hand;
  38. #using scripts\zm\_zm_perk_staminup;
  39. #using scripts\zm\_zm_perk_electric_cherry;
  40. #using scripts\zm\_zm_perk_widows_wine;
  41. #using scripts\zm\_zm_perk_vulture_aid;
  42. #using scripts\zm\_zm_perk_whoswho;
  43. #using scripts\zm\_zm_perk_tombstone;
  44. #using scripts\zm\_zm_perk_phdflopper;
  45. #using scripts\zm\_zm_perk_random;
  46.  
  47. //Powerups
  48. #using scripts\zm\_zm_powerup_double_points;
  49. #using scripts\zm\_zm_powerup_carpenter;
  50. #using scripts\zm\_zm_powerup_fire_sale;
  51. #using scripts\zm\_zm_powerup_free_perk;
  52. #using scripts\zm\_zm_powerup_full_ammo;
  53. #using scripts\zm\_zm_powerup_insta_kill;
  54. #using scripts\zm\_zm_powerup_nuke;
  55. //#using scripts\zm\_zm_powerup_weapon_minigun;
  56.  
  57. //Traps
  58. #using scripts\zm\_zm_trap_electric;
  59.  
  60. //Custom usings
  61. #using scripts\zm\_zm_score;
  62. #using scripts\zm\_zm_weapons;
  63. #using scripts\shared\laststand_shared;
  64.  
  65. #using scripts\zm\zm_usermap;
  66.  
  67. #define CRAFTING_DONE "zm_mc_craft_done"
  68.  
  69. //*****************************************************************************
  70. // MAIN
  71. //*****************************************************************************
  72.  
  73. function main()
  74. {
  75. zm_usermap::main();
  76.  
  77. //Points
  78. level.player_starting_points = 50000;
  79.  
  80. level._zombie_custom_add_weapons =&custom_add_weapons;
  81.  
  82. //Setup the levels Zombie Zone Volumes
  83. level.zones = [];
  84. level.zone_manager_init_func =&usermap_test_zone_init;
  85. init_zones[0] = "start_zone";
  86. level thread zm_zonemgr::manage_zones( init_zones );
  87.  
  88. level.pathdist_type = PATHDIST_ORIGINAL;
  89.  
  90. //Scripts
  91. thread buy_a_house_init();
  92. thread credit();
  93.  
  94. }
  95.  
  96. function usermap_test_zone_init()
  97. {
  98. level flag::init( "always_on" );
  99. level flag::set( "always_on" );
  100. }
  101.  
  102. function custom_add_weapons()
  103. {
  104. zm_weapons::load_weapon_spec_from_table("gamedata/weapons/zm/zm_levelcommon_weapons.csv", 1);
  105. }
  106.  
  107. function credit()
  108. {
  109. level flag::wait_till( "initial_blackscreen_passed" );
  110. wait 3;
  111. thread better_print ("^2Minecraft Zombies!", 0, 0, 3, 3 );
  112. wait 5;
  113. thread better_print ("^1Brought to you by ^2Logical Edits, ^4IceGrenade, ^3Symbo & ^1Clix", 0, 0, 2, 3 );
  114. while(1)
  115. {
  116. iPrintLn("How are you still alive?");
  117. wait 600;
  118. }
  119. }
  120.  
  121. function better_print( text, align_x, align_y, font_scale, fade_time )
  122. {
  123. hud = NewHudElem();
  124. hud.foreground = true;
  125. hud.fontScale = font_scale;
  126. hud.sort = 1;
  127. hud.hidewheninmenu = false;
  128. hud.alignX = "center";
  129. hud.alignY = "middle";
  130. hud.horzAlign = "center";
  131. hud.vertAlign = "middle";
  132. hud.x = align_x;
  133. hud.y = hud.y - align_y;
  134. hud.alpha = 1;
  135. hud SetText( text );
  136. wait( 2 );
  137. hud fadeOverTime( fade_time );
  138. hud.alpha = 0;
  139. wait( fade_time );
  140. hud Destroy();
  141. }
  142.  
  143. function buy_a_house_init()
  144. {
  145. //triggers
  146. house1trigger = GetEnt("house_trigger_1", "targetname");
  147. house2trigger = GetEnt("house_trigger_2", "targetname");
  148. house3trigger = GetEnt("house_trigger_3", "targetname");
  149. house4trigger = GetEnt("house_trigger_4", "targetname");
  150. house5trigger = GetEnt("house_trigger_5", "targetname");
  151.  
  152. wall1trigger = GetEnt("wall_trigger_1", "targetname");
  153. wall2trigger = GetEnt("wall_trigger_2", "targetname");
  154. wall3trigger = GetEnt("wall_trigger_3", "targetname");
  155. wall4trigger = GetEnt("wall_trigger_4", "targetname");
  156. wall5trigger = GetEnt("wall_trigger_5", "targetname");
  157.  
  158. level.currentHouse = undefined;
  159. level.activation_order_level = 1;
  160.  
  161. //make each house lever work
  162. house1trigger thread trigger_object(GetEntArray("mc_dirt_house", "targetname"),1500,1);
  163. house2trigger thread trigger_object(GetEntArray("mc_cozy_house", "targetname"),2500,2);
  164. house3trigger thread trigger_object(GetEntArray("mc_bunker_house", "targetname"),5000,3);
  165. house4trigger thread trigger_object(GetEntArray("mc_fort_house", "targetname"),7500,4);
  166. house5trigger thread trigger_object(GetEntArray("mc_castle_house", "targetname"),10000,5);
  167.  
  168. wall1trigger thread trigger_object(GetEntArray("wall_front_left", "targetname"),1500,0);
  169. wall2trigger thread trigger_object(GetEntArray("wall_front_right", "targetname"),1500,0);
  170. wall3trigger thread trigger_object(GetEntArray("wall_left", "targetname"),2000,0);
  171. wall4trigger thread trigger_object(GetEntArray("wall_right", "targetname"),2000,0);
  172. wall5trigger thread trigger_object(GetEntArray("wall_back", "targetname"),3000,0);
  173.  
  174. }
  175.  
  176. function trigger_object(house,lever_cost,activation_order)
  177. {
  178. foreach(part in house)
  179. {
  180. part MoveZ(-1200,0.05);
  181. //part DisconnectPaths();
  182. }
  183.  
  184. self SetCursorHint("HINT_NOICON");
  185. self SetHintString("You cannot Upgrade this house yet!");
  186. while(1)
  187. {
  188. if(level.activation_order_level == activation_order || activation_order == 0)
  189. break;
  190. wait 2;
  191. }
  192. if(activation_order != 0)
  193. self SetHintString("Hold ^3^1&&1^3 ^7to purchase House Upgrade");
  194. else
  195. self SetHintString("Hold ^3^1&&1^3 ^7to purchase Wall Upgrade");
  196.  
  197. while(1)
  198. {
  199. self waittill("trigger", player);
  200. if(player.score < lever_cost)
  201. {
  202. self SetHintString("You don't have enough Money!");
  203. wait 1.5;
  204. continue;
  205. }
  206. player zm_score::minus_to_player_score(lever_cost);
  207.  
  208. if(activation_order != 0)
  209. {
  210. self SetHintString("This House has been Upgraded!");
  211. //remove old house
  212. if(isDefined(level.currentHouse))
  213. {
  214. foreach(part in level.currentHouse)
  215. {
  216. part MoveZ(-1200,0.1);
  217. wait 0.1;
  218. part Delete();
  219. //part DisconnectPaths();
  220. }
  221. }
  222.  
  223. level.activation_order_level +=1;
  224. level.currentHouse = house;
  225. thread teleportplayers();
  226. }
  227. else
  228. self SetHintString("This Wall has been Upgraded!");
  229.  
  230. break;
  231. }
  232. //pathNodes = [];
  233. //move part up
  234. foreach(part in house)
  235. {
  236. part MoveZ(1200,3);
  237. //if(part.script_string =="node")
  238. // pathNodes[pathNodes.Length] = part;
  239. }
  240. //house[0] DisconnectPaths();
  241. //house[0] ConnectPaths();
  242. wait 3.1;
  243. lever = GetEnt(self.target, "targetname");
  244. lever RotateTo((0, 0, 135), 1, 0.5);
  245. PlaySoundAtPosition("zm_mc_house_pistons", (0,0,0));
  246. }
  247.  
  248. function teleportplayers()
  249. {
  250. node = (-160,-352,32);
  251. tptrig = GetEnt("mc_tele_players", "targetname");
  252. foreach(player in GetPlayers())
  253. {
  254. player SetOrigin(node);
  255. node += (100,0,0);
  256. wait 0.05;
  257.  
  258. if(player IsTouching(tptrig))
  259. {
  260. player SetOrigin(node);
  261. node += (100,0,0);
  262. wait 0.05;
  263. }
  264. }
  265. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement