Raised This Month: $51 Target: $400
 12% 

[HELP] Hamsandwich -> Fakemeta


Post New Thread Reply   
 
Thread Tools Display Modes
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 01-15-2010 , 19:08   Re: [HELP] Hamsandwich -> Fakemeta
Reply With Quote #11

I don't understand you. I've tested, and it reloads as it should do, otherwise you won't shoot 2 or 3 times more instead of one. The problem now the reload animation which is overwritten by the attack animation since it reloads too fast.

EDIT : You say me it works fine in normal Severian mod, but I've tried and all I see is until you keep the attack the reload is the original, once you release, it will speed up the reload. I think it's nice this way, after all it reloads so fast it doesn't matter.

EDIT2: I've seen what you want. The first code is good, just need to fix animation.
__________________

Last edited by Arkshine; 01-15-2010 at 19:59.
Arkshine is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 01-16-2010 , 09:50   Re: [HELP] Hamsandwich -> Fakemeta
Reply With Quote #12

Try this one:

Code:
#include <amxmodx> #include <fakemeta> #include <hamsandwich> /* WEAPONS HL OFFSETS */     const m_pPlayer               = 28     const m_flPumptime            = 33;     const m_fInSpecialReload      = 34;     const m_flNextPrimaryAttack   = 35;     const m_flNextSecondaryAttack = 36;     const m_flTimeWeaponIdle      = 37;     const m_iClip                 = 40;     /* PLAYER HL OFFSETS */     const m_flNextAttack   = 148;     const m_rgAmmo_Shotgun = 310;     /* CONSTANTS */     new const gShotgunClassname[] = "weapon_shotgun";     const SHOTGUN_MAX_CLIP     = 8;     const LINUX_OFFSET_WEAPONS = 4;     // Multiplier.     const Float:SHOTGUN_PRIMARY_FIRERATE   = 0.75// 25% faster.     const Float:SHOTGUN_SECONDARY_FIRERATE = 0.50// 50% faster.     const Float:SHOTGUN_RELOAD_RATE        = 0.30// 70% faster.         /* MACROS */         #define GetPlayerBpAmmo(%1)           ( get_pdata_int  ( %1, m_rgAmmo_Shotgun ) )         #define GetNextPrimaryAttack(%1)      ( get_pdata_float( %1, m_flNextPrimaryAttack  , LINUX_OFFSET_WEAPONS ) )     #define GetNextSecondaryAttack(%1)    ( get_pdata_float( %1, m_flNextSecondaryAttack, LINUX_OFFSET_WEAPONS ) )     #define GetNextTimeWeaponIdle(%1)     ( get_pdata_float( %1, m_flTimeWeaponIdle     , LINUX_OFFSET_WEAPONS ) )     #define GetNextAttack(%1)             ( get_pdata_float( %1, m_flNextAttack         , LINUX_OFFSET_WEAPONS ) )     #define GetNextPumpTime(%1)           ( get_pdata_float( %1, m_flPumptime           , LINUX_OFFSET_WEAPONS ) )     #define GetSpecialReload(%1)          ( get_pdata_int  ( %1, m_fInSpecialReload     , LINUX_OFFSET_WEAPONS ) )     #define GetWeaponClip(%1)             ( get_pdata_int  ( %1, m_iClip                , LINUX_OFFSET_WEAPONS ) )         #define SetNextPrimaryAttack(%1,%2)   ( set_pdata_float( %1, m_flNextPrimaryAttack  , %2, LINUX_OFFSET_WEAPONS ) )     #define SetNextSecondaryAttack(%1,%2) ( set_pdata_float( %1, m_flNextSecondaryAttack, %2, LINUX_OFFSET_WEAPONS ) )     #define SetNextTimeWeaponIdle(%1,%2)  ( set_pdata_float( %1, m_flTimeWeaponIdle     , %2, LINUX_OFFSET_WEAPONS ) )     #define SetNextAttack(%1,%2)          ( set_pdata_float( %1, m_flNextAttack         , %2, LINUX_OFFSET_WEAPONS ) )     #define SetNextPumpTime(%1,%2)        ( set_pdata_float( %1, m_flPumptime           , %2, LINUX_OFFSET_WEAPONS ) )           public plugin_init() {     register_plugin( "Shotgun Reload/Fire Rate", "1.0.0", "Arkshine" );     RegisterHam( Ham_Weapon_PrimaryAttack  , gShotgunClassname, "Shotgun_PrimaryAttack"  , 1 );     RegisterHam( Ham_Weapon_SecondaryAttack, gShotgunClassname, "Shotgun_SecondaryAttack", 1 );     RegisterHam( Ham_Weapon_Reload         , gShotgunClassname, "Shotgun_Reload", 1 ); } public Shotgun_PrimaryAttack ( const shotgun ) {     SetNextPrimaryAttack  ( shotgun, GetNextPrimaryAttack  ( shotgun ) * SHOTGUN_PRIMARY_FIRERATE );     SetNextSecondaryAttack( shotgun, GetNextSecondaryAttack( shotgun ) * SHOTGUN_SECONDARY_FIRERATE );         if ( !GetWeaponClip( shotgun ) )     {         SetNextTimeWeaponIdle( shotgun, GetNextTimeWeaponIdle( shotgun ) * SHOTGUN_PRIMARY_FIRERATE );     }     else     {         SetNextPumpTime( shotgun, GetNextPumpTime( shotgun ) * SHOTGUN_PRIMARY_FIRERATE );     } } public Shotgun_SecondaryAttack ( const shotgun ) {     const Float:SHOTGUN_SWITCH_ATTACK_RATE = 0.40;         SetNextPrimaryAttack  ( shotgun, SHOTGUN_SWITCH_ATTACK_RATE );     SetNextSecondaryAttack( shotgun, GetNextSecondaryAttack( shotgun ) * SHOTGUN_SECONDARY_FIRERATE );         if ( !GetWeaponClip( shotgun ) )     {         SetNextTimeWeaponIdle( shotgun, GetNextTimeWeaponIdle( shotgun ) * SHOTGUN_SECONDARY_FIRERATE );     }     else     {         SetNextPumpTime( shotgun, GetNextPumpTime( shotgun ) * SHOTGUN_SECONDARY_FIRERATE );     } } public Shotgun_Reload ( const shotgun ) {     new player = get_pdata_cbase( shotgun, m_pPlayer );         if ( GetPlayerBpAmmo( player ) <= 0 || GetWeaponClip( shotgun ) == SHOTGUN_MAX_CLIP )     {         return;     }     switch ( GetSpecialReload( shotgun ) )     {         case 1 :         {             SetNextAttack( player, GetNextAttack( player ) * SHOTGUN_RELOAD_RATE );                         SetNextTimeWeaponIdle ( shotgun, GetNextTimeWeaponIdle ( shotgun ) * SHOTGUN_RELOAD_RATE );             SetNextPrimaryAttack  ( shotgun, GetNextPrimaryAttack  ( shotgun ) * SHOTGUN_RELOAD_RATE );             SetNextSecondaryAttack( shotgun, GetNextSecondaryAttack( shotgun ) * SHOTGUN_RELOAD_RATE );         }         case 2 :         {             SetNextTimeWeaponIdle( shotgun, GetNextTimeWeaponIdle( shotgun ) * SHOTGUN_RELOAD_RATE );         }     } }

Like I've said you, the speed is adjusted to the animation duration, otherwise if you speed up too much the animation can not be showed.
By comparing on a server with severian's mod, the most accurate value would be : primary = 25% faster, secondary = 50% faster, reload = 70% faster.

You can note that when you keep the secondary attack while reloading on the server with severian's mod, you don't see the attack nor the sound. With my plugin it works instead.
__________________

Last edited by Arkshine; 01-16-2010 at 13:15.
Arkshine is offline
Old 01-16-2010, 12:00
Seta00
This message has been deleted by Seta00.
ujjl
Senior Member
Join Date: Jul 2009
Location: Hungary
Old 01-17-2010 , 12:27   Re: [HELP] Hamsandwich -> Fakemeta
Reply With Quote #13

Solved the 2 bug:

PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

/* WEAPONS HL OFFSETS */

    
const m_pPlayer               28
    
const m_flPumpTime            33;
    const 
m_fInSpecialReload      34;
    const 
m_flNextPrimaryAttack   35;
    const 
m_flNextSecondaryAttack 36;
    const 
m_flTimeWeaponIdle      37;
    const 
m_iClip                 40;
    const 
m_flNextReload          46
    
    
new vm_iClip[33]
    new 
vm_fInSpecialReload[33]
    
/* PLAYER HL OFFSETS */

    
const m_flNextAttack   148;
    const 
m_rgAmmo_Shotgun 310;

/* CONSTANTS */

    
new const gShotgunClassname[] = "weapon_shotgun";

public 
plugin_init()
{
    
register_plugin"Sev Shotgun Phisics""0.9.0""ujjl" );

    
RegisterHamHam_Weapon_PrimaryAttack  gShotgunClassname"Shotgun_PrimaryAttack_Pre"  );
    
RegisterHamHam_Weapon_PrimaryAttack  gShotgunClassname"Shotgun_PrimaryAttack"  );
    
RegisterHamHam_Weapon_SecondaryAttackgShotgunClassname"Shotgun_SecondaryAttack_Pre");
    
RegisterHamHam_Weapon_SecondaryAttackgShotgunClassname"Shotgun_SecondaryAttack");
    
RegisterHamHam_Weapon_Reload         gShotgunClassname"Shotgun_Reload_Pre");
    
RegisterHamHam_Weapon_Reload         gShotgunClassname"Shotgun_Reload");
}

public 
Shotgun_PrimaryAttack_Pre ( const iEntity )
{
    new 
iPlayer get_pdata_cbase(iEntitym_pPlayer4)
    
vm_iClip[iPlayer] = get_pdata_int(iEntity,m_iClip,4)
}
public 
Shotgun_PrimaryAttack ( const iEntity )
{
    new 
iPlayer get_pdata_cbase(iEntitym_pPlayer4)
    
    if (
vm_iClip[iPlayer] <= 0)
        return
    
    
//if ( get_pdata_int(iEntity,m_iClip,4) != 0)
    //    set_pdata_float(iEntity,m_flPumpTime,??,4)
    
    
set_pdata_float(iEntity,m_flNextPrimaryAttack,0.6,4)
    
set_pdata_float(iEntity,m_flNextSecondaryAttack,0.6,4)
    
    if ( 
get_pdata_int(iEntity,m_iClip,4) != )
        
set_pdata_float(iEntity,m_flTimeWeaponIdle,2.0,4)
    else
        
set_pdata_float(iEntity,m_flTimeWeaponIdle,0.3)
}

public 
Shotgun_SecondaryAttack_Pre ( const iEntity )
{
    new 
iPlayer get_pdata_cbase(iEntitym_pPlayer4)
    
vm_iClip[iPlayer] = get_pdata_int(iEntity,m_iClip,4)
}

public 
Shotgun_SecondaryAttack ( const iEntity )
{
    new 
iPlayer get_pdata_cbase(iEntitym_pPlayer4)
    
    if (
vm_iClip[iPlayer] <= 1)
        return
        
    
//if ( get_pdata_int(iEntity,m_iClip,4) != 0)
    //    set_pdata_float(iEntity,m_flPumpTime,??,4)
    
    
    
set_pdata_float(iEntity,m_flNextPrimaryAttack,0.4,4)
    
set_pdata_float(iEntity,m_flNextSecondaryAttack,0.8,4)
    
    if ( 
get_pdata_int(iEntity,m_iClip,4) != )
        
set_pdata_float(iEntity,m_flTimeWeaponIdle,3.0,4)
    else
        
set_pdata_float(iEntity,m_flTimeWeaponIdle,0.85)
    
}

public 
Shotgun_Reload_Pre ( const iEntity )
{
    new 
iPlayer get_pdata_cbase(iEntitym_pPlayer4)
    
vm_fInSpecialReload[iPlayer] = get_pdata_int(iEntity,m_fInSpecialReload,4)
    
}
public 
Shotgun_Reload ( const iEntity )
{
    new 
iPlayer get_pdata_cbase(iEntitym_pPlayer4)
    
    if (
vm_fInSpecialReload[iPlayer] == && get_pdata_int(iEntitym_fInSpecialReload4) == 1
    { 
        
set_pdata_float(iPlayer,m_flNextAttack0.3 ,5)
        
set_pdata_float(iEntity,m_flTimeWeaponIdle0.1 ,4)
        
set_pdata_float(iEntity,m_flNextPrimaryAttack,0.4,4)
        
set_pdata_float(iEntity,m_flNextSecondaryAttack,0.5,4)
        
    }
    
    if (
vm_fInSpecialReload[iPlayer] == && get_pdata_int(iEntitym_fInSpecialReload4)==)
    { 
        
set_pdata_float(iEntity,m_flNextReload,0.25,4)
        
set_pdata_float(iEntity,m_flTimeWeaponIdle,0.1,4)
    }

__________________
- blupi blupi
ujjl is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 01-17-2010 , 13:34   Re: [HELP] Hamsandwich -> Fakemeta
Reply With Quote #14

Shame on me to not have seen I would need to check also the clip. Nice you find the right value by hooking them under the severian's mod. I was not thought it could be so different.

Here a modified version, you forget to add some linux offsets, removed m_flNextReload because not used, do some minor optimizations ( switch + vars using less memory )

Code:
#include <amxmodx> #include <fakemeta> #include <hamsandwich> /* WEAPONS HL OFFSETS */     const m_pPlayer               = 28     const m_flPumptime            = 33;     const m_fInSpecialReload      = 34;     const m_flNextPrimaryAttack   = 35;     const m_flNextSecondaryAttack = 36;     const m_flTimeWeaponIdle      = 37;     const m_iClip                 = 40; /* PLAYER HL OFFSETS */     const m_flNextAttack   = 148;  /* CONSTANTS */     new const gShotgunClassname[] = "weapon_shotgun";     const MAX_CLIENTS          = 32;     const LINUX_OFFSET_WEAPONS = 4; /* VARIABLES */     new gOldClip         [ MAX_CLIENTS + 1 char ];     new gOldSpecialReload[ MAX_CLIENTS + 1 char ]; public plugin_init() {     register_plugin( "Shotgun Reload/Fire Rate", "1.0.0", "Arkshine" );     RegisterHam( Ham_Weapon_PrimaryAttack  , gShotgunClassname, "Shotgun_PrimaryAttack_Pre" , 0 );     RegisterHam( Ham_Weapon_PrimaryAttack  , gShotgunClassname, "Shotgun_PrimaryAttack_Post", 1 );     RegisterHam( Ham_Weapon_SecondaryAttack, gShotgunClassname, "Shotgun_SecondaryAttack_Pre" , 0 );     RegisterHam( Ham_Weapon_SecondaryAttack, gShotgunClassname, "Shotgun_SecondaryAttack_Post", 1 );     RegisterHam( Ham_Weapon_Reload         , gShotgunClassname, "Shotgun_Reload_Pre" , 0 );     RegisterHam( Ham_Weapon_Reload         , gShotgunClassname, "Shotgun_Reload_Post", 1 ); } public Shotgun_PrimaryAttack_Pre ( const shotgun ) {     new player = get_pdata_cbase( shotgun, m_pPlayer, LINUX_OFFSET_WEAPONS );     gOldClip{ player } = get_pdata_int( shotgun, m_iClip, LINUX_OFFSET_WEAPONS ); } public Shotgun_PrimaryAttack_Post ( const shotgun ) {     new player = get_pdata_cbase( shotgun, m_pPlayer, LINUX_OFFSET_WEAPONS );     if ( gOldClip{ player } <= 0 )     {         return;     }     set_pdata_float( shotgun, m_flNextPrimaryAttack  , 0.6, LINUX_OFFSET_WEAPONS );     set_pdata_float( shotgun, m_flNextSecondaryAttack, 0.6, LINUX_OFFSET_WEAPONS );     if ( get_pdata_int( shotgun, m_iClip, LINUX_OFFSET_WEAPONS ) != 0 )     {         set_pdata_float( shotgun, m_flTimeWeaponIdle, 2.0, LINUX_OFFSET_WEAPONS );     }     else     {         set_pdata_float( shotgun, m_flTimeWeaponIdle, 0.3, LINUX_OFFSET_WEAPONS );     } } public Shotgun_SecondaryAttack_Pre ( const shotgun ) {     new player = get_pdata_cbase( shotgun, m_pPlayer, LINUX_OFFSET_WEAPONS );     gOldClip{ player } = get_pdata_int( shotgun, m_iClip, LINUX_OFFSET_WEAPONS ); } public Shotgun_SecondaryAttack_Post ( const shotgun ) {     new player = get_pdata_cbase( shotgun, m_pPlayer, LINUX_OFFSET_WEAPONS );     if ( gOldClip{ player } <= 1 )     {         return;     }     set_pdata_float( shotgun, m_flNextPrimaryAttack  , 0.4, LINUX_OFFSET_WEAPONS );     set_pdata_float( shotgun, m_flNextSecondaryAttack, 0.8, LINUX_OFFSET_WEAPONS );     if ( get_pdata_int( shotgun, m_iClip, LINUX_OFFSET_WEAPONS ) != 0 )     {         set_pdata_float( shotgun, m_flTimeWeaponIdle, 3.0, LINUX_OFFSET_WEAPONS );     }     else     {         set_pdata_float( shotgun, m_flTimeWeaponIdle, 0.85, LINUX_OFFSET_WEAPONS );     } } public Shotgun_Reload_Pre ( const shotgun ) {     new player = get_pdata_cbase( shotgun, m_pPlayer, LINUX_OFFSET_WEAPONS );     gOldSpecialReload{ player } = get_pdata_int( shotgun, m_fInSpecialReload, LINUX_OFFSET_WEAPONS ); } public Shotgun_Reload_Post ( const shotgun ) {     new player = get_pdata_cbase( shotgun, m_pPlayer, LINUX_OFFSET_WEAPONS );     switch ( gOldSpecialReload{ player } )     {         case 0 :         {             if ( get_pdata_int( shotgun, m_fInSpecialReload, LINUX_OFFSET_WEAPONS ) == 1 )             {                 set_pdata_float( player , m_flNextAttack, 0.3 );                 set_pdata_float( shotgun, m_flTimeWeaponIdle     , 0.1, LINUX_OFFSET_WEAPONS );                 set_pdata_float( shotgun, m_flNextPrimaryAttack  , 0.4, LINUX_OFFSET_WEAPONS );                 set_pdata_float( shotgun, m_flNextSecondaryAttack, 0.5, LINUX_OFFSET_WEAPONS );             }         }         case 1 :         {             if ( get_pdata_int( shotgun, m_fInSpecialReload, LINUX_OFFSET_WEAPONS ) == 2 )             {                 set_pdata_float( shotgun, m_flTimeWeaponIdle, 0.1, LINUX_OFFSET_WEAPONS );             }         }     } }
__________________

Last edited by Arkshine; 01-17-2010 at 14:43.
Arkshine is offline
OneEyedJacks
Junior Member
Join Date: Feb 2021
Old 09-08-2021 , 03:55   Re: [HELP] Hamsandwich -> Fakemeta
Reply With Quote #15

Would anyone be able to assist with figuring out how this would work with Opposing Force. I believe that we have identified the offsets as listed below. However this only causes the shotgun ammo to stay constantly at 8 and the ammo be taken directly from the bag, so essentially a never reloading shotgun, which is great fun, however I would prefer the fast shotgun/fast reload. I should mention that I have tried this on AMXX 1.8.2 and above, so I don't think it matters which version of AMXX one is using, could be to do with Opposing Force.

Any ideas, or perhaps a nudge in the right direction would be greatly appreciated.

The offsets that have been identified for opposing force are as follows.

const m_pPlayer = 31
const m_flPumptime = 79;
const m_fInSpecialReload = 55;
const m_flNextPrimaryAttack = 46;
const m_flNextSecondaryAttack = 47;
const m_flTimeWeaponIdle = 48;
const m_iClip = 43;
const m_flNextAttack = 45;
__________________
Let's make Op4 great again! https://www.oneeyedjacks.uk

Last edited by OneEyedJacks; 09-08-2021 at 03:57.
OneEyedJacks is offline
ujjl
Senior Member
Join Date: Jul 2009
Location: Hungary
Old 09-08-2021 , 05:32   Re: [HELP] Hamsandwich -> Fakemeta
Reply With Quote #16

Quote:
Originally Posted by OneEyedJacks View Post
Would anyone be able to assist with figuring out how this would work with Opposing Force. I believe that we have identified the offsets as listed below. However this only causes the shotgun ammo to stay constantly at 8 and the ammo be taken directly from the bag, so essentially a never reloading shotgun, which is great fun, however I would prefer the fast shotgun/fast reload. I should mention that I have tried this on AMXX 1.8.2 and above, so I don't think it matters which version of AMXX one is using, could be to do with Opposing Force.

Any ideas, or perhaps a nudge in the right direction would be greatly appreciated.

The offsets that have been identified for opposing force are as follows.

const m_pPlayer = 31
const m_flPumptime = 79;
const m_fInSpecialReload = 55;
const m_flNextPrimaryAttack = 46;
const m_flNextSecondaryAttack = 47;
const m_flTimeWeaponIdle = 48;
const m_iClip = 43;
const m_flNextAttack = 45;
Not sure how you inferred these offsets, try these:
PHP Code:
const m_flPumptime            36;
const 
m_fInSpecialReload      37;
const 
m_flNextPrimaryAttack   38;
const 
m_flNextSecondaryAttack 39;
const 
m_flTimeWeaponIdle      40;
const 
m_flNextAttack   151
__________________
- blupi blupi

Last edited by ujjl; 09-08-2021 at 05:34.
ujjl is offline
OneEyedJacks
Junior Member
Join Date: Feb 2021
Old 09-09-2021 , 06:40   Re: [HELP] Hamsandwich -> Fakemeta
Reply With Quote #17

Fantastic ujjl, you have solved the case. Thank you very much, I am very grateful that you took the time to reply to this. I have spent far to long trying to find the correct offsets for this, I have searched the internet, I have tried inputting them one number at a time and had very little success. May I ask where you found these or do you just happen to know them, as I do have some other offsets that I am trying to figure out.
__________________
Let's make Op4 great again! https://www.oneeyedjacks.uk
OneEyedJacks is offline
ujjl
Senior Member
Join Date: Jul 2009
Location: Hungary
Old 09-09-2021 , 09:31   Re: [HELP] Hamsandwich -> Fakemeta
Reply With Quote #18

Quote:
Originally Posted by OneEyedJacks View Post
Fantastic ujjl, you have solved the case. Thank you very much, I am very grateful that you took the time to reply to this. I have spent far to long trying to find the correct offsets for this, I have searched the internet, I have tried inputting them one number at a time and had very little success. May I ask where you found these or do you just happen to know them, as I do have some other offsets that I am trying to figure out.
Hello,

There is amxx dev build 1.9.x, https://www.amxmodx.org/downloads-new.php
There is a feature in 1.9.x to query the correct offset from config file, instead of defining it as constant, still the info is there. Just download the latest build, and check zip contents:
amxmodx-1.9.0-git5285-base-windows.zip\addons\amxmodx\data\gamedata\comm on.games\entities.games\gearbox\

You have to divide the numbers in the config files by 4 for int and float types, as they are byte offsets, and int and float is 4 bytes. The correct offsets for windows and mac is also present there.
__________________
- blupi blupi
ujjl is offline
OneEyedJacks
Junior Member
Join Date: Feb 2021
Old 09-09-2021 , 09:33   Re: [HELP] Hamsandwich -> Fakemeta
Reply With Quote #19

Excellent, thank you for this update and taking the time to answer my queries. This is extremely appreciated.
__________________
Let's make Op4 great again! https://www.oneeyedjacks.uk
OneEyedJacks is offline
HLM
Senior Member
Join Date: Apr 2008
Location: C:\WINDOWS\System32
Old 09-09-2021 , 09:34   Re: [HELP] Hamsandwich -> Fakemeta
Reply With Quote #20

Quote:
Originally Posted by OneEyedJacks View Post
Fantastic ujjl, you have solved the case. Thank you very much, I am very grateful that you took the time to reply to this. I have spent far to long trying to find the correct offsets for this, I have searched the internet, I have tried inputting them one number at a time and had very little success. May I ask where you found these or do you just happen to know them, as I do have some other offsets that I am trying to figure out.
I am terribly afraid that the answer is going to be the same method I have used when I needed to learn about entity private data.. 'amx_dumppvdata'

https://forums.alliedmods.net/showpo...0&postcount=10

I have since since moved on to using the gamedata folder shipped with AMXX, sometimes the names make no sense however and you will still need to dump the data and just figure out what is what.

https://github.com/alliedmodders/amx...a/common.games
__________________
+|- KARMA Respectively

HLM is offline
Reply



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 13:10.


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