Just wrote a little system for you. I haven't tested it, but I don't see a reason why it shouldn't work.
Simply paste it in to your script (Eg. at the bottom), then call SetupCoins from OnStart.
Example:
void OnStart()
{
    SetupCoins(1024);
}
The coin system:
//////////
/// COIN SYSTEM
/**
 * Sets up the coin system.
 * In order for this to work, the coin bags must have their default names.
 * Parameter "max" is the maximum number of coin bags of each type.
 * You can just call it with 1024, is it's not really that much of a CPU hog
 * To do this once :P
 **/
void SetupCoins(int max)
{
    SetGlobalVarInt("Coins", 0);
    
    for(int i = 1; i <= max; ++i)
    {
        if(GetEntityExists("coins_large_" + i))
            SetEntityPlayerInteractCallback("coins_large_" + i, "CollectedCoinsLarge", true);
        if(GetEntityExists("coins_medium_" + i))
            SetEntityPlayerInteractCallback("coins_medium_" + i, "CollectedCoinsMedium", true);
        if(GetEntityExists("coins_small_" + i))
            SetEntityPlayerInteractCallback("coins_small_" + i, "CollectedCoinsSmall", true);
    }
}
//Callbacks for picking up coins
void CollectedCoinsLarge(string &in asEntity) { AddCoins(50); }
void CollectedCoinsMedium(string &in asEntity) { AddCoins(25); }
void CollectedCoinsSmall(string &in asEntity) { AddCoins(10); }
/**
 * Gives the player some coins.
 * Parameter "amount" being the number of coins to give.
 **/
void AddCoins(int amount)
{
    SetGlobalVarInt("Coins", GetGlobalVarInt("Coins") + amount);
}
/**
 * Takes some coins from the player.
 * Parameter "amount" being the number of coins to take.
 **/
void TakeCoins(int amount)
{
    amount = GetGlobalVarInt("Coins") - amount;
    if(amount < 0)
        amount = 0;
    SetGlobalVarInt("Coins", amount);
}
/**
 * Sets the current amount of coins the player has.
 * Parameter "amount" being the number of coins to set.
 **/
void SetCoins(int amount)
{
    SetGlobalVarInt("Coins", amount);
}
/**
 * Returns the amount of coins the player currently have in their posession.
 **/
int GetCoins()
{
    return GetGlobalVarInt("Coins");
}
/**
 * Returns true if the player can afford the specified amount of coins.
 * Returns false otherwise.
 **/
bool CanAfford(int amount)
{
    return (GetCoins() >= amount);
}
/// COIN SYSTEM
//////////