Jump to content
Korean Random
Polyacov_Yury

Центр управления танковыми моделями: Ремодомод и Шкуродёр

Recommended Posts

Обновил Шкуродёр до версии 1.1.1.

Немного переписал код загрузчика и сделал так, что пакеты shared_content_sandbox*.pkg больше не вызывают вылезание текста на следующую строку с последующим пропаданием полосы загрузки от следующих пакетов.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

@Polyacov_Yury спасибо за обновление есть еще одна хотелка или пожелание.

В Линии Фронта мод адекватно работает только до следующего возрождения танков, там потом после возрождения при наведении прицела на танк(союзник или противник) отображает шкурки танка не текущего, а тот который был до возрождения.

Получается едет тут ЛТ и ты прицел навел на танк и видишь шкурку не ЛТ, а например Защитника.

Я предлагаю отключить мод для этого типа боя. 

Share this post


Link to post

Short link
Share on other sites
3 часа назад, Xotabych сказал:

@Polyacov_Yury спасибо за обновление есть еще одна хотелка или пожелание.

В Линии Фронта мод адекватно работает только до следующего возрождения танков, там потом после возрождения при наведении прицела на танк(союзник или противник) отображает шкурки танка не текущего, а тот который был до возрождения.

Получается едет тут ЛТ и ты прицел навел на танк и видишь шкурку не ЛТ, а например Защитника.

Я предлагаю отключить мод для этого типа боя. 

 

Есть идея получше: подгружать новую модель по необходимости. Сделаем.

Пока что временным решением будет отключать мод вручную в "Настройках модов от PY": собрался в ЛФ - отключил Шкуродёр, не собрался - включил обратно.

 

P.S. Сейчас смотрю в код и понимаю, что где-то меня явно обманули... Обработка респауна у меня уже есть, и по идее должна работать. Единственное предположение, которое у меня есть - это что они что-то поменяли в том, как они этот самый респаун вызывают...

Есть реплей с респауном на Линии Фронта? Попробую посмотреть, что там не так.

Share this post


Link to post

Short link
Share on other sites
3 часа назад, Polyacov_Yury сказал:

P.S. Сейчас смотрю в код и понимаю, что где-то меня явно обманули... Обработка респауна у меня уже есть, и по идее должна работать. Единственное предположение, которое у меня есть - это что они что-то поменяли в том, как они этот самый респаун вызывают...

Есть реплей с респауном на Линии Фронта? Попробую посмотреть, что там не так.

 

Умну вот так сделано:

 

@BigWorld.new_overrideLib.registerEvent(ClientArena, '__init__', DEBUG_MAIN)
def new__init__(self, *a, **k): #Кэшируем данные о танке
    def addVehicleInfo(vID):
        if BigWorld.new_Vehicles:
            BigWorld.new_Vehicles.delVehicleInfo(vID)
            vInfo = BigWorld.player().arena.vehicles[vID]
            if vInfo and (vInfo['isAlive'] or BigWorld.new_Vehicles.playerVehicleID == vID):
                BigWorld.new_Vehicles.addVehicleInfo(vID, vInfo, BigWorld.player().team if hasattr(BigWorld.player(), 'team') else None)
    
    def addVehiclesInfo():
        for vID in BigWorld.player().arena.vehicles:
            addVehicleInfo(vID)

 

    self.onVehicleAdded   += addVehicleInfo
    self.onVehicleUpdated += addVehicleInfo
    self.onNewVehicleListReceived += addVehiclesInfo

 

ЗЫ: Я когда сел в январе моды переделывать чтоб ЛФ работал, обнаружил, если просто подцепится к эвентам апдейта, то моды в кашу из хуков и повторяющихся тонн код превращаются и тогда сел и заново переписал моды - сделал класс-ядро со своими эвентами для танков типа onAdd, onRemove, onStart, onStop и др. и запрограммировал хуки только в этом ядре со всей необходимой обвязкой. А остальные моды сейчас цепляются к ядру и только с ним работают. В результате моим модам не нужно парится на счет vehicleKill или на счет тумана войны т.д. ни чего этого по сто раз программировать в каждом моде мне ненужно.... Речь идёт о боевых сами-знаете-каких модах.

Edited by StranikS_Scan
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
1 час назад, StranikS_Scan сказал:

Умну вот так сделано:

 

Ага. Только у тебя не взаимодействие с vDesc буквально прямо перед тем, как его распарсят и в compoundAssebler передадут. Там хитрее надо...

 

P.S. Ну надо же, кому-то ещё пришла в голову свежая идея Ядро для модов написать :D

12 часов назад, Xotabych сказал:

В Линии Фронта мод адекватно работает только до следующего возрождения танков, там потом после возрождения при наведении прицела на танк(союзник или противник) отображает шкурки танка не текущего, а тот который был до возрождения.

 

Итак, как обычно, спасибо за репорт.

Трабл вылез несколько в другом месте, но это не отменило того факта, что он таки вылез.

 

Суть вот в чём. Если человек переключился с машины, для которой динамическая шкурка была, на такую, для которой шкурки нет - старая остается висеть и применяться.

А ивенты все я поймал правильно, здесь проблем никаких.

Как же я благодарен себе прошлому за добавление отладочного режима в мод... :D

 

Работаем. По идее, фикс будет не сложный.

 

UPD. Ну, собственно, как я и говорил, да.

Сейчас на реплее перепроверил. Товарищ вышел в бой на Лоррейне, где-то за краем отрисовки умер и выехал на EBR'е. До фикса он катался с моделью Лоррейна, после него - без каких-либо изменений. Потом он EBR тоже слил и сел обратно на Лору, которая, сверкая свеженькой динамической шкуркой, выехала на автора реплея и... а что "и", я не знаю, потому как у меня с воплями

Цитата

*** Traceback (most recent call last):
***   File "scripts/client/Avatar.py", line 2117, in showTracer
*** AttributeError: 'NoneType' object has no attribute 'node'
*** EXCEPTION(scripts/client/helpers/EffectsList.py, 491):
*** Traceback (most recent call last):
***   File "scripts/client/helpers/EffectsList.py", line 480, in __playKeyPoint
***   File "scripts/client/helpers/EffectsList.py", line 223, in attachTo
***   File "scripts/client/helpers/EffectsList.py", line 627, in create
***   File "scripts/client/helpers/EffectsList.py", line 1926, in _findTargetNode
***   File "scripts/client/helpers/EffectsList.py", line 1893, in __init__
*** AttributeError: 'NoneType' object has no attribute 'node'
***
*** EXCEPTION(scripts/client/vehicle_extras.py, 124):
*** Traceback (most recent call last):
***   File "scripts/client/vehicle_extras.py", line 113, in __doShot
***   File "scripts/client/vehicle_extras.py", line 135, in __doGroundWaveEffect
*** AttributeError: 'NoneType' object has no attribute 'node'

упала игра.

Нет, это не какой-то из модов. Просто нефиг ставить реплей на паузу и камеру на 180 градусов поворачивать.

 

5 часов назад, StranikS_Scan сказал:

ЗЫ: Я когда сел в январе моды переделывать чтоб ЛФ работал

 

Механика респауна, как я сейчас выяснил, не менялась ещё со времён Превосходства на Затерянном городе, где надо было флаги возить.

Этот баг был в коде всё это время, но почему-то не вылезал. Скорее всего, потому что ВГ  тогда не добавляли в игру новую технику быстрее, чем шкуроделы успевали её обстреливать и зоны пробития рисовать :D

Архивы с модом перезалиты, @Xotabych, я буду благодарен, если ты его перепотестишь :)

Edited by Polyacov_Yury

Share this post


Link to post

Short link
Share on other sites
20.03.2015 в 14:12, Polyacov_Yury сказал:

Шкуродёр, он же Skinner

 

@Polyacov_Yury  при наведении на танк (динамические шурки) бой зависает и через пару секунд клиент вылетает...

Share this post


Link to post

Short link
Share on other sites
16 часов назад, refaol сказал:

@Polyacov_Yury  при наведении на танк (динамические шурки) бой зависает и через пару секунд клиент вылетает...

 

16 часов назад, Xotabych сказал:

@refaol совершенно верно, мне уже тему на раковом заспамили этим багом.

 

Скажу честно - не знаю, что происходит. Похоже, в 1.5.1 ВГ что-то поменяли в структуре моделей и у меня что-то отвалилось.

Могу я попросить попробовать поймать в тренировочной комнате две машины - с которой это происходило бы и с которой нет (естественно, обе должны существовать в паке шкурок), чтобы я мог проверить, чем они отличаются друг от друга? Ну и для разнообразия глянуть, как мод себя ведёт, если машины в паке нет.

Я сейчас этим не могу сильно плотно заниматься - экзамен завтра по матфизике.

Share this post


Link to post

Short link
Share on other sites

Спасибо ремоделлерам за наводку.

Дело в том, что я использую на траках динамических шкурок старый шейдер lightonly_alpha, которые с 1.5.1 стало нельзя использовать на танках.

Если кто-то знает ( @Pavel3333, @SkepticalFox, @Algiz), какой PBS-шейдер есть, поддерживающий прозрачность на текстурах - поделитесь, пожалуйста. Тот, что там стандартный - PBS_tank_uvtransform_skinned_ao.fx - не умеет в прозрачные текстуры.

Я могу сделать временный фикс, чтобы игра хотя бы не падала, но в идеале мне все же надо именно что спрятать гусеничные ленты на динамических шкурках.

 

Share this post


Link to post

Short link
Share on other sites

@Polyacov_Yury прозрачность или полупрозрачность?

советовал когда-то уже для полупрозрачности - https://kr.cm/f/t/29351/c/437021/

да и PBS_tank* должны уметь в прозрачность(с правильными параметрами в visual файле) ...

Edited by SkepticalFox

Share this post


Link to post

Short link
Share on other sites
12 минут назад, SkepticalFox сказал:

с правильными параметрами в visual файле

Знать бы ещё, какие они.. ^^

Share this post


Link to post

Short link
Share on other sites
17 minutes ago, Polyacov_Yury said:

Знать бы ещё, какие они.. ^^

alphaTestEnable=true + alphaReference=0..255
возможно еще g_useNormalPackDXT1=false
тогда прозрачность будет браться из красного канала normal map
а вот если g_useNormalPackDXT1=true, то вроде из альфа канала дифуз мапы уже
Edited by SkepticalFox
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
3 часа назад, Polyacov_Yury сказал:

Если кто-то знает ( @Pavel3333, @SkepticalFox, @Algiz), какой PBS-шейдер есть, поддерживающий прозрачность на текстурах - поделитесь, пожалуйста. Тот, что там стандартный - PBS_tank_uvtransform_skinned_ao.fx - не умеет в прозрачные текстуры.

PBS'ы могут. А что с лайтонли?
Я для стекла юзал PBS_glass.fx, довольно интересный. Картинка с ним более реалистичная, чем просто с лайтонли.

 

Надо экспериментировать.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
33 минуты назад, SkepticalFox сказал:

а вот если g_useNormalPackDXT1=true, то вроде из альфа канала дифуз мапы уже

О. Попробуем.

Просто ты же понимаешь, что чем меньше я за Шкуродёром буду фигни таскать, тем лучше?)

Share this post


Link to post

Short link
Share on other sites
Только что, SkepticalFox сказал:

@Polyacov_Yury ну одну текстуру в несколько пикселей тащить можно

На данный момент я одну и таскаю. Диффузку в 1 прозрачный пиксель. :)

3 часа назад, SkepticalFox сказал:

а вот если g_useNormalPackDXT1=true, то вроде из альфа канала дифуз мапы уже

 

Слушай, сработало.

 

Всем, кто пользуется динамическими шкурками. Архив с Шкуродёром обновлён, скачать можно в шапке. После перекачивания перед запуском клиента пните пересборщик моделей - удалив skinsCache.json или папку res_mods/1.5.1.0/vehicles/skins/models/.

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

Поломался шкуродер в 1.6 или это только у меня, подскажите.

Share this post


Link to post

Short link
Share on other sites
4 минуты назад, refaol сказал:

Поломался шкуродер в 1.6 или это только у меня, подскажите.

Обновить нужно и мод и шкурки.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
06.08.2019 в 22:02, refaol сказал:

Спасибо, не увидел в теме сообщения об обнове

 

Это потому что его не было!

А вообще да, мод обновить надо. Поломали окно загрузки и перенесли math_utils.

Если хочешь оповещения об обновлениях гарантированные - на мод-портале на обновления подпишись. Я просто в топики не отписываюсь довольно давно - некогда.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...