I will try to make it a bit easier for you. There is a working dfhack plugin to apply poisons to weapons, ammo or trapcomps. Its called add_spatter. You simply install dfhack r3, it comes included. Nothing else you have to do.
[REACTION:SPATTER_ADD_AMMO_VENOM]=> this must be exactly that name, for the plugin to find it, at least the front part, with SPATTER_ADD_
[NAME:coat with venom (ammo)]
[BUILDING:TOXICIST:CUSTOM_P] => whatever, thats just the one I use
[REAGENT:extract:150:NONE:NONE:NONE:NONE]
[MIN_DIMENSION:150]
[REACTION_CLASS:ADD_SPATTER_VENOM] => this must be exactly that name, for the plugin to find it.
[REAGENT:extract container:1:NONE:NONE:NONE:NONE]
[CONTAINS:extract]
[PRESERVE_REAGENT]
[DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[REAGENT:object:25:AMMO:NONE:NONE:NONE]
[PRESERVE_REAGENT]
[REAGENT:tallow:1:GLOB:NONE:NONE:NONE][REACTION_CLASS:TALLOW][UNROTTEN]
[HAS_MATERIAL_REACTION_PRODUCT:SOAP_MAT]
[IMPROVEMENT:800:object:COVERED:GET_MATERIAL_FROM_REAGENT:extract:NONE]
[SKILL:WAX_WORKING]
[MATERIAL_TEMPLATE:CREATURE_EXTRACT_TEMPLATE]
[REACTION_CLASS:ADD_SPATTER_VENOM] => only this is new
[STATE_COLOR:ALL_SOLID:WHITE]
[STATE_NAME:ALL_SOLID:frozen extract]
[STATE_ADJ:ALL_SOLID:frozen extract]
[STATE_COLOR:LIQUID:WHITE]
[STATE_NAME:LIQUID:extract]
[STATE_ADJ:LIQUID:extract]
[STATE_COLOR:GAS:WHITE]
[STATE_NAME:GAS:boiling extract]
[STATE_ADJ:GAS:boiling extract]
[DISPLAY_COLOR:7:0:1]
[MATERIAL_VALUE:25]
[SPEC_HEAT:4181]
[IGNITE_POINT:NONE]
[MELTING_POINT:9950]
[BOILING_POINT:10200]
[HEATDAM_POINT:NONE]
[COLDDAM_POINT:NONE]
[MAT_FIXED_TEMP:NONE]
[SOLID_DENSITY:1200]
[LIQUID_DENSITY:1200]
[MOLAR_MASS:20000]
[IMPACT_YIELD:10000]
[IMPACT_FRACTURE:10000]
[IMPACT_STRAIN_AT_YIELD:100]
[COMPRESSIVE_YIELD:10000]
[COMPRESSIVE_FRACTURE:10000]
[COMPRESSIVE_STRAIN_AT_YIELD:100]
[TENSILE_YIELD:10000]
[TENSILE_FRACTURE:10000]
[TENSILE_STRAIN_AT_YIELD:100]
[TORSION_YIELD:10000]
[TORSION_FRACTURE:10000]
[TORSION_STRAIN_AT_YIELD:100]
[SHEAR_YIELD:6600] used high salinity ice
[SHEAR_FRACTURE:6600]
[SHEAR_STRAIN_AT_YIELD:100]
[BENDING_YIELD:10000]
[BENDING_FRACTURE:10000]
[BENDING_STRAIN_AT_YIELD:100]
[MAX_EDGE:500]
[ABSORPTION:100]
[LIQUID_MISC_CREATURE]
[ROTS]
This is it. It accepts any creature extract, which is usually venom and poison, and from any container. Then open all creature files with notepad++ and search and replace this:
[USE_MATERIAL_TEMPLATE:VENOM:CREATURE_EXTRACT_TEMPLATE]
with
[USE_MATERIAL_TEMPLATE:VENOM:CREATURE_EXTRACT_TEMPLATE][MILKABLE:LOCAL_CREATURE_MAT:VENOM:20000]
and
[USE_MATERIAL_TEMPLATE:POISON:CREATURE_EXTRACT_TEMPLATE]
with
[USE_MATERIAL_TEMPLATE:POISON:CREATURE_EXTRACT_TEMPLATE][MILKABLE:LOCAL_CREATURE_MAT:POISON:20000]
And now you can use any bought creature poison or venom to coat your ammo, and milk any pet your have that produces poison. It will create the poison directly into a bucket, which is accepted by the coating reaction as well.