Библиотека "All.j" вполне неплохо работает, результат потрясающий! Но есть проблема, когда происходит "Pick every units in range ... matching ..." то делается всё наоборот, либо вообще пропускает, словно условие истинно, но это не так! На некоторых заклинаниях приспособился, сначала заношу группу в переменную "set CurrentGroup = Units in Range 500.00 of matching <бла-бла-бла...>", а затем эту переменную указываю в "Pick every unit in CurrentGroup and do...", и многие ошибки так удалось обойти. Но встретил ошибку в группе, когда может правильно определить группу, а может и нет, и это происходит случайно, во время игры. Предыдущий метод, заносить сначала в переменную, уже не помогает. Я не программист на jass, поэтому прошу посмотреть файл тех кто разбирается. Он не такой уж и большой. Покрутил там таймер в функции удаления групп, изменил ".0" на "2.0". Перезагрузил со скриптом. Стал удалять с задержкой в две секунды. Причём за эти две секунды набирается 2000~ Хендлов, видимо уже не от моей карты, но сбрасывается снова. Думал что дело в таймере удаления утечек, но нет, это всего лишь задержка удаления... Как бы всё намекает на "boolexpr b", что условие приходится выносить отдельно за функцию, решать его там своими силами, а потом заносить в функцию обратно. Стал смотреть в интернете про эту функцию, но ничего толкового не нашёл. Вроде бы всё верно. Того автора уже лет 5 на сайте нет похоже.
Использую All.j тот который весом побольше, значит лучше, да и в игре он хоть как-то работает, в отличие от более старого, который поставляется вместе с NewGen WE. Выложу его здесь. Оригинал!

Принятый ответ

ALL_Remove = false
чтотооченьважное
ALL_Remove = true
как сложно то было
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
26
6 лет назад
1
вы орете там? какая разница где создана переменная, если вы ее забиваете по ходу игры
0
7
6 лет назад
0
Я ору? Это Вы орёте, а Я лишь разъясняю суть проблемы. Скажите наконец что Я должен делать!
Моя логика такова, что в триггере Я в неё сразу добавляю юнита, и там же обрамляю её тегами, как только она высунула свой нос, чтобы это действие не учитывалось оптимизатором. То есть добавляю в тегах юнита, учитываться не должен, как понимаю.
Не могу же Я всё охватить тегами, верно? Там могут быть и те переменные которые нужно очищать.
Да кстати, разница такая что негде её обрамлять!
Если вы хотите чтобы Я успел под Новый Год её сделать, если вы хотите Ёлочку и с виртуальными подарками под ней, и если вы хотите увидеть кто из крипов станет дедом морозом, тогда вам нужно очень хорошо постараться и успеть помочь мне до того, как простучит ровно двенадцать! А после Нового Года Ёлочка пропадёт, и будет унылая карта. Думаете Я шучу с вами? Я реально уберу Ёлочку! Всё! Не будет Ёлочки если не успею в срок!
0
26
6 лет назад
0
очень жирный намек
0
17
6 лет назад
0
вариант послать вашу работу куда подальше сбегать на завод,заработать копейку придти сюда попросить кого нить за деньги ваш проект закончить или просто когото попросить может за так сделают
0
7
6 лет назад
0
ledoed, хе-хе, да нет. Я не такой крутой работяга чтобы так быстро сейчас заработать и успеть ещё прибежать сюда на ужин. К тому же, вы же понимаете, что это делается ради удовольствия. Знаю что понимаете. Ради самого процесса делается, пройти путь воина-картостроителя. А так, готовых игр с крутой графикой полно, "играй-не-хочу", но не то что хочется, и всё халявное и просто даётся, ибо за большие Корпорации не так сильно переживаешь как за одного человека который может не сделать.
Hate, а ну как бы другая группа ... но в эту группу ... ну Я понял.
Попробовал. Получилось! Но есть ещё одна проблема, не работает эффект. Я его закрыл тегами, но он всё равно не работает. Что Я делаю не так? Скрин прилагается.
Загруженные файлы
0
15
6 лет назад
0
Я понял
Нет. Все еще не понял. И даже не пытался искать, так как решение на первой странице гугла, если правильно спросить.
0
7
6 лет назад
0
AlexSan, что значит Гугла, ха-ха, это программирование, где требуется точный ответ, или волшебные загадки? Нельзя было сразу ответить?
Ну хорошо, залез в Гугл ... ничего путного. Писал "All.j ALL_REMOVE Warcraft 3", и по другому, и про спецэффект... Нашёл только форум где автор рассказывает про своё чудесное творение, но и там ни слова об обрамлении тегами, нет точных инструкций о такой важной мелочи!
Попробовал занести в переменную, и оградил тегами только её - не помогло. Тут должно быть основное правило! Но что-то Я не понимаю его. Довольно загадок! Как сделать?

Вот сайт куда Я попал - w-games.2x2forum.ru/t455-topic

Можно в принципе вообще сюда не заходить, искать только в Гугле, а как увидел этот сайт, обходить стороной, но уж больно много сюда натаскали инфы.

"Если же Вам нужно, к примеру, занести точку в переменную для дальнейшей работы с ней, перед этим действием нужно прописать Личным сценарием (Custom script): ALL_Remove = false, а после занесения в переменную ALL_Remove = true."
Я так сделал. НЕ РАБОТАЕТ СПЕЦЭФФЕКТ! ! ! Возможно он и работает, но Я его не вижу!

  1. Опять 0 в группе. Дебаггер показал. Значит дело опять в обнулении групп, а не в спецэффектах. Пойду думать дальше, может занести в теги и "add unit..."?
0
26
6 лет назад
0
если бы вы только сразу начали переходить на jass... не пришлось бы ломать голову с утечками и такими проблемами
0
7
6 лет назад
Отредактирован Dagger667
0
Hate, Я просто не знал. Всегда работал на GUI и не подозревал о такой проблеме. В детстве ещё программировал, делал кучу таймеров, лаги были жуткие, но Я готов был всё терпеть потому что было очень интересно. Думал это из-за таймеров, потому что замечал что когда их много то начинает лагать. Бывало лаги тормозили на 15-18 секунд экран, но карты делал интересные, потому терпел и играл хотя бы по чуть-чуть. И в этот раз сделал один основной таймер на всё, где wait-ами распределил нагрузку по всей секунде. А долго не играл, думал всё будет работать. Но вот залез в интернет и узнал, а 4 месяца жалко терять. Но Я готов переработать.

Hate, может функцию со спецэффектами закомментировать в All.j? Я же могу их сам удалить, верно? У меня по всей карте за спецэффектами стоят функции "Destroy SpecialEffect"!

Hate, В любом случае группы обнуляются не по правилам, скорее всего этот вариант с библиотекой провальный. Нужно искать другой путь.
А вот интересно, если каждую BJ-функцию раскрыть, и переделать, а затем загрузить как свою библиотеку, то они заменятся? Я бы этим занялся, насобирал бы через интернет альтернативные написания функций-BJ, или сам бы дописал, и подгрузил бы как библиотеку. Можно было бы через GUI работать даже, только внешне оставить их как были (takes и returns чтобы совпадали).
Hate, предоставь мне инструкцию что нужно сделать чтобы заменить все BJ-функции! Если никто не хочет то Я возьму это на себя, для всех сделаю. А заодно, поучусь на практике программировать. Вот он, Герой Паладин =) !
Хотя Я лучше создам отдельный маленький вопрос по этой теме, а этот закрою. А про All.j можно забыть, слишком непродуманная библиотека.
0
15
6 лет назад
0
про All.j можно забыть, слишком непродуманная библиотека.
Не знаю, у тебя просто руки не из того места походу. В моей карте довольно много триггеров, и ALL.j ничего не ломает от слова совсем.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.