Heres a tweak to make the volunteers in villages vary based on the faction that owns the village.
Find this in scripts.txt:
update_volunteer_troops_in_village -1
35 23 2 1224979098644774912 1 521 3 1224979098644774913 1224979098644774912 26 521 3 1224979098644774914 1224979098644774912 19 522 3 1224979098644774915 1224979098644774914 41 2133 2 1224979098644774916 1 2123 3 1224979098644774917 1224979098644774913 10 6 3 1224979098644774918 0 1224979098644774917 2136 3 1224979098644774919 0 100 2147483678 2 1224979098644774919 10 2136 3 1224979098644774919 0 2 1561 3 1224979098644774920 1224979098644774915 1224979098644774919 4 0 2147483680 2 1224979098644774920 0 1561 3 1224979098644774920 1224979098644774915 0 3 0 32 2 1224979098644774920 0 2105 2 1224979098644774916 1 2133 2 1224979098644774915 1224979098644774920 3 0 2133 2 1224979098644774921 7 4 0 30 2 1224979098644774913 5 2133 2 1224979098644774921 1224979098644774913 2108 2 1224979098644774921 2 2105 2 1224979098644774921 10 5 0 2147483678 2 1224979098644774913 0 2133 2 1224979098644774921 0 3 0 2107 2 1224979098644774921 3 2120 3 1224979098644774922 2 1224979098644774916 2108 2 1224979098644774921 1224979098644774922 2136 3 1224979098644774923 0 1224979098644774921 501 3 1224979098644774912 92 1224979098644774915 501 3 1224979098644774912 93 1224979098644774923
This is where it actually adds the troops and calculates the tier and such (as seen in my other tweak, changing the number of troops recruited in villages). The line you need to replace is highlighted in red. Replace that with
2204 2 1224979098644774914 1224979098644774912 4 0 31 2 1224979098644774914 432345564227567629 521 3 1224979098644774914 1224979098644774912 19 3 0
The red is actually included in that, but it's easy to just select it all and paste over it. Then change the
35 to a 39 (so it reads the extra 4 lines of code you just pasted in).
After this is done, your script should look like this:
update_volunteer_troops_in_village -1
39 23 2 1224979098644774912 1 521 3 1224979098644774913 1224979098644774912 26 2204 2 1224979098644774914 1224979098644774912 4 0 31 2 1224979098644774914 432345564227567629 521 3 1224979098644774914 1224979098644774912 19 3 0 522 3 1224979098644774915 1224979098644774914 41 2133 2 1224979098644774916 1 2123 3 1224979098644774917 1224979098644774913 10 6 3 1224979098644774918 0 1224979098644774917 2136 3 1224979098644774919 0 100 2147483678 2 1224979098644774919 10 2136 3 1224979098644774919 0 2 1561 3 1224979098644774920 1224979098644774915 1224979098644774919 4 0 2147483680 2 1224979098644774920 0 1561 3 1224979098644774920 1224979098644774915 0 3 0 32 2 1224979098644774920 0 2105 2 1224979098644774916 1 2133 2 1224979098644774915 1224979098644774920 3 0 2133 2 1224979098644774921 7 4 0 30 2 1224979098644774913 5 2133 2 1224979098644774921 1224979098644774913 2108 2 1224979098644774921 2 2105 2 1224979098644774921 10 5 0 2147483678 2 1224979098644774913 0 2133 2 1224979098644774921 0 3 0 2107 2 1224979098644774921 3 2120 3 1224979098644774922 2 1224979098644774916 2108 2 1224979098644774921 1224979098644774922 2136 3 1224979098644774923 0 1224979098644774921 501 3 1224979098644774912 92 1224979098644774915 501 3 1224979098644774912 93 1224979098644774923
What this actually does is change the script so that it gets the village's current faction as the one to select recruits from instead of the original faction. The extra 4 lines are a check that I included which checks if the current faction is the player faction, and if it is it reverts to the original function of taking the village's original faction. The reason I included that check is the player's faction doesn't have troops set, so if it wasn't there you wouldn't be able to recruit troops from places captured by the player faction. This means that this tweak only works for the main factions taking land, and the player faction will still recruit based on original ownership.
Also note that the trigger to update this only fires every 72 hours(or if you increase relation with the village), so the village will still offer the old faction's recruits until it updates.
This script only edits the player's volunteers, though - if you want to change the troops given to lords based on faction you need to go to the next script down (update_npc_volunteer_troops_in_village) and replace 521 3 1224979098644774913 1224979098644774912 19 with
2204 2 1224979098644774913 1224979098644774912 4 0 31 2 1224979098644774913 432345564227567629 521 3 1224979098644774913 1224979098644774912 19 3 0
And change the 23 at the beginning to 27 (again, for the extra 4 lines of code being added) It should then look like this:
update_npc_volunteer_troops_in_village -1
27 23 2 1224979098644774912 1 2204 2 1224979098644774913 1224979098644774912 4 0 31 2 1224979098644774913 432345564227567629 521 3 1224979098644774913 1224979098644774912 19 3 0 522 3 1224979098644774914 1224979098644774913 41 2133 2 1224979098644774915 1 6 3 1224979098644774916 0 5 2136 3 1224979098644774917 0 100 2147483678 2 1224979098644774917 10 2136 3 1224979098644774917 0 2 1561 3 1224979098644774918 1224979098644774914 1224979098644774917 4 0 2147483680 2 1224979098644774918 0 1561 3 1224979098644774918 1224979098644774914 0 3 0 32 2 1224979098644774918 0 2105 2 1224979098644774915 1 2133 2 1224979098644774914 1224979098644774918 3 0 2133 2 1224979098644774919 12 2120 3 1224979098644774920 2 1224979098644774915 2108 2 1224979098644774919 1224979098644774920 2136 3 1224979098644774921 0 1224979098644774919 501 3 1224979098644774912 90 1224979098644774914 501 3 1224979098644774912 91 1224979098644774921
This is the same modification that we made to the player volunteer script, only the variable used changed by 1 (since less variables were used).