This may not be correct, i am learning the code as well, however, if i were to want to make gold weigh nothing while in bankbox, i would first find the gold script, it resides at
Scripts\Items\Consumables\Gold.cs
Then read the file a bit, you will notice pretty much all the code is contained within
public override void OnAdded(object parent)
So, looks like to me that this is called when the gold is added to bankbox, or a container, or to a player, also looks like when 2 players are trading.
So, need to think out what you really want to do first, if we find out where to check for a bankbox, and then we want to set the weight to 0, what i am unsure of, because i do not know the code well, if once we put it in the bank and set weight to 0, if we pull it out again we may need to check if weight is 0 again, and if so reset it to default, but the code may be written in such a way that would make that unnecessary, i have not tested this method, it is all just a first glance assessment, but if nothing else it should point you in the right direction.
If we read the file inside the OnAdded function one section stands out
else if (parent is BankBox && AccountGold.ConvertOnBank)
{
owner = ((BankBox)parent).Owner;
}
This looks like good place to test it, so change it to look as such
else if (parent is BankBox && AccountGold.ConvertOnBank)
{
owner = ((BankBox)parent).Owner;
this.Weight = 0;
}
Give that a shot, it might work, keep in mind you will need to pull the gold back out of the bankbox and see if the weight stays at 0, if so you may not want that, so you would need to go back into this code, and add something like this, right under the first snippet
if(parent is Container)
{
Container c = parent as Container;
if (c.Parent is PlayerMobile && this.Weight == 0)
{
this.Weight = DefaultWeight;
}
}
Again i did not test this, so i may be totally off