Qual a versão usada? Se eu fizer baseado no repositório SVN vai funcionar para você?
A função precisa verificar se o item pode ser "tradeable"?
Os players precisam estar no range/distância normal do trade pro trade dar certo?
Se tiver limite de distância normal do trade, precisa dar autoWalk?
Precisa verificar se os items não estão recebendo trade? *meio óbvio, mas perguntando*
Precisa verificar o limite max de itens que podem ser trocados por vez?
O item precisa estar no inventário do player?
Estou longe dos otserv há um tempo, mas aparentemente não é possível fazer trocas de item que possui um uid...
Bom, ao menos com o trade do SVN revisão 6261, em game.cpp, função playerRequestTrade, linhas 2732 a 2735:
Abraços
~Niohundranittionio