Raised This Month: $32 Target: $400
 8% 

[CSGO] how to fix this?


Post New Thread Reply   
 
Thread Tools Display Modes
darkboss
Member
Join Date: Mar 2020
Location: Street (Homeless)
Old 02-02-2023 , 01:06   Re: [CSGO] how to fix this?
Reply With Quote #11

Quote:
Originally Posted by Bacardi View Post
bro



Thiz crap du s0m3 grazy shieet.
PHP Code:

//    "items" -> "2" -> "prefab"        "weapon_elite_prefab"
//  "prefabs" -> "weapon_awp_prefab" -> "attributes" -> "primary clip size"        "30"


#define ITEMSGAMEFILE "scripts/items/items_game.txt"

#define ADMCOMMAND    "access_infinite_ammo" // admin access

#include <cstrike>

enum struct WpnInfo
{
    
ArrayList data;

    
int GetPrimaryClipSize(int itemdefinition)
    {
        if(
this.data == null)
            return -
1;

        
int index this.data.FindValue(itemdefinition0);
        
        if(
index == -1)
            return -
1;
        
        return 
this.data.Get(index1);
    }

    
void StorePrimaryClipSize(int itemdefinitionint size)
    {
        
int tmp[2];
        
tmp[0] = itemdefinition;
        
tmp[1] = size;

        if(
this.data != null)
            
this.data.PushArray(tmpsizeof(tmp));
    }
    
    
void CreateData()
    {
        if(
this.data == null)
            
this.data = new ArrayList(2);
        
        
this.data.Clear();
    }
}
WpnInfo wpninfo;


ConVar cvar;

public 
void OnPluginStart()
{
    
KeyValues items_game = new KeyValues("items_game");

    if(!
items_game.ImportFromFile(ITEMSGAMEFILE))
        
SetFailState("Couldn't import file %s"ITEMSGAMEFILE);

    
wpninfo.CreateData();


    
char key[250], value[100];
    
int itemdefinition = -1;
    
int clip = -1;

    for(
CSWeaponID id CSWeapon_NONEid CSWeapon_MAX_WEAPONSid++)
    {
        
itemdefinition = -1;
        
clip = -1;

        if(!
CS_IsValidWeaponID(id))
            continue;

        
itemdefinition CS_WeaponIDToItemDefIndex(id);

        
Format(keysizeof(key), "items/%i/prefab"itemdefinition);

        if(
items_game.JumpToKey(key))
        {
            
items_game.GetString(NULL_STRINGvaluesizeof(value), "-1");
            
items_game.GoBack();
        }

        
Format(keysizeof(key), "prefabs/%s/attributes/primary clip size"value);


        if(
items_game.JumpToKey(key))
        {
            
items_game.GetString(NULL_STRINGvaluesizeof(value), "-1");
            
items_game.GoBack();

            
clip StringToInt(value);
        }

        if(
clip == -1)
            continue;

        
//PrintToServer("itemdefinition %i, clip %i", itemdefinition, clip);
        
wpninfo.StorePrimaryClipSize(itemdefinitionclip);

    }

    
delete items_game;

    
cvar CreateConVar("sm_instant_reload""0""Should VIP get unlimited ammo?");

    
HookEvent("weapon_fire"weapon_fire);
    
HookEvent("weapon_fire_on_empty"weapon_fire);
}

public 
void weapon_fire(Event event, const char[] namebool dontBroadcast)
{
    if(!
cvar.BoolValue)
        return;

    
int userid event.GetInt("userid");
    
int client GetClientOfUserId(userid);



    if(
IsFakeClient(client) || !CheckCommandAccess(clientADMCOMMAND0true))
        return;



    
int m_hActiveWeapon GetEntPropEnt(clientProp_Send"m_hActiveWeapon");

    if(!
HasEntProp(m_hActiveWeaponProp_Send"m_iItemDefinitionIndex"))
        return;

    if(
wpninfo.data == null)
        return;

    
int itemdefinition GetEntProp(m_hActiveWeaponProp_Send"m_iItemDefinitionIndex");

    
int m_iClip1 wpninfo.GetPrimaryClipSize(itemdefinition);

    
//PrintToServer("Client %N weapon %i GetPrimaryClipSize %i  itemdefinition %i", client, m_hActiveWeapon, m_iClip1, itemdefinition);

    
if(m_iClip1 != -1)
        
SetEntProp(m_hActiveWeaponProp_Send"m_iClip1"m_iClip1+1);


Add this "word" override in your admin_overrides.cfg or in one of admin groups override.
Code:
"access_infinite_ammo"
By default, all humans get infinite ammo when cvar is enabled.

- This not speed up reloading, I have got lot of problem with those animations.
The idea is set Clip1 count to right size, so you can't start reload.

Plugin read weapons Clip1 default size, from items_game.txt file.

For now, only shooting reset clip count.
I have not much time to add more triggers like weapon switch etc. etc.
so the point its to change the value to make the guns shoot without reload
darkboss is offline
Bacardi
Veteran Member
Join Date: Jan 2010
Location: mom's basement
Old 02-02-2023 , 02:44   Re: [CSGO] how to fix this?
Reply With Quote #12

I may missunderstood 1st post, I'm not sure did you want infinite ammo ?

...or only fast reload?




*edit
I added reload part, this code is experiment.

It check client reload button, check ammo count from clip how fill it is,
then take reserve ammo into clip until reserve ammo are no left.

But again, this not speed up reload animation, when you empty your clip to zero.

PHP Code:


//    "items" -> "2" -> "prefab"        "weapon_elite_prefab"
//  "prefabs" -> "weapon_awp_prefab" -> "attributes" -> "primary clip size"        "30"


#define ITEMSGAMEFILE "scripts/items/items_game.txt"

#define ADMCOMMAND    "access_infinite_ammo" // admin access

#include <cstrike>

enum struct WpnInfo
{
    
ArrayList data;

    
int GetPrimaryClipSize(int itemdefinition)
    {
        if(
this.data == null)
            return -
1;

        
int index this.data.FindValue(itemdefinition0);
        
        if(
index == -1)
            return -
1;
        
        return 
this.data.Get(index1);
    }

    
void StorePrimaryClipSize(int itemdefinitionint size)
    {
        
int tmp[2];
        
tmp[0] = itemdefinition;
        
tmp[1] = size;

        if(
this.data != null)
            
this.data.PushArray(tmpsizeof(tmp));
    }
    
    
void CreateData()
    {
        if(
this.data == null)
            
this.data = new ArrayList(2);
        
        
this.data.Clear();
    }
}
WpnInfo wpninfo;


ConVar cvar;

public 
void OnPluginStart()
{
    
KeyValues items_game = new KeyValues("items_game");

    if(!
items_game.ImportFromFile(ITEMSGAMEFILE))
        
SetFailState("Couldn't import file %s"ITEMSGAMEFILE);

    
wpninfo.CreateData();


    
char key[250], value[100];
    
int itemdefinition = -1;
    
int clip = -1;

    for(
CSWeaponID id CSWeapon_NONEid CSWeapon_MAX_WEAPONSid++)
    {
        
itemdefinition = -1;
        
clip = -1;

        if(!
CS_IsValidWeaponID(id))
            continue;

        
itemdefinition CS_WeaponIDToItemDefIndex(id);

        
Format(keysizeof(key), "items/%i/prefab"itemdefinition);

        if(
items_game.JumpToKey(key))
        {
            
items_game.GetString(NULL_STRINGvaluesizeof(value), "-1");
            
items_game.GoBack();
        }

        
Format(keysizeof(key), "prefabs/%s/attributes/primary clip size"value);


        if(
items_game.JumpToKey(key))
        {
            
items_game.GetString(NULL_STRINGvaluesizeof(value), "-1");
            
items_game.GoBack();

            
clip StringToInt(value);
        }

        if(
clip == -1)
            continue;

        
//PrintToServer("itemdefinition %i, clip %i", itemdefinition, clip);
        
wpninfo.StorePrimaryClipSize(itemdefinitionclip);

    }

    
delete items_game;

    
cvar CreateConVar("sm_instant_reload""0""Should VIP get unlimited ammo?");

    
//HookEvent("weapon_fire", weapon_fire);
    //HookEvent("weapon_fire_on_empty", weapon_fire);
}

public 
void OnPlayerRunCmdPre(int clientint buttonsint impulse, const float vel[3], const float angles[3], int weaponint subtypeint cmdnumint tickcountint seed, const int mouse[2])
{
    if(!(
buttons IN_RELOAD))
    {
        return;
    }


    
int m_iPlayerState GetEntProp(clientProp_Send"m_iPlayerState");

    if(
m_iPlayerState)
        return;


    if(
wpninfo.data == null)
        return;

    
int activeweapon GetEntPropEnt(clientProp_Send"m_hActiveWeapon");

    if(
activeweapon == -1)
        return;


    
int AmmoIndex GetEntProp(activeweaponProp_Send"m_iPrimaryAmmoType");
        
    if(
AmmoIndex == -1)
        return;
        
    if(!
HasEntProp(activeweaponProp_Send"m_iPrimaryReserveAmmoCount"))
        return;

    
int AmmoCount GetEntProp(activeweaponProp_Send"m_iPrimaryReserveAmmoCount");

    if(
AmmoCount <= 0)
        return;

    
PrintToServer("\n%i"AmmoCount);

    if(!
HasEntProp(activeweaponProp_Send"m_iItemDefinitionIndex"))
        return;

    
int itemdefinition GetEntProp(activeweaponProp_Send"m_iItemDefinitionIndex");

    
int m_iClip1 GetEntProp(activeweaponProp_Send"m_iClip1");
    
int DefaultClipSize wpninfo.GetPrimaryClipSize(itemdefinition);

    if(
DefaultClipSize == -|| DefaultClipSize == m_iClip1)
        return;

    
int ClipAmmo DefaultClipSize m_iClip1;

    if(
ClipAmmo <= 0// error ?
        
return;

    
int Count AmmoCount ClipAmmo;

    if(
Count 0)
    {
        
SetEntProp(activeweaponProp_Send"m_iClip1"m_iClip1 ClipAmmo);
        
SetEntProp(activeweaponProp_Send"m_iPrimaryReserveAmmoCount"Count);
    }
    else
    {
        
SetEntProp(activeweaponProp_Send"m_iClip1"m_iClip1 AmmoCount);
        
SetEntProp(activeweaponProp_Send"m_iPrimaryReserveAmmoCount"0);
    }

    
SetEntProp(activeweaponProp_Send"m_bReloadVisuallyComplete"true); // maybe not supported, server side
    
SetEntPropFloat(activeweaponProp_Send"m_flNextPrimaryAttack"GetGameTime() + 0.1);
    
SetEntPropFloat(activeweaponProp_Send"m_flNextSecondaryAttack"GetGameTime() + 0.1);    

    
//m_bReloadVisuallyComplete

}

public 
void weapon_fire(Event event, const char[] namebool dontBroadcast)
{
    if(!
cvar.BoolValue)
        return;

    
int userid event.GetInt("userid");
    
int client GetClientOfUserId(userid);



    if(
IsFakeClient(client) || !CheckCommandAccess(clientADMCOMMAND0true))
        return;



    
int m_hActiveWeapon GetEntPropEnt(clientProp_Send"m_hActiveWeapon");

    if(!
HasEntProp(m_hActiveWeaponProp_Send"m_iItemDefinitionIndex"))
        return;

    if(
wpninfo.data == null)
        return;

    
int itemdefinition GetEntProp(m_hActiveWeaponProp_Send"m_iItemDefinitionIndex");

    
int m_iClip1 wpninfo.GetPrimaryClipSize(itemdefinition);

    
//PrintToServer("Client %N weapon %i GetPrimaryClipSize %i  itemdefinition %i", client, m_hActiveWeapon, m_iClip1, itemdefinition);

    
if(m_iClip1 != -1)
        
SetEntProp(m_hActiveWeaponProp_Send"m_iClip1"m_iClip1+1);

__________________
Do not Private Message @me

Last edited by Bacardi; 02-02-2023 at 18:29.
Bacardi is offline
darkboss
Member
Join Date: Mar 2020
Location: Street (Homeless)
Old 02-21-2023 , 19:49   Re: [CSGO] how to fix this?
Reply With Quote #13

Quote:
Originally Posted by Bacardi View Post
I may missunderstood 1st post, I'm not sure did you want infinite ammo ?

...or only fast reload?




*edit
I added reload part, this code is experiment.

It check client reload button, check ammo count from clip how fill it is,
then take reserve ammo into clip until reserve ammo are no left.

But again, this not speed up reload animation, when you empty your clip to zero.

PHP Code:


//    "items" -> "2" -> "prefab"        "weapon_elite_prefab"
//  "prefabs" -> "weapon_awp_prefab" -> "attributes" -> "primary clip size"        "30"


#define ITEMSGAMEFILE "scripts/items/items_game.txt"

#define ADMCOMMAND    "access_infinite_ammo" // admin access

#include <cstrike>

enum struct WpnInfo
{
    
ArrayList data;

    
int GetPrimaryClipSize(int itemdefinition)
    {
        if(
this.data == null)
            return -
1;

        
int index this.data.FindValue(itemdefinition0);
        
        if(
index == -1)
            return -
1;
        
        return 
this.data.Get(index1);
    }

    
void StorePrimaryClipSize(int itemdefinitionint size)
    {
        
int tmp[2];
        
tmp[0] = itemdefinition;
        
tmp[1] = size;

        if(
this.data != null)
            
this.data.PushArray(tmpsizeof(tmp));
    }
    
    
void CreateData()
    {
        if(
this.data == null)
            
this.data = new ArrayList(2);
        
        
this.data.Clear();
    }
}
WpnInfo wpninfo;


ConVar cvar;

public 
void OnPluginStart()
{
    
KeyValues items_game = new KeyValues("items_game");

    if(!
items_game.ImportFromFile(ITEMSGAMEFILE))
        
SetFailState("Couldn't import file %s"ITEMSGAMEFILE);

    
wpninfo.CreateData();


    
char key[250], value[100];
    
int itemdefinition = -1;
    
int clip = -1;

    for(
CSWeaponID id CSWeapon_NONEid CSWeapon_MAX_WEAPONSid++)
    {
        
itemdefinition = -1;
        
clip = -1;

        if(!
CS_IsValidWeaponID(id))
            continue;

        
itemdefinition CS_WeaponIDToItemDefIndex(id);

        
Format(keysizeof(key), "items/%i/prefab"itemdefinition);

        if(
items_game.JumpToKey(key))
        {
            
items_game.GetString(NULL_STRINGvaluesizeof(value), "-1");
            
items_game.GoBack();
        }

        
Format(keysizeof(key), "prefabs/%s/attributes/primary clip size"value);


        if(
items_game.JumpToKey(key))
        {
            
items_game.GetString(NULL_STRINGvaluesizeof(value), "-1");
            
items_game.GoBack();

            
clip StringToInt(value);
        }

        if(
clip == -1)
            continue;

        
//PrintToServer("itemdefinition %i, clip %i", itemdefinition, clip);
        
wpninfo.StorePrimaryClipSize(itemdefinitionclip);

    }

    
delete items_game;

    
cvar CreateConVar("sm_instant_reload""0""Should VIP get unlimited ammo?");

    
//HookEvent("weapon_fire", weapon_fire);
    //HookEvent("weapon_fire_on_empty", weapon_fire);
}

public 
void OnPlayerRunCmdPre(int clientint buttonsint impulse, const float vel[3], const float angles[3], int weaponint subtypeint cmdnumint tickcountint seed, const int mouse[2])
{
    if(!(
buttons IN_RELOAD))
    {
        return;
    }


    
int m_iPlayerState GetEntProp(clientProp_Send"m_iPlayerState");

    if(
m_iPlayerState)
        return;


    if(
wpninfo.data == null)
        return;

    
int activeweapon GetEntPropEnt(clientProp_Send"m_hActiveWeapon");

    if(
activeweapon == -1)
        return;


    
int AmmoIndex GetEntProp(activeweaponProp_Send"m_iPrimaryAmmoType");
        
    if(
AmmoIndex == -1)
        return;
        
    if(!
HasEntProp(activeweaponProp_Send"m_iPrimaryReserveAmmoCount"))
        return;

    
int AmmoCount GetEntProp(activeweaponProp_Send"m_iPrimaryReserveAmmoCount");

    if(
AmmoCount <= 0)
        return;

    
PrintToServer("\n%i"AmmoCount);

    if(!
HasEntProp(activeweaponProp_Send"m_iItemDefinitionIndex"))
        return;

    
int itemdefinition GetEntProp(activeweaponProp_Send"m_iItemDefinitionIndex");

    
int m_iClip1 GetEntProp(activeweaponProp_Send"m_iClip1");
    
int DefaultClipSize wpninfo.GetPrimaryClipSize(itemdefinition);

    if(
DefaultClipSize == -|| DefaultClipSize == m_iClip1)
        return;

    
int ClipAmmo DefaultClipSize m_iClip1;

    if(
ClipAmmo <= 0// error ?
        
return;

    
int Count AmmoCount ClipAmmo;

    if(
Count 0)
    {
        
SetEntProp(activeweaponProp_Send"m_iClip1"m_iClip1 ClipAmmo);
        
SetEntProp(activeweaponProp_Send"m_iPrimaryReserveAmmoCount"Count);
    }
    else
    {
        
SetEntProp(activeweaponProp_Send"m_iClip1"m_iClip1 AmmoCount);
        
SetEntProp(activeweaponProp_Send"m_iPrimaryReserveAmmoCount"0);
    }

    
SetEntProp(activeweaponProp_Send"m_bReloadVisuallyComplete"true); // maybe not supported, server side
    
SetEntPropFloat(activeweaponProp_Send"m_flNextPrimaryAttack"GetGameTime() + 0.1);
    
SetEntPropFloat(activeweaponProp_Send"m_flNextSecondaryAttack"GetGameTime() + 0.1);    

    
//m_bReloadVisuallyComplete

}

public 
void weapon_fire(Event event, const char[] namebool dontBroadcast)
{
    if(!
cvar.BoolValue)
        return;

    
int userid event.GetInt("userid");
    
int client GetClientOfUserId(userid);



    if(
IsFakeClient(client) || !CheckCommandAccess(clientADMCOMMAND0true))
        return;



    
int m_hActiveWeapon GetEntPropEnt(clientProp_Send"m_hActiveWeapon");

    if(!
HasEntProp(m_hActiveWeaponProp_Send"m_iItemDefinitionIndex"))
        return;

    if(
wpninfo.data == null)
        return;

    
int itemdefinition GetEntProp(m_hActiveWeaponProp_Send"m_iItemDefinitionIndex");

    
int m_iClip1 wpninfo.GetPrimaryClipSize(itemdefinition);

    
//PrintToServer("Client %N weapon %i GetPrimaryClipSize %i  itemdefinition %i", client, m_hActiveWeapon, m_iClip1, itemdefinition);

    
if(m_iClip1 != -1)
        
SetEntProp(m_hActiveWeaponProp_Send"m_iClip1"m_iClip1+1);

yes i only want just fast reload plugin ... if its possible to help me with this its ok.. if not that's it
darkboss is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 19:04.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode