Advertisement
Guest User

Untitled

a guest
May 26th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.19 KB | None | 0 0
  1. function buildableinit()
  2. {
  3. buildTable = getEnt("powcraft_crafting_trig", "targetname");
  4. buildTable SetHintString("Missing parts");
  5. buildTable SetCursorHint("HINT_NOICON");
  6.  
  7. level.allParts = 0;
  8. level.finishedCraft = 2;
  9.  
  10. power_trigger = GetEnt("use_elec_switch", "targetname");
  11. power_trigger TriggerEnable( false );
  12. power_handle_model = GetEnt("elec_switch", "script_noteworthy");
  13. power_handle_model hide();
  14. power_clip = GetEnt("powcraft_clip_build", "targetname");
  15. power_clip hide();
  16. power_shaft_model = GetEnt("powcraft_build1", "targetname");
  17. power_shaft_model hide();
  18.  
  19. level thread pick1();
  20. level thread pick2();
  21. }
  22.  
  23. function pick1()
  24. {
  25. pick_trig1 = getent("powcraft_pick1_trig", "targetname");
  26. pick_trig1 SetHintString("Press and hold &&1 to pickup part");
  27. pick_trig1 SetCursorHint("HINT_NOICON");
  28. pick_model1 = getent("powcraft_pick1", "targetname");
  29.  
  30. while(1)
  31. {
  32. pick_trig1 waittill("trigger", player);
  33. player playsound("power_piece");
  34. playfx(level._effect["powerup_grabbed"] ,GetEnt("powcraft_pick1","targetname").origin);
  35.  
  36. level.allParts++;
  37.  
  38. //IPrintLnBold(level.allParts);
  39.  
  40. thread build();
  41.  
  42. break;
  43. }
  44.  
  45. pick_trig1 delete();
  46. pick_model1 delete();
  47. }
  48.  
  49. function pick2()
  50. {
  51. pick_trig2 = getent("powcraft_pick2_trig", "targetname");
  52. pick_trig2 SetHintString("Press and hold &&1 to pickup part");
  53. pick_trig2 SetCursorHint("HINT_NOICON");
  54. pick_model2 = getent("powcraft_pick2", "targetname");
  55.  
  56. while(1)
  57. {
  58. pick_trig2 waittill("trigger", player);
  59. player playsound("power_piece");
  60. playfx(level._effect["powerup_grabbed"] ,GetEnt("powcraft_pick2","targetname").origin);
  61.  
  62. level.allParts++;
  63.  
  64. //IPrintLnBold(level.allParts);
  65.  
  66. thread build();
  67.  
  68. break;
  69. }
  70.  
  71. pick_trig2 delete();
  72. pick_model2 delete();
  73. }
  74.  
  75. function build()
  76. {
  77.  
  78. while(1)
  79. {
  80. self waittill( level.allParts >= level.finishedCraft );
  81.  
  82. if ( level.allParts >= level.finishedCraft )
  83. {
  84. buildTable = GetEnt("powcraft_crafting_trig", "targetname");
  85. buildTable SetHintString("Press and hold &&1 to craft");
  86. buildTable SetCursorHint("HINT_NOICON");
  87. buildTable waittill("trigger", player);
  88.  
  89. buildTable SetHintString("");
  90.  
  91. //playfx(level._effect["powerup_grabbed"] ,GetEnt("powcraft_crafting_trig","targetname").origin);
  92.  
  93. player thread do_knuckle_crack();
  94.  
  95. wait(2.7);
  96.  
  97. thread power_crafted();
  98.  
  99. buildTable delete();
  100. }
  101. break;
  102. }
  103. }
  104.  
  105. function power_crafted()
  106. {
  107. power_trigger = GetEnt("use_elec_switch", "targetname");
  108. power_trigger TriggerEnable( true );
  109. playfx(level._effect["powerup_grabbed"] ,GetEnt("use_elec_switch","targetname").origin);
  110. power_handle_model = GetEnt("elec_switch", "script_noteworthy");
  111. power_handle_model show();
  112. power_clip = GetEnt("powcraft_clip_build", "targetname");
  113. power_clip show();
  114. power_shaft_model = GetEnt("powcraft_build1", "targetname");
  115. power_shaft_model show();
  116. }
  117.  
  118. /*
  119. KNUCKLE CRACK SCRIPT
  120. */
  121. function private do_knuckle_crack()
  122. {
  123. self endon("disconnect");
  124. self upgrade_knuckle_crack_begin();
  125.  
  126. self util::waittill_any( "fake_death", "death", "player_downed", "weapon_change_complete" );
  127.  
  128. self upgrade_knuckle_crack_end();
  129.  
  130. }
  131.  
  132.  
  133. // Switch to the knuckles
  134. //
  135. function private upgrade_knuckle_crack_begin()
  136. {
  137. self zm_utility::increment_is_drinking();
  138.  
  139. self zm_utility::disable_player_move_states(true);
  140.  
  141. primaries = self GetWeaponsListPrimaries();
  142.  
  143. original_weapon = self GetCurrentWeapon();
  144. weapon = GetWeapon( PAP_WEAPON_KNUCKLE_CRACK );
  145.  
  146.  
  147.  
  148. self GiveWeapon( weapon );
  149. self SwitchToWeapon( weapon );
  150. }
  151.  
  152. // Anim has ended, now switch back to something
  153. //
  154. function private upgrade_knuckle_crack_end()
  155. {
  156. self zm_utility::enable_player_move_states();
  157.  
  158. weapon = GetWeapon( PAP_WEAPON_KNUCKLE_CRACK );
  159.  
  160. // TODO: race condition?
  161. if ( self laststand::player_is_in_laststand() || IS_TRUE( self.intermission ) )
  162. {
  163. self TakeWeapon(weapon);
  164. return;
  165. }
  166.  
  167. self zm_utility::decrement_is_drinking();
  168.  
  169. self TakeWeapon(weapon);
  170. primaries = self GetWeaponsListPrimaries();
  171. if( IS_DRINKING(self.is_drinking) )
  172. {
  173. return;
  174. }
  175. else
  176. {
  177. self zm_weapons::switch_back_primary_weapon();
  178. }
  179. }
  180. /*
  181. KNUCKLE CRACK SCRIPT END
  182. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement