
buildChallegeInfo()
{
level.challengeInfo = [];
for ( i = 1; i <= level.numChallengeTiers; i++ )
{
tableName = "mp/challengetable_tier"+i+".csv";
baseRef = "";
// unlocks all the challenges in this tier
for( idx = 1; isdefined( tableLookup( tableName, 0, idx, 0 ) ) && tableLookup( tableName, 0, idx, 0 ) != ""; idx++ )
{
stat_num = tableLookup( tableName, 0, idx, 2 );
refString = tableLookup( tableName, 0, idx, 7 );
level.challengeInfo[refString] = [];
level.challengeInfo[refString]["tier"] = i;
level.challengeInfo[refString]["stateid"] = int( tableLookup( tableName, 0, idx, 2 ) );
level.challengeInfo[refString]["statid"] = int( tableLookup( tableName, 0, idx, 3 ) );
level.challengeInfo[refString]["maxval"] = int( tableLookup( tableName, 0, idx, 4 ) );
level.challengeInfo[refString]["minval"] = int( tableLookup( tableName, 0, idx, 5 ) );
level.challengeInfo[refString]["name"] = "^6CHALLENGE UNLOCKED!";
level.challengeInfo[refString]["desc"] = "^7DESC
TION NOT AVAILABLE!";
// level.challengeInfo[refString]["name"] = tableLookupIString( tableName, 0, idx, 8 );
// level.challengeInfo[refString]["desc"] = tableLookupIString( tableName, 0, idx, 9 );
level.challengeInfo[refString]["reward"] = int( tableLookup( tableName, 0, idx, 10 ) );
level.challengeInfo[refString]["camo"] = tableLookup( tableName, 0, idx, 12 );
level.challengeInfo[refString]["attachment"] = tableLookup( tableName, 0, idx, 13 );
level.challengeInfo[refString]["group"] = tableLookup( tableName, 0, idx, 14 );
// precacheString( level.challengeInfo[refString]["name"] );
// precacheString( "PLEASE TRY IT ON PS3, TOO!" );
if ( !int( level.challengeInfo[refString]["stateid"] ) )
{
level.challengeInfo[baseRef]["levels"]++;
level.challengeInfo[refString]["stateid"] = level.challengeInfo[baseRef]["stateid"];
level.challengeInfo[refString]["level"] = level.challengeInfo[baseRef]["levels"];
}
else
{
level.challengeInfo[refString]["levels"] = 1;
level.challengeInfo[refString]["level"] = 1;
baseRef = refString;
}
}
}
precacheString( "^6CHALLENGE UNLOCKED" );
precacheString( "^7DESC
TION NOT AVAILABLE!" );
}
buildChallegeInfo()
{
level.challengeInfo = [];
for ( i = 1; i <= level.numChallengeTiers; i++ )
{
tableName = "mp/challengetable_tier"+i+".csv";
baseRef = "";
// unlocks all the challenges in this tier
for( idx = 1; isdefined( tableLookup( tableName, 0, idx, 0 ) ) && tableLookup( tableName, 0, idx, 0 ) != ""; idx++ )
{
stat_num = tableLookup( tableName, 0, idx, 2 );
refString = tableLookup( tableName, 0, idx, 7 );
level.challengeInfo[refString] = [];
level.challengeInfo[refString]["tier"] = i;
level.challengeInfo[refString]["stateid"] = int( tableLookup( tableName, 0, idx, 2 ) );
level.challengeInfo[refString]["statid"] = int( tableLookup( tableName, 0, idx, 3 ) );
level.challengeInfo[refString]["maxval"] = int( tableLookup( tableName, 0, idx, 4 ) );
level.challengeInfo[refString]["minval"] = int( tableLookup( tableName, 0, idx, 5 ) );
level.challengeInfo[refString]["name"] = "^6CHALLENGE UNLOCKED!";
level.challengeInfo[refString]["desc"] = "^7DESC
TION NOT AVAILABLE!";
// level.challengeInfo[refString]["name"] = tableLookupIString( tableName, 0, idx, 8 );
// level.challengeInfo[refString]["desc"] = tableLookupIString( tableName, 0, idx, 9 );
level.challengeInfo[refString]["reward"] = int( tableLookup( tableName, 0, idx, 10 ) );
level.challengeInfo[refString]["camo"] = tableLookup( tableName, 0, idx, 12 );
level.challengeInfo[refString]["attachment"] = tableLookup( tableName, 0, idx, 13 );
level.challengeInfo[refString]["group"] = tableLookup( tableName, 0, idx, 14 );
// precacheString( level.challengeInfo[refString]["name"] );
// precacheString( "PLEASE TRY IT ON PS3, TOO!" );
if ( !int( level.challengeInfo[refString]["stateid"] ) )
{
level.challengeInfo[baseRef]["levels"]++;
level.challengeInfo[refString]["stateid"] = level.challengeInfo[baseRef]["stateid"];
level.challengeInfo[refString]["level"] = level.challengeInfo[baseRef]["levels"];
}
else
{
level.challengeInfo[refString]["levels"] = 1;
level.challengeInfo[refString]["level"] = 1;
baseRef = refString;
}
}
}
precacheString( "^6CHALLENGE UNLOCKED" );
precacheString( "^7DESC
TION NOT AVAILABLE!" );
}
right? ) with the modified BuildChallengeInfo() the second time :angel:
too, and see the exact strings limit. If we know it then we will know how many strings a Menu should use ( Menu Options < max string limit - 60 [ keep 60 or more extra strings for our functions and Welcome Messages ] ) and then we will always prevent overflow
right? ) with the modified BuildChallengeInfo() the second time :angel:
too, and see the exact strings limit. If we know it then we will know how many strings a Menu should use ( Menu Options < max string limit - 60 [ keep 60 or more extra strings for our functions and Welcome Messages ] ) and then we will always prevent overflow
Copyright © 2026, NextGenUpdate.
All Rights Reserved.