14

» SOLO MID / Reforged есть? А если найду

за 70 миллиард $?)
за 70 за 700 или за 7000 млрд - в чём разница для юзеров?
майкрософт купит
и что изменится?
14

» XGM Конкурсы / Большой Турнир Ландшафтеров 2023

5 из 13?
а что, уже 10 октября наступило?
кстати помимо голосования от жюри - будет ли голосование для обычных пользователей на приз зрительских симпатий?
14

» WarCraft 3 / какая есть софтина по переименованию функций и переменных?

обновление решения v5 от PT153:
Я переделал
ух, код main.py подрос с 24 строк до 85
теперь всё работает как нужно
да, вроде всё работает
это второе автоматическое решение но при этом первое чистое решение вопроса
даже лог присутствует, не ну это песня
Загруженные файлы
14

» WarCraft 3 / какая есть софтина по переименованию функций и переменных?

напишу отдельную обработку файлов с именем war3map.j. через недельку ожидайте обновлений
Загруженные файлы
14

» WarCraft 3 / какая есть софтина по переименованию функций и переменных?

Extremator:
а ты точно продюсер? (в смысле погромист)
А так это всё вручную делается, в блокноте.
Это будут " fu", "fu ", ",fu", "fu,", " fu,", ",fu ", ",fu," для первой, и аналогичные для остальных.
такое даже больно читать, не то что кодить в софте или вручную заменять в блокноте
замена " fu" заменит тебе все " function", не? тоже самое с " ta" (takes) " el" (else) " en" (endif) и тд
а замена " f" испортит последующую замену " fu"
не проще ли заменить "," на " , " а потом работать с " fu " ? что сократит твоих 7 замен всего до 2. это описано выше под именем v1
попробую найти время, чтоб сделать переименование для одного файла.
будем ждать, удобных фич много не бывает
Загруженные файлы
14

» WarCraft 3 / какая есть софтина по переименованию функций и переменных?

решение v4 от clojurmagictime:
w3map restorer
не сработал, в карте со 100% листфайлом просто удалил scripts\war3map.j и перепаковал
а на чистой карте с добавленным war3map.j оставил этот j файл без изменений (сам j файл выложен ниже)
и также после своего "рекаверинга" удаляет HM3W заголовок, предлагая юзеру назад допиливать самостоятельно новый mpq файл до нормальной w3x карты
хотя - сработал, после закидывания "восстановленной" карты в WE - в F4 можно полистать новый переименованный код
но есть пара моментов:
1 - работа происходит не с изначальным j файлом а через создание war3map.wct
2 - чуть изменяется оригинальный код (даже через количество строк), что не удобно при сравнении j и wct файлов - добавляется неотключаемая? отсылка к именам старых функций
3 - также он добавляет неотключаемые? строковую табуляцию и пробелы вокруг операторов - что делает различия между новым и оригинальном кодом практически в каждой строке
т.е. технически способ рабочий, но удобство надо смотреть более подробно
и это первое хоть сколько-то автоматическое решение вопроса из шапки
особый шик - переименование main в main2, наверное чтобы не конфликтовать с main из j

решение v5 от PT153:
Регистрируетесь в реплите, клонируете себе этот репл replit.com/@Prometheus3375/WarCraft-III-Jass-identifier-renamer, в war3map.j кидаете свой код. В main.py описываете имена, что хотите заменить и на что. Запускаете main.py. В output.j результат.
на родном тесте из 19 строк срабатывает нормально, а при добавлении своего j файла - обрабатывает только начало файла (первые переменные V E), остальной файл оставляет без изменений (переменные fu nc ti on) (да, эти переменные есть в коде)
обрабатываемый j файл есть в replit.com/@egxwaxg111111/111 или тут controlc.com/2fb2e68c или тут xgm.guru/files/100/314140/comments/518102/war3map.j
т.е либо реплит не может обработать 20 тыс строк, либо работа кода на обработке какой-то строки прерывается
цвет подсветки строк после 104 строки в output.j магическим образом меняется
после тестов оказалось что в 30й строке он заменяет, а уже в 40й строке не может заменить
может быть тому виной кавычки "jass" в 38 строке и формула RegExp перестаёт работать
REGEX_WORDS = re.compile(rf'(?:(?<!\\)").*?\b({words})\b.*?(?:(?<!\\)")|\b({words})\b', re.S)
14

» WarCraft 3 / какая есть софтина по переименованию функций и переменных?

Обойти это можно, написав небольшой скрипт, что построчно заменяет одни слова на другие, игнорируя слова в строках
ну или как вариант - т.к. полноценно весь код сравнивать до и после переименования мы не сможем, т.к. будет изменено 90% кода
то можно дополнительно изъять из кода (до и после) только текст в кавычках и его сравнить, а потом изменённые части вернуть в исходное положение
или ждать таки софтину от сообщества ну или писать самому и публиковать
в любом случае замена по двум спискам текста целиком - тоже простая задача для решения этой темы или для написания софтины
т.е. первый список - что заменяем (особо актуально для разных запротекченных версий одной карты, когда в разных версиях названия одних и тех же функций отличаются)
второй список - на что заменяем (когда мы разобрались в логике карты и уже можем давать функциям осмысленное название, ну либо когда под руку попался незапротекченный код с оригинальными названиями функций)
если пользователь второй список не ввёл то Word12345 или иным правилом
также можно добавить автоматический парсинг списка глобалок и всех имён функций
итого благодаря PT153 появился третий алгоритм решения: (все три решения являются костыльными)
v1 - поставить пробелы вокруг операторов + заменять с пробелами " text "
v2 - полурабочий X-deprotect + "заменить запутанные имена глобальных переменных"
v3 - заменять "слово целиком" + с доп проверкой внутри кавычек
14

» WarCraft 3 / какая есть софтина по переименованию функций и переменных?

Ну заменил, в чём проблема-то?
видео класс
а как работает "Только слово целиком" ? по каким законам? проверяет слева и справа чтобы не [A-z] [А-я] было?
PT153:
Вот документация
а всё - вот целая полезная портянка для чтения
Загруженные файлы
14

» WarCraft 3 / какая есть софтина по переименованию функций и переменных?

После ломания протектором и получается ломание кода
ломания кода не происходит, т.к. карта работает как и задумано
тогда бы никто не протектил карты, если бы она не работала
выглядит так как-будто ты наоборот хочешь произвести обфускацию скрипта
зачем просить то, что умеет делать протектор? не проще ли его просто запустить и использовать, чем создавать вопрос?
А так это всё вручную делается, в блокноте.
как ты себе представляешь замену 4 переменных с именами - fu, nc, ti, on ? если они встречаются в коде раз 200 каждая?
на глаз скроллить код? и на глаз отсеивать где переменная, а где часть слова?
почему консольный pjass умеет различать где переменная, где функция, умеет сверять типы данных, но нет ни одной софтины, которая бы их переименовывала?
предвосхищаю "не нравится - сделай сам такую"
Не видел ни одного плагина, который умеет в рефактор для jass
наверное это и будет ответом на вопрос

хотя у меня появилось некоторое решение - можно использовать программу по простановке пробелов вокруг переменных и функций - Script Language Aligner
а потом заменять " fu " , " nc " , " ti " , " on "
единственное - она не обрамляет пробелами запятые
в принципе - если накатать автору этой софтины чтобы добавил (или запилить самому) простановку пробелов вокруг запятых - то получится уже что-то
+ с массивами заменить a[i] на a [ i ]
ну а потом написать автоматический переименоватор " fu " в Test1 , " nc " в Test2 итд
костыльно всё это конечно, но с этим уже можно попробовать работать
странно, что этого никто не сделал к 2к24 году
т.к. для написания подобной софтины-переименовальщика не требуется особых знаний, можно запилить на любом языке
сначала проставить пробелы (исключая текст в кавычках) вокруг всех операторов !(),<>==+-[] , а потом переименовать " fu "
т.е. вводишь в неё списком fu=Test1 nc=Test2 ti=Test3 on=Test4, а на выходе получаешь переименованный ЧИТАБЕЛЬНЫЙ рабочий код

хотя в описании X-deprotect есть такая строка
переименовывание глобальных переменных с "запутанными" (obfuscated) именами в нечто типа "udg_integers01"
и фаталит
Загруженные файлы
14

» WarCraft 3 / Стол заказов Мульти Ледяные Стрелы

я уже сделал его на GUI
то есть ты сделал и в личку кинул карту автору вопроса?
где тогда комментарий или текст "заказ выполнен" ?
14

» WarCraft 3 / какая есть софтина по переименованию функций и переменных?

ctrl+F
это вообще-то поиск, а не замена
Например можешь через JNGP
вопрос был конкретно про j файл, а не про карту. в редакторе любой ду, в смысле любой гуишник сможет
цель этой задумки - вручную без ломания кода вернуть нормальные названия функциям после протекта (состоящим из 2-3 символов)
Ctrl + H
вы прикалываетесь оба?
возьми любой j файл в своей карте и по своему совету замени как написано в примере ниже, я посмотрю потом на твою карту
заменить текст func на Test1
заменить текст tion на Test2
14

» WarCraft 3 / как запустить на 1.26 карту [ Nature's Call - Circle Defense ] ?

итоговый короткий код от BaHeK
конвертация return bug для UNIT <-> INTEGER
globals
    hashtable ht = InitHashtable()
endglobals

function Trig_U2I takes unit u returns integer
    local integer id = GetHandleId(u)
    call SaveUnitHandle(ht, 0, id, u)
    return id
endfunction

function Trig_I2U takes integer i returns unit
    return LoadUnitHandle(ht, 0, i)
endfunction
14

» WarCraft 3 / Иконки Воды

Ну раз коллажей нет, вот список:
у иконок от крупных компаний - чёткие грани, насыщенный цвет
у иконок от васянов-нонеймов - два вагона блюра, потом сверху размытие, в конце полирнуть фильтром гаусса
14

» WarCraft 3 / [вакансия] скачать w3x карты из QQ группы

Никаких подробностей нет, что за вознаграждение, какие сроки
оплата написана сверху
сроки любые, это делается за 10 минут
Загруженные файлы
14

» WarCraft 3 / [вакансия] скачать w3x карты из QQ группы

неверный ответ
в прошлый раз китаец как то смог ответить, который даже эту карту в глаза не видел
может быть ответ и есть такой:
双人版
попробуй просто эту же строку ввести в ответ которая в вопросе
там тебе пишут в самом вопросе, что ответ такой-то - вместо вопроса сразу ответ тебе написали
Загруженные файлы
14

» WarCraft 3 / [вакансия] скачать w3x карты из QQ группы

host_pi, неверный ответ
тогда как вариант попробовать 橙色蘑菇的约会
" 双人版 " это вторая часть в названии 橙色蘑菇的约会-双人版
может подойдет ник автора карты и группы --- 魔尊赤明
14

» WarCraft 3 / [вакансия] скачать w3x карты из QQ группы

Там требуется ответ
нету вариантов ответа из списка ?
Версия для двух игроков
у них две карты на 2х игроков:
1 - 双人V2版-8次修正 (или "双人V2版" или "Mushroom Story 双人V2版-8次修正")
2 - 橙色蘑菇的约会-双人版