Плагин Knife_Speed доработка

Тема в разделе "Запросы", создана пользователем cangncan, 4 фев 2014.

  1. cangncan

    cangncan

    Сообщения:
    69
    Симпатии:
    2
    Имеется плагин Посмотреть вложение 7582
    сыпятся ошибки вида:
    L 02/02/2014 - 23:40:25: [SM] Native "SetEntPropFloat" reported: Entity 1 (1) is invalid
    L 02/02/2014 - 23:40:25: [SM] Displaying call stack trace for plugin "knife_speed.smx":
    L 02/02/2014 - 23:40:25: [SM] [0] Line 24, knife_speed.sp::OnWeapon()
    L 02/02/2014 - 23:40:25: [SM] Native "SetEntPropFloat" reported: Entity 1 (1) is invalid
    L 02/02/2014 - 23:40:25: [SM] Displaying call stack trace for plugin "knife_speed.smx":
    L 02/02/2014 - 23:40:25: [SM] [0] Line 24, knife_speed.sp::OnWeapon()
    L 02/02/2014 - 23:40:25: [SM] Native "SetEntPropFloat" reported: Entity 1 (1) is invalid
    L 02/02/2014 - 23:40:25: [SM] Displaying call stack trace for plugin "knife_speed.smx":
    L 02/02/2014 - 23:40:25: [SM] [0] Line 24, knife_speed.sp::OnWeapon()
    L 02/02/2014 - 23:52:27: Error log file session closed.

    В плагине куча ненужных пробелов и т.д. поправил - результат тот же. что ему нужно ума не приложу.
    п.с. плагин в аттаче как и скачивал, не измененный.
     
    Последнее редактирование: 14 мар 2014
  2. NagarD

    NagarD

    Сообщения:
    412
    Симпатии:
    170
    PHP:
    #include <sdkhooks>

    new Handle:g_hCvarKnifeSpeed INVALID_HANDLE;

    public 
    OnPluginStart()
    {
        
    g_hCvarKnifeSpeed CreateConVar("sm_knife_speed""1.0");
    }

    public 
    OnClientPutInServer(client)
    {
        
    SDKHook(clientSDKHook_WeaponSwitchOnWeapon);
    }

    public 
    Action:OnWeapon(clientweapon)
    {
        
    decl String:classname[64];
        
    GetEdictClassname(weaponclassnamesizeof(classname));
        if (
    StrEqual(classname"weapon_knife"))
            
    SetEntPropFloat(clientProp_Data"m_flLaggedMovementValue"GetConVarFloat(g_hCvarKnifeSpeed));
        else if (
    IsValidEntity(client))
            
    SetEntPropFloat(clientProp_Data"m_flLaggedMovementValue"1.0);
    }
     
    cangncan нравится это.
  3. cangncan

    cangncan

    Сообщения:
    69
    Симпатии:
    2

    Спасибо. теперь все ок!

    Добавлено через 4 минуты
    Блин, поторопился...снова посыпалось
    L 02/04/2014 - 09:54:18: [SM] Native "SetEntPropFloat" reported: Entity 1 (1) is invalid
    L 02/04/2014 - 09:54:18: [SM] Displaying call stack trace for plugin "knife_speed.smx":
    L 02/04/2014 - 09:54:18: [SM] [0] Line 22, knife_speed.sp::OnWeapon()
    L 02/04/2014 - 09:54:18: [SM] Native "SetEntPropFloat" reported: Entity 1 (1) is invalid
    L 02/04/2014 - 09:54:18: [SM] Displaying call stack trace for plugin "knife_speed.smx":
    L 02/04/2014 - 09:54:18: [SM] [0] Line 22, knife_speed.sp::OnWeapon()
     
    Последнее редактирование: 4 фев 2014
  4. NagarD

    NagarD

    Сообщения:
    412
    Симпатии:
    170
    Оффтоп
    PHP:
    #include <sdkhooks>

    new Handle:g_hCvarKnifeSpeed INVALID_HANDLE;

    public 
    OnPluginStart()
    {
        
    g_hCvarKnifeSpeed CreateConVar("sm_knife_speed""2.0");
    }

    public 
    OnClientPutInServer(client)
    {
        
    SDKHook(clientSDKHook_WeaponSwitchOnWeapon);
    }

    public 
    Action:OnWeapon(clientweapon)
    {
        if (
    IsValidEntity(client) && IsValidEdict(client))
        {
            
    decl String:classname[64];
            
    GetEdictClassname(weaponclassnamesizeof(classname));
            if (
    StrEqual(classname"weapon_knife"))
                
    SetEntPropFloat(clientProp_Data"m_flLaggedMovementValue"GetConVarFloat(g_hCvarKnifeSpeed));
            else if
                
    SetEntPropFloat(clientProp_Data"m_flLaggedMovementValue"1.0);
        }
    }
     
    Последнее редактирование: 5 фев 2014
  5. wanted241

    wanted241 Real-Gamer.Ru

    Сообщения:
    783
    Симпатии:
    355
    else if (IsValidEntity(client) && IsValidEdict(client))

    А это зачем?! Игрок не является энтити. Это и так понятно.
     
  6. NagarD

    NagarD

    Сообщения:
    412
    Симпатии:
    170
    wanted241, ты мне?
     
  7. wanted241

    wanted241 Real-Gamer.Ru

    Сообщения:
    783
    Симпатии:
    355
    Я вам обоим. Зачем это?! Или я что-то не понимаю..
     
  8. NagarD

    NagarD

    Сообщения:
    412
    Симпатии:
    170
    wanted241, так напиши как лучше
     
  9. cangncan

    cangncan

    Сообщения:
    69
    Симпатии:
    2
    Присоединяюсь!
     
  10. cangncan

    cangncan

    Сообщения:
    69
    Симпатии:
    2
    NagarD, последний раз что ты написал даже не компилируется :(

    Уважаемые, ну кто нибудь поправит код????
     
  11. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.721
    Симпатии:
    461
    #include <sdkhooks>

    new Handle:g_hCvarKnifeSpeed = INVALID_HANDLE;

    public OnPluginStart()
    {
    g_hCvarKnifeSpeed = CreateConVar("sm_knife_speed", "2.0");
    }

    public OnClientPutInServer(client)
    {
    SDKHook(client, SDKHook_WeaponSwitch, OnWeapon);
    }

    public Action:OnWeapon(client, weapon)
    {
    decl String:classname[64];
    GetEdictClassname(weapon, classname, sizeof(classname));
    if (StrEqual(classname, "weapon_knife"))
    SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", GetConVarFloat(g_hCvarKnifeSpeed));
    else if
    SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", 1.0);
    }
    }


    Я рак но возможно будет работать
     
  12. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.060
    Симпатии:
    345
    Исправлено.
     

    Вложения:

    • knife_speed.sp
      Размер файла:
      879 байт
      Просмотров:
      45
    cangncan нравится это.
  13. cangncan

    cangncan

    Сообщения:
    69
    Симпатии:
    2
    Теперь ГУД!Спасибо
     
  14. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    Vit_ amin
    PHP:
    public Action:Weapon_Function(clientweapon)
    {
        if (
    client 0)
        {
            
    decl String:weapon_classname[16];
            
    GetEdictClassname(weaponweapon_classnamesizeof(weapon_classname));

            
    SetEntPropFloat(clientProp_Send"m_flLaggedMovementValue", (strcmp(weapon_classname"weapon_knife"false) == 0) ? GetConVarFloat(g_hCvarKnifeSpeed) : 1.0);
        }
    }
     
    Vit_ amin нравится это.
  15. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.060
    Симпатии:
    345
    Я бы то такого точно не додумался ...
     
  16. cangncan

    cangncan

    Сообщения:
    69
    Симпатии:
    2
    Vit_ amin, это что такое?
     
  17. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.999
    Симпатии:
    2.992
    The End Is Near..., а если игрок сменил оружие (не нож на не нож) ему всё ровно будет скорость ставить 1.0 хотя она и так 1.0. Не лучше ли бул на каждого юзать?
     
    Последнее редактирование: 6 фев 2014
  18. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    R1KO
    И что? Ради одной переменной предлагаешь получать значение гравитации у игрока?
     
  19. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.999
    Симпатии:
    2.992
    The End Is Near..., нет. При установке скорости bool = true;
    И при смене оружия if(bool) ставим скорость 1.0 и bool = false;

    P.S. Исправил граву на скорость в постах =D
     
  20. cangncan

    cangncan

    Сообщения:
    69
    Симпатии:
    2
    товарищи! ну в итоге должно быть так???:
    PHP:
    #include <sourcemod>
    #include <sdkhooks>

    new Handle:g_hCvarKnifeSpeed;

    public 
    OnPluginStart()
    {
        
    g_hCvarKnifeSpeed CreateConVar("sm_knife_speed""1.0""How Speed Will Be Player whuch used Weapon Knife"FCVAR_NOTIFYtrue0.1true3.0);
    }

    public 
    OnClientPutInServer(client)
    {
        
    SDKHook(clientSDKHook_WeaponSwitchWeapon_Function);
    }

    public 
    Action:Weapon_Function(clientweapon)
    {
        if (
    client 0)
        {
            
    decl String:weapon_classname[16];
            
    GetEdictClassname(weaponweapon_classnamesizeof(weapon_classname));

            
    SetEntPropFloat(clientProp_Send"m_flLaggedMovementValue", (strcmp(weapon_classname"weapon_knife"false) == 0) ? GetConVarFloat(g_hCvarKnifeSpeed) : 1.0);
        }
    }