Advertisement
Filiq_

vip respawn

Dec 13th, 2018
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.63 KB | None | 0 0
  1. /* Sublime AMXX Editor v2.2 */
  2.  
  3. #include <amxmodx>
  4. // #include <amxmisc>
  5. // #include <cstrike>
  6. #include <engine>
  7. // #include <fakemeta>
  8. #include <hamsandwich>
  9. #include <fun>
  10. // #include <xs>
  11. // #include <sqlx>
  12.  
  13. #define PLUGIN "Respawn VIP"
  14. #define VERSION "1.0.0"
  15. #define AUTHOR "Filip."
  16.  
  17. enum {
  18. SCOREATTRIB_ARG_PLAYERID = 1,
  19. SCOREATTRIB_ARG_FLAGS
  20. };
  21.  
  22. enum ( <<= 1 ) {
  23. SCOREATTRIB_FLAG_NONE = 0,
  24. SCOREATTRIB_FLAG_DEAD = 1,
  25. SCOREATTRIB_FLAG_BOMB,
  26. SCOREATTRIB_FLAG_VIP
  27. };
  28.  
  29. #define is_user_vip(%1) (get_user_flags(%1) & read_flags("t"))
  30.  
  31. #define VIATA_LA_SPAWN 100
  32. #define ARMURA_LA_SPAWN 100
  33.  
  34. #define VIATA_KILL 10
  35. #define VIATA_HS 15
  36.  
  37. new jumpnum[33] = 0
  38. new bool:dojump[33] = false
  39.  
  40. public plugin_init() {
  41. register_plugin(PLUGIN, VERSION, AUTHOR)
  42.  
  43. RegisterHam(Ham_Spawn, "player", "OnSpawn", 1)
  44. register_event("DeathMsg", "DeathMSG", "a")
  45.  
  46. register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" ); // credite Exolent
  47.  
  48. register_cvar("amx_maxjumps","2")
  49. register_cvar("amx_mjadminonly","0")
  50. }
  51.  
  52. public MessageScoreAttrib( iMsgId, iDest, iReceiver ) { // credite Exolent
  53. new iPlayer = get_msg_arg_int( SCOREATTRIB_ARG_PLAYERID );
  54.  
  55. if( is_user_vip(iPlayer) ) {
  56. set_msg_arg_int( SCOREATTRIB_ARG_FLAGS, ARG_BYTE, SCOREATTRIB_FLAG_VIP );
  57. }
  58. }
  59.  
  60. public client_putinserver(playerid) {
  61. if(!is_user_vip(playerid)) return
  62.  
  63. jumpnum[playerid] = 0
  64. dojump[playerid] = false
  65.  
  66. new name[33]
  67. get_user_name(playerid, name, 32)
  68. ColorChat(0, "!t[ !gVIP !t] VIP-UL !g%s!t, S-A CONECTAT PE SERVER.", name)
  69. }
  70.  
  71. public OnSpawn(playerid) {
  72. if(!is_user_vip(playerid) && !is_user_alive(playerid)) return
  73.  
  74. set_user_health(playerid, get_user_health(playerid) + VIATA_LA_SPAWN)
  75. set_user_armor(playerid, get_user_armor(playerid) + VIATA_LA_SPAWN)
  76.  
  77. give_item(playerid, "weapon_hegrenade")
  78. }
  79.  
  80. public DeathMSG(playerid, victim, hs) {
  81. if(!is_user_vip(playerid) || playerid == victim) return
  82.  
  83. set_user_health(playerid, get_user_health(playerid) + ((hs) ? VIATA_HS : VIATA_KILL))
  84. }
  85.  
  86. public client_PreThink(id)
  87. {
  88. if(!is_user_alive(id)) return PLUGIN_CONTINUE
  89. if(get_cvar_num("amx_mjadminonly") && (!is_user_vip(id))) return PLUGIN_CONTINUE
  90. new nbut = get_user_button(id)
  91. new obut = get_user_oldbutton(id)
  92. if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
  93. {
  94. if(jumpnum[id] < get_cvar_num("amx_maxjumps"))
  95. {
  96. dojump[id] = true
  97. jumpnum[id]++
  98. return PLUGIN_CONTINUE
  99. }
  100. }
  101. if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
  102. {
  103. jumpnum[id] = 0
  104. return PLUGIN_CONTINUE
  105. }
  106. return PLUGIN_CONTINUE
  107. }
  108.  
  109. public client_PostThink(id)
  110. {
  111. if(!is_user_alive(id)) return PLUGIN_CONTINUE
  112. if(get_cvar_num("amx_mjadminonly") && (!is_user_vip(id))) return PLUGIN_CONTINUE
  113. if(dojump[id] == true)
  114. {
  115. new Float:velocity[3]
  116. entity_get_vector(id,EV_VEC_velocity,velocity)
  117. velocity[2] = random_float(265.0,285.0)
  118. entity_set_vector(id,EV_VEC_velocity,velocity)
  119. dojump[id] = false
  120. return PLUGIN_CONTINUE
  121. }
  122. return PLUGIN_CONTINUE
  123. }
  124.  
  125. stock ColorChat(const id, const input[], any:...) {
  126. new count = 1, players[32];
  127. static msg[191];
  128. vformat(msg, 190, input, 3);
  129.  
  130. replace_all(msg, 190, "!g", "^4");
  131. replace_all(msg, 190, "!y", "^1");
  132. replace_all(msg, 190, "!t", "^3");
  133.  
  134. if(id) players[0] = id;
  135. else get_players(players, count, "ch"); {
  136. for(new i = 0; i < count; i++) {
  137. if(is_user_connected(players[i])) {
  138. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  139. write_byte(players[i]);
  140. write_string(msg);
  141. message_end();
  142. }
  143. }
  144. }
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement