Advertisement
Abnormal202

Untitled

Aug 20th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.78 KB | None | 0 0
  1. #using scripts\codescripts\struct;
  2. #using scripts\zm\_zm_score;
  3. #precache( "material", "chalk_shader" );
  4. function main()
  5. {
  6. level waittill( "all_players_connected" );
  7. wait(15);
  8. level.has_chalk = false;
  9. post_chalk = GetEntArray("post_chalk","script_noteworthy");
  10. IPrintLnBold("main");
  11. spawn_list = level._spawned_wallbuys;
  12. thread create_chalk_hud();
  13. for(i=0;i<spawn_list.size;i++)
  14. {
  15. unitrigger_stub = spawn_list[i].trigger_stub;
  16.  
  17. unitrigger_stub.origin = unitrigger_stub.origin + (0,0,300);
  18. }
  19. for(i=0;i<post_chalk.size;i++)
  20. {
  21. post_chalk[i] Hide();
  22. IPrintLnBold("post_chalk hidden");
  23. }
  24. draw_trigs = GetEntArray("draw_trig","targetname");
  25. for(i=0;i<draw_trigs.size;i++)
  26. {
  27. draw_trigs[i] SetHintString("Requires " + draw_trigs[i].script_string + " chalk");
  28. draw_trigs[i] SetCursorHint( "HINT_NOICON" );
  29. }
  30. trigs = GetEntArray("chalk_trig_grab","targetname");
  31. for(i=0;i<trigs.size;i++)
  32. {
  33. trigs[i] SetHintString( "Press and Hold ^3[{+activate}]^7 to pick up " + trigs[i].script_string + " chalk");
  34. trigs[i] SetCursorHint( "HINT_NOICON" );
  35. trigs[i] thread chalk_wait_for_pickup();
  36. }
  37. }
  38. function chalk_wait_for_pickup()
  39. {
  40. self waittill("trigger",player);
  41. if(level.has_chalk == false)
  42. {
  43. level.has_chalk = true;
  44. thread update_chalk_hud(level.chalk_hud);
  45. weapon = self.script_string;
  46. IPrintLnBold(weapon);
  47.  
  48. draw_trigs = GetEntArray("draw_trig","targetname");
  49. for(i=0;i<draw_trigs.size;i++)
  50. {
  51. if(draw_trigs[i].script_string == weapon)
  52. {
  53. draw_trigs[i] thread chalk_wait_for_draw( self );
  54. other_trig = draw_trigs[i];
  55. }
  56. }
  57.  
  58. chalk = GetEnt(self.target,"targetname");
  59. chalk Hide();
  60. self SetHintString("Press and Hold ^3[{+activate}]^7 to put back " + self.script_string + " chalk");
  61. self waittill("trigger",player);
  62. other_trig SetHintString("Requires " + other_trig.script_string + " chalk");
  63. other_trig notify("chalk_put_back");
  64. self SetHintString( "Press and Hold ^3[{+activate}]^7 to pick up " + self.script_string + " chalk");
  65. chalk Show();
  66. level.has_chalk = false;
  67. thread update_chalk_hud(level.chalk_hud);
  68. self chalk_wait_for_pickup();
  69. }
  70. else
  71. {
  72. IPrintLnBold("CANNOT CARRY MORE THAN ONE CHALK");
  73. self chalk_wait_for_pickup();
  74. }
  75.  
  76. }
  77. function chalk_wait_for_draw( other_trig )
  78. {
  79. self endon("chalk_put_back");
  80.  
  81. self SetHintString("Press and Hold ^3[{+activate}]^7 to draw " + self.script_string );
  82. self waittill("trigger",player);
  83. other_trig Delete();
  84. target = GetEnt(self.target,"targetname");
  85. target Hide();
  86. self Delete();
  87. new_chalk = GetEnt(target.target,"targetname");
  88. new_chalk Show();
  89. target Delete();
  90. IPrintLnBold(new_chalk.script_string + " = weapon_upgrade");
  91.  
  92. spawn_list = level._spawned_wallbuys;
  93. for(i=0;i<spawn_list.size;i++)
  94. {
  95. if(spawn_list[i].zombie_weapon_upgrade == new_chalk.script_string)
  96. {
  97.  
  98. unitrigger_stub = spawn_list[i].trigger_stub;
  99. IPrintLnBold(unitrigger_stub.origin);
  100. unitrigger_stub.origin = unitrigger_stub.origin - (0,0,300);
  101. IPrintLnBold(unitrigger_stub.origin);
  102. }
  103. }
  104. level.has_chalk = false;
  105. thread update_chalk_hud(level.chalk_hud);
  106. player zm_score::add_to_player_score( 500 );
  107.  
  108. IPrintLnBold("finished");
  109. }
  110. function create_chalk_hud()
  111. {
  112. level.chalk_hud = NewClientHudElem( self );
  113. level.chalk_hud.foreground = true;
  114. level.chalk_hud.alpha = 0;
  115.  
  116. level.chalk_hud SetShader("chalk_shader",20,20);
  117.  
  118. level.chalk_hud.alignX = "left";
  119. level.chalk_hud.alignY = "bottom";
  120. level.chalk_hud.horzAlign = "left";
  121. level.chalk_hud.vertAlign = "bottom";
  122. level.chalk_hud.x = 8;
  123. level.chalk_hud.y = level.chalk_hud.y - 150;
  124.  
  125. }
  126. function update_chalk_hud( chalk )
  127. {
  128. if(level.has_chalk == false)
  129. {
  130. chalk.alpha = 0;
  131. }
  132. else if(level.has_chalk == true)
  133. {
  134. chalk.alpha = 1;
  135. }
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement