Я говорю об отслеживании кулдаунов другого игрока в своей же пати в данже.
Но вообще мне интересно, по какому принципу приравнивая что-либо к читам Вы проводите грань между аддоном и, например, предоставленными самими Близзард фреймами? Уж не должен ли труЪ игрок вручную по памяти высчитывать количество ХП своих союзников?
Только приведённые мной примеры не подпадают под то, что Вы описали. Игрок без аддонов физически не способен проделать всё это в адекватные сроки (либо с крайне низкой вероятностью появится вундеркинд и докажет обратное).
Если ты действительно работаешь с кодом, то эти внезапные аппеляции к авторитету (“я пишу аддоны уже девяносто девять лет”) и к “вере” в качестве основной ветви аргументации выглядят, по меньшей мере, занятно. Особенно в контексте, что это произошло уже на втором твоем посту и что это ты изначально прореагировал на меня.
То, что ты пишешь их, эти аддоны – это, конечно, хорошо. Однако еще это ничего не говорит о том, хорошие ли ты пишешь аддоны и разобрался ли ты в том, что делаешь и что говоришь. Мои первые программы были очень наивными тоже, еще до университета. Лет через пять я, наверное, буду кривиться от того кода, который пишу сейчас.
Переубеждать меня не обязательно. Я, вот, не пытаюсь переубедить лично тебя. Это публичное пространство, в конце концов, а не наши ДМы, поэтому я просто отвечаю на написанное. Ты можешь делать также, если тебе есть, что сказать, и никому не нужно будет в какой-то момент просто начать тебе верить.
Меня вот это заинтересовало еще.
Ты пользуешься корявенькими формулировками, поэтому я уточню. Ты пытался сказать, что Близзард использует ЛУА для разработки своих интерфейсов? И не только это, но они еще и выставили весь этот функционал наружу случайно? У тебя есть хотя бы что-нибудь, что бы подтвердило, что калифорнийская софтварная компания с 10к сотрудниками и флагманскими продуктами на миллионы одновременных пользователей до сих пор, в 2025, гоняет скриптовые языки, чтобы мутить свои фронты? Или это целиком только твои догадки?
У меня пока ничего не получилось найти, что бы подтвердило эту отважную теорию. Я не занимаюсь геймдевом, но я имею все основания полагать, что они утилизируют ЛУА исключительно как тоненькую оболочку для своих ЮИ-тулов, что бы те из себя ни представляли, и она, эта ЛУА-оболочка, существует единственно и исключительно для удобства девелопера аддонов.
Будет интересно почитать опровержения, которые не потребовали бы от меня обязательных религиозных откровений.
У меня была дуэль давным-давно с, кажется, воином. Мой друид иногда отбегал и хилил себя в процессе. Вар мне в конце заявил, что мой хил – это читы, и мне нельзя было это делать.
Воин вызвал тебя походу на макгора, ты должен был биться исключительно топором и явно не в форме кота или мишки. Воин не умеет хилиться, воин шокирован, воин требует чести и жалобу на игрока за чит
это так было с релиза игры 20 лет назад, и так и есть до сих пор (очевидно).
можешь поставить любой аддон для управления аддонами и увидеть там список всех близзовских аддонов, которые реализуют весь стандартный интерфейс: https://imgur.com/a/I7wFmbl
а тут все их исходники - https://github.com/Gethe/wow-ui-source/tree/live/Interface/AddOns
из чего следует, что
не верно, апишку используют и сторонние аддоны, и дефолтный уи близзов (который по сути такие же аддоны, но с повышенными правами).
но пал лукавит как минимум в 2 вещах:
документация есть, просто она в игре, а не на каком-то близзовском сайте - вот пример ее вызова: https://github.com/Gethe/wow-ui-source/blob/live/Interface/AddOns/Blizzard_APIDocumentation/Blizzard_APIDocumentation.lua#L116
сделано так, скорее всего, просто ради актуальности минимальными усилиями (ну и лени сделать нормально, тут уж да)
но раз она есть в игре и публично доступна, то сделана она точно не для самих близзов, а для разрабов аддонов.
не упоминает про protected функции, вызывать которые имеют право только близзовские аддоны - в основном это апишки, которые позволяют кастить спелы/двигаться/етц, так же туда попали всякие апи поиска групп после войны близзов с аддонами для автообъединения в группы на локалках.
вот они сделаны как раз исключительно для уи близзов, а все остальное - для всех.
например:
if IsSpellInRange(GetSpellInfo(53),"target") #not protected API
then
CastSpellByID(53,"target") #protected API, can't be called by regular addon
end
была (мб до сих пор есть) такая штука, как lua unlocker, которая патчила клиент и позволяла обычным аддонам вызывать protected апишки (но это чревато баном офк).
в таком случае можно было написать реального бота тупо на луа в виде аддона, пользуясь исключительно луа апишкой.
а все что написано выше про “аддоны это читы” и приведение в пример трекинга кулдаунов - бред сивой кобылы.
аддоны это просто возможность сделать из крайне убогого стандартного интерфейса, который по умолчанию годится только для целования белок или игры под пиво в фентезийный мир, что-то нормальное и играть в механики игры, а не тупо жать кнопочки как слепой котенок.
Конечно близзард использует ЛУА для разработки своих интерфейсов. И ты использованием пары недокументированных команд (да-да) можешь вытащить весь их код и почитать. Интересное чтиво. Более того, именно так все аддоны и пишут. Читают, как близзарды реализуют этот функционал. Понимают, как эта функция работает. Экспериментируют. Ну сегодня и другие аддоны, конечно, почитать можно, но первоисточник это именно код от близзарда.
И нет, конечно же они не сделали возможность запуска аддонов случайно. Это я не хочу сказать. Я хочу сказать, что близзарды приложили примерно ноль усилий для того, чтобы как-то помочь разработчикам аддонов.
По сути всё, что они сделали - это дали возможность запускать свой код на Lua и дали возможность вытащить код встроенного в игру интерфейса. Они не писали особых функций для разработчиков аддонов за супер-редким исключением. Они нифига не публикуют в патч-нотах изменения API за супер-редкими исключениями. Они не публикуют никакие инструменты, которыми сами, несомненно, пользуются. Ну да, есть пара команд вроде упомянутого /api, добавлю полезные /fstack, /etrace, /dump их они включили в дефолтный интерфейс, хотя могли бы и вырезать, обычному пользователю это всё точно не надо. Но всё же это можно отнести лишь к тем самым исключениям. И всё, что они в данном случае сделали - не стали удалять эти команды, а не то, чтобы они их добавили специально для разработчиков аддонов.
Всё внимание, которое от них получают разработчики аддонов это периодические запреты на работу кода, который работал раньше. Из недавнего - запретили из макросов вызывать другие макросы, чтобы обходить ограничение на длину макроса.
Вот тебе инструкция. Заходишь в батлнете в настройки игры. Ставишь галочку на Additional command line arguments. Вписываешь в появившееся поле параметр -console. Запускаешь игру. Никуда не логинясь жмёшь букву ё (тильду). Сверху вылазит консолька. Пишешь там ExtractInterfaceFiles code. Игру чуток подфризит, это нормально. После этого выходишь, убираешь аргументы, заходишь в папку с игрой и обнаруживаешь там новую папку BlizzardInterfaceCode. Исследовав её ты сможешь найти весь lua-код, который рисует дефолтный интерфейс игры. Ритейл у меня сейчас не установлен, в классике это 370 000 строк кода на LUA и 180 000 строк “кода” на XML.
Если поговорить о том, как могла бы выглядеть реальная поддержка рзаработчиков аддонов:
Публикация всей внутренней документации по API. https://warcraft.wiki.gg/wiki/World_of_Warcraft_API вот это вот, только от разработчиков. В том, что у них такая документация есть, я не сомневаюсь, её не может не быть.
Гарантии стабильности API. Сейчас API могут ломать даже в минорных патчах. Причём ломают абсолютно “на пофиг”. Они в своём коде поменяли порядок параметров, условно говоря, и все связанные аддоны при этом сломались. API не должен ломаться в пределах мажорного патча. Если аддон работает в 10.0, то он должен работать вплоть до 11.0. Ну понятно, что это не касается каких-то ситуаций, когда они намеренно хотят сломать аддон, но таких вот случайных изменений в API быть не должно.
Все изменения в API должны быть задокументированы, с рекомендациями по миграции кода.
Разработчики должны прислушиваться к нуждам писателей аддонов и добавлять нужные им API. Я вообще знаю ровно один случай когда такое произошло. До патча 2.4.3 аукционные аддоны при сканировании аукциона сканировали все тысячи страниц, одна за другой. Это было очень долго и это грузило сервер. Они добавили в функцию QueryAuctionItems специальный параметр для аддонов getAll, который выдавал всё содержимое аукциона на одной странице и в своём коде они этот параметр не используют. Наверняка были и другие подобные случаи, но они редки.
Опять же приведу пример того, где они могли бы помочь разработчикам аддонов. Сейчас аддоны для своего общения используют скрытые каналы чата. Отсылка сообщения в эти каналы работает только для сообщений с весьма ограниченной длиной (несколько сотен символов), а также там много нюансов с отсылкой бинарных данных, какие-то байты можно слать, какие-то нельзя. А если слать сообщения слишком часто, тебя тупо выкинет из игры, такой скрытый лимит там есть, тоже прикольно. В итоге 99% аддонов, общающихся друг с другом сначала кодируют объект в специальном текстовом формате, потом они этот объект сжимают чем-то похожим на gzip (но учитывая нюансы с тем, какие байты можно слать, какие нельзя), потом этот gzip разбивают на куски и отправляют один объект посылкой кучи сообщений. На “другой стороне” это всё собирают, декомпрессируют и тд.
Всё вышеописанное, конечно, работает на lua. Который является, прямо скажем, не самым подходящим языком для написания подобного кода. И процессоры бедных игроков колбасят в бою с боссом, обрабатывая тысячи сообщений, пересылаемых друг другу, сжимая-разжимая их супер-неэффективным способом. Если зайдёшь какой-нибудь аддон и пошерстишь его содержимое, есть большие шансы найти папки AceComm-3.0, AceSerializer-3.0, LibDeflate, вот это вот оно.
А всё, что надо сделать близзардам - убрать ограничения на длину сообщения в канале (ну или сделать её достаточно большой) и сжимать их самостоятельно, в коде на С (причём я не удивлюсь, если они это и так делают, сжимая уже сжатое, но про это никто не знает). И сразу игра станет немножко быстрей для всех пользователей и немножко проще для всех писателей аддонов.
это все перечисленное выше здорово, полезно и верно, но изначально реплай был на эту цитату:
и хоть близзы и забили большой и толстый на документацию и обратную совместимость, апи существует и большинство функций не являются protected, значит близзард явно одобряют их использование, так же явно делая protected те, которые не одобряют.
из чего следует вывод, что близзы аддоны “читами” не считают, “сторонним по” они не являются по определению, а вульпера написал ахинею
P.S. интереcно, вульпера приводит в пример пвп, но не занимается им и другими рейтинговыми активностям с высокой персональной ответственностью потому что там “читеры с аддонами”, а самому их поставить религия не позволяет или потому что слишком крут и жалеет немощей-инвалидов с аддонами?
или же это просто удобное оправдание?
Считают ли близзы аддоны читами - вопрос сложный. Очевидно, что многие аддоны кардинально упрощают многие игровые моменты. Я бы сказал так - некоторые аддоны это действительно уровень читов, но, конечно, читов разрешённых.
Наглядный пример это классик - без аддона здоровье цели в цифрах не видно, с аддоном - видно. Ну разве это не чит?
Также очевидно, что ряд функциональностей аддонов близзардам не нравится настолько, что они предпринимают специальные действия для их отключения. При этом урезать аддоны - порой задача непростая. Воздействие тут идёт на уровне API-функций и зачастую это воздействие может сломать кучу других аддонов, никак не связанных с проблемным и не представляющих собой проблему.
К примеру раньше аддоны могли модифицировать неймплейты дружественных игроков в рейдах. Это делалось для вполне невинных целей. Но кому-то пришло в голову рисовать вместо прямоугольника - овал, и получилось, что теперь вокруг игроков аддон рисует круги. Расставляться на некоторых механиках стало кардинально проще. И близзы не придумали ничего лучше, как полностью запретить любые модификации дружественных неймплейтов в подземельях.
Опять же вслух близзарды это никогда не скажут, но между строк в интервью и тд, читается, что они были бы рады вообще отключить все аддоны, но джина из бутылки уже давно выпустили и назад его не засунешь, 9 из 10 игроков обвешаны аддонами, как ёлка игрушками, и по-другому играть просто не будут.
Поэтому, как ёмко говорят наши украинские друзья, маемо шо маемо.
До того как парни выше разъяснили, моя неспособность убедительно ответить на этот вопрос была главным аргументом за то, что ну не может там внутри реально быть ЛУА. Видимо, 25 лет назад было совсем другое время, а сейчас риски, что все окончательно поломается, уже перевешивают преимущества смены стека.
Если так подумать, понаблюдав за всеми бесконечными багами и уникальными костылями, то это как-то даже уже почти начинает дополнять общую картину. Что разработчики Близзард – это как раз именно те ребята, которым комфортно начинать считать элементы массивов с первого, а не нулевого…
Здоровье в целом должно быть видно по умолчанию, да и аддон просто упрощает его подсчет, ты можешь узнать хп моба просто побив его(не знаю как сейчас, но в актуальные времена этот аддон так и работал, ты не знал хп моба до того как его убьешь, а уже после кила аддон записывал значение его ХП).
Прочитал ранние посты, у тебя в целом странное представление о читах.
Это гвоздь в крышку гроба любой игры, которая изначально позиционируется как юзер френдли, потому что базовый функционал игр зачастую сильно ограничен и слабо проработан(да, на старте меня вполне устраивал интерфейс, но игра до легиона и сейчас это 2 совершенно разные вещи, плюс мне не нравится новый интерфейс с закосом под элвУИ, он неудобен в настройке, все эти ползунки и галочки раскиданы абы где, старый вов был играбелен из коробки и настраивался в 2 клика, сейчас же мне проще настроить мою подборку из десятка аддонов, нежели “чистый” клиент.
А потом функционал этого аддона добавили в игру по умолчанию.
п.с. Разработчикам бы стоило вернуть все те переменные, которые они удалили из настроек, ибо там очень много удобных функций(всё еще работают с аддоном), не знаю, кому в голову пришло, что удаления важных настроек это хорошее решение.
Если придумаешь аддон который позволит мне печатать текст на русском и отправлять его сразу же на английском, а чат переводить на русский в реальном времени цены тебе не будет.
Из онлайн сервисов надёжным является только ChatGPT, для коротких сообщений может быть подойдёт ещё deepl.
Google Translate не справляется даже с самым простым текстом, для перевода и ввода сообщений без грамотных формулировок он ужасен, а в игре где все общаются на игровом сленге, сокращая слова и просто пропуская где-то букву или запятую он является катастрофой.
Но моя просьба не касалась темы выбора онлайн сервиса для перевода и ввода сообщений.
Я уже давно ищу аддон который будет работать на базе AI для перевода чата в WoW.
Мне нужен автоматический перевод при вводе и получении сообщений.
Хотел бы я посмотреть на человека, который в уме считает хп моба, побив его, измерив линейкой полоску хп и записывал бы эти значения в тетрадку на будущее. Особенно интересно это смотрелось бы на рейдовых боссах.
Нет уж. Такого просто не может быть. Аддон в данном случае добавляет функционал, которого принципиально в игре нет. Более того - функционал, который разработчики намеренно не стали добавлять, чтобы усложнить игру (потому, что показ своего хп в настройках включить можно).
У 99% игр, включая все игры Blizzard, аддонов нет. И ничего, им это не мешает. Играют в диаблу и овервотч без аддонов как-то. В FF14 слыхал, что за дпс-метры просто банят. И только варкрафт особенный почему-то.