zxc Posted July 2, 2016 Share Posted July 2, 2016 (edited) Привет. Прошу помочь в след вопросе: Как получить доступ и редактировать текстуры листьев крон деревьев и кустов. з.ы. есть опыт ковыряния сталкера, но с wot не пойму.... Где находится архив с интересующими меня текстурами и как его распаковать. з.ы. Не собераюсь создавать читерские моды (ведь тундра мод уже давно есть), просто преследую свои цели. Прошу помощи!!! Edited July 2, 2016 by zxc 1 @ Quote Link to comment Short link Share on other sites More sharing options...
13 Posted July 2, 2016 Share Posted July 2, 2016 @zxc, не могу сейчас проверить, но насколько помню, они в папке speedtree в архивах ресурсов карт (\res\packages\имя_карты.pkg\speedtree\) 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Lost Posted July 2, 2016 Share Posted July 2, 2016 @zxc, не могу сейчас проверить, но насколько помню, они в папке speedtree в архивах ресурсов карт (\res\packages\имя_карты.pkg\speedtree\) там они и должны быть, открываются зипом. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
zxc Posted July 2, 2016 Author Share Posted July 2, 2016 Большое спасибо. Попрошу поку тему не удалять на случай если вопросы будут. И вот вопрос.. Когда подъезжаешь ближе к кустам, то они становятся полупрозрачными, как увеличить дистанцию на которой на которой кусты становятся полупрозрачными или сделать так, чтобы они были всегда полупрозрачны? @ Quote Link to comment Short link Share on other sites More sharing options...
Lost Posted July 2, 2016 Share Posted July 2, 2016 (edited) Большое спасибо. Попрошу поку тему не удалять на случай если вопросы будут. И вот вопрос.. Когда подъезжаешь ближе к кустам, то они становятся полупрозрачными, как увеличить дистанцию на которой на которой кусты становятся полупрозрачными или сделать так, чтобы они были всегда полупрозрачны? Очень просто, поставь тундру.) Честно говоря с кусты сделали что то невообразимое, раньше хоть как то возможно было через них разглядеть хоть что то, хотя бы рельеф, камни, сейчас просто караул, стал в куст, тебя видят все, а ты ничего не видишь. Edited July 6, 2016 by Lost 1 @ Quote Link to comment Short link Share on other sites More sharing options...
zxc Posted July 2, 2016 Author Share Posted July 2, 2016 Очень просто, поставь тундру.) Честно говоря с кусали седлами что то невообразимое, раньше хоть как то возможно было через них разглядеть хоть что то, хотя бы рельеф, камни, сейчас просто караул, стал в кус, тебя видят все, а ты ничего не видишь. В тундре это работает только в режиме прицеливания, а мне нужно чтоб работало еще и в режиме от 3-го лица. @ Quote Link to comment Short link Share on other sites More sharing options...
VasyaPRO_2014 Posted July 4, 2016 Share Posted July 4, 2016 И вот вопрос.. Когда подъезжаешь ближе к кустам, то они становятся полупрозрачными, как увеличить дистанцию на которой на которой кусты становятся полупрозрачными или сделать так, чтобы они были всегда полупрозрачны? Это можно сделать из питона примерно таким кодом: BigWorld.wg_enableTreeHiding(True) BigWorld.wg_setTreeHidingRadius(<Здесь дистанция>, 0) кусали седлами @ Quote Link to comment Short link Share on other sites More sharing options...
zxc Posted July 5, 2016 Author Share Posted July 5, 2016 Это можно сделать из питона примерно таким кодом: BigWorld.wg_enableTreeHiding(True) BigWorld.wg_setTreeHidingRadius(<Здесь дистанция>, 0) Какой файл, какие строки? @ Quote Link to comment Short link Share on other sites More sharing options...
VasyaPRO_2014 Posted July 5, 2016 Share Posted July 5, 2016 Какой файл, какие строки? У картошки это делается в скрипте scripts\client\avatarinputhandler\control_modes.pyc примерно 850 строка. Там у класса SniperControlMode (который отвечает за снайперский режим) есть методы enable и disable, которые вызываются при входе в снайперский режим и выходе из него соответственно. Вот их содержимое: def enable(self, **args): # При входе в снайперский режим super(SniperControlMode, self).enable(**args) SoundGroups.g_instance.changePlayMode(1) self._cam.enable(args['preferredPos'], args['saveZoom']) self.__binoculars.enabled = True self.__binoculars.setEnableLensEffects(SniperControlMode._LENS_EFFECTS_ENABLED) BigWorld.wg_enableTreeHiding(True) # Включить прозрачность кустов BigWorld.wg_setTreeHidingRadius(15.0, 10.0) # Установиить дистанцию прозрачности на 15м, что означает второй аргумент я не знаю) TriggersManager.g_manager.activateTrigger(TRIGGER_TYPE.SNIPER_MODE) g_postProcessing.enable('sniper') desc = BigWorld.player().vehicleTypeDescriptor isHorizontalStabilizerAllowed = desc.gun['turretYawLimits'] is None self._cam.aimingSystem.enableHorizontalStabilizerRuntime(isHorizontalStabilizerAllowed) return def disable(self, isDestroy=False): # При выходе из снайперского режима super(SniperControlMode, self).disable() self.__binoculars.enabled = False BigWorld.wg_enableTreeHiding(False) # Отключить прозрачность кустов. g_postProcessing.disable() if TriggersManager.g_manager is not None: TriggersManager.g_manager.deactivateTrigger(TRIGGER_TYPE.SNIPER_MODE) return Редактировать его на прямую не советую, лучше создайте свой скрипт с примерно следующим содержимым: import BigWorld # Импортируем модуль с нужными нам функциями from AvatarInputHandler.control_modes import SniperControlMode # Импортируем нужный нам класс from Avatar import PlayerAvatar # И ещё это импортируем чтобы прозрачность была включена с начала боя radius = 25.0 # Создадим переменную для хранения радиуса прозрачности растительности # Сохраняем оригинальные методы old_enable = SniperControlMode.enable # Вызывается при входе в снайперский режим old_disable = SniperControlMode.disable # Вызывается при выходе из снайперского режима old_onInitStepCompleted = PlayerAvatar._PlayerAvatar__onInitStepCompleted # Вызывается в начале боя, причем нескольуо раз, мы подменяем его ибо в нем картошка тоже отключает прозрачность # Создаем свои def new_enable(self, **args): old_enable(self, **args) # Вызываем оригинальный метод BigWorld.wg_setTreeHidingRadius(radius,10.0) # Устанавливаем дистанцию прозрачности def new_disable(self, isDestroy=False): old_disable(self, isDestroy) BigWorld.wg_enableTreeHiding(True) # Вновь включаем прозрачность т.к. картошка уже успела выключить:) def new_onInitStepCompleted(self): # Сразу после загрузки в бой old_onInitStepCompleted(self) BigWorld.wg_enableTreeHiding(True) # И тут тоже включим ибо картоха опять выключила BigWorld.wg_setTreeHidingRadius(radius,10.0) # И установим сразу дистанцию # Заменяем оригинальные методы на свои SniperControlMode.enable = new_enable SniperControlMode.disable = new_disable PlayerAvatar._PlayerAvatar__onInitStepCompleted = new_onInitStepCompleted Потом компилируем, в название добавляем mod_ и закидываем в res_mods/версия/scripts/client/gui/mods.Вот, что у меня получилось scripts.zip З.Ы. Это конечно далеко не самый лучший способ, но он не ломает другие моды и не требует переписывания под каждый патч. З.Ы.Ы. Все действия вы производите на свой страх и риск, я не могу гарантировать, что вас не забанят за читерство:) 6 @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted July 5, 2016 Share Posted July 5, 2016 (edited) Это конечно далеко не самый лучший способ, не работает (проверял на реплее), в логи вкл/выкл пишет исправно, в момент перехода в снайперский режим, но листва как была - так и осталась :( сорь. не работает, если запускать исполнение в WoTScriptTerminal из-под коннекта с клиентом (в SublimeText3), если поместить скрипт в gui/mods - работает. удаляй нафиг, пока за читерство не привлекли :)) Edited July 5, 2016 by Kapany3uk @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted July 5, 2016 Share Posted July 5, 2016 (edited) удаляй нафиг, пока за читерство не привлекли :))У страникса в его теме это второй год висит... Edited July 5, 2016 by ShadowHunterRUS @ Quote Link to comment Short link Share on other sites More sharing options...
Yupi Posted July 5, 2016 Share Posted July 5, 2016 удаляй нафиг, пока за читерство не привлекли :)) Не смеши, за читерство по кускам кода не привлекают) @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted July 5, 2016 Share Posted July 5, 2016 У страникса в его теме это второй год висит... Не смеши, за читерство по кускам кода не привлекают) парни, вы серьёзно? :)) @ Quote Link to comment Short link Share on other sites More sharing options...
zxc Posted August 10, 2016 Author Share Posted August 10, 2016 Тему можно удалить. @ Quote Link to comment Short link Share on other sites More sharing options...
Вася Т-34 Posted November 21, 2019 Share Posted November 21, 2019 не работает прозрачность кустов( @ Quote Link to comment Short link Share on other sites More sharing options...
Find Posted December 24, 2024 Share Posted December 24, 2024 05.07.2016 в 17:42, VasyaPRO_2014 сказал: У картошки это делается в скрипте scripts\client\avatarinputhandler\control_modes.pyc примерно 850 строка. Там у класса SniperControlMode (который отвечает за снайперский режим) есть методы enable и disable, которые вызываются при входе в снайперский режим и выходе из него соответственно. Вот их содержимое: def enable(self, **args): # При входе в снайперский режим super(SniperControlMode, self).enable(**args) SoundGroups.g_instance.changePlayMode(1) self._cam.enable(args['preferredPos'], args['saveZoom']) self.__binoculars.enabled = True self.__binoculars.setEnableLensEffects(SniperControlMode._LENS_EFFECTS_ENABLED) BigWorld.wg_enableTreeHiding(True) # Включить прозрачность кустов BigWorld.wg_setTreeHidingRadius(15.0, 10.0) # Установиить дистанцию прозрачности на 15м, что означает второй аргумент я не знаю) TriggersManager.g_manager.activateTrigger(TRIGGER_TYPE.SNIPER_MODE) g_postProcessing.enable('sniper') desc = BigWorld.player().vehicleTypeDescriptor isHorizontalStabilizerAllowed = desc.gun['turretYawLimits'] is None self._cam.aimingSystem.enableHorizontalStabilizerRuntime(isHorizontalStabilizerAllowed) return def disable(self, isDestroy=False): # При выходе из снайперского режима super(SniperControlMode, self).disable() self.__binoculars.enabled = False BigWorld.wg_enableTreeHiding(False) # Отключить прозрачность кустов. g_postProcessing.disable() if TriggersManager.g_manager is not None: TriggersManager.g_manager.deactivateTrigger(TRIGGER_TYPE.SNIPER_MODE) return Редактировать его на прямую не советую, лучше создайте свой скрипт с примерно следующим содержимым: import BigWorld # Импортируем модуль с нужными нам функциями from AvatarInputHandler.control_modes import SniperControlMode # Импортируем нужный нам класс from Avatar import PlayerAvatar # И ещё это импортируем чтобы прозрачность была включена с начала боя radius = 25.0 # Создадим переменную для хранения радиуса прозрачности растительности # Сохраняем оригинальные методы old_enable = SniperControlMode.enable # Вызывается при входе в снайперский режим old_disable = SniperControlMode.disable # Вызывается при выходе из снайперского режима old_onInitStepCompleted = PlayerAvatar._PlayerAvatar__onInitStepCompleted # Вызывается в начале боя, причем нескольуо раз, мы подменяем его ибо в нем картошка тоже отключает прозрачность # Создаем свои def new_enable(self, **args): old_enable(self, **args) # Вызываем оригинальный метод BigWorld.wg_setTreeHidingRadius(radius,10.0) # Устанавливаем дистанцию прозрачности def new_disable(self, isDestroy=False): old_disable(self, isDestroy) BigWorld.wg_enableTreeHiding(True) # Вновь включаем прозрачность т.к. картошка уже успела выключить:) def new_onInitStepCompleted(self): # Сразу после загрузки в бой old_onInitStepCompleted(self) BigWorld.wg_enableTreeHiding(True) # И тут тоже включим ибо картоха опять выключила BigWorld.wg_setTreeHidingRadius(radius,10.0) # И установим сразу дистанцию # Заменяем оригинальные методы на свои SniperControlMode.enable = new_enable SniperControlMode.disable = new_disable PlayerAvatar._PlayerAvatar__onInitStepCompleted = new_onInitStepCompleted Потом компилируем, в название добавляем mod_ и закидываем в res_mods/версия/scripts/client/gui/mods. Вот, что у меня получилось scripts.zip З.Ы. Это конечно далеко не самый лучший способ, но он не ломает другие моды и не требует переписывания под каждый патч. З.Ы.Ы. Все действия вы производите на свой страх и риск, я не могу гарантировать, что вас не забанят за читерство:) mod_tree_hiding.py import BigWorld # Импортируем модуль BigWorld, который предоставляет доступ к внутриигровым функциям from AvatarInputHandler.control_modes import SniperControlMode # Импортируем класс снайперского режима from Avatar import PlayerAvatar # Импортируем класс игрового персонажа (аватара) # Сохраняем оригинальные методы, которые будем переопределять old_enable = SniperControlMode.enable # Метод, вызываемый при входе в снайперский режим old_disable = SniperControlMode.disable # Метод, вызываемый при выходе из снайперского режима old_onInitStepCompleted = PlayerAvatar._PlayerAvatar__onInitStepCompleted # Метод, вызываемый при завершении инициализации игрока # Функция, которая будет вызываться при входе в снайперский режим def new_enable(self, **args): old_enable(self, **args) # Вызываем оригинальный метод enable print('enable') # Выводим сообщение в консоль для отладки BigWorld.wg_setTreeHidingRadius(445.0, 10.0) # Устанавливаем радиус прозрачности растительности (445.0) и время перехода (10.0) # Функция, которая будет вызываться при выходе из снайперского режима def new_disable(self, isDestroy=False): old_disable(self, isDestroy) # Вызываем оригинальный метод disable print('disable') # Выводим сообщение в консоль для отладки BigWorld.wg_enableTreeHiding(True) # Включаем прозрачность растительности (чтобы она снова стала видимой) # Функция, которая будет вызываться при завершении инициализации игрока def new_onInitStepCompleted(self): old_onInitStepCompleted(self) # Вызываем оригинальный метод onInitStepCompleted print('onInitStepCompleted') # Выводим сообщение в консоль для отладки BigWorld.wg_enableTreeHiding(True) # Включаем прозрачность растительности BigWorld.wg_setTreeHidingRadius(445.0, 10.0) # Устанавливаем радиус прозрачности растительности (445.0) и время перехода (10.0) # Переопределяем оригинальные методы на свои SniperControlMode.enable = new_enable # Заменяем метод enable на new_enable SniperControlMode.disable = new_disable # Заменяем метод disable на new_disable PlayerAvatar._PlayerAvatar__onInitStepCompleted = new_onInitStepCompleted # Заменяем метод onInitStepCompleted на new_onInitStepCompleted @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.