Movies have a plot that goes where it's supposed to go. Even when things are at their most chaotic and the world seems like all is lost; there is a plan and everything will work out as planned. Tabletop games are not like video games or movies or even stories. They are interactive tales with the players as the focus. The players dictate the direction of the game, regardless of the designs of the GM. Why fight it? There is a wealth of story and plot hooks to mine from the actions, failures and motivations of those players.
In our group, once in a story long ago, one of our group played a swordsman that did not want to kill. The gamemaster at the time noted this and when that player failed grandly, lives were lost. They weren't killed exactly BY the character, but as a result of his failures. In this way, there was consequence to his actions and boy, did he feel them. It made things easier for the gamemaster though. He had only to watch the actions and react accordingly between his plot points while the players got from point A to point B.
The most important part of this tool was the weight it put on the players. The backstories mattered, our actions and failures mattered; the world felt more vibrant and full because of this. A player decides to go seduce a married female character. With his character's charisma and social skills, she is an easy mark. Once this was done, her husband came home and witnessed her one night stand. The character failed to socially handle scene and things escalated. That NPC husband came back to haunt that player. With his marriage spiraling out, his family falling away and finally becoming a murderer from continued psychological stress. The player had created a "rival" this husband became his true nemesis.
A new goal organically grew, save the husband from himself and hopefully absolve the player's swordsman of his own sins. When players derail the game or take it in an unexpected direction, sometimes it is best to let them run wild, sow their wild oats and finally, reap what they sow.
Working to ...