Regarding the error that is appearing in mw3, I was making a script and it appeared, so I know a way to replicate it... well, I don't know if it will help, and I don't know where to report it, so I'll comment here.
One way to replicate the error is to use the function givePerk( perkName, useSlot )
works correctly unless you send it an object property as an argument Example:
[Works]
player givePerk("specialty_quickdraw", false);
test = "specialty_quickdraw";
player givePerk(test, false);
[Com_ERROR: §BG_IndexForString: unknown token 'throwingknife': (mp/playeranim.script, line 210)]
player givePerk(self.customStreak, false);
test = self.customStreak;
player givePerk(test, false);
[Works]
player givePerk(self.customStreak + "", false);
test = self.customStreak + "";
player givePerk(test, false);
[Post Update]
When executed directly as a string in a for loop also crash
[Com_ERROR: §BG_IndexForString: unknown token 'throwingknife': (mp/playeranim.script, line 210)]
perk = "";
for (i = 0; i < self.customStreak.size - 3; i++)
perk += self.customStreak[i];
[Works]
_perk = self.customStreak;
perk = "";
for (i = 0; i < _perk.size - 3; i++)
perk += _perk[i];



