Jump to content
Korean Random

Polar Fox

User
  • Posts

    64
  • Joined

  • Last visited

Posts posted by Polar Fox

  1. @Polar Fox, кстати, может ты в курсе. А куда делась опция "MinimapSuperHeavy"? В атласах иконка есть, а в игре сейчас не активируется.

     

    В коде новой миникарты ничего про супертяжей не встречал (и в самом атласе описания этой иконки тоже что-то не увидел). Возможно, в релизе вернут.

  2. Кстати, м.б. прокатит переместить маркеры в другой контейнер, в какой посоветуете, чтобы порядок нормальный был (чтобы ничего не перекрывалось, и убрать галочки мод маркеры)?

    В контейнере icons должно работать нормально без перекрытия иконок и надписей.

  3. Ща будем копать как указки отключить. Не, точнее я знаю, что нужно вызвать, теперь нужно понять как.

    Так убрать её с символа камеры и всё.

    self.__minimapEntryManager.addEntry(vehicleID, settings.ENTRY_SYMBOL_NAME.ARCADE_CAMERA, settings.CONTAINER_NAME.PERSONAL, combinedMP, True)
    self.__minimapEntryManager.getEntry(vehicleID).invoke('hideDirectionLine')

    И startVisual для союзников в начале боя вызывается раньше, чем создается компонент миникарты, поэтому не взлетит, а для противников уже работать будет.

  4. @Polar Fox, и в доказательство видео с использованием полного набора читов?

     

    Это к чему? Никакими правилами не запрещено делать что угодно в реплеях. А видео показывает что функция которую много и часто просили теперь доступна нативно

    • Upvote 1
  5. ......Коротко - нужно править флешку....

     

    В следующем патче не нужно)

     

    https://www.youtube.com/watch?v=n15F87Qom24&feature=youtu.be

     

    Причем сами стрелки - это отдельные компоненты, т.е. их можно включать/отключать для каждой отдельной машины/класса.

    • Upvote 1
  6. "Оффтоп"


    Вместо этого
        def __addVehicleGunMarker(self, vehicleID):
            vehicle = BigWorld.entity(vehicleID)
            if vehicle is not None:
                zIndex = self.getMinimap().zIndexManager.getGunIndex(vehicleID)
                turretMatrix = Math.MatrixProduct()
                turretMatrix.a = vehicle.appearance.turretMatrix
                turretMatrix.b = vehicle.matrix
                gunMatrix = Math.MatrixProduct()
                gunMatrix.a = vehicle.appearance.gunMatrix
                gunMatrix.b = turretMatrix
                combinedMP = self.getWGCombinedMP(vehicle.matrix, gunMatrix)
                self.__minimapEntryManager.addEntry(vehicleID, combinedMP, zIndex)
                self.__minimapEntryManager.getEntry(vehicleID).invoke('gotoAndStop', ['cursorNormal'])

    можно и так

    from vehicle_systems.tankStructure import TankPartNames
    	def __addVehicleGunMarker(self, vehicleID):
    		vehicle = BigWorld.entity(vehicleID)
    		if vehicle is not None:
    			compoundNode = vehicle.appearance.compoundModel.node(TankPartNames.GUN)
    			if compoundNode is not None:
    				zIndex = self.getMinimap().zIndexManager.getGunIndex(vehicleID)
    				combinedMP = self.getWGCombinedMP(vehicle.matrix, compoundNode)
    				self.__minimapEntryManager.addEntry(vehicleID, combinedMP, zIndex)
    				self.__minimapEntryManager.getEntry(vehicleID).invoke('gotoAndStop', ['cursorNormal'])
    
    

    Во-вторых, это патч для флешки нужен, инфа 80% примерно. Думаю, тезка лучше знает :)

     

    Не нужен, можно прямо через DAAPI сделать, и работать будет с любой картой.

    	def ME_zoomIn(self):
    		screen = GUI.screenResolution()
    		height = screen[1]
    		battle = g_appLoader.getDefBattleApp()
    		minimapMC = getattr(battle.movie, '_root.minimap')
    		try:
    			minimapScale = height * self.zoom_scale
    			minimapMC.setSize(minimapScale, minimapScale)
    			minimapMC._x = screen[0] / 2
    			minimapMC._y = screen[1] / 2
    			minimapMC._x = minimapMC._x + minimapMC.width / 2
    			minimapMC._y = minimapMC._y + minimapMC.height / 2
    		except:
    			print '[MinimapExtended] Error in function ME_zoomIn'
    			return 

    • Upvote 5
  7. Может всё-таки в этой теме по существу...

     

    Я как-то пытался поставить и попробовать, но...графические элементы из мода не просто недружелюбны (причем везде - в цветовой гамме, в расположении на экране, в размерах) к игроку, они его атакуют

    Кусочек пользователей отсеивается уже на данном этапе. Никто из них не будет тратить время (часто немалое) на настройку под себя, не разобравшись стоит оно того или нет.

    Впрочем, если это одна из фишек - то тогда другое дело.

     

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

     

    Поржал, спасибо. Не найти производительности в одном из самых шустрых физических движков - это надо очень сильно постараться.

    • Upvote 1
  8. Я знаю 2 проекта, где сделали ставку на графон и физику, и онлайн там в пике до 100к ни разу не доходил.

    ВГ сделали хавок 100 лет назад, но до тех пор пока не придумают как это ввести не потеряв 60% аудитории на дохлых компах...вводить не будут.

     

    Типичное заблуждение. Вг взлетело потому что удачная идея, и удачное её же воплощение пришлась к месту, и в тот момент ниша была свободна. Никакой заслуги картошки сверх этого нет. Это как исключение. Как вконтакте, как твиттер, и т.п. Взлетело, потому что...просто потому что. Конкуренты появились уже слишком поздно - раз - аудитория уже наелась. Два - чтобы бросить прогресс накопленный за годы - нужно много больше, чем аналогичная "игра про танки". Это компания одного проекта, как бы они там щечки перед публикой и не надували в попытках создать что-нибудь ещё хотя бы на четверть такое же успешное.

    А про хавок не смешно даже - страшно подумать что нужно было сделать с движком, который не тормозил в 2004г., чтобы он тормозил в 2015. Хотя...рубикон показал что нет предела дна, ниже которого можно упасть.

    • Upvote 4
  9. Не сам по себе же хавает. Два дня наверно гонял его без перезапуска? Погляжу где накапливаться может.

     

     

    Эээ, путь там отображается. Ты какую версию используешь-то?

     

     

    Не, если тебе нужен полноценный гуи, то юзай Notepad++ или PyCharm.... В Орионе все такие гуи - это уровень блокнота.

     

    Отступы через \t это я допилю.

    1. Ну да. Открыл себе пару окон - так и болтаются пока систему не повесят))

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

    'вот так'

    e0363fa59e.jpg

     

    Да уж, делфи6 это серьезно. Тут прям в точку про динозавров)

     

     

    В Орионе все такие гуи - это уровень блокнота.

    А надо то и не сильно больше. Всё-равно 85% времени разработки это чтение и дебаг. С последним вполне успешно справляется трансмиттер, а в остальном это небольшие детали и юзабилити. До сих пор вздрагиваю, когда по Ctrl+N вместо общепринятого нового окна всё удаляется из активного.

    • Upvote 1
  10. А это к чему? Я совсем не понял, что ты хочешь?

     

    Нарисуй боевку, потом перегрузи через флеш свои методы. Через 2-4- боя ты порадуешься)))))

    Нарисуй боевку, потом перегрузи через флеш свои методы. Через 2-4- боя ты порадуешься)))))

     

    P.S. Гарбадж коллектор их не соберет.

  11. Я так не думаю.

    Заинтересованные давно уже юзают норм среды программирования под питон.

    Один PyCharm чего стоит...

     

    Используемая Странниксом версия Delphi не может просто так взять и предоставить тебе функционал, по созданию мелочей в GUI.

    Здесь нужно делать выбор - лезть сквозь дебри Delphi и делать свои компоненты/допиливать чужие, или писать проект с нуля на каком-нибудь мощном ЯП с мощными подключенными библиотеками.

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

     

    Я давно использую Delphi. Писать на нем легко. Он мощный. Но как только дело заходит в сторону GUI, то VCL радует своими МАТЬ ЕГО багами отрисовки.

    Смари фокус! :) Попросуй нарисовать компонентов, а затем получить их сслыки через гуй. Там будет сюрзпрайз, мазафака))))

  12. Ладно, а как привчзать ее в днищу танка например

    modelBox.position = (32, 41, 0) - это трехмерная матрица для боевки. x,y, ставь по своему вкусу, а глубину (z) можно пока ставить константой (0,6)

    0

    Если надо конкретную точку - берешь либо из списка либо делаешь сам.

  13. Я заметил только плюсы)

     

     

    +1

    Как минимум наличие класса документа снимает необходимость перемещать DAAPI на другие объекты.

     

    Так, стоп! Мы говорим о сферическом AS3 в вкууме, или его конкретной реализации в танкаче? Там везде хватает говнеца, но AS3 ничем не лучше для реализации  того что есть.

  14. Нехорошо это. Лежал себе никого не трогал, а теперь взяли и выпилили...

    +100500 DAAPI и ExternalInterface могут не справиться с такой частоты запросов...

    Зачастую хватает и циферок в принципе...

    Не стоит забывать про вызовы DAAPI или ExternalInterface для передачи данных из Python в ActionScript. Данные из AS берутся редко, чаще всего они считаются питоном. Насколько мне известно, GUI обновляется с интервалом всего 0,03 сек (ЕМНИП), это где-то 30 к/с. Но там в основном числа передаются. Насколько быстро будет идти сериализация/десериализация строк при передаче, не тестил.

    А что за multithreading.dummy заместо контейнеров BW?

    Хммм... А что мешает добавить в трансмиттер декодер? Передать ему параметром кодировку локали редактора и выполнять вместо

    exec script
    exec script.decode('<locale>')
    ?

    Ну бинарный режим и Marshaled Code Object не предлагаю, ибо у тебя нет питоновской стороны в редакторе, и пилить ее ты вряд ли будешь...

     

    З.Ы. Попробую, отпишусь))

     

     

    Лень цитировать, поэтому пихнул цитату в спойлер:)

     

    1. Ты поддерживал легаси-код? Не в один-два-три метода, а метров на 20? Это такой п***ц, что врагу не пожелаешь. То, что они взялить дропать код который сами не пользуют (весь гуи текст сейчас это чисто моды) - это хорошо.

    2. Если нужна такая частота запросов - что-то не так в коде. Нужен либо рефакторинг либо выброс в море. Раз. Вся картинка сейчас рендерится не волшебными гномиками, а тем же флешем (GUI.Text тоже становится флешем, хоть и условно и частично) Два.

    3. 0.02 мсек. А теперь...сюрпразйр, мазафака, это костыль картохи. Т.е. разница в middle и high-level API вылазит наружу.

    4.Питоновский multiprocessing работает с процессами, а multiprocessing.dummy с тредами. Т.е. проблемы гарбадж коллектора его не ***ут. Там целая экосистема (в питоне 2.7). Если интересно в личку напишу подробнее как оно работает, там увлекательные_истории.жпг

    5. А что там с текстами? Может я древний, но у меня всё работает если у файла стоят флаги ютф8.

  15. Так вот, возвращаясь от потока сумбурно-отвлеченных мыслей к ВОТ-танкам, что меньшее падение фпс даст при частоте обновления 100 раз в сек - GUI.Text или Флеш текст?

     

    Вот если без амбиций - то флешка будет держаться на уровне того же гуй.текста. Даже быстрее. Ты ведь видел сорцы БВ, и знаешь как оно работает. Поскольку всё в танкаче сделано на флеше, то нативная флешка (без костылей) будет держать тот же уровень перфоманса, а поскольку реализована система событий - то нет нужды гонять пустые циклы. И, кстати, флешки можно гонять через питоновский multithreading.dummy, что куда дешевле (и быстрее) контейнеров БВ.

     

    Если можно и гуи так же - то буду благодарен за подсказку как это сделать.

    Кстати, баг-репорт. Всё забывал написать, ибо некритично, но неприятно. Орион хавает ВСЮ опертивку через какое-то время (точно не замечал, но где-то около 2-х суток). (и не в тему, но - добавь, пожалуйста, в заголовок окна путь/имя открытого файла)

    _______________________________

    P.P.S. Может откроешь исходники самой среды ориона (кроме крипта), думаю часть людей заинтересовалась бы, и сделала бы удобный инструмент. Ну или сам допили, если будет время@желание.

     

    Сейчас по сути лично мне не хватает следующих вещей:

    - фолдинг

    - десяток мелочей в гуи

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

  16. Вот и вся разница, html-тэги не поддерживает с кучей всяких спецэффектов наложения. А по всему остальному он в разы быстрее флэша.

     

     

    Угу, как же, попробуй передачу данных сделать 100 вызовов в секунду и сравни фпс при реализации через флэш и через гуи.

     

    ЗЫ: Откуда ты вообще таких идей набрался?

     

    Для многих флеш - это как текст, только красивый. В этом вся разница (с)

     

    Scaleforn дает доступ к нативному API DirectX. Про 100 вызовов в секунду сходи в юбисофт, заодно последний nfs из ea поправишь (и предыдущие тоже), а то посоны без тебя пропадают. В картохе хоть и лажают на каждом шагу, но общий подход там верный. То что не сделано, ещё не значит что этого сделать нельзя.

     

    ЗЫ: Откуда ты вообще таких идей набрался?

    :)

    Про 100 вызовов в секунду сходи в юбисофт

    Впрочем, если у тебя есть вариант который намного (в разы(с) ) быстрее scleform player, и имеет полноценную среду разработки - го в мейлру, чтоб далеко не ходить. Но я и сам готов купить такое решение за хорошие деньги, если оно найдется.

    Блин, начали за здравие... Это я к тому, кто не надо что-то недооценивать, если не работал с ним. Мне вот недавно казалось что в тех же танках всё на костылях держится. Но после ближайшего рассмотрения оказалось что там есть всё. Да, косо-криво, зато на все случаи жизни.

  17. Всё на месте. С каких это он тормознутый?  

     

    9.12 ещё не качал. В 10 его почти не не было (там куски были, но они скорее всего были к чему-то слинкованы, поэтому просто так их не выпилить). Походу 12 будет просто контент-патчем. Но задатки уже есть.

    Тормознутый он с самого начала. Просто в нем нет простора для говнокода (ака AS). Если использовать весь потенциал scaleform, то все эти древние костыли будут на глубочайшем подсосе по производительности. Он считается быстрым исключительно потому, что там есть ТОЛЬКО интерфейс для поключения (attach/dispose/detach). Дай волю - и тормозить будет пуще флеша.

  18. Что с картохой? Давно не слежу за ней просто...

    В след. патче наконец-то начали выпиливать legacy-куски. Первый на очереди оказался GUI.Text. Впрочем, туда этому тормозному УГ и дорога.

    А вообще - ничего нового. За джва 2 года таки запилили круг обзора, но не смогли даже в это и в придачу жиденько обосрались с dynamic alterations (ака газовая атака в новом режиме, которая сломала как обзор (в тесте союзники и совзводные могли пропасть на пустом месте). Ну и с кругом обзора на текущих картах в 70% сломался накуй геймплей. В худшую сторону. Короче, работают люди, сразу видно. На месте не стоят.

  19. Иди трезвей, так как я ни фига не могу врубиться в твою писанину. "на" - это "не" или "да"???

     

    Что касается ссылок, то я не знаю что ты сейчас по этим словом подразумеваешь, но если ты решил юзать из вне обфусцированный модуль после его импорта, то в протектора перед его наложением надо убрать галочку "Lock attr review...". Иначе извне ты доступа к атрибутам запротектированного модуля не получишь. 

     Короче вот, у меня в ближайшие 2-3 дня времени будет мало, но на неделе доделаю свою маленькую статью про орион (респект, кстати, за такой огромный труд) и питон картошки (в основном про способы передачи матриц, или почему говнорентген вылетает у каждого)) ). Я немало угробил шишек на своем хребту набивая этот опыт, мб, кому-то будет полезно. И там же впендюрю то, о чем мы выше с тобой говорили.. Может для тебе тебя это будет частично (а тои вдруг полнстью) копетанством, но часть авось пригодится) НЯЗ тема шейдеров не поднималась в последнее время, а зря, там можно очень многое сделать...

    До конца след.недели допишу.

    Извинямс за простыню и сумбур, ещё не отошел)

    Из серии "запилить запилил, как работает не знаю".

    Вылетает потому что картошкин эдж, это текстурирование, но не на уровне флеша, где оно рисуется нативными средствами Scaleform (что, кстати, не так уж плохо, и может быть очень быстро), а на уровне С, где это рисуется координатами в пересечении матриц вида(камеры) и абсолютных(начиная с какого то патча это условно-абсолютные) значений (причем координаты для рисования передаюится в виде транспонированной (sic!) матрицы)

  20. Ну напиши в лс. Погляжу о чем речь. Хотя не думаю что это общий случай, скорее частный. Вся ботва началась с патча, в котором они BW обновили, после чего у них пропала куча перехватчиков и обработчиков эксепшенов в движке питона, краши клиента можно было ловить просто на ошибках в питоне, причем тех, которые раньше стабильно локализовывались его движком.

    Ты не понял(( Я не собираюсь кого-то убеждать. Там не частный случай, а отдача на откуп глобальных функций, которые в итоге хоть  и немного, но сказываются на производительности) Я могу рассказать что знаю, а как это применить это уже история каждого.

    Ты можешь порусски написать, о какой версии ты говоришь и о какой функции Ориона ты пишешь?

    Какая версия? 1.3.0 или 1.3.1TEST?

    О какой обфускации ты говоришь? Обфускация текста? Обфускация байткода? Или о протекторе байткода?

    Блин, там с байткодом проблемы. Особенно в плане передачи ссылок Причем большие проблемы. Завтра как протрезвею напишу более четко))

  21. Опять не понял тебя. В первом посте есть история версий Ориона. Но при чем тут она?

     

    Т.е. по основной ссылке я получу версию которая ничего не ломает? Даладно))

×
×
  • Create New...