28

» WarCraft 3 / Баги Model Editor

А вот если вытащить файл MPQ Editorом, то текстура отображается.
Открыл вытащенный файл Model Editorом, ничего не менял, нажал Save, закрыл, открыл снова, текстура перестала отображаться. xD
28

» WarCraft 3 / Своё улучшение "Берсерк" в РО. (как у орды)

По порядку:
В триггере с инициализацией создаешь действие: Игрок - make Ю2 недоступно for training by игрок.
Создаешь триггер: юнит завершает исследование (твой аналог берсерка) - заблокировать Ю1 (как в пункте 1), а Ю2 - разблокировать.
Создаешь способность на основе Безумие (Sbsk), указываешь в графе "новый тип войск" Ю2, даешь эту способность Ю1.
Вроде все
1-й пункт можно сделать в Scenario -> Techtree propeties.
2-й пункт можно сделать в самом улучшении (смотри как сделано оригинальное улучшение).
Всё остальное по делу.
28

» WarCraft 3 / Дефолтное значение массива

Стандартные глобалки, как ты видишь, дают значение в ячейки 0 и 1, на остальные забивают. Сам сталкивался с "багом" стандартного массива групп: создаются только группы в ячейке 0 и 1, остальные null.
local integer i=0
set i=0
Первой строки достаточно.
Дефолтное значение у хендлов и, по-моему, у строк null, у логических false, у действительных чисел 0., у целых чисел 0. Это распространяется на массивы и хештаблицы, на единичные переменные это не действует.
28

» WarCraft 3 / Не блокируется способность + не реагирует на зависимости.

Boyazitov:
Бандиты, ну раз мы тут собрались, как триггерно дать доп силу атаки или хары? )) Сделаю значит на основе абилок которые блочатся и через них дам нужную мне силу атаки.
Ну или подскажите какие пассивки еще дают доп силу атаки. Знаю что техника даёт, но вот только она тож не блочится.
Есть такая способность в Special -> Items -> Item Permanent Damage Gain (AIaa), она даёт постоянный бонус к атаке. Она не блокируется (что очевидно).
28

» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4

RunXM:
Он включен, но такого нет.
А где смотришь? JNPG последней версии и стоит ли NET. Framework?
28

» WarCraft 3 / Мгновенный разворот 126а загадка

Jack-of-shadow:
LookAt рутовой кости, которая таргетится на невидимого даммика, который перемещается в точку приказа.
У каждой стандартной модели своя рутовая кость, или есть какая-то специфическая?
28

» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4

Как ты так сделал?
Grimoire -> Enable Colorizer.
Временно перебрался на другой комп, так как мой в ремонте, и столкнулся с проблемой: когда я включаю UMSWE и перезапускаю редактор, тот пишет "Unable to apply patch". Можно нажать крестик или ОК, но редактор запустится. При открытии или создании карты редактор начнёт спамить ошибками Trigger Editor. Права админа не помогают. JNPG и Варкрафт в разных папках на диске C, пути не содержат кириллицу.
Это пофиксил, был удалён MPQ Editor в папке bin.
28

» WarCraft 3 / Unable to apply patch

Принятый ответ
Я удалил MPQ Editor в папке bin, потому вылазила ошибка.
28

» WarCraft 3 / I2H как сконвертировать

Как Правильно написать функцию для перебора группы В структуре
call ForGroup( udg_grSpell, function SpellEngine.execSpell )
28

» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4

Кстати, в R4 pjass странный, сам добавляет Condition там, где я их намеренно не делал, обновите его до последней версии.
Это делает JassHelper (edit 14.01.2021).
Ох уж эта склейка сообщений)
Временно перебрался на другой комп, так как мой в ремонте, и столкнулся с проблемой: когда я включаю UMSWE и перезапускаю редактор, тот пишет "Unable to apply patch". Можно нажать крестик или ОК, но редактор запустится. При открытии или создании карты редактор начнёт спамить ошибками Trigger Editor. Права админа не помогают. JNPG и Варкрафт в разных папках на диске C, пути не содержат кириллицу.
28

» WarCraft 3 / Сброс перезарядки предмета.

Sebra2:
Ты хочешь сказать, что:
1.Кд висит на герое.
2.Кд нет на инвентаре.
3.Кд нет на предмете.
4.Кд не снимается удалением абилы.
Откуда такая информация?
Спасибо, но мемхак не хочу. Скорее изменю способность.
Ну так возьми и протести, это просто сделать. Заоодно выяснишь, кто прав.
28

» WarCraft 3 / Повторы слов в war3mapSkin\war3mapMisc

ScopteRectuS:
Смею предположить, что это текст для каждой кнопки, которая встречается в редакторе.
Тоже так подумал, но не использую AIEditor.
28

» WarCraft 3 / Своя подсветка функций

Borodach:
А автонабор также будет работать?
Функции со стрелочкой вниз - твои функции из tesh\includes.
Автонабор по умолчанию включён. Его можно отключить, если что.
Загруженные файлы
28

» WarCraft 3 / Позиционный звук

Lotus101:
Там нет правильного ответа, локальный игрок совершенно не то и создание звука в модельке тоже.
Попробуй так:
function CreateMirrorSoundPoint takes real x, real y, real z returns nothing
   local sound s = CreateSound("Abilities\\Spells\\Orc\\MirrorImage\\MirrorImage.wav", false, true, true, 10, 10, "SpellsEAX")
   call SetSoundParamsFromLabel(s, "MirrorImage")
   call SetSoundDuration(s, 1756)
   call SetSoundPosition(s, x, y, z)
   call StartSound(s)
   call KillSoundWhenDone(s)
   set s = null
endfunction
Можно ещё прикрепить на юнита:
function CreateMirrorSoundUnit takes unit u returns nothing
   local sound s = CreateSound("Abilities\\Spells\\Orc\\MirrorImage\\MirrorImage.wav", false, true, true, 10, 10, "SpellsEAX")
   call SetSoundParamsFromLabel(s, "MirrorImage")
   call SetSoundDuration(s, 1756)
   call AttachSoundToUnit(s, u)
   call StartSound(s)
   call KillSoundWhenDone(s)
   set s = null
endfunction
Но способ ssbbssc проще и лучше.
28

» WarCraft 3 / Продолжение: фатал из-за переполнения памяти

а таймер глобальный если не удален то всегда крутится и проверяет
Есть такая функция, называется PauseTimer().
К тому же, таймер можно и не стартовать (Timer Start()), тогда и крутиться нечему.
триггеры могут просто вообще даже не созданы быть
Может быть, выключены, а не созданы?
все я говорю тема не об этом уже
Да я понял, просто совет даю.
Можете не отвечать.
28

» WarCraft 3 / Продолжение: фатал из-за переполнения памяти

относительно глобального периодического таймера - нет, конечно, одно дело что-то каждую секунду вертится и проверяет кучу условий вне зависимости от того, есть там юниты вообще удовлетворяющие этим условиям или нет; другое дело - что-то только при конкретных действиях создается и проверяется.
Кажется, Вы плохо понимаете, как работает периодический триггер.
Периодически триггер вызывает условие, если оно есть, (TriggerEvaluate), а после действие (TriggerExecute). Потому если есть N периодических триггеров с разными условиями, то будет вызываться N условий каждый тик, то есть N новых потоков (если не 2N, я вот не знаю, наследуют ли действия поток условий или создают новый).
А если заменить это всё 1 таймеров с if - elseif, то условия будут вычисляться только до того момента, пока одно из них не даст TRUE. В худшем случае, будет посчитано N условий. Но даже в этом случае это будет лучше триггеров, так как те каждый тик создают как минимум N новых потоков, а 1 таймер каждый тик создают только 1 новый поток.
Другое дело, разница между одним период. триггером и 1 период таймером. Таймер регулировать проще, чем триггер, а в случае ненадобности, таймер можно просто удалить.
что не так?
Глобальные таймеры - это ни хорошо, ни плохо. Глобальный таймер можно создать 1 раз и его использовать.
globals
   constant timer TIMER = CreateTimer()
endglobals
Этот таймер нельзя перезаписать, но можно удалить.
А можно создавать и удалять, если это нужно. Я так делаю, чтобы быть убеждённым, что отсроченные действия не будут выполнены после удаления структуры и уже созданный таймер не будет потерян в памяти из-за его пересоздания при инициализации структуры.
struct CustomTimer
   timer t
   // some parameters

   static method create takes nothing returns thistype
      local thistype this = allocate()
      set t = CreateTimer()
      return this
   endmethod

   method onDestroy takes nothing returns nothing
      call DestroyTimer(t)
   endmethod
endstruct
В целом можно таймер просто паузить при удалении структуры, а при создании написать условие для проверки наличия таймера, но тогда это будет 4 строки, вместо 2-х, а таймеры будут всегда висеть в памяти.
28

» WarCraft 3 / Продолжение: фатал из-за переполнения памяти

Прочитайте вот тут.
А глобальный периодический таймер с кучей условий проверки - это нагрузка всегда.
А триггер нет?
Но производительность стремительно снижалась с появлением новых заклинаний.
Делаю много таймеров, так как у меня своя система баффов. Таймеры хранятся в глобальном массиве, но постоянно удаляются и создаются снова, и ничего не глючит. Может, всё-таки дело в локациях?
И в функциях таймеры должны быть ЛОКАЛЬНЫЕ...
Простите, ЧТО? Откуда вы это вообще взяли?
28

» WarCraft 3 / Продолжение: фатал из-за переполнения памяти

мне тяжелее пока использовать координаты, многого не понимаю в их вычислении, даже не понимаю, как, например, юнит в направлении X и Y другого юнита подвинуть
Математика Вам в помощь)
у себя и так делаю, это форматирование побилось тут
Я так и думал, потому лучше прикрепляйте ещё и .txt файл с кодом. А ещё TESH позволяет Tab переводить в пробелы и наоборот.
28

» WarCraft 3 / Своя подсветка функций

Принятый ответ
Скачай новую версию TESH с HIVE, удали папку tesh в папке JNPG, вместо неё распакуй туда скачанную. В блокноте пишешь свои функции, сохраняешь в папку tesh\includes. Если в это время открыт редактор, то в меню Trigger Editor кликаешь TESH -> Reload user includes, и твои функции начинают подсвечиваться. Формат подсветки можно настроить в Options, что над рабочей областью редактора.
28

» WarCraft 3 / Продолжение: фатал из-за переполнения памяти

IsDead(u5) == true можно просто писать IsDead(u5).
Ровно как и not IsDead(u7) вместо IsDead(u7) == false.
Сделай скриншот ошибки и кинь сюда, избавься от локаций и сломанных моделек, после этого протестируй на фатал. Если он снова будет, вновь сделай скрин ошибки.
Bergi_Bear:
ну да может быть, а если триггер такой всего 1 и он крутит с десяток функций, которые не нужно будет уничтожать или очищать, может в этом случае и да таймеры лучше, коли дело разовое
Крутить десяток функций можно и таймером)
28

» WarCraft 3 / Продолжение: фатал из-за переполнения памяти

Ну, во-первых, делай отступы, код читаться будет проще.
Во-вторых, разделяй функции одной пустой строкой.
В-третьих, никогда не используй локации, если тебе не нужна координата Z.
Bergi_Bear:
таймеры - на периодический триггер
Нет, таймеры лучше периодических триггеров, так как первые можно удалить при ненадобности, а со вторым так не сделаешь.
Я читал где-то на сайте, что периодические триггеры - зло.
28

» WarCraft 3 / Система Save/Load для PUBG

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

» WarCraft 3 / Цепь молний, которая пожирает ману

Loran124:
PT153,
Как именно называется условие, что источник урона дамми?
Тип юнита самый простой способ (Unit-Type Comparison). Но тогда дамми не должен быть универсальным, то есть дамми должен быть создан только для этого спела.