Most people seem to have trouble finding the entire set of arguments for a packaged function. Here's a good way to get them.
package myPackage
{
// The first argument is %client.
// We know this because the function is in a namespace, so the first argument will always reflect on the namespace it is in.
// %client is the most popular variable name for a game connection, so that is what we are going to use here.
function gameConnection::onDeath(%client, %a, %b, %c, %d, %e, %f, %g, %h, %i)
{
// This echo will dump a line into your console each time someone dies.
// Since it's clearly divided by spaces and colons, you can make out easily what each variable represents.
// Then, by running a couple of dumps on any objects that appear, and guessing everything else,
// you can logically deduct the arguments of this function without needed to post a topic or ask someone else.
// Remember to take out excess arguments if they are constantly returning blanks.
// There is no point in overloading the argument if you're not using any of the extra variables.
echo(%a SPC ":" SPC %b SPC ":" SPC %c SPC ":" SPC %d SPC ":" SPC %e SPC ":" SPC %f SPC ":" SPC %g SPC ":" SPC %h SPC ":" SPC %i);
// We include the parent, or else our expirment will flat-out break the function.
// I'm pretty sure you wouldn't want to break onDeath, too.
parent::onDeath(%client, %a, %b, %c, %d, %e, %f, %g, %h, %i);
}
};
activatePackage(myPackage);
Although simply leaving in the alphabet array that you see above would technically work, I find it much, much easier to have the argument list written down correctly. That way, if you ever need to amend your code, you can do so without going through the variable list and guessing which does what. Also, you can use it for future reference in other mods, allowing you to copy and paste the function over and then stripping it down.