Advertisement
Guest User

mod scout

a guest
Feb 23rd, 2020
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.04 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <hamsandwich>
  3. #include <fakemeta>
  4. #include <hitandrun>
  5. #include <fvault>
  6.  
  7. #define MAX_SCOUTS 29
  8.  
  9. new g_scout[33];
  10.  
  11. new const g_szVault[] = "ScoutSystem";
  12.  
  13. enum _:Temp
  14. {
  15. VMODEL[64],
  16. LEVEL
  17. };
  18.  
  19. /* ViewModel | WeaponModel | Minumun Level */
  20. new const scouts [MAX_SCOUTS] [Temp] = {
  21. { "models/eTs[Scout]/v_scout_01.mdl", 0 },
  22. { "models/eTs[Scout]/v_scout_02.mdl", 4 },
  23. { "models/eTs[Scout]/v_scout_03.mdl", 8 },
  24. { "models/eTs[Scout]/v_scout_04.mdl", 12 },
  25. { "models/eTs[Scout]/v_scout_05.mdl", 16 },
  26. { "models/eTs[Scout]/v_scout_06.mdl", 20 },
  27. { "models/eTs[Scout]/v_scout_07.mdl", 24 },
  28. { "models/eTs[Scout]/v_scout_08.mdl", 28 },
  29. { "models/eTs[Scout]/v_scout_09.mdl", 32 },
  30. { "models/eTs[Scout]/v_scout_10.mdl", 36 },
  31. { "models/eTs[Scout]/v_scout_11.mdl", 40 },
  32. { "models/eTs[Scout]/v_scout_12.mdl", 44 },
  33. { "models/eTs[Scout]/v_scout_13.mdl", 48 },
  34. { "models/eTs[Scout]/v_scout_14.mdl", 52 },
  35. { "models/eTs[Scout]/v_scout_15.mdl", 56 },
  36. { "models/eTs[Scout]/v_scout_16.mdl", 60 },
  37. { "models/eTs[Scout]/v_scout_17.mdl", 64 },
  38. { "models/eTs[Scout]/v_scout_18.mdl", 68 },
  39. { "models/eTs[Scout]/v_scout_19.mdl", 72 },
  40. { "models/eTs[Scout]/v_scout_20.mdl", 76 },
  41. { "models/eTs[Scout]/v_scout_21.mdl", 80 },
  42. { "models/eTs[Scout]/v_scout_22.mdl", 84 },
  43. { "models/eTs[Scout]/v_scout_23.mdl", 88 },
  44. { "models/eTs[Scout]/v_scout_24.mdl", 92 },
  45. { "models/eTs[Scout]/v_scout_25.mdl", 96 },
  46. { "models/eTs[Scout]/v_scout_26.mdl", 100 },
  47. { "models/eTs[Scout]/v_scout_27.mdl", 104 },
  48. { "models/eTs[Scout]/v_scout_28.mdl", 108 },
  49. { "models/eTs[Scout]/v_scout_29.mdl", 112 }
  50. };
  51.  
  52. public plugin_init(){
  53. register_plugin("Scout System","1.4","_7cR");
  54.  
  55. register_clcmd("say /scout","cmd_scouts");
  56.  
  57. RegisterHam(Ham_Item_Deploy,"weapon_scout","fw_OnScoutDeploy",1);
  58. }
  59.  
  60. public plugin_precache(){
  61.  
  62. for (new i; i < MAX_SCOUTS; i++)
  63. {
  64. precache_model(scouts[i][VMODEL]);
  65. }
  66.  
  67.  
  68. }
  69.  
  70. public client_putinserver(client) LoadData(client);
  71. public client_disconnect(client) SaveData(client);
  72.  
  73. public fw_OnScoutDeploy(ent){
  74. new client = get_pdata_cbase(ent,41,4);
  75.  
  76. set_pev(client,pev_viewmodel2,scouts[g_scout[client]][VMODEL]);
  77. }
  78.  
  79. public cmd_scouts(client){
  80. new some[256];
  81. new m = menu_create("\r[\w eTs \r]\y Scout System\w!","mHandler");
  82. new cb = menu_makecallback("mCallback");
  83.  
  84. formatex(some,255,"\wScout 0 \w[ \rLevel 0+ \w] %s",(!g_scout[client] ? "- \yCurrect Scout":""));
  85. menu_additem(m,some,.callback=cb);
  86.  
  87. for (new i = 1; i < MAX_SCOUTS; i++)
  88. {
  89. formatex(some,255,"\wScout %i \w[ \rLevel %i+ \w] %s",i,scouts [i][LEVEL],(i == g_scout[client] ? "- \yCurrent Scout":""));
  90. menu_additem(m,some,.callback=cb);
  91. }
  92.  
  93. menu_display(client,m);
  94. }
  95.  
  96. public mCallback(client,m,item)
  97. return (scouts[item][LEVEL] > hnr_get_user_level(client) || g_scout[client] == item ? ITEM_DISABLED:ITEM_ENABLED);
  98.  
  99. public mHandler(client,m,item){
  100. if (item == MENU_EXIT)
  101. {
  102. menu_destroy(m);
  103. return;
  104. }
  105.  
  106. g_scout[client] = item;
  107. }
  108.  
  109. public SaveData(id){
  110. if (!is_user_connected(id) || is_user_bot(id) || is_user_hltv(id))
  111. return;
  112.  
  113. new SteamID[35];
  114. get_user_authid(id,SteamID,34);
  115.  
  116. if(contain(SteamID,"_ID_LAN") != -1 || contain(SteamID,"STEAM_0:4") != -1 || contain(SteamID,"VALVE") != -1 || equali(SteamID,"STEAM_666:88:666"))
  117. get_user_ip(id,SteamID,34,1);
  118.  
  119. new szData[8];
  120.  
  121. formatex(szData,charsmax(szData),"%d",g_scout[id]);
  122.  
  123. fvault_set_data(g_szVault,SteamID,szData);
  124. }
  125.  
  126. public LoadData(id){
  127. if (!is_user_connected(id) || is_user_bot(id) || is_user_hltv(id))
  128. return;
  129.  
  130. new SteamID[35];
  131. get_user_authid(id, SteamID, 34);
  132.  
  133. if(contain(SteamID,"_ID_LAN") != -1 || contain(SteamID,"STEAM_0:4") != -1 || contain(SteamID,"VALVE") != -1 || equali(SteamID,"STEAM_666:88:666"))
  134. get_user_ip(id,SteamID,34,1);
  135.  
  136. new szData[8];
  137.  
  138. if(fvault_get_data(g_szVault,SteamID,szData,charsmax(szData)))
  139. g_scout[id] = str_to_num(szData);
  140.  
  141. else
  142. g_scout[id] = 0;
  143.  
  144. }
  145. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  146. *{\\ rtf1\\ fbidis\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ ltrpar\\ lang1037\\ f0\\ fs16 \n\\ par }
  147. */
  148. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  149. *{\\ rtf1\\ fbidis\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ ltrpar\\ lang1037\\ f0\\ fs16 \n\\ par }
  150. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement