Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.62 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <fakemeta>
  3. #include <zombieplague>
  4.  
  5. new bool:g_IsZspawned[33]
  6. new z_spawn_mode, z_spawn_infection, z_spawn_team_infection, z_spawn_swarm, z_spawn_team_swarm, z_spawn_plague, z_spawn_team_plague, z_spawn_nemesis, z_spawn_team_nemesis, z_spawn_survivor, z_spawn_team_survivor, z_spawn_client_settings, z_spawn_client_rate, z_spawn_client_cmdrate, z_spawn_client_updaterate
  7.  
  8. public plugin_init()
  9. {
  10. register_plugin("[ZP] Server Addon: Zspawn System", "5.5", "Game over + JaCk")
  11. register_event("TeamInfo", "event_TeamInfo", "a", "2=TERRORIST", "2=CT")
  12.  
  13. // Cvars
  14. z_spawn_mode = register_cvar("zp_spawn_mode", "2")
  15. z_spawn_infection = register_cvar("zp_spawn_infection", "1")
  16. z_spawn_team_infection = register_cvar("zp_spawn_team_infection", "0")
  17. z_spawn_swarm = register_cvar("zp_spawn_swarm", "0")
  18. z_spawn_team_swarm = register_cvar("zp_spawn_team_swarm", "0")
  19. z_spawn_plague = register_cvar("zp_spawn_plague", "0")
  20. z_spawn_team_plague = register_cvar("zp_spawn_team_plague", "0")
  21. z_spawn_nemesis = register_cvar("zp_spawn_nemesis", "0")
  22. z_spawn_team_nemesis = register_cvar("zp_spawn_team_nemesis", "0")
  23. z_spawn_survivor = register_cvar("zp_spawn_survivor", "0")
  24. z_spawn_team_survivor = register_cvar("zp_spawn_team_survivor", "0")
  25. z_spawn_client_settings = register_cvar("zp_spawn_client_settings", "1")
  26. z_spawn_client_rate = register_cvar("zp_spawn_client_rate", "15000")
  27. z_spawn_client_cmdrate = register_cvar("zp_spawn_client_cmdrate", "71")
  28. z_spawn_client_updaterate = register_cvar("zp_spawn_client_updaterate", "71")
  29. }
  30.  
  31. public plugin_cfg()
  32. {
  33. server_cmd("exec addons/amxmodx/configs/zp_zspawn_system.cfg")
  34. }
  35.  
  36. public client_putinserver(id)
  37. {
  38. g_IsZspawned[id] = false
  39. set_task(0.1, "ClientSettings", id)
  40. }
  41.  
  42. public ClientSettings(id)
  43. {
  44. if (1 == get_pcvar_num(z_spawn_client_settings))
  45. {
  46. client_cmd(id, "fakelag 0")
  47. client_cmd(id, "fakeloss 0")
  48. client_cmd(id, "rate %d", get_pcvar_num(z_spawn_client_rate))
  49. client_cmd(id, "cl_cmdrate %d", get_pcvar_num(z_spawn_client_cmdrate))
  50. client_cmd(id, "cl_updaterate %d", get_pcvar_num(z_spawn_client_updaterate))
  51. client_cmd(id, "cl_allowupload 1")
  52. client_cmd(id, "cl_allowdownload 1")
  53. client_cmd(id, "cl_corpsestay 60")
  54. }
  55. }
  56.  
  57. public event_TeamInfo()
  58. {
  59. static id
  60. id = read_data(1)
  61. if(id == 0 || is_user_alive(id) || !is_user_connected(id)) return
  62.  
  63. if (!g_IsZspawned[id])
  64. {
  65. set_task(5.0, "ZSpawnMode", id)
  66. g_IsZspawned[id] = true
  67. }
  68. }
  69.  
  70. public ZSpawnMode(id)
  71. {
  72. if(id == 0 || is_user_alive(id) || !is_user_connected(id)) return
  73. if (0 < get_pcvar_num(z_spawn_mode))
  74. switch (get_pcvar_num(z_spawn_mode))
  75. {
  76. case 1:
  77. {
  78. set_task(0.1, "ZSpawn", id)
  79. }
  80. case 2:
  81. {
  82. set_task(0.1, "ZSpawn", id)
  83. if (!is_user_alive(id))
  84. set_task(0.5, "FuncTeleport", id)
  85. }
  86. }
  87. }
  88.  
  89. public ZSpawn(id)
  90. {
  91. if(id == 0 || is_user_alive(id) || !is_user_connected(id)) return
  92. if (zp_is_nemesis_round() && get_pcvar_num(z_spawn_nemesis))
  93. {
  94. switch (get_pcvar_num(z_spawn_team_nemesis))
  95. {
  96. case 0:
  97. {
  98. zp_respawn_user(id, ZP_TEAM_ZOMBIE)
  99. }
  100. case 1:
  101. {
  102. zp_respawn_user(id, ZP_TEAM_HUMAN)
  103. }
  104. }
  105. }
  106. else if (zp_is_survivor_round() && get_pcvar_num(z_spawn_survivor))
  107. {
  108. switch (get_pcvar_num(z_spawn_team_survivor))
  109. {
  110. case 0:
  111. {
  112. zp_respawn_user(id, ZP_TEAM_ZOMBIE)
  113. }
  114. case 1:
  115. {
  116. zp_respawn_user(id, ZP_TEAM_HUMAN)
  117. }
  118. }
  119. }
  120. else if (zp_is_swarm_round() && get_pcvar_num(z_spawn_swarm))
  121. {
  122. switch (get_pcvar_num(z_spawn_team_swarm))
  123. {
  124. case 0:
  125. {
  126. zp_respawn_user(id, ZP_TEAM_ZOMBIE)
  127. }
  128. case 1:
  129. {
  130. zp_respawn_user(id, ZP_TEAM_HUMAN)
  131. }
  132. }
  133. }
  134. else if (zp_is_plague_round() && get_pcvar_num(z_spawn_plague))
  135. {
  136. switch (get_pcvar_num(z_spawn_team_plague))
  137. {
  138. case 0:
  139. {
  140. zp_respawn_user(id, ZP_TEAM_ZOMBIE)
  141. }
  142. case 1:
  143. {
  144. zp_respawn_user(id, ZP_TEAM_HUMAN)
  145. }
  146. }
  147. }
  148. else if (zp_has_round_started() && get_pcvar_num(z_spawn_infection) && (zp_is_nemesis_round() == 0) && (zp_is_survivor_round() == 0) && (zp_is_swarm_round() == 0) && (zp_is_plague_round() == 0))
  149. {
  150. switch (get_pcvar_num(z_spawn_team_infection))
  151. {
  152. case 0:
  153. {
  154. zp_respawn_user(id, ZP_TEAM_ZOMBIE)
  155. }
  156. case 1:
  157. {
  158. zp_respawn_user(id, ZP_TEAM_HUMAN)
  159. }
  160. }
  161. }
  162. }
  163.  
  164. public FuncTeleport(id)
  165. {
  166. static Float:iOrigin[3]
  167. pev(id, pev_origin, iOrigin)
  168.  
  169. engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, iOrigin, 0)
  170. write_byte(TE_TELEPORT)
  171. engfunc(EngFunc_WriteCoord, iOrigin[0])
  172. engfunc(EngFunc_WriteCoord, iOrigin[1])
  173. engfunc(EngFunc_WriteCoord, iOrigin[2])
  174. message_end()
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement