Подскажите как вернуть окраску юнита после перевоплощения какая и была до его применения у юнита. Если у юнита не стандартная окраска где все по 250, а пара пунктов изменена, то после применения перевоплощения акраска выравнивается в стандарт где все 3 пункта становятся в стандартное значение по 250. Как триггерно поменять окраску с помощию триггера - "Анимация - Изменить окраску верха", только не задавать каждое значение в ручную, т к способность могут применять разные юниты с разной окраской, а указать каждое из трех значений что бы были скажем как у ''типа юнита - применяющий юнит". За ранее очень благодарен.
Кучу вариантов испробовал и только если задаешь в ручную, то работает. Не знаю какой пункт триггера даст нужный результат. Пытал указывать значение умирающий юнит, но в таком случае юнит становится на всегда черным как тень.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
6
1 год назад
Отредактирован blackmaker
0
Если ты имеешь виду именно простые текстовые файлы, то ясен пень. А не подскажешь куда выложить мою систему на обнаружение источников утечек и устранения их, а то чувствую если отлажу нужный вар и Ujapi под него, то не известно когда, да и не факт что устраню их, согласно моим знаниям из статей утечки возникают из за своевременно не удаленных триггерами указанных точек локация, спецэффектов и еще чего то, забыл. Но возможно это не единственные возможные источники. Ты говорил что возникает куча утечек из за отдачи приказа отрядам, в триггерах указывается команда 12 юнитам отряда перейти в определенную точку при отдаче приказа командиру, я установил эту точку как переменную и сразу ее удаление после перехода, патрулирования, либо же перехода нападая к этой точке отряда, но утечки все еще есть судя по твоему ролику. По этому тут скорее всего у меня возникнут большие проблемы в поиске причин их. Остальные триггеры там ерундовые, инициализация и создание самих отрядов при обучении, найме либо же при инициализации карты на установленных на карте единиц командиров которые должны быть с отрядом.
Ты тз за бабос делаешь?
0
29
1 год назад
Отредактирован nazarpunk
0
Код и есть простой текстовый файл с определённым шаблоном.
На гуях устранять утечки муторно, проще с кодом работать.
ТЗ это техническое задание. Систему отрядов напишу по доброте душевной, ибо над ней ещё не работал.
0
26
1 год назад
0
blackmaker, тебе ещё не продложили сделать БД с юнитами и рессетить цвета оттуда?
0
6
1 год назад
Отредактирован blackmaker
0
Буду от души благодарен за код с системой отрядов. Он в джассе будет? От меня точно расписанное задание?

тебе ещё не продложили сделать БД с юнитами и рессетить цвета оттуда?
БД это что? Мне предлагали какой то способ с хэндл таблицей и ключом, но я в этом вообще не разбираюсь.
Помимо этого, в общении с nazarpunk, выявилась новая крайне опасная угроза - это куча утечек при отдаче приказов отрядам и скорее всего еще чем то, более 8000 за полторы минуты игры, а значит уютная и комфортная игра пока не возможна, и я ищу человека который поможет выявить причины и устранить их, моих скудных знаний на это к сожалению не хватило.
0
29
1 год назад
Отредактирован nazarpunk
0
это куча утечек при отдаче приказов отрядам и скорее всего еще чем то, более 8000 за полторы минуты игры
Это не утечки, а хэндлы. В пустой карте их почему-то будет 1000. В твоём примере карта стартанула со счётчиком 7000 и буквально за минуту управления юнитами, прибавилась ещё 1000.
В проверке на хэндлы более важен рост значения. Если количество держится в районе одной некой величины, то с картой всё норм. Если же улетает в космос, то нужно что-то решать.
БД это что?
База данный. Конечная реализация не особо важна, главное принцип.
Мне предлагали какой то способ с хэндл таблицей и ключом, но я в этом вообще не разбираюсь.
Принцип достаточно прост. Смотри, можешь представить себе массив чисел, это не сложно:
[10, 20, 30]
запишем рядом с числами их индекс:
[0:10, 1:20, 2:30]
ззаменим числа массивами, и получим так называемый двумерный массив:
[0:[1, 20], 1:[3, 40], 2:[5, 60]]
проставим индексы во вложенном массиве
[0:[0:1, 1:20], 1:[0:3, 1:40], 2:[0:5, 1:60]]
Наконец-то вспомним, что хэндл юнита, таймера, декорации, предмета это уникальное число и отформатируем для удобства массив:
[
	0: [
			0:1,
			1:20
		],
	1: [
			0:3,
			1:40
		],
	2: [
			0:5,
			1:60
		]
]
Если на данном этапе ты понимаешь, почему элемент [0][1] это 20, то не всё ещё потеряно. Осталось перевести эту запись на язык варкрафта:
native SaveInteger takes hashtable table, integer parentKey, integer childKey, integer value returns nothing
В нашем случае это будет выглядеть
call SaveInteger(Таблица, 0, 1, 20)
Осталось ещё добавить, что в отличие от массивов, ключи можно выбирать произвольные и ничто не запрещает сразу сделать так:
call SaveStr(Таблица, 10, 40, "Я умею работать с хэштаблицами.")
От меня точно расписанное задание?
Как работает система отрядов вахи я знаю. Но есть ньюансы:
  • У коммандира только один тип подчинённых?
  • Каким образом происходит дозаказ новых подчинённых?
  • Какие ещё механики отрядов нужны?
Он в джассе будет?
Он будет в Зинке.
0
6
1 год назад
Отредактирован blackmaker
0
По поводу задания возможно лучше будет перенести тему в др раздел или еще куда.
В общем система отрядов такова. Отряд состоит минимум из 2х видов юнитов. Например Пехотинец к (командир) и 11 Пехотинцев (солдат), если в отряде больше видов юнитов как например у мясников нежити у которых 1 мясник к, 2 мясника и оставшиеся 9 вурдалаки (для правильного визуала нежити у которой много гулей), бывает в отряде всего 3 юнита, это с очень мощьными юнитами типа каменных големов - 1 голем к, 2 голема ( в моей версии они мощьнее) или привратников.

Все команды отданные командиру естественно передаются членам отряда не командирам, кроме тех которые в стадии смерти (мертвый юнит Dammy), не знаю правильно или нет определять подобное как dammy, но мне так удобнее. Дамки же при приказах перейти нападая на противников, просто перейти или атаковать, просто следуют за командиром правой кнопкой мыши, но приказ патрулирования повторяют, это для того что бы дамки не отправлялись в гущу врагов не имея показателя атаки, а в момент перехода в стадию изначальной формы (пополнения отряда типа новым юнитом) не оказались в в этой самой гуще врагов опять отхватив люлей за 3 сек. дамки не имеют физ масштаба что бы об них не толпились живые и имеют нулевую модель - bugger. Мертвый юнит dammy при смерти члена отряда не командира появляется следующим образом. Умирает юнит не к, ему на замену создается тип юнита умирающий юнит и определяется в переменную переменную солдата не командира отряда отряда, умирающий удаляется из всех переменных, созданному юниту сразу добавляется способность на базе перевоплощения (Dammy Смерть) в которой вторая форма изменена на Мертвый юнит dammy, первая форма не затрагивается т к это не играет никакую роль, время действия способности 120сек, псоле применения способность удаляется и по мере истечения ее действия dammy мертвый юнит превращается (слава багам и системе вара) не в 1ю ее форму а в юнита созданного после смерти предыдущего и это в случае если командир жив.
Командир же при смерти создается сразу же в любой точке живого случ юнита своего отряда, но в случае если хотя бы 1 юнит его отряда является не dammy мертвым юнитом, в противном же случае если все при его смерти dмю, то триггер не создает при смерти к мгновенно тип мортвего юнита, все юниты отряда юдаляются из своих переменных групп юнитов и удаляются из игры. При смерти командира у меня выбирались все в отряде триггером отряд выбрать всех в группе и все кто являлся не d м ю - записывались в переменную имеющую массив (ssQUnLive) типа отряд отряда умирающего юнита и если количество в группе ssQUnLive больше 0 то естественно командир сразу возраждался со всеми последующими триггерными действиями удаления из переменных отряда умирающего юнита и добавлениями нового созданного его в переменные отряда умирающего юнита. Может и не красиво что командир мгновенно перерождается, но по моим тестам это пока самый актуальный способ в системе т к командир является связующим жизни отряда. Мертвые солдаты прерождаются в отряде если жив их командир.
Так же все это осуществлялось на минимальной версии вара (1.28) где появилось нормальное разрешение и, что крайне важно, обязательные дополнительные 12 цветов игрока и они в системе как дублеры первых 12 цветов игрока т к все отрядные юниты солдаты не командиры (не те что одиночные, такие тоже есть типа горного великана или катапульты) солдаты не командиры определяются дублерным новым цветом определенным как союзные игроки и имеющие такое же имя как игрок которого они союзники, например у красного игрока солдаты не командиры принадлежат багровому игроку который имеет еще и имя красного, у синего солдаты не командиры к темно синему и т к у всех 12 стандартных цветов. Это зделанно для того что бы ни игрок человек, ни тем более игрок компьютер ни в коем случае не мог отдавать приказы юнитам не командирам, т к если это будет ии, то катастрофически сильно будет нагружаться движок.
Может я пишу много лишнего, как возможно тебе покажется, но я пишу это для того что бы было понятно как у меня все работало и выглядело, и т к я не могу наверняка знать что из сказанного будет для тебя необязательным.
Я пока думаю что еще очень важное добавить.
0
29
1 год назад
Отредактирован nazarpunk
0
По поводу задания возможно лучше будет перенести тему в др раздел или еще куда.
Это обсуждение напрямую касается темы вопроса, так что можно и здесь. Trust me, im admin.
не знаю правильно или нет определять подобное как dammy, но мне так удобнее.
Правильно пишется dummy.
Отряд состоит минимум из 2х видов юнитов.
Если тип солдата один, то можно было считерить с равкодами.
Так же все это осуществлялось на минимальной версии вара (1.28)
Советую отталкиваться от 1.26, очень популярный патч. Особенно если ты хочешь, чтоб твоей наработкой другие пользовались.
это для того что бы дамки не отправлялись в гущу врагов не имея показателя атаки, а в момент перехода в стадию изначальной формы (пополнения отряда типа новым юнитом) не оказались в в этой самой гуще врагов опять отхватив люлей за 3 сек. дамки не имеют физ масштаба что бы об них не толпились живые и имеют нулевую модель - bugger
Если у юнита нет коллизии, то при создании юнита с коллизией в гуще врагов, его всё равно выбросит на свободное место. Не вижу смысла переусложнять с даммиком.
обязательные дополнительные 12 цветов игрока и они в системе как дублеры первых 12 цветов игрока
Дублировать войска другим игроком влечёт за собой дополнительный гемморой со способностями. Лучше в попытаться в рамках одного игрока разруливать.
И каким образом происходит восполнение юнитов в отряде? В той же вахе, юнитов в отряде необходимо было дозаказывать.
0
6
1 год назад
Отредактирован blackmaker
0
в гуи у меня было три важных стартовых триггера от которых появляются отряды.
1 Триггер юнит завершает подготовку боевой единицы, действие определяет последнюю подготовленную ед как переменную боевую единицу TriggeringUnit без массива и запускае связующий триггер запускающий следующий для сканирования переменной на юнита командира что бы создать ему отряд затем переменная TriggeringUnit определяется как нет боевой единицы.
2 Триггер юнит продает боевую единицу, действие определяет проданную боевую ед как переменную боевую единицу TriggeringUnit без массива и запускает связующий триггер запускающий следующий для сканирования переменной на юнита командира что бы создать ему отряд затем переменная TriggeringUnit определяется как нет боевой единицы.
3 Триггер инициализация карты, выбрать всех юнитов на карте и зделать действие - действие определяет выбранную боевую ед как переменную боевую единицу TriggeringUnit без массива и запускает связующий триггер запускающий следующий для сканирования переменной на юнита командира что бы создать ему отряд затем переменная TriggeringUnit определяется как нет боевой единицы.
0
29
1 год назад
0
в гуи у меня было три важных стартовых триггера от которых появляются отряды
Рядовому игроку неважно, какие триггеры, ему важно юнитов дозаказть. И это нужно каким-то образом отобразить в интерфейсе.
0
6
1 год назад
Отредактирован blackmaker
0
связующий триггер запускает пачку триггеров, пока определена подготовленная, либо же проданная, либо же выбранная боевая единица как TriggeringUnit и если в какой либо из пачки триггеров оня является внесенным юнитом к для которого создается отяд с определенными солдатами и колличеством типов солдат, то создается отряд. Потребление пищи естественно имеют лишь командиры, и ее диапазон от 1 до 2

я просто пишу пока не забыть важное

макс лимит пищи - 12 ед, т е игрок может иметь 12 отрядов с ценой пищи 1 или 6 мощьных отрядов типа рыцарей или огров пищи 2. Рабочие имеют лишь лимит на количество (50), некоторые одиночные юниты типа катапульты или одиночного мага людей из вар2 имеют лишь лимит количества (3 в зависимости какой юнит) и не требуют пищи, герои не требуют пищи. Лимиты на количество какого либо юнита указывалось в триггере инициализации.

Если тип солдата один, то можно было считерить с равкодами.
В отряде тип юнита уже не один, т к командир имеет требования к пище и в триггере удобнее указать отдельно командира и отдельно юнита не командира, чем указывать тому же типу блокирование на потребление пищи и т д. Проще в шаблонном плане короче.

Советую отталкиваться от 1.26, очень популярный патч. Особенно если ты хочешь, чтоб твоей наработкой другие пользовались.
Может и так, но 1.26 вроде имеет старое дурацкое растянутое разрешение от которого я отвык и возвращаться к изображению 2002г от которого отвык как то уныло, но может быть и нужно. Для 1.28 зинк скрипты не работают? Почему люди не будут пользоваться на 1.28?

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

Дублировать войска другим игроком влечёт за собой дополнительный гемморой со способностями. Лучше в попытаться в рамках одного игрока разруливать.
А вот это уж точно не является проблемой, вот ни сколько, т к все способности отряда, кроме авто способностей, будет лишь командир, но в этом случае создается способность на базе стандартной способности с суффиксом указание цели, например командир используетс полиморф указание цели которое имеет 0.01 время действия, но со стандартными требованиями маны и требованиями изученных технологий или присудствия строений, на юните отряда. . Триггер выбирает всех в отряде юнита цели способности, отсеивает тех кто не мертвый юнит и кто не имеет эффект полиморфа, записывает их в переменную отряда, из них выбирает случайных 6 и для каждого вызывается дамик в позициии переключающий юнит которому добавляется триггерно Dummy полиморф с увеличенным радиусом действия, 0 требованием маны и 0 перезарядки, но с стандартным уровнем силы и пользы способности типа времени действия в случае полиморфа. Тем самым создается эфект что способностью как бы пользуется отряд а не один командир, хотя даже если всего лишь один командир жив в отряде. Но это лучьше чем когда ии в секунду отдает приказы спеллов одновременно всем юнитам 12 отрядов и грузит движ вара.

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

И каким образом происходит восполнение юнитов в отряде?
Выше писал, просто редактировал потом и возможно нужное дописал позже
Мертвый юнит dammy при смерти члена отряда не командира появляется следующим образом. Умирает юнит не к, ему на замену создается тип юнита умирающий юнит и определяется в переменную переменную солдата не командира отряда отряда, умирающий удаляется из всех переменных, созданному юниту сразу добавляется способность на базе перевоплощения (Dammy Смерть) в которой вторая форма изменена на Мертвый юнит dammy, первая форма не затрагивается т к это не играет никакую роль, время действия способности 120сек, псоле применения способность удаляется и по мере истечения ее действия dammy мертвый юнит превращается (слава багам и системе вара) не в 1ю ее форму а в юнита созданного после смерти предыдущего и это в случае если командир жив.
Командир же при смерти создается сразу же в любой точке живого случ юнита своего отряда, но в случае если хотя бы 1 юнит его отряда является не dammy мертвым юнитом, в противном же случае если все при его смерти dмю, то триггер не создает при смерти к мгновенно тип мортвего юнита, все юниты отряда юдаляются из своих переменных групп юнитов и удаляются из игры. При смерти командира у меня выбирались все в отряде триггером отряд выбрать всех в группе и все кто являлся не d м ю - записывались в переменную имеющую массив (ssQUnLive) типа отряд отряда умирающего юнита и если количество в группе ssQUnLive больше 0 то естественно командир сразу возраждался со всеми последующими триггерными действиями удаления из переменных отряда умирающего юнита и добавлениями нового созданного его в переменные отряда умирающего юнита. Может и не красиво что командир мгновенно перерождается, но по моим тестам это пока самый актуальный способ в системе т к командир является связующим жизни отряда. Мертвые солдаты прерождаются в отряде если жив их командир.
0
29
1 год назад
Отредактирован nazarpunk
0
В отряде тип юнита уже не один, т к командир имеет требования к пище и в триггере удобнее указать отдельно командира и отдельно юнита не командира, чем указывать тому же типу блокирование на потребление пищи и т д. Проще в шаблонном плане короче.
Проще то, что в итоге уменьшит количество ручной работы в РО.
А вот это уж точно не является проблемой, вот ни сколько
Добавление улучшений тоже придётся между двумя игроками синхронизировать. Ну а попытка запустить карту на рефе привнесёт многие веселья.
Может и так, но 1.26 вроде имеет старое дурацкое растянутое разрешение от которого я отвык и возвращаться к изображению 2002г от которого отвык как то уныло, но может быть и нужно.
Карты созданные для 1.26 прекрасно работают для высших патчей.
Для 1.28 зинк скрипты не работают?
Они даже на рефе работают.
Почему люди не будут пользоваться на 1.28?
Потому что люди уже скачали 1.26.
В общем смысл основной того, что бы дамик не превратился в рекрута в гуще врагов что бы сразу умереть в дамика
Что ему мешает превратиться из даммика в юнита в гуще врагов?
в которой вторая форма изменена на Мертвый юнит dammy
Что мешает просто заменить юнита руками?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.