// clear memory
if ( g_hArray_FireworkNames != INVALID_HANDLE ) {
decl Handle:hArray_Rockets, Handle:hTrie_RocketData, String:sFireworkName[LENGTH_FIREWORK_NAME];
new iLength = GetArraySize(g_hArray_FireworkNames);
for ( new i = 0; i < iLength; ++i ) {
GetArrayString(g_hArray_FireworkNames, i, SZF(sFireworkName));
if ( GetTrieValue(g_hTrie_FireworkData, sFireworkName, hArray_Rockets) ) {
new iRockets = GetArraySize(hArray_Rockets);
for ( new j = 0; j < iRockets; ++j ) {
hTrie_RocketData = GetArrayCell(hArray_Rockets, j);
CloseHandle(hTrie_RocketData);
}
}
}
CloseHandle(g_hArray_FireworkNames);
CloseHandle(g_hTrie_FireworkData);
}