Help with a better way to force a trade

For now, I’m using the returning_trader script in a campaign to trade one item with another.

But there are a few things I would like to change and I don’t know if we already have this in the game.
First, the returning trade asks x and give y. I would prefer if it gives more than 1 type of item.
The trade is also divided in two steps, first the trade asks the item, and then he returns in a few days. I would prefer if the trade was done right at the first encounter, without the need to return later.
And last, the player has the options to refuse the trade, I would like if it was forced. As the item is detected in your town, the trader would come, get it and leave his items for you.

Is there a system like this? Or I would need to change .lua?
As mentioned, the closest I found was the returning_trader. I have a campaign encounter that activates when you have the item in your town, this encounter then calls the traders script.

The simple_caravan encounter is done in one step only, but doesn’t let you specify much and doesn’t force the trade.
I guess you would have to make a script encounter, referencing your own lua script in which you make a mix of both encounters, and add the possibility of receiving more than one item :disappointed_relieved:

I don’t think any of the current encounters allows to force a trade instantly.

Maybe this could be suggested as a new encounter type.

Ok, I will do this later than. I was just making sure I did not miss anything.