What is it about the mods you've found that makes them not compatible with BTS? The core of the mods (the actual event handling and name-changing) shouldn't change much between the different versions but if there's lots of bells and whistles and stuff and easy configuration then I could see how it would be a little daunting to try. As xienwolf said,
BUG's unit namer works with BTS but that's probably the most complex example you can find since it includes everything but the kitchen sink in terms of naming options and uses BUG's own event-handling mechanisms.
Anyhow, the big thing about a unit namer is that at its core it's an event handler. A unit namer will override various unit-related events like unitCreated, unitBuilt, unitPromoted, etc. and somewhere in there will call the CyUnit.setName() function to change the name of the given unit. I'm not sure where to point you for an entry-level tutorial on event-overriding though since I'm only really used to the fairly unique BUG event handling, but here are some general pointers.
The simplest (and least portable) approach is to copy the game's original CvEventManager.py to your Custom Assets folder and add your changes to the appropriate event handlers there. For example, the following is the onUnitBuilt handler from the BTS 3.17 CvEventManager:
Code:
def onUnitBuilt(self, argsList):
'Unit Completed'
city = argsList[0]
unit = argsList[1]
player = PyPlayer(city.getOwner())
CvAdvisorUtils.unitBuiltFeats(city, unit)
if (not self.__LOG_UNITBUILD):
return
CvUtil.pyPrint('%s was finished by Player %d Civilization %s'
%(PyInfo.UnitInfo(unit.getUnitType()).getDescription(), player.getID(), player.getCivilizationName()))
Adding the following line (colored
green) would set every unit made to be named "Bob":
Code:
def onUnitBuilt(self, argsList):
'Unit Completed'
city = argsList[0]
unit = argsList[1]
[COLOR="Green"]unit.setName("Bob")[/COLOR]
player = PyPlayer(city.getOwner())
CvAdvisorUtils.unitBuiltFeats(city, unit)
if (not self.__LOG_UNITBUILD):
return
CvUtil.pyPrint('%s was finished by Player %d Civilization %s'
%(PyInfo.UnitInfo(unit.getUnitType()).getDescription(), player.getID(), player.getCivilizationName()))
As you might imagine, making many changes to the original event handler like this becomes a bit of a pain when you want to merge your changes with other mods though so most people use custom event managers which are more self-contained. There's an
old thread from apolyton about this approach and probably some stuff here at CFC if you do some searching. I think most mods that override events use Dr Elmer Jiggle's Custom Event Manager although I don't have a link for it.