Комментарии проекта WarCraft 3
11

Как установить текущий кд аблики?

» WarCraft 3
(Карта на 1.26 с MemoryHack)
Я хочу чтобы можно было установить текущее кд абилки, то есть допустим общее кд 6 сек, а я ставлю его на 3 сек. Индиактор UI показывает половину. Я пробовал отрицательное значение для ReduceAbilityCooldown, но не работает.
DracoL1ch #10 - 18 minutes ago 0
Голосов: +0 / -0
function AdjustCooldownModel takes integer h, real maxCD returns nothing
	if h>0 then
		call WMem(h+0xB4, mI2R(maxCD))
	endif
endfunction

call AdjustCooldownModel(GetUnitAbility(u,'Abil'),10)//set total cooldown value to 10
а до этого ставишь остаток кд функцией
maxodors #11 - 1 hour ago 0
Голосов: +0 / -0
Вообщем, похоже нормального решения нет.
45

Soviet Struggle: Весел напев городов и полей!

» WarCraft 3
  Приветствую всех товарищей сайта XGM! Представляю Вашему вниманию карту жанра UMS Melee, в которой Вы можете возглавить одну из трех могущественных стран XX века. Карта представляет из себя смесь жанров и стилей Hearts of Iron, Company of Heroes, Red Alert (возможно?) и, конечно же, сам WarCraft. Указанные нации имеют свои уникальные войска, древа технологий, некоторые фишки и механики, сильные и слабые стороны.

Читать далее...
Agren #44 - 3 hours ago (изм. ) 1
Голосов: +1 / -0
PraetorianSM:
Agren:
я использовал NewGen WE, ничего дополнительного не устанавливал.
NewGen WE тоже не открывает вашу карту, вчера пробовал. Устанавливал с XGM, по инструкции, с основой War 3 1.31 и архивами из War 3 1.26. NewGen WE так же выдаёт ошибку, что нет данных в базе триггеров "DestroyTrigger" и NewGen WE вылетает :( В общем, я смог обойти эту ошибку, удалив из Вашей карты war3map.wtg (Файл триггеров) и карта открылась (Без триггеров). Но не знаю, будет ли всё работать как раньше, когда я снова в карту добавлю war3map.wtg из исходной версии карты. Может вы мне перешлёте в ЛС последнюю версию карты, но БЕЗ всех триггеров, чтобы я смог её без ошибок изменить?
Можем в ЛС перейти?
PraetorianSM #45 - 13 hours ago 0
Голосов: +0 / -0
Agren:
я использовал NewGen WE, ничего дополнительного не устанавливал.
4

Английский редактор

» WarCraft 3
Здравствуйте, а где можно взять полностью оригинальный английский редактор, просто даже в моей пиратской версии игры, изначально(без русификатора) половина была не переведена.
Полазал в настройках, ничего подобного не нашел, есть ли у вас такой редактор который прстто будет достаточно заменить в корневой папке, может мне стоит наоборот что-нибудь удалить из корневой папки, или есть у кого-нибудь файл который полностью меняет редактор на русский.
Просто видел на скринах тут, что у многих он полностью английский.
Brodyaga #1 - 3 hours ago 0
Голосов: +0 / -0
under11:
Скачал, запустил через GNPG, тысячи бескнечных ошибок, в чем проблема ?

TriggerDataBaseError
Не знаю, я этим англификатором не пользовался, других нет.
under11 #2 - 14 hours ago 0
Голосов: +0 / -0
Brodyaga:
Просто удаляешь русификатор и это английская версия редактора. Но если прям чтобы полностью, то есть какой-то англификатор для 1.26:
Скачал, запустил через GNPG, тысячи бескнечных ошибок, в чем проблема ?

TriggerDataBaseError
Brodyaga #3 - 14 hours ago (изм. ) 0
Голосов: +0 / -0
Просто удаляешь русификатор и это английская версия редактора. Но если прям чтобы полностью, то есть какой-то англификатор для 1.26:
XGM Bot #4 - 14 hours ago 0
Голосов: +0 / -0
Похожие вопросы:

» ответ
~8gabriel8:
Попробуй в Редакторе объектов нажать Ctrl+D.
» ответ
orix, когда в каком. Было бы полезно будь это какая-то особая, уличная, прога. Но оказывается вопрос был о том как в блендере язык поменять... Это не та информация с поиском которой могут даже потенциально возникнуть проблемы. Коммент скрыл из-за ссылки на портал третьей стороны, не имеющей никакого отношения к программе о которой шла речь.
» ответ
Я ж ведь не просто так пишу, правда?
какое отношение этот пункт имеет к проблеме?
короче покопался в wtg файле
у тебя раньше использовался какой то странный файл гуишных функций
скорее всего он лежал либо в папке с вар3, либо в папке с джнгп и потом его удалили
одна из функций (возвращает булеан) вообще была представлена как набор пробелов
узнавать что это была за функция мне было лень поэтому я её заменил на false (использовалась в условии)
это было в триггере ctart, так что поправь там условие
так же заменил IssueImmediateOrderBJ на IssueImmediateOrder
вот открываемая в редакторе карта
проверь все гуишные триггеры на предмет ошибок
» ответ
Просто юзай инг редактор, я вообще удивляюсь, зачем всё это переводили - перевести нормально так и не смогли. Часть полей называется как-то адово, даже не близко к реальности
» ответ
PT153, Я не увидел, да, так лучше будет. Нужно удалить umswe/umswe.mpq

1

анимация сна

» WarCraft 3
у юнита есть анимация сна, пытаюсь его "усыпить" через триггер анимации. Юнит то быстро ложится то медленно, то может резко встать через несколько секунд после того как анимация сна проигралась. Объясните пожалуйста как по нормальному усыпить юнита, оставив его в таком положении например на 1 мин. и затем пробудить так же плавно?
карту с моделью прилагаю
Den_barmen91 #1 - 4 hours ago 0
Голосов: +0 / -0
На GUI я адекватно не смог выстроить последовательность проигрывания анимации, суть работы варика такова что все анимации из группы (допустим Attack или Stand) проигрываются рандомно учитывая редкость. Соответственно со сном та же история, пытаясь проигрывать допустим первую анимацию, выполняется рандомно одна из трех. Я не кодер, с JASS не работал, возможно с ним реализация этого вопроса была бы явной, просто запуская нужные анимации в нужной последовательности.
Предлагаю такой вариант (смотри карту). Анимации усыпления и подъема склеены в одну. Соответственно при нужном событии ставим юнита на паузу типо спит, запускаем саму анимацию сна, ставим анимку на паузу когда юнит лег, ждем время сна за минусом времени всей анимации, включаем воспроизведение и поднимаем юнита, снимаем с паузы самого юнита.
Если такой вариант не устраивает напиши подробно в каких ситуациях используется сон и какие события происходят во время него, можно будет подумать над другими вариантами, поиграться с тегами анимок к примеру.
Прикрепленные файлы
6430

Нужна модель? - Вам сюда!

» WarCraft 3
В данной теме вы можете сделать заказы на модели, и по возможности кто-нить сможет вам помочь в реализации данной модели.

Читать далее...
Den_barmen91 #6428 - 6 hours ago 0
Голосов: +0 / -0
mistwood: Добавил точку крепления. Свечение это анимация разложения трупа (Decay), стандартное время в игровых константах (BoneDecay Time) 88 секунд. Если тебе не сильно важно сколько лежат трупы на поле боя можешь поставить значение поменьше. Прикладываю на всякий случай вариант модели без этой анимации.
Прикрепленные файлы
mistwood #6429 - 17 hours ago 0
Голосов: +0 / -0
mistwood:
Народ, прошу помощи еще раз...
Есть модель эльфийской колесницы. При ее уничтожении на месте ее смерти остается вот такое горящее пятно на целую минуту.
Поможете его убрать? Хотя бы пусть висит пару секунд и исчезает.
Только что заметил что на ней тоже нет точки крепления... На ней не отображается флаг от способности сбор. Можно это тоже подправить?
Кривые модели блин...
mistwood #6430 - 20 hours ago (изм. ) 0
Голосов: +0 / -0
Народ, прошу помощи еще раз...
Есть модель эльфийской колесницы. При ее уничтожении на месте ее смерти остается вот такое горящее пятно на целую минуту.
Поможете его убрать? Хотя бы пусть висит пару секунд и исчезает.
Прикрепленные файлы
9

Кампания "Верность Павших"

» WarCraft 3
Кампания Нежити повествующая о судьбе одного из личей во время Третьей Войны. Наследует геймплей классических кампаний Blizzard, а также поддерживает HD и SD графику.

Читать далее...
Maxlaid #2 - 12 hours ago 0
Голосов: +0 / -0
makkad:
Почему у разных кампаний за Нежить на этом сайте одна и та же обложка? Вот ещё пример, хотя там и не доделано:
Ну довольно популярная, это норма, да и Кальмар(Кел'Тузад) довольно хороший персонаж, жалко в вове шэдоулендс его хреново слили((
makkad #3 - 13 hours ago 0
Голосов: +0 / -0
Почему у разных кампаний за Нежить на этом сайте одна и та же обложка? Вот ещё пример, хотя там и не доделано:
Pavell #4 - 17 hours ago 0
Голосов: +0 / -0
И как не странно в это поиграет Павел
Не знаю с чего ты решил, что я буду в это играть, но меня лично это вообще не заинтересовало
Bergi_Bear #5 - 1 day ago 0
Голосов: +0 / -0
Ещё меня задело то что я наплевал на труд комьюнити, я то этого не хотел делать xD
Не ну а какой смысл был использовать рефордж? только ради графики?, с таким успехом можно было и патч 1.01 ROC использовать
papastreck #6 - 2 days ago (изм. ) 0
Голосов: +0 / -0
Bergi_Bear:
Сорре, ливнул через 3,5 минуты игры. Нам предлагают:
  1. Скучнейшую кат сцену, которую нельзя пропустить
  2. Ландшафт сделанный на коленке
  3. Полностью стандартного героя, с заменёнными иконками и эффектами
  4. Врагов заранее расставленных на карте
  5. Полное наплевательство над 20 летним трудом комьюнити по изучение движка
После убийства первой пачки нерубов, я понял, что ловить там нечего.
Просто вот реально, вам самим то нравится своё творение? как вы думаете тут есть за что зацепиться другим игрокам, на основании чего я должен играть в такое в 2021?
И как не странно в это поиграет Павел, и его подписота скажет, что классная кампания.
Соре если был груб, это моё мнение как игрока, а не как представителя XGM, так то я весьма рад, что стали делать кампании, надеюсь вы доведёте всё до ума и завернёте всё в w3n с переходами
В принципе всё правда, обидно только за ландшафт, над ним то я старался. Ещё меня задело то что я наплевал на труд комьюнити, я то этого не хотел делать xD
И да, пусть я самый копрофильский копрофил, но мне приятно в это поиграть. Там кстати ещё полно дерьма впереди, за первой пачкой нерубов. Играть в такое в 2021 году можно исключительно на собственном желании. Кто найдёт за что зацепиться, тот зацепиться. Да, кампания трэшовенькая, но если бы меня это смущало, я бы её не публиковал. Спасибо за критику)
Sergei20 #7 - 2 days ago 0
Голосов: +0 / -0
я согласен с тобой
Bergi_Bear #8 - 2 days ago (изм. ) 5
Голосов: +5 / -0
Сорре, ливнул через 3,5 минуты игры. Нам предлагают:
  1. Скучнейшую кат сцену, которую нельзя пропустить
  2. Ландшафт сделанный на коленке
  3. Полностью стандартного героя, с заменёнными иконками и эффектами
  4. Врагов заранее расставленных на карте
  5. Полное наплевательство над 20 летним трудом комьюнити по изучение движка
После убийства первой пачки нерубов, я понял, что ловить там нечего.
Просто вот реально, вам самим то нравится своё творение? как вы думаете тут есть за что зацепиться другим игрокам, на основании чего я должен играть в такое в 2021?
И как не странно в это поиграет Павел, и его подписота скажет, что классная кампания.
Соре если был груб, это моё мнение как игрока, а не как представителя XGM, так то я весьма рад, что стали делать кампании, надеюсь вы доведёте всё до ума и завернёте всё в w3n с переходами
Kirka_Karma #9 - 2 days ago 0
Голосов: +0 / -0
Теперь придется купить Reforged, чтоб оценить во всей красе)
7

Мистичиский отряд

» WarCraft 3
Ну короче говоря отряд должен выбирать юнитов в радиусе 70 юнитов, которые есть в другом отряде, а потом идут дальнейшие действия, я посмотрел на все триггеры и не вижу того, что бы могло мешать этому отряду.
Примечания:
  1. () - цель способности
  2. Отряд воронка - основной отряд,
  3. Отряд проверка - мистичиский отряд, он должен выбирать вблизи юнитов, и делать действия
Хз что тут не так может вы поможите.
Extremator #2 - 12 hours ago 0
Голосов: +0 / -0
Qulore:
Я могу не париться, и просто притягивать моментально, или через таймер, но это как-то некрасиво.
А такой вариант как тебе?
Прикрепленные файлы
Qulore #3 - 19 hours ago 0
Голосов: +0 / -0
Extremator:
Qulore:
не является целью способности
Вот за это по подробнее.
Qulore:
И кстати, я делал эту спелку, и всё работало, потом зашел снова, и не работает.
У тебя весь спелл мягко говоря корявый. Ты записываешь юнита как "воронку", которая каждые 0.5 сек будет проверять всех юнитов в очень малом радиусе от себя, и как только хоть кто-то попадётся - ты отключаешь триггер и сдвигаешь юнитов непонятно куда... (тех которые был вокруг воронки в момент каста)
Что ты в идеале хотел сделать? схлопывание юнитов при приближении к эпицентру? ли что?
Не является целью способности тот на кого юзанули спел, чтобы он сам не попал в отряд проверка, а иначе спел просто не будет рабоать.
Маленький радиус нужен чтобы юнитов не притягивало бесконечно,я думал сделать таймер, но если юниты и так будут близко к друг другу, то они буду толкаться на месте, что мне не нравится. А вот тут уже отряд проверка нужен, если есть хоть 1 юнит в радиусе 70 от цели способности, и этот юнит находится в отряде воронка, то выключить триггер, чтобы юнитов перестало притягивать. Сдвиг - юниты в радиусе 250+50 * на уровень способности, притягиваются к цели способности в этом и фича способности. Способность должна притягивать всех юнитов(врагов) к цели способности, а так же вешать на них -защиту от магии.

Я могу не париться, и просто притягивать моментально, или через таймер, но это как-то некрасиво.
Extremator #4 - 1 day ago (изм. ) 0
Голосов: +0 / -0
Qulore:
не является целью способности
Вот за это по подробнее.
Qulore:
И кстати, я делал эту спелку, и всё работало, потом зашел снова, и не работает.
У тебя весь спелл мягко говоря корявый. Ты записываешь юнита как "воронку", которая каждые 0.5 сек будет проверять всех юнитов в очень малом радиусе от себя, и как только хоть кто-то попадётся - ты отключаешь триггер и сдвигаешь юнитов непонятно куда... (тех которые был вокруг воронки в момент каста)
Что ты в идеале хотел сделать? схлопывание юнитов при приближении к эпицентру? ли что?
Qulore #5 - 1 day ago 0
Голосов: +0 / -0
biridius:
С русификатором только хуже будет понимать чужие триггеры и другим будет сложнее понимать твои, плюс эти ошибки вроде отсутсвующего текста ( ).
Выводи текстовые сообщения в ключевых местах, чтобы понять, где во время работы что то идет не так.
Утечки - объекты которые создаются например когда берешь позицию юнита либо выбираешь отряд юнитов, например все юниты в радиусе. Эта точка либо отряд потом висит почем зря в памяти. Их надо заносить в переменные и удалять особыми джасс функциями. Поищи в статьях на хгм про утечки.
Понятно,с русификатором я привык.А проблему я нашел, в отряде проверка нет юнита, для выключения триггера нужно, чтобы хотя бы 1 был в отряде, а появится он в отряде если рядом есть юнит из отряда воронка, но юниты есть, условия соблюдены, но почему-то не заносится. Статью прочитаю.
biridius #6 - 2 days ago (изм. ) 0
Голосов: +0 / -0
С русификатором только хуже будет понимать чужие триггеры и другим будет сложнее понимать твои, плюс эти ошибки вроде отсутсвующего текста ( ).
Выводи текстовые сообщения в ключевых местах, чтобы понять, где во время работы что то идет не так.
Утечки - объекты которые создаются например когда берешь позицию юнита либо выбираешь отряд юнитов, например все юниты в радиусе. Эта точка либо отряд потом висит почем зря в памяти. Их надо заносить в переменные и удалять особыми джасс функциями. Поищи в статьях на хгм про утечки.
Qulore #7 - 2 days ago 0
Голосов: +0 / -0
biridius:
  1. Код утечный, куча групп и точек создается и не удаляется
  2. Русикатор, ниче не понятно
  3. Условие группы при касте не видно на скриншоте
  4. Если цель воронки часть отряда воронки, то его засчитает в отряд проверку и выключит триггер, подвинув юнитов только на один шаг вместо постепенного засоса
  5. Больше дебага, и покажи что выдает дебаг, напиши что вообще происходит при тесте
Оке понятно, а я качал русификатор с xgm, я уже привык. Ну там обычные условия соответствующий юнит = враг, жив, не здание, не является целью способности. Что за дебаг? Ну я понял что утечный код, можно ли его сделать более не утечным? И кстати, я делал эту спелку, и всё работало, потом зашел снова, и не работает.
6

помощь со скиллом

» WarCraft 3
Такой трабл.
У меня есть юнит с 3-мя способностями, расположенных в ряд в 1 строчке, у каждой отдеальная кнопка юзания, но почему-то когда я юзаю 1 из способностей спокойно используется и попадает в кд другая, а может и нет, странно
в чем проблема ? сталкивались ?
under11 #1 - 14 hours ago 0
Голосов: +0 / -0
biridius:
мне просто поменять "имя" способности которое пишется в call issueorder например для дамми ?
Приказ у всех абилок кроме канала фиксированный и изменению не подлежит.
Единственный вариант переделывать из разных спеллов либо канала.
Если нужны мгновенные абилки без анимации каста, есть кроме безумия еще стремительность, бож.щит и жар преисподней.
Понял, спасибо, переделаю
biridius #2 - 15 hours ago (изм. ) 0
Голосов: +0 / -0
мне просто поменять "имя" способности которое пишется в call issueorder например для дамми ?
Приказ у всех абилок кроме канала фиксированный и изменению не подлежит.
Единственный вариант переделывать из разных спеллов либо канала.
Если нужны мгновенные абилки без анимации каста, есть кроме безумия еще стремительность, бож.щит и жар преисподней.
under11 #3 - 17 hours ago 0
Голосов: +0 / -0
biridius:
Способности сделаны из одной и той же стандартной?
Они активируются через приказ (см порядок строк - включен), если приказ одинаковый то юнит пытается использовать все абилки с этим приказом (а поменять приказ можно только у способности Канал).
да, все скиллы на берсерке написаны, мне просто поменять "имя" способности которое пишется в
call issueorder например для дамми ?

МрачныйВорон:
у обоих скилов одинаковый приказ, созданы на одной основе.
Это можно как-то исрпавить, скиллы лень на други основах делать
biridius #4 - 18 hours ago (изм. ) 0
Голосов: +0 / -0
Способности сделаны из одной и той же стандартной?
Они активируются через приказ (см порядок строк - включен), если приказ одинаковый то юнит пытается использовать все абилки с этим приказом (а поменять приказ можно только у способности Канал).
МрачныйВорон #5 - 18 hours ago 0
Голосов: +0 / -0
у обоих скилов одинаковый приказ, созданы на одной основе.
XGM Bot #6 - 19 hours ago 0
Голосов: +0 / -0
Похожие вопросы:

» ответ
ахах, ответ в самом вопросе. Создать скилл сопротивление магии с 10ю уровнями, дать его юниту, выставить нужные значения на каждом уровне скилла.
» ответ
Проблема решилась написанием SquareRoot в формуле вычисления дистанции. Странно, что в другом скилле мною эта формула использовалась с этой же ошибкой (SquareRoot не писал, забывал, наверное, из-за неопытности), но при этом все работало нормально... Мистика какая-то. Но буду признателен за другие предложения по оптимизации кода))
ScopteRectuS:
Покажите лучше карту, пока руками не потрогаешь, сложно сказать где проблема.
И да, так как углы известны уже заранее, то можно сразу же посчитать их:
local real point_1_x = target_x + 300.00 * Cos(0.00*bj_DEGTORAD)
local real point_1_y = target_y + 300.00 * Sin(0.00*bj_DEGTORAD)
>>>>
local real point_1_x = target_x + 300.00 * 1.0
local real point_1_y = target_y + 300.00 * 0.0
>>>>
local real point_1_x = target_x + 300.00
local real point_1_y = target_y + 0.00
>>>>
local real point_1_x = target_x + 300.00
local real point_1_y = target_y
Благодарю, проблему нашел. Всегда так, когда в отчаянии на форум бегу - дак тут же проблему увидел, а до этого - хрен)
» ответ
Так-то тут нужен двумерный массив, индексер тут не нужен.
» ответ
Не обязательно. Карта.

2340

Иконки на заказ

» WarCraft 3
Вы хотели бы использовать в своей карте оригинальные иконки, но не можете участвовать в их реализации? Эта тема для вас. Здесь вы сможете оставить заявку для создания необходимых вам иконок.

Читать далее...
Zacharriasz #2340 - 16 hours ago (изм. ) 0
Голосов: +0 / -0
Времени суток, нужно на иконке кожу эльфа из бледной сделать как у ночного эльфа, фиолетовой.
Прикрепленные файлы
NatriY #1 - 19 hours ago 0
Голосов: +0 / -0
biridius:
действие вызывается в условии, вот в этом куске кода
Name_Struct - параметр действия (дефайном подставляется Hook.act())
define ... Struct_Cond(ABILITY,Name_Struct) = {
 private bool cond(){ 
    if GetSpellAbilityId()==ABILITY {
      Name_Struct // заменится на Hook.act()
    }
    return false
  }
}
... 
Struct_Cond(ABILITY,Hook.act()) // вот эта линия превращается в то что выше но с подстановкой этих параметров
Cпасибо, из-за этих скобок не мог увидеть истину!
biridius #2 - 1 day ago (изм. ) 0
Голосов: +0 / -0
действие вызывается в условии, вот в этом куске кода
Name_Struct - параметр действия (дефайном подставляется Hook.act())
define ... Struct_Cond(ABILITY,Name_Struct) = {
 private bool cond(){ 
    if GetSpellAbilityId()==ABILITY {
      Name_Struct // заменится на Hook.act()
    }
    return false
  }
}
... 
Struct_Cond(ABILITY,Hook.act()) // вот эта линия превращается в то что выше но с подстановкой этих параметров
NatriY #3 - 1 day ago 0
Голосов: +0 / -0
Мне бы хоть какой намёк, где тут реализуются действия(реакция на событие) Я вижу, как инициализатор инициализирует события и кондишн для тригера t. Но в каком участке кода идёт намёк(добавление) на "действия"? До этого я лишь с TriggerAddAction работал.
NatriY #4 - 2 days ago 0
Голосов: +0 / -0
quq_CCCP:
Это cjass и работа с jngp, тебе ещё рановато, сперва vjass мануал почитай, про структуры и библиотеки, что такое initializer там есть.
А что ты имеешь в виду про "работу с jgnp"? Просто я давно уже там пишу код, мб какие-то фичи, или что?
GetLocalPlayer #5 - 2 days ago 0
Голосов: +0 / -0
а зачем все эти извращения с vjass и cjass, если есть обычный jass
Это просто инструменты. Кому оно нужно а кому нет, личное дело каждого.
under11 #6 - 2 days ago 0
Голосов: +0 / -0
quq_CCCP:
Это cjass и работа с jngp, тебе ещё рановато, сперва vjass мануал почитай, про структуры и библиотеки, что такое initializer там есть.
а зачем все эти извращения с vjass и cjass, если есть обычный jass
quq_CCCP #7 - 2 days ago 0
Голосов: +0 / -0
Это cjass и работа с jngp, тебе ещё рановато, сперва vjass мануал почитай, про структуры и библиотеки, что такое initializer там есть.
XGM Bot #8 - 2 days ago 0
Голосов: +0 / -0
Похожие вопросы:

» ответ
Black Soul:
ArhiMEN:
Я посмотрел, но возникла проблема. Я тупой и не могу написать также, но моменте добаления юнита в хеш таблицу. Я Save Handle of (Last created unit) as 0 of (а дальше я не нашёл, как добавть "Key(Constructed structure))" in Hash
и соответсвенно любое другое действие, где прописанно Key
Так не нужно ничего самому делать. Я прикрепил к тому сообщению карту. В ней я уже все сделал сам. Тебе осталось только скопировать триггеры оттуда в свою карту и заменить юнитов на тех, которые тебе нужны. Вот та карта:
Bergi_Bear, хеш-таблицы — это проще простого. Они не требуют множество действий для работы. Достаточно только понять принцип.
» ответ
Drulia_san, посмотрел код, если this есть 0 в обычном методе, то это значит, что там где ты вызываешь Restore для StructuresSnapshot ты передаешь 0.
call obj.Restore()  // obj равен 0, а его тип есть StructuresSnapshot.
» ответ
Ответ выше - для стандартного редактора WE. Однако, рекомендуется использовать с Lua внешний редактор кода и внешний же сборщик карты. Это чревато маленьким неудобством в виде необходимости запускать карту на проверку только из внешней программы т.к. запуск из WE будет без значительной части кода в карте, но дает огромное преимущество в виде несравнимо более удобной работы с кодом.
К сожалению, пока слишком мало информации об этом на сайте.
Вариант NazarPunk, пока без сборки карты, код придется копировать в карту вручную.

Мой вариант, пока не рабочий т.к. перед релизом нужно исправить несколько багов, но включает в себя и работу с кодом и сборку карты, не нужно вручную копировать код в карту.
Даже здесь на сайте есть еще пара вариантов, но мне лень их искать
И немного саморекламы, как выглядели бы ответы на вопрос выше при использовании моего тулсета
  1. Использовать макрос RAW('A0E5'), который превратит равкод в число при сборке карты.
  2. Инжект в функцию main, с заменой оригинальной функции main на свою и вызовом оригинальной функции изнутри нашей.
  3. Аналогично ответу на этот вопрос для чистого WE, но без объявления переменных в WE т.к. то уже не так удобно становится когда код во внешнем редакторе.

Теперь о точках входа и инжекте.
Луа позволяет делать такой финт ушами
do
  local f = FunctionName -- записываем функцию в переменную
  function FunctionName() -- заменяем оригинальную функцию своей
   f() -- вызываем оригинальную функцию из переменной
   -- здесь могла быть ваша реклама или ваш код
  end
end
Это позволит нам сохранить оригинальную функцию в переменную, заменить оригинал своей функцией и вызвать оригинал из переменной. Применимо к любой функции, которая была объявлена раньше, не работает если функция объявлена после выполнения этого кода. Для создания точки входа отлично подходит InitGlobals, она всегда объявляется раньше кастомного кода в WE и вызывается из main.

У себя в коде я пользуюсь немного более сложным способом, этот код не будет работать в WE т.к. цепляет main, а не InitGlobals и не дает серьеных преимуществ перед описаным выше, привожу просто для расширения кругозора
local function InjectMain()
    local alpha_main = main
    return function()
        local alpha_init = RunInitializationTriggers
        RunInitializationTriggers = function() end
        alpha_main()
        InitLibraries() --моя функция, которая должна быть выполнена после всего, но до триггеров инициализации карты
        alpha_init()
    end
end
main = InjectMain()
» ответ
ну не обнулили g
во-вторых, не привязали группу при ее создании к выбранному юниту. Короче, это уже ошибка.
    if g == null then
        set g = CreateGroup()
		//надо в хэш на зэндл выбранного записать группу
		set g = null //переменная - это просто ссылка
    endif
при смерти овцы удаляем ее из группы
при смерти выбранного юнита удаляем группу
может стоит подумать сделать на всю игру одну группу овечек или вообще обойтись без группы. будет фиксировать заход/выход овцы. На каждого выбранного заводим счетчик. А каждой овце привязываем выбранного. Когда овца умирает, то зная к кому привязана, у выбранного понижаем счетчик.
» ответ
В целом не нужно, я думаю, если ты все поля при создании структуры инициализируешь (я не уверен обнуляет ли их аллокатор)
Структура просто integer потому что в коде в итоге генерирутся параллельные массивы т.е. например
real array cord_x
real array cord_y
real array cord_z
unit array cord_u
Для каждого члена структуры. Поэтом сама cord это просто индекс в эти массивы. Когда ты делаешь cord.create() находится свободный индекс в этих "параллельных" массивах и помечается заполненным.

3

Женщина-рыцарь смерти

» WarCraft 3
Рыцарь смерти прекрасного пола. Переделка для Warcraft 3: Classic.

Читать далее...
DarkClaw #1 - 21 hour ago 1
Голосов: +1 / -0
PAMEXI:
Да это простой перекрас)
Золотой и красный?Выглядит круто)
Bergi_Bear #2 - 1 day ago 2
Голосов: +2 / -0
Мне нравится её фотошопный макияж, это и забавно и круто в тоже время, лайк
PAMEXI #3 - 1 day ago (изм. ) 0
Голосов: +1 / -1
Да это простой перекрас)
Прикрепленные файлы
3

Ошибка War 3 Model Editor

» WarCraft 3
Добрый день,сегодня я редактировал одну модель MDLvis,а потом решил ее отредачить в War3ModelEditor
И мне пришло это скромное сообщение,намекающие,что фиг мне,а не работа с геосетами:
Вопрос: Кто-то сталкивался с этим?И если да,то,что это обозначает,как мне обойти/исправить эту ошибку?
Если что,то модель формата для warcraft 3, единственным "но" может быть,то что я брал геометрию женщины-рыцаря смерти(SD версия),может это так же как-то влияет на "реакцию" программы на модель?
Agren #3 - 2 days ago 0
Голосов: +0 / -0
Я сталкивался с похожей проблемой. Можете сюда скинуть эту модель с ошибкой?
2

Куда можно отдать на аутсорс свою сырую кастомку?

» WarCraft 3
Привет. Примерно год назад в разгар пандемии я решил попробовать создать свою простенькую кастомку, т.к. времени было много, а дел не было совсем - я приступил к изучению базовых вещей. Немного изучив какие-то основы я наклепал простенькую карту в стиле hero survival, но усидчивости ее доделать у меня так и не хватило. Делал я ее с любовью, и с вниманием к мелочам, и поэтому хочется оставить ее где-то, где возможно кто-то взглянув на нее захочет ее завершить.
Так вот собственно, есть ли на этом форуме какой-то подобный раздел где я могу это сделать?
quq_CCCP #2 - 2 days ago 0
Голосов: +0 / -0
да уж, где бы найти аутсорсеров, беда, печаль....
6

Забрать контроль

» WarCraft 3
Как в 1 доте сделан хук пуджа(и не только он), что в момент каста ты не можешь отдать никакой приказ, ибо пропадают все кнопки на панели приказов, но при этом юнит до сих пор выделен, то есть он явно не в паузе.
quq_CCCP #5 - 2 days ago 0
Голосов: +0 / -0
NatriY, ну так вот сайленс 'Aatk' и 'Amov' он стоит и ничего кроме кастовать нема.
NatriY #6 - 2 days ago 0
Голосов: +0 / -0
quq_CCCP:
Вовсе хреновая реализация, за основу луше барть что то другое или использовать мемхак чтобы делать сайленс или мут на абилки.
Сайленс или мут на абилки это хорошо, но мне нужно, чтобы юнит стоял на месте и не мог сделать абсолютно ничего, просто чтобы он был выделен.