Jump to content
Korean Random
VasyaPRO_2014

[0.9.15] Информация о засвете в бою

Recommended Posts

"Закину это, пожалуй, под спойлер."

в GUI не сделать красиво :)

А забываю, блондинкам же надо чтоб было кЛасИвА!!!

Да, BW GUI возможно работает немножко быстрее Flash. И для разработчика он немного проще. Но Flash - это технология, специально разработанная для анимаций и других подобных красивостей, и, как ни странно, несмотря на всю ее бородатость, до сих пор пользуется популярностью. Наверное, этому есть весьма весомые причины :)
Технология Flash, для тех, кто не в теме (не все читающие это понимают как оно работает), прикручена к игре с помощью Scaleform. На тему как оно все шуршит можно почитать тут.
Да, вся эта система создает весьма заметную нагрузку на компьютер, но тут все очень сильно зависит от пряморукости разработчиков. Есть куча примеров про то, как огромный по количеству строк и сложности алгоритмов и расчетов код работает в десятки, а то и сотни раз быстрее, чем два десятка строк нубо-кода. Все зависит в первую очередь от подхода к задаче и правильности выбора архитектуры сущностей и алгоритма.
И толковый программист может написать свой код на Python+AS так, что он будет работать в разы шустрее, чем на Python+GUI (тут, конечно, многое зависит от сложности и специфики конкретной задачи). Не говоря уже о том, что Flash выглядит куда приятнее, а список возможностей BW GUI весьма скромный.
Другой вопрос, что большинство модов пишется через известное место...
P.S. Не нужно расценивать приведенное выше как "GUI *****, Flash решает!" или наоборот. GUI больше подходит для отладки каких-то вещей (информационная панель для мододела), либо для тех, кто не силен во Flash. Для конечного пользователя мод на Flash более интересен. И спор насчет того, что лучше есть очередной беспросветный срач, который не хотелось бы тут разводить, поскольку у каждого подхода есть свои плюсы и минусы. Если автор мода принял какое-то решение, значит оно чем-то аргументировано. По крайней мере для самого автора.

Чего то не вижу в коде где вы там в таймере задержку лампочки командира вычитаете?

Таймер засвета подразумевает отсчет времени от момента засвета, а не от момента загорания лампочки. При загорании лампочки у командира таймер засвета должен начинать считать с 3 секунд, а не с 0.

Тут можно с разных точек на это смотреть. Чисто технически, да, таймер засвета должен учитывать задержку лампочки. Но пользователь узнает о засвете и начинает принимать меры по отсвету с момента появления лампочки. Поэтому в какой-то степени таймер отсвета имеет смысл считать именно от лампы.
Вобщем, смысл в том, что считается - время с момента засвета или предположительный момент пропадания из него?

"Тоже, пожалуй, под спойлер уберу."

Вот это и называется сделано нОгами.

@StranikS_Scan как всегда в своем репертуаре.
Не косячит только тот, кто ничего не делает. И первый блин очень часто выходит комом. Народная мудрость, как-никак. А еще известно, что shit happens. Далеко не всегда все с первого раза удается учесть. Ну и скилл хоть и пропить нельзя, но и получить за донат или нахаляву тоже.

Share this post


Link to post

Short link
Share on other sites

 

 

Тут можно с разных точек на это смотреть.

 

Смотреть надо с одной точки - назначение таймера. Если речь идёт о таймере засвета - то надо делать как я писал, ибо понятно, что засвет происходит за 3 секунды до загорания лампочки. А если это таймер чего-то другого, то конечно он может быть реализован как-то по другому.

Share this post


Link to post

Short link
Share on other sites

Таймер был создан для хотя-бы примерного отображения времени до выхода из засвета. Сначала тоже хотел сделать 7 сек, но потом решил поставить 10 и внести параметр в конфиг. Возможно сделаю 7 в дефолтном конфиге.

Share this post


Link to post

Short link
Share on other sites

внести параметр в конфиг

Вот это правильное решение вопроса.

Share this post


Link to post

Short link
Share on other sites

Вот это правильное решение вопроса.

 

'Для GPCracker'

Я же говорю нОгоделы ))))

 

 

Таймер был создан для хотя-бы примерного отображения времени до выхода из засвета. Сначала тоже хотел сделать 7 сек, но потом решил поставить 10 и внести параметр в конфиг. Возможно сделаю 7 в дефолтном конфиге.

 

Таймер штука весьма важная и полезная. У меня он срабатывает в двух случаях. Если срабатывает лампа у командира. И если выстрелил из орудия, но при этом у командира нет лампы. Время таймера 12 секунд. Почему. Потому что в механике игры время света составляет 10-12 секунд. Это общеизвестный факт. Не смотря на это время таймера конечно же однозначно надо вынести в конфиг. Кроме того таймер надо сделать цветным. А его цвет следует менять динамически, желательно цвета и границы добавить в конфиг. Обычно три цвета - зеленый, желтый красный. Тогда будет легко ориентироваться сколько примерно уже прошло/осталось времени.

Share this post


Link to post

Short link
Share on other sites

Таймер штука весьма важная и полезная. У меня он срабатывает в двух случаях. Если срабатывает лампа у командира. И если выстрелил из орудия, но при этом у командира нет лампы. Время таймера 12 секунд. Почему. Потому что в механике игры время света составляет 10-12 секунд. Это общеизвестный факт. Не смотря на это время таймера конечно же однозначно надо вынести в конфиг. Кроме того таймер надо сделать цветным. А его цвет следует менять динамически, желательно цвета и границы добавить в конфиг. Обычно три цвета - зеленый, желтый красный. Тогда будет легко ориентироваться сколько примерно уже прошло/осталось времени.

Возьму на заметку. А можно ли в бою узнать прокачана ли лампочка у командира? Или это нужно делать ещё из ангара?

Share this post


Link to post

Short link
Share on other sites

Возьму на заметку. А можно ли в бою узнать прокачана ли лампочка у командира? Или это нужно делать ещё из ангара?

 

При загрузке сцены, можно опросить экипаж и проверить перки

from CurrentVehicle import g_currentVehicle
from gui.shared import g_itemsCache

def on_ArenaCreated():
    def getCrewInfo():
        CrewInfo = []
        barracks = g_itemsCache.items.getTankmen().values()
        crew_counts = len(g_currentVehicle.item.crew)
        for tankman in barracks:
            for crewman in g_currentVehicle.item.crew:
                if crewman[1] is not None and crewman[1].invID == tankman.invID:
                    factor, _ = tankman.descriptor.efficiencyOnVehicle(g_currentVehicle.item.descriptor)
                    crew_member = {'level': tankman.roleLevel * factor, 'skill': {}}
                    skills = []
                    for skill_name in tankman.descriptor.skills:
                        skills.append({'name': skill_name, 'level': 100})
                    if len(skills) != 0:
                        skills[-1]['level'] = tankman.descriptor.lastSkillLevel
                    for skill in skills:
                        crew_member['skill'][skill['name']] = skill['level']
                    CrewInfo.append({'name': tankman.descriptor.role, 'data': crew_member})
                    if len(CrewInfo) == crew_counts:
                        return CrewInfo
        return CrewInfo
    
    global Commander_SixthSense
    Commander_SixthSense = False
    CrewInfo = getCrewInfo()
    for crew_item in CrewInfo:
        if crew_item['name'] == 'commander':
            Commander_SixthSense = ('commander_sixthSense' in crew_item['data']['skill'] and \
                                    crew_item['data']['skill']['commander_sixthSense'] == 100)
            break
    return

g_playerEvents.onArenaCreated += on_ArenaCreated

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

 

 

Чего то не вижу в коде где вы там в таймере задержку лампочки командира вычитаете?
Я бы не отказался от лампы без задержки,но тогда это уже будет чит :gg:  

Share this post


Link to post

Short link
Share on other sites

Нормальный мод,допилить и все будет норм.

В общем как я и думал,по лампе не работает,только по хоткею,или я чего не понял с конфигом.Еще одно неудобство,надпись вышел из засвета висит постоянно,это не есть хорошо,если юзать его параллельно с лампой,примеру определенное время после таймера,идеальным наверное было бы 2 сек,на случай злопамятного у врага.Т.е.10 сек задано,2 сек злопамятный,точно вышел из засвета.Правда не идеал,все таки насколько я знаю в клиенте нет инфы,когда именно Надпись еще не светился вообще убрал,по моему она не нужна....ну только для рейдера)))Рентген работает нормально,по крайней мере не заметил аномалий,логи чистые.

ставил этот мод-тестил.Пойдет как замена лампы,ну или в паре с ней.Удалил.Достаточно лампы(тоже 10 сек горит),с надписью рентген хорошо придумано.Вопрос в XVM разрабы смогут прикрутить засвет по ренгену,как в этом моде-как бы все будет в куче....

Share this post


Link to post

Short link
Share on other sites

Ага ,смогут ,конечно - просто возьмут скомуниздят идею и все . У нас ж в танковом сообществе мододелов это вполне не зазорно считается ,у некоторых ,хочется думать.

Share this post


Link to post

Short link
Share on other sites

просто возьмут скомуниздят идею и все.

Идеи для модов в большинстве случаев - вообще народная собственность - кто-то предложил, мододелы запилили. Техническое решение, которое воплощает идею в реальность, иными словами реализация - алгоритм и код - вот это уже совсем другое дело.
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

Обновление 1.1:
-Добавлено сохранение позиции панели в конфиг.
-Добавлен модуль чата.
-Исправлен редкий баг при котором после убийства врага в зоне рентгена надпись "Рентген" не попадала.
-В конфиг добавлена возможность настройки времени каждого таймера.
-В конфиг добавлена настройка времени отображения текста "Возможно, пропал из засвета" (по умолчанию 10сек).

Скачать

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

 

-В конфиг добавлена настройка времени отображения текста "Возможно, пропал из засвета" (по умолчанию 10сек).

Супер,только из за этого не ставил раньше))

Share this post


Link to post

Short link
Share on other sites

@Slava7572, таймер кстати всё ещё не запускается при срабатывании лампочки?

Еще не пробовал))

Share this post


Link to post

Short link
Share on other sites

Всё давно придумано за нас :)

Вон у читеров, лампа горит сразу после засвета, звуковые события, сообщения о том кто светит, указание границ видимости, таймер засвета реальный, не зависимо от прокаченного перка и т.д.

 

10.jpg

  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

Всё давно придумано за нас :)

А я тут такой довольный, пилю новый оригинальный мод, а оказывается он уже давно как есть:)

 

Вон у читеров,

Нужно начинать заходить на читерские форумы. На самом деле нет (с)

 

лампа горит сразу после засвета, звуковые события, сообщения о том кто светит, указание границ видимости, таймер засвета реальный, не зависимо от прокаченного перка и т.д.

Я так понимаю это реализовано как сравнение обзора засвеченых врагов, и расстояние между ними и игроком, возможно с учетом маскировки игрока? Или читеры могут со 100% вероятностью узнать в засвете они или нет, в любой момент, не зависимо есть ли лампочка, даже если никто из врагов не светится?

 

Кстати в списке запрещенных модов вроде ничего такого нет.

 

upd: Немного погуглил по теме: офигел до чего читеры дошли.

Edited by VasyaPRO_2014

Share this post


Link to post

Short link
Share on other sites

 

 

Вон у читеров, лампа горит сразу после засвета
был на моей памяти интересный баг в xvm, но я патриотично промолчал, хотя и не против его вернуть)) делай обсчитывается на клиенте или на сервере? )) 

Share this post


Link to post

Short link
Share on other sites

Я так понимаю это реализовано как сравнение обзора засвеченых врагов, и расстояние между ними и игроком, возможно с учетом маскировки игрока? Или читеры могут со 100% вероятностью узнать в засвете они или нет, в любой момент, не зависимо есть ли лампочка, даже если никто из врагов не светится?

 

Кстати в списке запрещенных модов вроде ничего такого нет.

 

upd: Немного погуглил по теме: офигел до чего читеры дошли.

 

Про то как там оно реализовано, подсказать не могу, увы, насколько я знаю, этот b4it доступен для "попробовать" каждый понедельник и пятницу.

Нубо твинк и пробовать :)))

  • Upvote 1
  • Downvote 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...