| Fuck For Fun |
06-07-2019 06:32 |
Re: Invalid cellvector
I understood the intent of ArrayCreate, but did not understand in terms of ordering where
Short EX :
PHP Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
enum _:enumGangPlayer
{
playerGangName[ 32 ],
playerGangAuthid[ 35 ],
playerGangId,
playerGangRole,
playerGangDonation,
playerGangReqeust
}
enum _:enumGang
{
gangUpgradeMemeber,
gangUpgradeStealing,
gangUpgradeMessanger,
gangUpgradeHealthRegen,
gangId,
gangName[ 32 ],
gangBank,
gangRequests,
gangMembers,
gangColor,
gangLevel
}
new g_arrayGangPlayer[ 33 ][ enumGangPlayer ];
new Array:g_arrayGang;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
g_arrayPlayer = ArrayCreate( enumGangPlayer );
g_arrayGang = ArrayCreate( enumGang );
CmdLoadGangs();
}
public CmdLoadGangs()
{
new intTotal = fvault_size( strGangVault );
new strGangName[ 32 ], strGangData[ 256 ], strNum[ 10 ], strName[ 32 ];
static data[ enumGang ];
for( new i = 0; i < intTotal; i++ )
{
fvault_get_keyname( strGangVault, i, strGangName, charsmax( strGangName ));
fvault_get_data( strGangVault, strGangName, strGangData, charsmax( strGangData ) );
if( strlen( strGangName ) )
{
copy( data[ gangName ], 31, strGangName );// copy name
strbreak( strGangData, strNum, charsmax( strNum ), strGangData, charsmax( strGangData ) );
data[ gangBank ] = str_to_num( strNum );
strbreak( strGangData, strNum, charsmax( strNum ), strGangData, charsmax( strGangData ) );
data[ gangColor ] = str_to_num( strNum );
strbreak( strGangData, strNum, charsmax( strNum ), strGangData, charsmax( strGangData ) );
data[ gangUpgradeMemeber ] = str_to_num( strNum );
strbreak( strGangData, strNum, charsmax( strNum ), strGangData, charsmax( strGangData ) );
data[ gangUpgradeStealing ] = str_to_num( strNum );
strbreak( strGangData, strNum, charsmax( strNum ), strGangData, charsmax( strGangData ) );
data[ gangUpgradeMessanger ] = str_to_num( strNum );
strbreak( strGangData, strNum, charsmax( strNum ), strGangData, charsmax( strGangData ) );
data[ gangUpgradeHealthRegen ] = str_to_num( strNum );
strbreak( strGangData, strNum, charsmax( strNum ), strGangData, charsmax( strGangData ) );
data[ gangLevel ] = str_to_num( strNum );
data[ gangId ] = g_intGangTotal
TrieSetCell( g_trieGang, data[ gangName ], data[ gangId ] );
ArrayPushArray( g_arrayGang, data );
g_intGangTotal++;
copy( g_aColors[ data[ gangColor ] ], 32, data[ gangName ] );
}
}
intTotal = fvault_size( strPlayerVault );
static pData[ enumGangPlayer ];
for( new i = 0; i < intTotal; i++ )
{
fvault_get_keyname( strPlayerVault, i, strGangName, charsmax( strGangName ) );
fvault_get_data( strPlayerVault, strGangName, strGangData, charsmax( strGangData ));
copy( pData[ playerGangAuthid ], 34, strGangName );
strbreak( strGangData, strName, charsmax( strName ), strGangData, charsmax( strGangData ) );
copy( pData[ playerGangName ], 31, strName );
strbreak( strGangData, strNum, charsmax( strNum ), strGangData, charsmax( strGangData ) );
pData[ playerGangId ] = str_to_num( strNum );
strbreak( strGangData, strNum, charsmax( strNum ), strGangData, charsmax( strGangData ) );
pData[ playerGangRole ] = str_to_num( strNum );
strbreak( strGangData, strNum, charsmax( strNum ), strGangData, charsmax( strGangData ) );
pData[ playerGangDonation ] = str_to_num( strNum );
strbreak( strGangData, strNum, charsmax( strNum ), strGangData, charsmax( strGangData ) );
pData[ playerGangReqeust ] = str_to_num( strNum );
if( pData[ playerGangId ] != -1 )
{
ArrayGetArray( g_arrayGang, pData[ playerGangId ], data ); //here the error Run time error 10: native error (native "ArrayGetArray")
data[ gangMembers ]++;
ArraySetArray( g_arrayGang, pData[ playerGangId ], data );
}
else
{
if( pData[ playerGangReqeust ] != -1 )
{
ArrayGetArray( g_arrayGang, pData[ playerGangReqeust ], data );
data[ gangRequests ]++;
ArraySetArray( g_arrayGang, pData[ playerGangReqeust ], data );
}
}
TrieSetCell( g_triePlayer, strGangName, g_intTotalPlayer );
ArrayPushArray( g_arrayPlayer, pData );
g_intTotalPlayer++;
}
}
|