7

» WarCraft 3 / Потеря контроля над персанажам

8gabriel8:
Конечно, когда два события происходят одновременно, то один триггер может отдать юниту приказ по истечении, а другой что-то сделать и заново запустить таймер, в итоге юнит не будет слушать приказы, так как ему новый поступает каждые 0.02 секунды. Поставь в каждый триггер с таймером дебаг, чтобы первым действием выводилось на экран сообщение с номером триггера, хоть увидишь так триггеры, которые вызывают проблему.
я думаю гадать, что его триггеры там делают бесполезно, проще будет если автор прикрепит карту, тогда картинка станет чуточку яснее. Я предположил лишь одну проблему, но возможно там все куда проще и он своих юнитов забивает приказами и поэтому они не слушаются.
7

» WarCraft 3 / Потеря контроля над персанажам

Насколько знаю сам несколько раз сталкивался с похожей проблемой, когда использовал группу б.е. с условием "units selected by игрок", избавился от нее везде и игроки перестали терять контроль над персонажами. Если такая же проблема, то рекомендую заменить условие на "units onwed by игрок" matching condition и выбрать там "unit selected by игрок" в логической. Этой функцией лучше не пользоваться, судя по всему она и вызывает данную проблему.
П.с. то, что я описал выглядит примерно так: юнит приказы получает и отзывается, но ничего не делает, все приказы ставятся в очередь и ничего не происходит пока юнита не перевыберет игрок владелец.
7

» WarCraft 3 / Как закрепить плавающий текст вверху экрана?

NazarPunk:
8gabriel8, главное утечеч не наплодить
к счастью для меня, я в курсе про утечки, я сейчас попробую сделать и отпишу о результате, спасибо.
Эх и в правду сильно дергается, в DGUI я к сожалению не разобрался, пока не знаю как буду решать, пока оставлю дерганный, если в будущем придумаю как усовершенствовать, то сделаю что-нибудь, всем спасибо.
7

» WarCraft 3 / Как закрепить плавающий текст вверху экрана?

8gabriel8:
Можно прикрепить к положению камеры игрока и с очень малым периодом смещать в текущее местоположение, если координаты камеры сменились. По такому принципу сделан DGUI.
я так и пытался, только не понял как прикрепить к положению камеры игрока, можно тут поподробнее.
7

» WarCraft 3 / Ограничение для предметов

Centyrion, если это ответ ко мне, то ты мне лучше скажи, у тебя планируются предметы, которые можно носить больше чем в 1 экземпляре, но не больше чем в 2-3+? Просто если не планируются, то я вообще не понимаю в чем проблема повторить как у меня и перед этим if then else всунуть еще один исключающий ненужные предметы или наоборот включающий только нужные. Если же планируются, то лучше обращайся к тем, кто тебе этот код написал, я не очень хочу лезть в него ибо не знаю всех его деталей.
Простите слепой челик на мне не заметил, что это условие уже раньше писали тут, я исчезаю короч).
7

» WarCraft 3 / Иконки выбора героев

Дружище, если постоянно задавать вопросы и просить сделать все за тебя ты ничему научишься. Если ты так всю карту собрался делать, задавая вопросы на каждую сложность, то ты никогда не поймешь, что у тебя за что отвечает и баги ты кстати свои без вопросов на этом проекте тоже исправить не сможешь)
Сорян за оффтоп, ответ уже дали выше.
7

» WarCraft 3 / Ограничение для предметов

Так, я не очень уловил о чем идет речь, но попытаюсь помочь. Недавно сам гуглил систему, чтоб каждый предмет мог быть не больше чем в 1 экземпляре в инвентаре юнита. Подсмотрел на хайве системку и делал вот так, у меня система работает.
По идее если покопаться с условиями, то можно сделать и для определенных предметов, однако все еще не больше чем 1, если надо не больше чем 2 или больше, то не пойдет.
Пс самое первое условие можно заигнорить, это для моей карты, без него система будет работать всегда)
7

» WarCraft 3 / Как сделать, чтобы части модели нельзя было поменять цвет?

PrincePhoenix:
Не помню точно, но кажется была галка постоянный цвет
И в правду есть такая, сча попробую и скажу, что получится в итоге)
PrincePhoenix:
Не помню точно, но кажется была галка постоянный цвет
ну что-то в моем случае не помогло, похоже я тут сам себе помочь не смогу. -.-
7

» WarCraft 3 / Как сделать, чтобы части модели нельзя было поменять цвет?

PrincePhoenix:
Тимколор накладывается на прозрачные части текстуры, новый слоем под низ добавьте непрозрачный цвет, обычно делают чёрный
Боюсь меня неправильно поняли. Я про изменения цвета самого юнита, которые по RGB делаются (255,255,255 и альфа 0-100%). В триггерах или в редакторе объектов можно поменять. Я просто не знаю возможно ли это вообще, тимколора у модельки деревенщин вообще нет насколько я знаю, я использую модельки villager 40 animations, villager robe 40 animations и female villager 40 animations. Все три на хайве есть. Боюсь, что это все либо не так просто как кажется, либо вообще невозможно.
7

» WarCraft 3 / Как создать процентный отхил? (триггерно)

Если не ошибаюсь надо текущее здоровье + текущее здоровье*0.10. Тогда будет прибавка в 10%.
7

» WarCraft 3 / Syntax Error, unexpected: "(" ? - Ошибка в Jass.

quq_CCCP:
Mate, очевидно что прежде чем триггеру добавить действие, его нужно сначала написать, у этой функции, назовем её TriggerAction не должно быть аргументов,
function TriggerActions takes nothing returns nothing
Функцию эту нужно обьвить выше того места где ты собрался добавлять триггеру действие.
А уже в самой функции ты будешь удалять юнитов, ссылаясь на GetTriggerUnit() - это тот на кого сработало событие триггера, разумеется это работает на те события, которые напрямую связанны с юнитом.
Мне пока что очень тяжело понять, о чем Вы говорите, мой Джаз всегда ограничивался на кастомных скриптах подсмотренных у разных кодеров). С 2012-го года я залипаю в GUI ибо желание учить JASS так и не появилось.
NazarPunk:
так что вэйт тут не подойдет)
Таймер + хэштаблица подойдёт идеально.
Пойду во всем этом теперь разбираться, буду делать иначе, всем спасибо.
7

» WarCraft 3 / Syntax Error, unexpected: "(" ? - Ошибка в Jass.

NazarPunk:
Та потому что у меня в этом маломальские знания,
Так увеличивайте знания без смс и регистрации.
Mate:
увы другого способа я пока что не нашел.
Что вы вообще хотите сделать и зачем?
Я пытаюсь сделать спелл который при попадании в героя заменяется на другой спелл в течении короткого периода времени, это еще и МУИ, так что вэйт тут не подойдет)
7

» WarCraft 3 / Syntax Error, unexpected: "(" ? - Ошибка в Jass.

quq_CCCP:
Mate, а почему вы пытаетесь добавить триггеру действие, ссылаясь на нативную функцию которая требует аргументы.
функция TriggerAddAction требует триггера и code, ссылку на функцию, при этом у этой функции не должно быть ни входных аргументов.
Та потому что у меня в этом маломальские знания, но мне нужно как-то сделать добавление действий в триггер и их последующее удаление после того как этот триггер сработает, увы другого способа я пока что не нашел.
7

» WarCraft 3 / Syntax Error, unexpected: "(" ? - Ошибка в Jass.

NazarPunk:
Вот кстати когда писал вопрос сообразил поменять QD_Timeout на gg_trg_QD_Timeout, но ошибка осталась.
Она и останется, ибо документацию нужно читать.
native TriggerAddAction takes trigger whichTrigger, code actionFunc returns triggeraction
Нужно имя функции передавать. Я же привёл пример.
call TriggerAddAction( gg_trg_temp, function Trig_temp_Actions )
Я начинаю немного понимать, но все же я еще раз упомяну, что я это делаю через кастомные скрипты, как мне дальше быть?)
7

» WarCraft 3 / Syntax Error, unexpected: "(" ? - Ошибка в Jass.

NazarPunk:
Я вообще ничего не смыслю в Jass'e
Статей на сайте предостаточно.
А на крайний случай можно же сконвертировать пустой триггер в код и посмотреть синтаксис вызова.
function Trig_temp_Actions takes nothing returns nothing
endfunction

//===========================================================================
function InitTrig_temp takes nothing returns nothing
    set gg_trg_temp = CreateTrigger(  )
    call TriggerAddAction( gg_trg_temp, function Trig_temp_Actions )
endfunction
Вот кстати когда писал вопрос сообразил поменять QD_Timeout на gg_trg_QD_Timeout, но ошибка осталась.
Может ли это быть, что я делаю через custom скрипты?
7

» WarCraft 3 / Способность, создающая мелководье

Тоже сегодня гуглил на английском, увы наткнулся только на то, что уже упомянули выше. Как вариант просто делать мелководье через редактор и когда прожимают способность поднимать уровень через триггеры (на английском у меня там что-то про кратер было), выставив там отрицательную высоту будет горка, дальше уже на свое усмотрение.
7

» WarCraft 3 / Как сделать спавн юнита на другом юните без смещения?

8gabriel8:
Тип передвижения на Нет ставишь?
Хотя, если здание, значит прямоугольная карта путей по игровой сетке, а не любое местоположение. Тип передвижения в этом случае не важен.
Я думаю кроме нас тут уже больше никто не напишет поэтому я закрою вопрос, спасибо за внимание и ответы.
7

» WarCraft 3 / Как сделать спавн юнита на другом юните без смещения?

8gabriel8:
По идее приказы важны, когда будешь возникновение стены делать не столько над героем, управляемым человеком, сколько над управляемым ИИ крипом, чтобы он из-за стены не оставался стоять на месте до конца игры. Также можешь попробовать сделать стену юнитом с типом движения Нет, у этого юнита изначально будет способность Москиты (Aloc), так юнит будет появляться в том месте, которое указал, а не рядом с тамошним юнитом, но после создания отбирай у этого юнита Москиты (Aloc). Но может быть это и будет приводить к застреванию в стене, а может и нет)
Извиняюсь за поздний ответ, я не наблюдаю никаких застреваний, даже если стена и появляется прямо на игроке его сразу же смещает, возможно это из-за того, что сам юнит стена - здание.
7

» WarCraft 3 / Как сделать спавн юнита на другом юните без смещения?

8gabriel8:
По идее можно спавнить стену и сразу делать ей collision off, через 0.001 секунду, например, делать collision on, либо выбирать всех юнитов в области создания стены и им отключать и включать collision. Но не проверял, вдруг это будет приводить к застреванию юнита. По идее твой вариант с мгновенным перемещением хорош, но не сбивает ли он очередь приказов перемещённого юнита?
конкретно у стены нет приказов, у того на чьей голове она показывается увы пока не проверял так как тестировал через установку МСа на 0 (то есть на стоящего юнита ставил наверх стену) и потом возвращал ему стандартный МС и юнит спокойно выходил из стены с той стороны где ему было ближе и шел меня атаковать.
Если даже и сбивает приказ по-моему можно отследить какой был приказ до мува и перевыдать его, но опять же я с этим не баловался. Твой вариант я попробую позже, спасибо за ответ.
7

» WarCraft 3 / Проблема с триггером.

8gabriel8:
Mate, ну вообще система не самая лучшая, сходу назову то, что не исчезает зачастую эффект после Дизморали, а также не удаляется группа после создания юнита. Дело в том, что создаётся группа из нескольких юнитов, в данном случае из одного. Сам юнит удаляется, а группа нет.

Тоже не разбираюсь почти в jass, лишь примерно понимаю, что делают такие триггеры, но писать их не очень готов. И там более не понимаю людей, которые понтуются знанием jass, но пишут на нём очень корявые триггеры.
Не имел ввиду кого-то из присутствующих, просто неоднократно сталкивался с кривыми jass-реализациями.
Эффект от дизморали я уже сменил на другой и там все работает нормально, я наверное пока прикрою этот вопрос, если что-то будет опять не работать, то пойду учится JASS'у.
Всем спасибо.
7

» WarCraft 3 / Проблема с триггером.

8gabriel8:
Mate, посмотрел карту, способности перестали применяться через несколько использований, стал смотреть триггеры, некоторые действия в триггере Damage Engine Config не работали, может быть где-то ещё тоже. Чтобы их запустить, открывал действие и нажимал Ok. Опять запустил карту и довольно долго тестировал, способности не прекращали работать.
Странно, в Damage Engine config находятся только переменные и те что выключены нужны для копирования, их не нужно было включать кроме рунных браслетов, они ситуативные. В общем я понял, что я ничего не понял и баг какой-то супер рандомный.
noyl:
Учить GUI в 2018 - себя не уважать.
Столько хороших статей написано чтобы JASS начать учить!
Да я по старым статьям из 2007-2013 смотрю, в JASS'e я вообще ничего не понимаю..
7

» WarCraft 3 / Проблема с триггером.

quq_CCCP:
Mate, ну тебе нужно хранить где то данные о том кто кастанул спелл и куда, ты их сохраняешь в массив, там стоит счетчик который выдает новые ячейки если кто то еще этот самый спелл применит, так тут реализована мультиприменяемость, а ты варочтно не учитваешь этого и из за этого все ломается. Смотрел код бегло, хз как там сделать получше.
На вид что то вроде волны которая кастует увечье и наносит урон всем на своем пути, карту даже не запускал.
Не суть, там не на что смотреть кроме двух скиллов. Я не могу понять почему я не могу вызвать этот баг с момента как поменял пару значений.
7

» WarCraft 3 / Проблема с триггером.

quq_CCCP:
Mate, ну очивидно ошибка реализации, ибо используются одни и те же массивы, в которых происходит коллизия, одни и те же ячейки используют раные способности. Вовсе я бы не советовал так замарачиватся с гуи, а прочитать статьи на jass и забить на все это дело, юзая хештаблицы.
Можно немного подробнее. Я не специалист в этом. Я так понял моя ошибка заключается в том, что я использую один и тот же массив везде?
7

» WarCraft 3 / Проблема с триггером.

quq_CCCP:
Я так понял это просто копипаст с чужих наработок, и вы не разбираетесь как они работают? Это гуи спелл, но его переменные и обьекты не могут использовать другие спеллы, такая сложность и замороченность - это ГУИ, на гуи сложно делать сложные способности, а так же реализовать бы универсальный движок для различных однотипных способностей, вроде волны силы. Либо копируйте готовое как есть и не меняете, либо разрабатывайте спелл с нуля учитывая все "но" и "если".
Ну как не разбираюсь, я конечно лошок в этом я отрицать не буду, но тут я переделал почти все использовав наработку как шаблон на который опирался. Indexer и Damage систему позаимствовал с хайва, ибо зачем изобретать велосипед когда уже есть идеальная его версия. Сейчас попробую нормально объяснится. Я скопировал Template ака шаблон, то есть карту из туториала Bribe'a по которой он учит как создавать MUI спеллы на GUI используя его системку(ну это как я понимаю).
Я понимаю, что ту вопрос скорее к нему чем сюда, но сомневаюсь, что там мне кто-то ответит.
Я то знаю как работают эти два спелла, я просто не вижу где я допустил ошибку и почему спелл после нескольких использований перестает работать, я лишь вижу, что у меня юнит начинает удалятся после нескольких использований, а вот почему он удаляется я не вижу.
UPD. Я возможно уже даже разобрался в чем дело, сейчас еще несколько раз проверю и напишу если исправил.