FlacoBey

Untitled

Jan 7th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.65 KB | None | 0 0
  1. #include <sourcemod>
  2. #include <sdkhooks>
  3. #include <sdktools>
  4.  
  5. new bool:lateLoad;
  6. char sDataFilePath[PLATFORM_MAX_PATH];
  7.  
  8. public APLRes:AskPluginLoad2(Handle:plugin, bool:late, String:error[], errMax)
  9. {
  10.     lateLoad = late;
  11.     return APLRes_Success;    
  12. }
  13.  
  14. public OnPluginStart()
  15. {
  16.     if (lateLoad)
  17.     {
  18.         for (new client = 1; client <= MaxClients; client++)
  19.         {
  20.             if (IsClientInGame(client))
  21.             {
  22.                 OnClientPutInServer(client);
  23.             }
  24.         }
  25.     }
  26.     BuildPath(Path_SM, sDataFilePath, sizeof(sDataFilePath), "data/weapons_speed.ini");
  27.     if (!FileExists(sDataFilePath))
  28.     {
  29.         new Handle:open_path = OpenFile(sDataFilePath, "w");
  30.         WriteFileLine(open_path, "");
  31.         CloseHandle(open_path);
  32.         PrintToServer("Error Code: WSP-EC-01A");
  33.         KvWriteToFile(sDataFilePath);
  34.     }
  35. }
  36.  
  37. void KvWriteToFile(const char[] path)
  38. {
  39.     KeyValues kv = new KeyValues("speed_modifier");
  40.     kv.SetFloat("weapon_autoshotgun/speed", 1.0);
  41.     kv.SetFloat("weapon_hunting_rifle/speed", 1.0);
  42.     kv.SetFloat("weapon_pistol/speed", 1.0);
  43.     kv.SetFloat("weapon_rifle_ak47/speed", 1.0);
  44.     kv.SetFloat("weapon_rifle/speed", 1.0);
  45.     kv.SetFloat("weapon_pumpshotgun/speed", 1.0);
  46.     kv.SetFloat("weapon_sniper_awp/speed", 1.0);
  47.     kv.SetFloat("weapon_shotgun_chrome/speed", 1.0);
  48.     kv.SetFloat("weapon_pistol_magnum/speed", 1.0);
  49.     kv.SetFloat("weapon_shotgun_spas/speed", 1.0);
  50.     kv.SetFloat("weapon_smg/speed", 1.0);
  51.     kv.SetFloat("weapon_smg_mp5/speed", 1.0);
  52.     kv.SetFloat("weapon_smg_silenced/speed", 1.0);
  53.     kv.SetFloat("weapon_sniper_military/speed", 1.0);
  54.     kv.SetFloat("weapon_rifle_sg552/speed", 1.0);
  55.     kv.SetFloat("weapon_sniper_scout/speed", 1.0);
  56.     kv.SetFloat("weapon_rifle_m60/speed", 1.0);
  57.     kv.SetFloat("weapon_rifle_desert/speed", 1.0);
  58.    
  59.     kv.SetFloat("weapon_autoshotgun/gravity", 1.0);
  60.     kv.SetFloat("weapon_hunting_rifle/gravity", 1.0);
  61.     kv.SetFloat("weapon_pistol/gravity", 1.0);
  62.     kv.SetFloat("weapon_rifle_ak47/gravity", 1.0);
  63.     kv.SetFloat("weapon_rifle/speed", 1.0);
  64.     kv.SetFloat("weapon_pumpshotgun/gravity", 1.0);
  65.     kv.SetFloat("weapon_sniper_awp/gravity", 1.0);
  66.     kv.SetFloat("weapon_shotgun_chrome/gravity", 1.0);
  67.     kv.SetFloat("weapon_pistol_magnum/gravity", 1.0);
  68.     kv.SetFloat("weapon_shotgun_spas/gravity", 1.0);
  69.     kv.SetFloat("weapon_smg/gravity", 1.0);
  70.     kv.SetFloat("weapon_smg_mp5/gravity", 1.0);
  71.     kv.SetFloat("weapon_smg_silenced/gravity", 1.0);
  72.     kv.SetFloat("weapon_sniper_military/gravity", 1.0);
  73.     kv.SetFloat("weapon_rifle_sg552/gravity", 1.0);
  74.     kv.SetFloat("weapon_sniper_scout/gravity", 1.0);
  75.     kv.SetFloat("weapon_rifle_m60/gravity", 1.0);
  76.     kv.SetFloat("weapon_rifle_desert/gravity", 1.0);
  77.     kv.ExportToFile(path);
  78.    
  79.     delete kv;
  80. }
  81.  
  82. public OnClientPutInServer(i)
  83. {
  84.    SDKHook(i, SDKHook_WeaponEquip, SDKHook_WeaponEquip1);
  85. }
  86.  
  87. public OnClientDisconnect(i)
  88. {
  89.     SDKUnhook(i, SDKHook_WeaponEquip, SDKHook_WeaponEquip1);
  90. }
  91.  
  92. public Action:SDKHook_WeaponEquip1(i, weapon)
  93. {
  94.     if(bIsSurvivor(i))
  95.     {
  96.         KeyValues kv = new KeyValues("speed_modifier");
  97.         if (kv.ImportFromFile(sDataFilePath))
  98.         {
  99.             decl String:sWeapon[64];
  100.             new pw = GetPlayerWeaponSlot(i, 0);
  101.             GetEntityClassname(pw, sWeapon, sizeof(sWeapon));
  102.             if (KvJumpToKey(kv, sWeapon, true))
  103.             {
  104.                 float num = KvGetFloat(kv, "speed", 1.0);
  105.                 float gravity = KvGetFloat(kv, "gravity", 1.0);
  106.                 SetEntPropFloat(i, Prop_Data, "m_flLaggedMovementValue", num);
  107.                 SetEntityGravity(i, gravity)
  108.             }
  109.         }
  110.     }
  111. }  
  112.  
  113. stock bool bIsSurvivor(int client)
  114. {
  115.     return client > 0 && client <= MaxClients && IsClientInGame(client) && GetClientTeam(client) == 2 && !IsClientInKickQueue(client) && IsPlayerAlive(client);
  116. }
Advertisement
Add Comment
Please, Sign In to add comment