Ядро плагина Player Weapon Blocker 3.0.2

Плагин позволяет заблокировать игроку доступ к выбранному оружию (На время или навсегда).

  1. san911

    san911 Вообще короче нечего

    Сообщения:
    225
    Симпатии:
    66
    Пользователь san911 обновил ресурс Player Weapon Blocker новой записью:

    Улучшения и исправления.

    Узнать больше об этом обновлении...
     
    Последнее редактирование: 25 фев 2017
  2. RunOver

    RunOver

    Сообщения:
    27
    Симпатии:
    2
    Оппа , пойду тестить обнову.
     
  3. onik

    onik

    Сообщения:
    102
    Симпатии:
    17
    css v34 sm 1.7.3
    PHP:
    L 02/26/2017 03:29:03SourceMod error session started
    L 02
    /26/2017 03:29:03Info (map "de_dust2") (file "errors_20170226.log")
    L 02/26/2017 03:29:03: [player_weapon_blocker.smxНе удалось установить соединение с БД!
    ched
    L 02
    /26/2017 03:29:08Error log file session closed.
     
  4. san911

    san911 Вообще короче нечего

    Сообщения:
    225
    Симпатии:
    66
    Не знаю в чем дело, все что могу предложить поставить sm другой версии. Или проблема началась после последнего обновления? Хотя это не возможно...
     
  5. vovchik21rus

    vovchik21rus

    Сообщения:
    8
    Симпатии:
    0
    sm plugins list:
    <Failed> "Player Weapon Blocker" (2.2.0) by KOROVKA

    SourceMod (1.6.3) Версия сервера: 1.0.0.34

    errors:
    Native "CreateNative" reported: Fatal error creating dynamic native!
    Displaying call stack trace for plugin "player_weapon_blocker.smx":
    [0] Line 75, D:\Source Pawn New\player_weapon_blocker.sp::AskPluginLoad2()
    Unable to load plugin "player_weapon_blocker.smx": Native "KeyValues.KeyValues" was not found

    В чём проблема?
     
  6. Grey83

    Grey83

    Сообщения:
    614
    Симпатии:
    197
  7. vovchik21rus

    vovchik21rus

    Сообщения:
    8
    Симпатии:
    0
    Зачем?
    Как это связано,с моей проблемой?
     
  8. san911

    san911 Вообще короче нечего

    Сообщения:
    225
    Симпатии:
    66
    Возьми плагин из папки old sourcemod compile или скомпиль на старом sm
     
  9. PsihoServer

    PsihoServer

    Сообщения:
    46
    Симпатии:
    2
    L 03/02/2017 - 17:14:44: SourceMod error session started
    L 03/02/2017 - 17:14:44: Info (map "de_dust2") (file "errors_20170302.log")
    L 03/02/2017 - 17:14:44: [player_weapon_blocker.smx] Не удалось установить соединение с БД!
    L 03/02/2017 - 17:18:27: [player_weapon_blocker.smx] Не удалось установить соединение с БД!
    defuser

    А плагин вроде как работает
     
  10. onik

    onik

    Сообщения:
    102
    Симпатии:
    17
    Больше не будет подобных ошибок
     

    Вложения:

    PsihoServer и san911 нравится это.
  11. san911

    san911 Вообще короче нечего

    Сообщения:
    225
    Симпатии:
    66
    Ты уверен что дело в название БД?
     
  12. onik

    onik

    Сообщения:
    102
    Симпатии:
    17
    ну как показала практика, есть же проблема с плагинами который прописаны без "_"
     
    san911 нравится это.
  13. Александр221

    Александр221

    Сообщения:
    4
    Симпатии:
    0
     
  14. san911

    san911 Вообще короче нечего

    Сообщения:
    225
    Симпатии:
    66
  15. nick_name

    nick_name

    Сообщения:
    31
    Симпатии:
    17
    Как насчет добавить в плагин отключение зума для определенного игрока?
    Код:
    #pragma semicolon 1
    
    #include <sourcemod>
    #include <sdkhooks>
    
    #pragma newdecls required
    
    #define NOSCOPE_VERSION  "2.0.0"
    
    ConVar g_cEnablePlugin = null;
    ConVar g_cEnableOneShot = null;
    ConVar g_cAllowGrenade = null;
    ConVar g_cAllowWorld = null;
    ConVar g_cAllowMelee = null;
    ConVar g_cAllowedWeapons = null;
    
    int m_flNextSecondaryAttack = -1;
    
    public Plugin myinfo =
    {
       name = "NoScope",
       author = "Bara",
       description = "",
       version = NOSCOPE_VERSION,
       url = "www.bara.in"
    };
    
    public void OnPluginStart()
    {
       if (GetEngineVersion() != Engine_CSS && GetEngineVersion() != Engine_CSGO)
       {
           SetFailState("Only CSS and CSGO Support");
       }
      
       CreateConVar("noscope_version", NOSCOPE_VERSION, "NoScope", FCVAR_NOTIFY | FCVAR_DONTRECORD);
      
       g_cEnablePlugin = CreateConVar("noscope_enable", "1", "Enable / Disalbe NoScope Plugin", _, true, 0.0, true, 1.0);
       g_cEnableOneShot = CreateConVar("noscope_oneshot", "0", "Enable / Disable kill enemy with one shot", _, true, 0.0, true, 1.0);
       g_cAllowGrenade = CreateConVar("noscope_allow_grenade", "0", "Enable / Disalbe Grenade Damage", _, true, 0.0, true, 1.0);
       g_cAllowWorld = CreateConVar("noscope_allow_world", "0", "Enable / Disalbe World Damage", _, true, 0.0, true, 1.0);
       g_cAllowMelee = CreateConVar("noscope_allow_knife", "0", "Enable / Disalbe Knife Damage", _, true, 0.0, true, 1.0);
       g_cAllowedWeapons = CreateConVar("noscope_allow_weapons", "awp;scout", "What weapon should the player get back after it has zoomed?");
      
       AutoExecConfig();
      
       m_flNextSecondaryAttack = FindSendPropOffs("CBaseCombatWeapon", "m_flNextSecondaryAttack");
      
       for (int i = 1; i <= MaxClients; i++)
       {
           if (IsClientValid(i))
           {
               SDKHook(i, SDKHook_OnTakeDamage, OnTakeDamage);
               SDKHook(i, SDKHook_PreThink, OnPreThink);
           }
       }
    }
    
    public void OnClientPutInServer(int i)
    {
       SDKHook(i, SDKHook_OnTakeDamage, OnTakeDamage);
       SDKHook(i, SDKHook_PreThink, OnPreThink);
    }
    
    public Action OnPreThink(int client)
    {
       int iWeapon = GetEntPropEnt(client, Prop_Send, "m_hActiveWeapon");
       SetNoScope(iWeapon);
       return Plugin_Continue;
    }
    
    public Action OnTakeDamage(int victim, int &attacker, int &inflictor, float &damage, int &damagetype, int &weapon, float damageForce[3], float damagePosition[3])
    {
       if (g_cEnablePlugin.BoolValue)
       {
           if (IsClientValid(victim))
           {
               if (damagetype & DMG_FALL || attacker == 0)
               {
                   if (g_cAllowWorld.BoolValue)
                       return Plugin_Continue;
                   else
                       return Plugin_Handled;
               }
    
               if (IsClientValid(attacker))
               {
                   char sGrenade[32];
                   char sWeapon[32];
                  
                   GetEdictClassname(inflictor, sGrenade, sizeof(sGrenade));
                   GetClientWeapon(attacker, sWeapon, sizeof(sWeapon));
                  
                   if ((StrContains(sWeapon, "knife", false) != -1) || (StrContains(sWeapon, "bayonet", false) != -1))
                       if (g_cAllowMelee.BoolValue)
                           return Plugin_Continue;
                  
                   if (StrContains(sGrenade, "_projectile", false) != -1)
                       if (g_cAllowGrenade.BoolValue)
                           return Plugin_Continue;
                  
                   char sBuffer[256], sWeapons[24][64];
                   g_cAllowedWeapons.GetString(sBuffer, sizeof(sBuffer));
                  
                   int iCount = ExplodeString(sBuffer, ";", sWeapons, sizeof(sWeapons), sizeof(sWeapons[]));
                  
                   for (int i = 0; i < iCount; i++)
                   {
                       if (StrContains(sWeapon[7], sWeapons[i], false) != -1)
                       {
                           if (g_cEnableOneShot.BoolValue)
                           {
                               damage = float(GetClientHealth(victim) + GetClientArmor(victim));
                               return Plugin_Changed;
                           }
                           return Plugin_Continue;
                       }
                   }
                   return Plugin_Handled;
               }
           }
       }
       return Plugin_Continue;
    }
    
    stock void SetNoScope(int weapon)
    {
       if (IsValidEdict(weapon))
       {
           char classname[MAX_NAME_LENGTH];
           GetEdictClassname(weapon, classname, sizeof(classname));
          
           if (StrEqual(classname[7], "ssg08") || StrEqual(classname[7], "aug") || StrEqual(classname[7], "sg550") || StrEqual(classname[7], "sg552") || StrEqual(classname[7], "sg556") || StrEqual(classname[7], "awp") || StrEqual(classname[7], "scar20") || StrEqual(classname[7], "g3sg1"))
               SetEntDataFloat(weapon, m_flNextSecondaryAttack, GetGameTime() + 2.0);
       }
    }
    
    stock bool IsClientValid(int client)
    {
       if (client > 0 && client <= MaxClients && IsClientInGame(client))
           return true;
       return false;
    }
    
    
    было бы совсеееем неплохо, отслеживать подозрительных игроков.
     
    Yura7181 нравится это.
  16. san911

    san911 Вообще короче нечего

    Сообщения:
    225
    Симпатии:
    66
    Пользователь san911 обновил ресурс Player Weapon Blocker новой записью:

    Добавлена возможность блокировать зум, и другое.

    Узнать больше об этом обновлении...
     
    nick_name нравится это.
  17. diman1000w

    diman1000w

    Сообщения:
    234
    Симпатии:
    15
    А можешь добавить что бы для всех можно было блокировать тоже. А то на авп карте примерно охота сделать для всех ноузум, а по одному человеку это долго. Или например запретить какое нибудь для всех оружие, как в weapon_restrict так удобней было бы, всё в одном плагине и от weapon_restrict можно было бы отказаться. И так же можно добавить раунд на пистолетах, на ножах, на электрошокерах, раунд на авп ноузум и т.д. Ещё выставить автоматически рандомно раунды например через каждые 8 раундов все с пистолетами или с авп, с электрошокерами и т.д. чтобы админам самим не ставить эти раунды а автоматически рандомно, тоже прикольно было бы.
     
    Последнее редактирование: 23 мар 2017
    Акулка нравится это.
  18. san911

    san911 Вообще короче нечего

    Сообщения:
    225
    Симпатии:
    66
    Пользователь san911 обновил ресурс Player Weapon Blocker новой записью:

    Обновление форварда, улучшение меню, и другое.

    Узнать больше об этом обновлении...
     
    Последнее редактирование: 23 мар 2017
  19. san911

    san911 Вообще короче нечего

    Сообщения:
    225
    Симпатии:
    66
    Пользователь san911 обновил ресурс Player Weapon Blocker новой записью:

    Добавлен файл с переводами, а также поддержка MySQL

    Узнать больше об этом обновлении...
     
  20. -->KENT<--

    -->KENT<-- На квартале

    Сообщения:
    207
    Симпатии:
    23
    Сделай звук когда оружие заблокировано.