I don't know why the output of iArmValue is always 18..
Code:
enum _:WeaponData
{
Weapon_ArmName,
Float:Weapon_Origin
[ 3 ]
}
enum
{
ARM_MP5,
//0
ARM_TMP,
ARM_P90,
ARM_MAC10,
ARM_AK47,
ARM_SG552,
ARM_M4A1,
ARM_AUG,
ARM_SCOUT,
ARM_G3SG1,
ARM_AWP,
ARM_M3,
ARM_XM1014,
ARM_M249,
ARM_FLASHBANG,
ARM_HEGRENADE,
ARM_KEVLAR,
ARM_ASSAULT,
ARM_SMOKEGRENADE
//18
}
new const g_szValues
[ ][ ] =
{
"ARM_MP5",
"ARM_TMP",
"ARM_P90",
"ARM_MAC10",
"ARM_AK47",
"ARM_SG552",
"ARM_M4A1",
"ARM_AUG",
"ARM_SCOUT",
"ARM_G3SG1",
"ARM_AWP",
"ARM_M3",
"ARM_XM1014",
"ARM_M249",
"ARM_FLASHBANG",
"ARM_HEGRENADE",
"ARM_KEVLAR",
"ARM_ASSAULT",
"ARM_SMOKEGRENADE"
}
new g_iWeapons
[ WeaponData
];
new Array:g_aWeaponData;
new Trie:g_tWeaponTrie;
public plugin_init
( )
{
g_aWeaponData = ArrayCreate
( WeaponData
);
g_tWeaponTrie = TrieCreate
( );
for( new i; i < sizeof g_szValues; i++
)
{
for( new iValue=ARM_MP5; iValue <= ARM_SMOKEGRENADE; iValue++
)
{
TrieSetCell
( g_tWeaponTrie, g_szValues
[ i
], iValue
);
}
}
ReadFile
( );
}
public ReadFile
( )
{
new szConfigs
[ 32 ], szFormat
[ 64 ], szWeaponData
[ 256 ], szWeaponArmName
[ 32 ], szWeaponOrigin
[ 40 ], szOrigin1
[ 12 ], szOrigin2
[ 12 ], szOrigin3
[ 12 ];
get_configsdir( szConfigs, charsmax
( szConfigs
) ) ;
formatex
( szFormat, charsmax
( szFormat
),
"%s/SavedCoordinates.txt", szConfigs
) ;
new iFile =
fopen( szFormat,
"r" ) ;
if( iFile
) {
while( !
feof( iFile
) ) {
fgets( iFile, szWeaponData, charsmax
( szWeaponData
) ) ;
trim( szWeaponData
) ;
parse( szWeaponData, szWeaponArmName, charsmax
( szWeaponArmName
), szWeaponOrigin, charsmax
( szWeaponOrigin
) );
parse( szWeaponOrigin, szOrigin1, charsmax
( szOrigin1
), szOrigin2, charsmax
( szOrigin2
), szOrigin3, charsmax
( szOrigin3
) )
new iArmValue;
if( TrieGetCell
( g_tWeaponTrie, szWeaponArmName, iArmValue
) )
{
log_to_file( "Test2.txt", "szWeaponArmName: %s | iArmValue: %d", szWeaponArmName, iArmValue );
g_iWeapons
[ Weapon_ArmName
] = iArmValue;
g_iWeapons
[ Weapon_Origin
][ 0 ] = _:
str_to_float( szOrigin1
);
g_iWeapons
[ Weapon_Origin
][ 1 ] = _:
str_to_float( szOrigin2
);
g_iWeapons
[ Weapon_Origin
][ 2 ] = _:
str_to_float( szOrigin3
);
ArrayPushArray
( g_aWeaponData, g_iWeapons
);
}
}
fclose( iFile
) ;
}
}