Fast Reload | Быстрая перезарядка [CSS/CS:GO]

Сообщения
135
Реакции
2
Да-да, мне писал. Версия в этой теме слишком читерская. Насколько понимаю, перезарядка автоматическая, а у меня надо напрячь свою пальчики и самому перезарядиться.
а нет такого плагина не для вип, а для всех игроков?
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,490
Возможно, так будет работать у всех:
C-подобный:
#include <sdktools_functions>
#include <sdkhooks>

#pragma newdecls required
#pragma semicolon 1

public Plugin myinfo =
{
    name    = "Fast Weapon Reload",
    author    = "asdf",
    version = "1.0"
}

public void OnEntityCreated(int entity, const char[] classname)
{
    if(strncmp(classname, "weapon_", 7) == 0)
        SDKHook(entity, SDKHook_ReloadPost, WeaponReloadPost);
}

public void WeaponReloadPost(int weapon, bool bSuccess)
{
    if(!bSuccess)
        return;
    int client = GetEntPropEnt(weapon, Prop_Data, "m_hOwner");
    if(client == -1)
        return;
    int viewmodel = GetEntPropEnt(client, Prop_Data, "m_hViewModel");
    if(viewmodel != -1)
    SetEntPropFloat(viewmodel, Prop_Data, "m_flPlaybackRate", 10.0);
    SetEntPropFloat(weapon, Prop_Data, "m_flPlaybackRate", 10.0);
    float nextattack = GetEntPropFloat(weapon, Prop_Data, "m_flNextPrimaryAttack")-GetGameTime();
    SetEntPropFloat(weapon, Prop_Data, "m_flNextPrimaryAttack", (nextattack/10.0)+GetGameTime());
    nextattack = GetEntPropFloat(client, Prop_Data, "m_flNextAttack")-GetGameTime();
    SetEntPropFloat(client, Prop_Data, "m_flNextAttack", (nextattack/10.0)+GetGameTime());
}
 
Сообщения
135
Реакции
2
Возможно, так будет работать у всех:
C-подобный:
#include <sdktools_functions>
#include <sdkhooks>

#pragma newdecls required
#pragma semicolon 1

public Plugin myinfo =
{
    name    = "Fast Weapon Reload",
    author    = "asdf",
    version = "1.0"
}

public void OnEntityCreated(int entity, const char[] classname)
{
    if(strncmp(classname, "weapon_", 7) == 0)
        SDKHook(entity, SDKHook_ReloadPost, WeaponReloadPost);
}

public void WeaponReloadPost(int weapon, bool bSuccess)
{
    if(!bSuccess)
        return;
    int client = GetEntPropEnt(weapon, Prop_Data, "m_hOwner");
    if(client == -1)
        return;
    int viewmodel = GetEntPropEnt(client, Prop_Data, "m_hViewModel");
    if(viewmodel != -1)
    SetEntPropFloat(viewmodel, Prop_Data, "m_flPlaybackRate", 10.0);
    SetEntPropFloat(weapon, Prop_Data, "m_flPlaybackRate", 10.0);
    float nextattack = GetEntPropFloat(weapon, Prop_Data, "m_flNextPrimaryAttack")-GetGameTime();
    SetEntPropFloat(weapon, Prop_Data, "m_flNextPrimaryAttack", (nextattack/10.0)+GetGameTime());
    nextattack = GetEntPropFloat(client, Prop_Data, "m_flNextAttack")-GetGameTime();
    SetEntPropFloat(client, Prop_Data, "m_flNextAttack", (nextattack/10.0)+GetGameTime());
}
сейчас попробую
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,557
Реакции
5,050
хм, а для чего получать аж 4 раза время, когда достаточно получить его 1 раз?
Вот так, например:
C-подобный:
    int time = GetGameTime();
    SetEntPropFloat(weapon, Prop_Data, "m_flNextPrimaryAttack", (GetEntPropFloat(weapon, Prop_Data, "m_flNextPrimaryAttack") - time) / 10.0 + time);
    SetEntPropFloat(client, Prop_Data, "m_flNextAttack", (GetEntPropFloat(client, Prop_Data, "m_flNextAttack") - time) / 10.0 + time);
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,490
хм, а для чего получать аж 4 раза время, когда достаточно получить его 1 раз?
Вот так, например:
C-подобный:
    int time = GetGameTime();
    SetEntPropFloat(weapon, Prop_Data, "m_flNextPrimaryAttack", (GetEntPropFloat(weapon, Prop_Data, "m_flNextPrimaryAttack") - time) / 10.0 + time);
    SetEntPropFloat(client, Prop_Data, "m_flNextAttack", (GetEntPropFloat(client, Prop_Data, "m_flNextAttack") - time) / 10.0 + time);
Вопросы к Самолётику, я у него заказывал и уже давно
 

HooLIGUN

MatchMaking CS:S / RGMIX.ru
Сообщения
1,064
Реакции
267
Возможно, так будет работать у всех:
C-подобный:
#include <sdktools_functions>
#include <sdkhooks>

#pragma newdecls required
#pragma semicolon 1

public Plugin myinfo =
{
    name    = "Fast Weapon Reload",
    author    = "asdf",
    version = "1.0"
}

public void OnEntityCreated(int entity, const char[] classname)
{
    if(strncmp(classname, "weapon_", 7) == 0)
        SDKHook(entity, SDKHook_ReloadPost, WeaponReloadPost);
}

public void WeaponReloadPost(int weapon, bool bSuccess)
{
    if(!bSuccess)
        return;
    int client = GetEntPropEnt(weapon, Prop_Data, "m_hOwner");
    if(client == -1)
        return;
    int viewmodel = GetEntPropEnt(client, Prop_Data, "m_hViewModel");
    if(viewmodel != -1)
    SetEntPropFloat(viewmodel, Prop_Data, "m_flPlaybackRate", 10.0);
    SetEntPropFloat(weapon, Prop_Data, "m_flPlaybackRate", 10.0);
    float nextattack = GetEntPropFloat(weapon, Prop_Data, "m_flNextPrimaryAttack")-GetGameTime();
    SetEntPropFloat(weapon, Prop_Data, "m_flNextPrimaryAttack", (nextattack/10.0)+GetGameTime());
    nextattack = GetEntPropFloat(client, Prop_Data, "m_flNextAttack")-GetGameTime();
    SetEntPropFloat(client, Prop_Data, "m_flNextAttack", (nextattack/10.0)+GetGameTime());
}
Работает, но при перезарядке снайперки (AWP например), зум не сразу включается, а через время, которое должна пройти настоящая анимация перезарядки.
Игра CS:S Steam
 
Сверху Снизу