DrWeb7_1 Posted October 30, 2022 Share Posted October 30, 2022 От нечего делать захотелось попробовать мне в оффлайне запустить хотя бы ангар в клиенте версии 0.8.2. Посмотрел, какими были моды в те времена, преимущественно Flash, картинки-иконки, техника да звуки. По скриптам — полный голяк. Разве что XVM, который запускался через собственный xvm-stat. Начиная с патча 0.9.10 в игре появилась возможность через mod_*что-то*.pyc подключать свои скрипты в игру, если их расположить в res(_mods)/client/gui/mods. В прошлых версиях такой возможности не было. Куда залезать, что копать? Есть ли вероятность того, что придётся править скрипты клиента напрямую и запихивать в res_mods/scripts? Link to comment Short link Share on other sites More sharing options...
ktulho Posted October 30, 2022 Share Posted October 30, 2022 1 час назад, DrWeb7_1 сказал: Есть ли вероятность того, что придётся править скрипты клиента напрямую и запихивать в res_mods/scripts? Вроде так и было. 1 @ Link to comment Short link Share on other sites More sharing options...
Solution goofy67 Posted October 31, 2022 Solution Share Posted October 31, 2022 Back in the time we used a modified CameraNode.pyc (in res_mods/%version%/scripts/client/) which looked something like this: import BigWorld class CameraNode(BigWorld.UserDataObject): def __init__(self): BigWorld.UserDataObject.__init__(self) def load_mods(): import ResMgr, os, glob print 'WoT Mod Loader Started...' sec = ResMgr.openSection('../paths.xml') subsec = sec['Paths'] vals = subsec.values()[0:2] for val in vals: mp = val.asString + '/scripts/client/mods/*.pyc' for fp in glob.iglob(mp): _, fn = os.path.split(fp) sn, _ = fn.split('.') if sn != '__init__': print 'Executing: ' + sn try: exec 'import mods.' + sn except Exception as e: print e load_mods() By this method you could use your own scripts (in /scripts/client/mods/) without altering the original ones. 5 @ Link to comment Short link Share on other sites More sharing options...
Recommended Posts