Advertisement
JuSTaR

DeathrunTimer Player Start Fix

Sep 28th, 2021 (edited)
375
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <fakemeta>
  3. #include <hamsandwich>
  4. #include <engine>
  5. #include <fun>
  6.  
  7. new Float:gOrigin[3];
  8. const ButtonBits = ( IN_FORWARD | IN_BACK | IN_MOVELEFT | IN_MOVERIGHT );
  9.  
  10. public plugin_init() {
  11. register_plugin("JuSTaR", "6.0", "DeathrunTimer Player Start Fix");
  12.  
  13. register_event("ResetHUD", "sp_on", "be");
  14. RegisterHam(Ham_Spawn, "player", "sp_on", 1);
  15.  
  16. register_forward(FM_CmdStart, "fw_FMCmdStart");
  17. test();
  18. }
  19.  
  20. public fw_FMCmdStart(id, handle, seed)
  21. {
  22. if (get_uc(handle, UC_Buttons) & ButtonBits)
  23. {
  24. new Float:range;
  25. new Float:player_origin[3];
  26.  
  27. entity_get_vector(id, EV_VEC_origin, player_origin);
  28. range = get_distance_f(gOrigin, player_origin);
  29.  
  30. if (range > 300.0)
  31. set_user_godmode(id, 0);
  32. }
  33. }
  34.  
  35. public sp_on(id)
  36. {
  37. set_user_godmode(id, 1);
  38. }
  39.  
  40. public test()
  41. {
  42. new entCount;
  43. new ent = -1;
  44.  
  45. while ((ent = find_ent_by_class(ent, "info_player_start")))
  46. {
  47. entCount++;
  48.  
  49. new Float:cur_origin[3];
  50. entity_get_vector(ent, EV_VEC_origin, cur_origin);
  51.  
  52. gOrigin[0] += cur_origin[0];
  53. gOrigin[1] += cur_origin[1];
  54. gOrigin[2] += cur_origin[2];
  55. }
  56.  
  57. gOrigin[0] /= entCount;
  58. gOrigin[1] /= entCount;
  59. gOrigin[2] /= entCount;
  60.  
  61. // adjustments
  62. gOrigin[0] += 20;
  63. gOrigin[1] += 1;
  64. gOrigin[2] += 50; // height fix
  65.  
  66. ent = -1;
  67.  
  68. while ((ent = find_ent_by_class(ent, "info_player_start")))
  69. {
  70. entity_set_origin(ent, gOrigin);
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement