Advertisement
iFenomenal

Rank name update

Jan 30th, 2019
464
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.38 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <hamsandwich>
  3. #include <cstrike>
  4. #include <nvault>
  5. #include <fun>
  6.  
  7. static const
  8. PLUGIN[] = "Simple Level Mod",
  9. VERSION[] = "2.0",
  10. AUTHOR[] = "extreamCS";
  11.  
  12. #define MAX_LEVELS 22
  13.  
  14. new const Kills[MAX_LEVELS] =
  15. {
  16. 0,
  17. 50,
  18. 100,
  19. 150,
  20. 205,
  21. 270,
  22. 360,
  23. 420,
  24. 500,
  25. 580,
  26. 640,
  27. 690,
  28. 760,
  29. 810,
  30. 850,
  31. 900,
  32. 950,
  33. 1005,
  34. 1030,
  35. 1070,
  36. 1115,
  37. 1250
  38. }
  39.  
  40. new const szTag[MAX_LEVELS][] =
  41. {
  42. "",
  43. "Silver 1",
  44. "Silver 2",
  45. "Silver 3",
  46. "Silver IV",
  47. "Silver Elite",
  48. "Silver Elite Master",
  49. "Gold Nova 1",
  50. "Gold Nova 2",
  51. "Gold Nova 3",
  52. "Gold Nova IV",
  53. "Gold Nova Elite",
  54. "Gold Nova Elite Master",
  55. "Master Guardian 1",
  56. "Master Guardian 2",
  57. "Master Guardian 3",
  58. "Master Guardian IV",
  59. "Master Guardian Disthingued",
  60. "Legendary Eagle ",
  61. "Supreme Master",
  62. "LORD",
  63. "KING of the server"
  64. }
  65.  
  66.  
  67. new Level[33],Kill[33],szName[32],g_vault,g_sync
  68. new pcvar_hs,pcvar_kill,pcvar_knife,pcvar_he,pcvar_efect,pcvar_r,pcvar_g,pcvar_b,pcvar_hp_lvl,pcvar_ap_lvl
  69.  
  70. public plugin_init() {
  71. register_plugin(PLUGIN,VERSION,AUTHOR)
  72. register_event("DeathMsg","ev_msg","a")
  73. RegisterHam(Ham_Spawn,"player","player_spawn",1)
  74.  
  75. pcvar_hs = register_cvar("cvar_hs_bonus","1")
  76. pcvar_kill = register_cvar("cvar_normal_bonus","1")
  77. pcvar_knife = register_cvar("cvar_knife_bonus","1")
  78. pcvar_he = register_cvar("cvar_he_bonus","1")
  79. pcvar_efect = register_cvar("cvar_effect_lvl","1")
  80. pcvar_r = register_cvar("cvar_red","255")
  81. pcvar_g = register_cvar("cvar_green","0")
  82. pcvar_b = register_cvar("cvar_blue","0")
  83. pcvar_hp_lvl = register_cvar("cvar_hp_lvl","0")
  84. pcvar_ap_lvl = register_cvar("cvar_ap_lvl","0")
  85.  
  86. g_vault = nvault_open("simple_lvl_mod")
  87. g_sync = CreateHudSyncObj()
  88.  
  89. if(g_vault == INVALID_HANDLE)
  90. set_fail_state("Eroare la deschiderea bazei de date din vault.")
  91. }
  92.  
  93. public player_spawn(id) {
  94. if(!is_user_alive(id) || is_user_bot(id))
  95. return HAM_HANDLED
  96.  
  97. if(Level[id] < 1)
  98. Level[id] = 1
  99.  
  100. set_user_health(id,get_user_health(id) + get_pcvar_num(pcvar_hp_lvl) * Level[id])
  101. set_user_armor(id,get_user_armor(id) + get_pcvar_num(pcvar_ap_lvl) * Level[id])
  102. return HAM_HANDLED
  103. }
  104.  
  105. public ev_msg( ) {
  106. static kiler; kiler = read_data(1)
  107. static hs; hs = read_data(3)
  108.  
  109. if(kiler == read_data(2) || !is_user_alive(kiler))
  110. return
  111.  
  112. if(hs)
  113. Kill[kiler]+= get_pcvar_num(pcvar_hs)
  114. else
  115. Kill[kiler]+= get_pcvar_num(pcvar_kill)
  116.  
  117. if(get_user_weapon(kiler) == CSW_KNIFE && !hs)
  118. Kill[kiler]+= get_pcvar_num(pcvar_knife)
  119. if(get_user_weapon(kiler) == CSW_HEGRENADE && !hs)
  120. Kill[kiler]+= get_pcvar_num(pcvar_he)
  121.  
  122. if(Level[kiler] < MAX_LEVELS)
  123. {
  124. while(Kill[kiler] >= Kills[Level[kiler]])
  125. {
  126. Level[kiler]++
  127. color(kiler,"!teamFelicitari,ai ajuns la level %i (!g%s!team).",Level[kiler],szTag[Level[kiler]])
  128. screen_fade(kiler, get_pcvar_num(pcvar_efect), get_pcvar_num(pcvar_r), get_pcvar_num(pcvar_g), get_pcvar_num(pcvar_b), 115)
  129. return
  130. }
  131. }
  132. SaveData(kiler)
  133. }
  134.  
  135. public client_putinserver(id) {
  136. if(!is_user_bot(id))
  137. {
  138. LoadData(id)
  139. set_task(1.0,"show_hud",id+0x4332,_,_,"b")
  140. }
  141. }
  142.  
  143. public client_disconnect(id) {
  144. remove_task(id+0x4332)
  145. SaveData(id)
  146. }
  147.  
  148. public show_hud(id) {
  149. id-=0x4332
  150. get_user_name(id,szName,charsmax(szName))
  151.  
  152. if(is_user_alive(id))
  153. {
  154. set_hudmessage(255, 255, 255, 0.02, 0.45, 0, 6.0, 1.1)
  155. ShowSyncHudMsg(id,g_sync,"Name: %s^nRank: %s^nExperience: [%i/%i]",szName,szTag[Level[id]],Kill[id],Kills[Level[id]])
  156. }
  157. }
  158.  
  159. public SaveData(id)
  160. {
  161. new name[32],vaultkey[64],vaultdata[256]
  162. get_user_name(id,name,charsmax(name))
  163. formatex(vaultkey,63,"%s-Mod",name)
  164. formatex(vaultdata,255,"%i#%i#",Kill[id],Level[id])
  165. nvault_set(g_vault,vaultkey,vaultdata)
  166. }
  167.  
  168. public LoadData(id)
  169. {
  170. new name[32],vaultkey[64],vaultdata[256]
  171. get_user_name(id,name,charsmax(name))
  172. formatex(vaultkey,63,"%s-Mod",name)
  173. formatex(vaultdata,255,"%i#%i#",Kill[id],Level[id])
  174. nvault_get(g_vault,vaultkey,vaultdata,255)
  175. replace_all(vaultdata, 255, "#", " ")
  176.  
  177. new kill[32],level[32]
  178. parse(vaultdata, kill, 31, level, 31)
  179. Kill[id] = str_to_num(kill)
  180. Level[id] = str_to_num(level)
  181. }
  182. public plugin_end() nvault_close(g_vault)
  183. stock screen_fade(id,holdtime,r,g,b,a)
  184. {
  185. message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("ScreenFade"),{ 0, 0, 0 },id);
  186. write_short(seconds_to_units(holdtime));
  187. write_short(seconds_to_units(holdtime));
  188. write_short(0);
  189. write_byte(r);
  190. write_byte(g);
  191. write_byte(b);
  192. write_byte(a);
  193. message_end();
  194. }
  195.  
  196. stock seconds_to_units(time)
  197. {
  198. return((1 << 12) * (time))
  199. }
  200.  
  201. stock color( const id, const input[ ], any:... )
  202. {
  203. new count = 1, players[ 32 ]
  204.  
  205. static msg[ 191 ]
  206. vformat( msg, 190, input, 3 )
  207.  
  208. replace_all( msg, 190, "!g", "^4" ) //- verde
  209. replace_all( msg, 190, "!y", "^1" ) //- galben
  210. replace_all( msg, 190, "!team", "^3" ) //- echipa
  211. replace_all( msg, 190, "!n", "^0" ) //- normal
  212.  
  213. if( id ) players[ 0 ] = id; else get_players( players, count, "ch" )
  214. {
  215. for( new i = 0; i < count; i++ )
  216. {
  217. if( is_user_connected( players[ i ] ) )
  218. {
  219. message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _, players[ i ] )
  220. write_byte( players[ i ] );
  221. write_string( msg );
  222. message_end( );
  223. }
  224. }
  225. }
  226. }
  227. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  228. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
  229. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement