0
4
1 год назад
Отредактирован WorldEdition
0

» WarCraft 3 / [vJass/Jass] не могу понять, что не так с кодом?)

WorldEdition, не стоит полагаться на эти чат жпт, видел несколько примеров, что он такой бред пишет, что глаза на лоб лезут... причём он ещё и ухитряется смешивать синтаксис от jass, vjass, lua в одном коде.
По ошибкам:
Unexpected - не создана переменная
Undeclared function - не создана функция
То есть хвалёный ИИ просто забыл создать нужные объекты, но не погнушался их использовать)))
Да я и не полагаюсь.)) Просто пытался его попробовать в более-менее рабочее состояние его привести. Не получилось, решил обратиться сюда, и понять, насколько же "качественный" код он пишет. На многое не надеялся, теперь чётко понимаю шо пока что ему не хватает умений для написания чего-то нормального.)))
Всем спасибо за помощь!

А теперь такая ошибка.)
Так спроси у нейронки, что за ошибка, раз не можешь прочитать что GetNearbyEnemy не определена.
Она после этого чаще всего пишет другой код, с новыми ошибками, и параметрами.))) Вообще странная вещь эта нейронка.)
А то что она не определена, мне, как не шарящему, это мало о чем скажет. Кроме того что она не определена.)))
а то что вы не можете запускать того чего нет это тоже мало о чем вам скажет?
Может и больше скажет, но я банально не буду знать что и куда вставлять/писать. Мое знание кода - 0.
0
4
1 год назад
0

» WarCraft 3 / Непонятная ошибка после изменения кол-ва игроков

Всем кто пытался помочь и подсказать - благодарность. Оказалось все проще: во всех действиях после указания переменной number players и players number, обращение к целому числу А вызывало краш. Нужно было везде обращаться к этим переменным. Столько дней пытались это решить и вот наконец.
Мои поздравления!)
0
4
1 год назад
Отредактирован WorldEdition
0

» WarCraft 3 / [vJass/Jass] не могу понять, что не так с кодом?)

А теперь такая ошибка.)
Так спроси у нейронки, что за ошибка, раз не можешь прочитать что GetNearbyEnemy не определена.
Она после этого чаще всего пишет другой код, с новыми ошибками, и параметрами.))) Вообще странная вещь эта нейронка.)
А то что она не определена, мне, как не шарящему, это мало о чем скажет. Кроме того что она не определена.)))
0
4
1 год назад
Отредактирован WorldEdition
0

» WarCraft 3 / [vJass/Jass] не могу понять, что не так с кодом?)

Не было созданой переменной local unit u, она сразу при cоздании юнита прописала set unit u =.
CreateUnit принимает х,у координаты. CreateUnitAtLoc (если не ошибаюсь) на нее можно заменить или создать координаты х,у и
CreateUnit(GetOwningPlayer(caster), 'hfoo', х, у, bj_UNIT_FACING)
А теперь такая ошибка.) Спасибо, что помогаешь.)
Загруженные файлы
0
4
1 год назад
0

» WarCraft 3 / [vJass/Jass] не могу понять, что не так с кодом?)

Выскочила другая ошибка теперь.)))
Загруженные файлы
0
4
1 год назад
Отредактирован WorldEdition
0

» WarCraft 3 / [vJass/Jass] не могу понять, что не так с кодом?)

((код
function Skill1 takes unit caster returns nothing
local integer i = 0
local location loc = GetUnitLoc(caster)
local unit u
loop
exitwhen i >= 5
set i = i + 1
set loc = OffsetLocation(loc, 128.0, 360.0 / 5.0 * i)
set u = CreateUnit(GetOwningPlayer(caster), 'hfoo', loc, bj_UNIT_FACING)
call SetUnitOwner(u, GetOwningPlayer(caster), true)
set loc = GetUnitLoc(caster)
endloop
loop
set i = 0
exitwhen i >= 5
set i = i + 1
set u = GetNearbyEnemy(caster, 300.0, true)
if u != null and IsUnitType(u, UNIT_TYPE_HERO) == false and IsUnitType(u, UNIT_TYPE_STRUCTURE) == false then
call UnitDamageTarget(u, caster, 100, true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS)
call KillUnit(GetEnumUnit())
endif
endloop
endfunction

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

А в чем там была ошибка? Мне этот код подогнала нейронка чат гпт.) Обычно после вставки кода, он примерно такие же ошибки и выдает, поэтому и не получается протестить лишний раз что и как работает, чтобы исправить.)
0
4
1 год назад
Отредактирован WorldEdition
0

» WarCraft 3 / Запустить рандом триггер и убрать его

не понял как сделать > set MyTriggers_MAX = 6
Так это не индекс массива, а отдельная переменная.
Одна переиенная - массив триггеров.
Другая переменная - целое число.
Лично мне, яснее не стало.)
Можно сделать через случайное число.
Событие: Или создай таймер, или просто каждые 10 минут.
Условия:
Действие:
If(если всё условия истинны), Then (то делай это), Else(иначе, делай это):
Условие: Случайное число от 1 до 10 равно 1
То: Запустить тригер1.
Иначе:
If(если всё условия истинны), Then (то делай это), Else(иначе, делай это):
Условие: Случайное число от 1 до 10 равно 2
То: Запустить тригер2
Иначе:........
И так по кругу. Мой вариант конечно не так прост, кликать больше, но он в понятийном плане на мой взгляд проще.)))
0
4
1 год назад
0

» WarCraft 3 / Проблема с закрытием области

Просто добавь модификатор в переменную типа "модификатор видимости". В нужный момент обратись к этой переменной "удалить модификатор видимости" - переменнаяМВ1. Оно удалит модификатор, а затем, если нужно, создай там туман войны, или черную маску.
0
4
1 год назад
Отредактирован WorldEdition
0

» WarCraft 3 / Нейтральная лесопилка

Если вручную - если игрок выбрал здание, то сменить владелец юнита, на игрока(игрок тригера) или чето такое.
Если хочешь чтобы рабочие в 1 здание складывали... то тут надо тестить, сразу так и не скажу.

Ещё можно через области. Если юнит вошел в область "лесопилка1" то сменить владельца на игрока (владелец юнита вошедший в область юнит). Но тут чревато багами. Если 2 юниты разных игроков войдет одновременно в область, то ничего не произойдет.(сменится на какого-то из игроков, или на тебя, или на игрока) + рабочие не будут топать к лесопилке, если здание не твое.

Но, по-моему, это как-то и без тригеров реализовать можно. Способностью какой-то. Но я могу ошибатся.
0
4
1 год назад
0

» WarCraft 3 / Как сделать юнита "немного" над землей?

WorldEdition, Очень правильное решение!
Да он не такой и сложный, начать можно тупо с вершинного моделирования, а потом уже осваивать всякие модификаторы, скульптинг, если охота, шейдеры и прочее.
Русский язык в нем есть, не стоит заниматься онанизмом с английской версией.
Видео для обучения тоже полно. Можно тупо открыть какое нибудь и начать с повторения :)
В нужный формат экспортировать можно, либо костылями через 3ds импорт, либо через плагин экспортёр. Но тут для конечных отладок (на классику) в любом случае понадобится mdl vis и war 3 model editor.
Я просто подумал что мдл вис - чисто для варкрафта. А блендер это уже весьма известное имя, в котором много чего делать можно. Так шо, чтобы быть "на волне" с прогрессом, лучше осваивать начинать с чего-то более современного. Авось в будущем знания пригодятся.
0
4
1 год назад
0

» WarCraft 3 / Как сделать юнита "немного" над землей?

Дико неудобно смотреть скрины на сторонних сайтах, плюс сайт у меня вообще не открылся. Лучше сюда кидайте. По модели - чтобы не заниматься костылями в игре, проще открыть модель в mdl vis и во всех анимациях подвинуть наверх кость Bone_Root, или другую основную кость, к которой модель привязана.
Если не умеете работать в mdl vis - крайне рекомендую изучить , экономит тонну времени на изготовлении контента, не нужно из разных моделей делать мозголомные спецэффекты на триггерах, например :)
Я думаю блендер изучить, насколько знаю из него потом можно как-то конвертировать модельки потом в нужный формат, для варкрафта. Да и не только для варкрафта потом модельки пилить. Но пока дальше "думаю" не заходит дело.)
0
4
1 год назад
0

» WarCraft 3 / Как сделать юнита "немного" над землей?

Тут сложно вам советовать, поскольку нет варкрафта. Могу только советами помочь. Я уже сам не помню.
Помнится, что это связано с типами передвижения:
null (нет) - юнит не имеет типа, и передвигается сквозь преград
flying (воздух) - юнит, способные перемещаться по воздуху. Они имеют мин и макс высоту, и способны летать. Они летают над всем рельефом, и не имееют ограничении в перемещении, им ничто не препятствует (кроме воздушных блокираторов). Могут попасть куда угодно. Считаются воздухом, не зря. Остальные ниже классифицируются наземными
foot (пеший) - обычно все наземные юниты
horse (конный) - ну это всадники на маунтах, при передаижении издают звуки езды на коне.
amphibious (амфибия, земноводные) - юниты способные передвигаться по воде, так и на земле.
floating (плавающий) - юниты, плавающие по воде
hover (парящий) - юнит, который парит над землей. Типа духи итд. Им можно задать в ро высоту, и они будут парить над землей
ground (наземный) и flying (летающий/воздушный). Все юниты классифицируют для таргет атак: либо наземный, или воздушный.
Есть абилка ворона для изменения высоты наземного.
Помню зорошкю статью на хайве.
Вроде это то что мне нужно.) Спасибо!)
0
4
1 год назад
Отредактирован WorldEdition
0

» WarCraft 3 / Как сделать юнита "немного" над землей?

Надо на сайт скриншот грузить
Он чего-то не грузится, пишет что прикреплен, но его нема. Поэтому ссылкой только.
В кратце, там такое |^| прямое поле, со стрелками, которое будет показывать по какой области шибанет скилл босса.
0
4
1 год назад
0

» WarCraft 3 / Вопрос по вариациям импортированных декораций.

WorldEdition:
Агась, по сути S-моделька, эта та же самая моделька, что и основная, только у нее вырезаны все анимации, кроме stand. Она нужна, чтобы не нагружать движок, чтобы анимированы были те деревья, которые находятся в поле видимости игрока. Ты ее сам можешь сделать в mdlvis, например.
О как.) Понял.) Буду теперь знать и использовать.)))
Спасибо!)
0
4
1 год назад
0

» WarCraft 3 / Вопрос по вариациям импортированных декораций.

WorldEdition:
На S и D модельки можно забить, когда указываешь кастомный путь, а не заменяя оригинальный варовский. Как написал выше, чтобы отключить S модельку, достаточно тыкнуть animated in fog. Не помню, как это в русском переводе, вроде "видно в тумане войны"... что-то типа такого. Это строка почти в самом верху в редакторе объектов.
Нужна ли D моделька при кастомном пути зависит от самой основной модельки и от того, нужно ли тебе будет использовать отдельно как украшение пенек. Если нет, то смотри оригинальную модель, анимацию смерти, если после смерти она оставляет пенек, то этот пенек останется и без D модельки на карте.
Понял, спасибо!))
0
4
1 год назад
0

» WarCraft 3 / Вопрос по вариациям импортированных декораций.

Вариант S в теории используется для прорисовки в тумане войны.
Да, забыл сказать. Если поставить в редакторе галочку animated in fog, то будет играть моделька обычная, а если стоит НЕТ, то будет модель S
Кстати да, а варианты D и S где брать? Д - пень, предположим моделька пенька есть. А вот S где? Мне ведь получается, придется сделать его как-то?
0
4
1 год назад
Отредактирован WorldEdition
0

» WarCraft 3 / Вопрос по вариациям импортированных декораций.

WorldEdition Сорян, я не думал, что настолько не в танке)). По поводу имен чуть обманул, извини, давно это делал. Короче, смотри. Вот допустим, ты за основу брешь снежное дерево нортренда. Смотришь в файле модельки в редакторе путь в разделе custom(нестандартный). Это в данном случае
doodads\terrain\northrendtree\northrendtree
Идешь по этому пути в архив с игрой с помощью любой программы просмотра mpq-архивов. Я это делаю с помощью ретеры, потому что у меня рефордж, но принцип тот же. Заходишь и видишь имена файлов. Это и есть твои вариации. Файл с окончанием S - это пустышка, типа та моделька, которая возникает полу-прозрачная, когда ты пытаешься разместить декорацию.
Файл без префикса, только с номером, этот тот основной файл, который проигрывается, когда модель размещена и жива. Файл с префиксом d - это файл, который проигрывается, когда модель мертва (пенек).
Вариации считаются от 0 до последней. Всего у деревьев в варе 10 вариаций, то есть от 0 до 9. Они прописаны в slk текстовых файлах, но я не думаю, что тебе надо это трогать, потому что обычно до 10 вариаций деревьев достаточно людям.
Вот, все твои модели, которые ты импортируешь для замены деревьев должны иметь путь ТАКОЙ же, как оригинальные деревья игры, чтобы их заменить, то есть не war3imported/че-то_там.mdx, а doodads\terrain\northrendtree\northrendtree0.mdx, doodads\terrain\northrendtree\northrendtree1.mdx и так далее до 9 для всех вариаций. Число вариаций в редакторе указываешь столько шт, сколько ты заменил моделек. Типа если из 10 вариаций ты загрузил только 7, то указывай 7. Нумерация файлов в этом случае от 0 до 6. Оригинальный путь в поле модель в редакторе объектов НЕ мешяешь! Оставляешь таким же. Ты заменил модели, теперь по этому пути у тебя будут подгружаться твои модельки, а не варовские.
P/s по своему опыту скажу, что лучше именно заменять оригинальные пути игры, при работе с вариациями. Можно попробовать полностью кастомный путь типа war3imported/etoderevo и файлы моделей к путями war3imported/etoderevo0.mdx, war3imported/etoderevo1.mdx и так далее, но как показывает опыт, в этом случае без изменения slk файлов может быть так, что в редакторе все ок, а в ссамой игре модель не хочет подгружаться.
Сперва не понял про Doodads\Terrain\NorthrendTree\NorthrendTree - но потом догнал нажать контрл+Д, и увидеть что то, что у меня на русском(в путях), там на английском.
Теперь вроде всё понял, буду пробовать.) Громадное спасибо!)))
Архив в папке с игрой war3.mpq - же? Вроде всё что ты описал, я там нашёл.)

Судя по твоим скринам, ты неправильно сделал.
Правильно:
Создать объект дерево, задать ему кол-во вариаций
Путь к модели должен быть типа TreeName.mdl
У моделей вариаций должны быть названия TreeName0 и до TreeName9 например
В случае с деревьями должны быть ещё и варианты моделей D и S, это уже gellin описал. Вариант S в теории используется для прорисовки в тумане войны.
Кстати да, а варианты D и S где брать? Д - пень, предположим моделька пенька есть. А вот S где? Спасибо!
0
4
1 год назад
0

» WarCraft 3 / [GUI] Шансовое срабатывание яда

Как?!
По событию "юнит атакован" проверяешь что атакующий Имеет предмет/абилку на основе сферы замедления (т.е. через ИЛИ перебор условий, главное что б хоть одно совпало).
При совпадении проверяешл текущий приказ юнита, если он пустой/никакой (тут можно провести тесты и выяснить точно при каких раьотает а при каких нет), отдаёшь атакующему юниту приказ "атаковать" (attack) в точку. В качестве точки выбираешь позицию этого самого атакующего юнита. Готово.
Каждый раз, когда юнит со сферой замедления будет самостоятельно пытаться атаковать кого-либо из-за того что этот "кто-либо" подошёл слишком близко, то этот юнит будет получать приказ атаки в землю и тем самым сам выбирать кого ему атаковать - т.е. визуально ничего не поменяется вообще. Зато будет работать сфера за едления.

Нет ничего плохого в плане управления югитами, если приказать атаковать кого-попало тому юниту, который и так ничего не делал и САМ решил кого-то начать атаковать
Спасибо!)
0
4
1 год назад
Отредактирован WorldEdition
0

» WarCraft 3 / Непонятная ошибка после изменения кол-ва игроков

WorldEdition, краш происходит в момент проверки слота игрока = играет. Если ставлю вместо инициализации "с начала игры прошло n секунд", то через столько секунд и крашится. Такое ощущение, что редактор просто чекнулся, и забыл, как вообще реагировать на это ведь сравнение, ведь повторю, я эти стреки в функции IF-THEN-ElSE никак не трогал, все работало четко. Не знаю, кажется, уже нет смысла это исправлять, просто лютейшая баговинка.
А ты проверял, вызывают этот краш именно "действия"? Может условия? Оно проверяет что-то, и это что-то крашит. У меня было такое при сравнении с багованой способностью. Игра правда сразу при инициализации крашилась, но крашилась из-за условия.)
А, точно, ты же проверяешь = играет. Значит как раз и на условии выбрасывает?
Тогда скорее всего конфликт с чем-то, или что-то из этих строк забаговалось. Тут скорее всего полностью переделывать, и пытаться понять что конкретно забаговалось. Попробуй в менеджере объектов посмотреть с чем взаимодействует переменная "играет", может что-то задевает.
0
4
1 год назад
Отредактирован WorldEdition
0

» WarCraft 3 / Вопрос по вариациям импортированных декораций.

"путь смотреть в архивах" - каких архивов? Раздел чего? Где это искать?
Где эти базы .slk данных можно изменить, и как?
Можно по пунктам, что делать, прям для тех кто "очень сильно в танке"? Просто пока не очень понимаю.)
P/s: Пробовал нумеровать Tree_Snow01 , 02, 03, и так далее. Мне оно писало не удалось открыть файл 011 012 013 и так далее.
Скрины:
Загруженные файлы
0
4
1 год назад
Отредактирован WorldEdition
0

» WarCraft 3 / [GUI] Шансовое срабатывание яда

UPD: У сферы замедления, и сферы молнии есть баг. Чтобы способность сработала, нужно ее "направить" на противника. Т.е. нажать кнопку атаки(А), и кликнуть или на землю, или на противника. И вот тогда оно будет работать.
А пассивные скиллы всегда срабатывают с 100% шансом, вне зависимости от указанного в способности. Пытался даже способность орб яд(сфера замедления с пассивным ядом) засунуть в способность орб (сфера замедления). 100% срабатывание. =(
ИМХО, проще выдавать тригером нужному юниту, в нужный момент, способность - яд.
Это фиксится... спроси меня "Как?!"
Как?!

Проще триггером при событии атакован, действием повторно атаковать. Также перед действием нужно отключить триггер, а после включить
Кстати да, тоже вариант. Проще чем способностью. А то я что-то себе сижу думаю, на группы юнитов зачем-то разделяю... брр... Спасибо.
0
4
1 год назад
Отредактирован WorldEdition
0

» WarCraft 3 / Непонятная ошибка после изменения кол-ва игроков

WorldEdition, ку, да ты прав, связано с проверкой триггера к слотам игроков. Но загвоздка в том, что те строки триггера, что и вызывают ошибку, я не трогал и никак не изменял. Просто раньше работало, а теперь не работает.
Честно говоря, не знаю даже, на крайний попробуй переписать триггер. Проверь на конфликт с другими триггерами, может что-то, где-то, задевать стало, вот и вызывается краш.
А когда именно кстати краш происходит? При инициализации? Т.е. выбрал ты игрока "синий" - запускаешь, и сразу краш?

Если вылет происходит не сразу, попробуй продиагностировать на какой фазе конкретно он происходит. Поставь вайты между действиями, и пусь отсылают комментарии по типу "действие 1 - 2- 3- 4- - 5" и т.д. Ещё есть функция, но вроде только для кода, BJDebugMsg.

0
4
1 год назад
Отредактирован WorldEdition
0

» WarCraft 3 / [GUI] Шансовое срабатывание яда

UPD: У сферы замедления, и сферы молнии есть баг. Чтобы способность сработала, нужно ее "направить" на противника. Т.е. нажать кнопку атаки(А), и кликнуть или на землю, или на противника. И вот тогда оно будет работать.
А пассивные скиллы всегда срабатывают с 100% шансом, вне зависимости от указанного в способности. Пытался даже способность орб яд(сфера замедления с пассивным ядом) засунуть в способность орб (сфера замедления). 100% срабатывание. =(
ИМХО, проще выдавать тригером нужному юниту, в нужный момент, способность - яд.
0
4
1 год назад
Отредактирован WorldEdition
0

» WarCraft 3 / Exehack not found пишет при запуске редактора или карты.

Странное что-то. Запустил через запасную версию, там всё работает. Почему-то редактор1 перестал видеть у себя файл. Я даже проверил, файл который не обнаружен, находится в папке. Даже менял его на копию рабочего редактора, все-равно не пашет. Магия.
Было бы интересно узнать что вообще может вызывать эту ошибку, впервые сталкиваюсь.
0
4
1 год назад
Отредактирован WorldEdition
0

» WarCraft 3 / Непонятная ошибка после изменения кол-ва игроков

Что-то вызывает ерор. Если уверен, что именно изменение кол-ва игроков вызвало ошибку, то смотри тригеры, возможно какой-то тригер обращается к игроку которого нет, и это вызывает ошибку.
У меня ещё было похожее, но в качестве бага со скиллом. Там обращался к нормальному скиллу, тригером(условием тригера), и карта или не запускалась, или крашилась при инициализации. Как оказалось скил просто забаговался при создании. Удалил, создал абсолютно такой-же, и всё стало норм.
Попробуй от админа ещё позапускать, и редактор, и игру. Меня строка "read" смущает в ероре.
И антивирусы выруби временно. А то вдруг не даёт просто файл читать.