28

» Администрация XGM / Где лучше просить фидбек?

в своём собственном блоге выставляй свои творения и проси оставлять отзывы

если сформулируешь просьбу о фидбеке а-ля "как улучшить код", то можешь и в раздел вопросов по вару обращаться со своей способностью
28

» WarCraft 3 / Почему способность утекает?

у тебя не удаляется последний созданный эффект потому что ты не особо понимаешь основ пока что
AddSpecialEffect( "Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl", GetUnitX(picked), GetUnitY(picked) )
DestroyEffect(GetLastCreatedEffectBJ())
--->
bj_lastCreatedEffect = AddSpecialEffect( "Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl", GetUnitX(picked), GetUnitY(picked) )
DestroyEffect(bj_lastCreatedEffect)
либо же (лучше в твоём случае) --->
DestroyEffect(AddSpecialEffect( "Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl", GetUnitX(picked), GetUnitY(picked) ) )

внутренности GetLastCreatedEffectBJ() следующие
function GetLastCreatedEffectBJ takes nothing returns effect
    return bj_lastCreatedEffect
endfunction
т.к. ты не присвоил этой переменной никакое значение (свой созданный эффект), то и удалять игре нечего
вот так выглядит гуишная функция создания эффекта
function AddSpecialEffectLocBJ takes location where, string modelName returns effect
    set bj_lastCreatedEffect = AddSpecialEffectLoc(modelName, where)
    return bj_lastCreatedEffect
endfunction


старайся раскрывать красные (бж) функции доставая нативки (это не всегда необходимо), и улучшай логику своего кода, а-ля
function Trig_Froze_Conditions takes nothing returns boolean
    if GetSpellAbilityId() == 'A000' then
        return true
    endif
    return false
endfunction
--->
function Trig_Froze_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == 'A000'
endfunction
28

» WarCraft 3 / Можно ли передать локалки другим функциям без takes

ForGroup тоже не должен иметь аргументов?
Функция для второго аргумента ForGroup не должна иметь аргументов и что-либо возвращать

хэш таблицы вроде как медленные же
Анрайз с тобой бы поспорил xgm.guru/p/wc3/Jass-MythBusters#h2.0.3
28

» WarCraft 3 / Ловушка

Super cool, касательно второго вопроса, попробуй заменить абилку пустышку на абилку призыва стража/змея-варда или что-то в этом духе, чтобы нельзя было спавнить в непроходимых местностях, чтобы юнита можно было выбрать, нужно убрать у него москитов
Касательно первого вопроса, тебе нужна массивная переменная типа регион, где в порядке ходьбы юнитов заполнять каждый индекс соответствующим регионом
Джасс для тебя рано, пока ты не знаешь даже основ гуи и если никогда до этого не работал с кодом
Это язык программирования от близзардов для Вара и вроде как старкрафта
28

» WarCraft 3 / Суккуленция

Атар, потому что спеллмейкерам код не нужен, только идея в виде кактусика с цветочком. Они пишут всё с нуля под собственные 999 систем в карте, а мне лайков с головой достаточно
28

» WarCraft 3 / Пирокластическое уничтожение

Способность крутая, но выглядит засрано эффектами как-то
Это и есть идея способности, просто создать что-то массивное, насрать эффектами
Загруженные файлы
28

» WarCraft 3 / Ловушка

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

как сделать чтобы отображался этот колючка как мина , если его надо уничтожать который стоит другом месте который юниты вообще не ходят
Переформулируй вопрос пожалуйста
28

» WarCraft 3 / Утечка памяти

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

» WarCraft 3 / Пирокластическое уничтожение

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

» WarCraft 3 / Пирокластическое уничтожение

Получилась классическая Огненная Отрыжка по канонам аниме с тряской камеры.Если присмотреться, то можно заметить рыгающую ящерицу
фактишь, а слабо перерезать мне горло теперь и выкинуть в канаву? м?)

При попытке сохранить в редакторе, выскакивает вот такая ошибка.
судя по строке damaged, проблема в триггере DamageEvent, хотя, честно говоря, я не понимаю почему ошибка, возможно пджасс кривой, и стоит заменить на пджасс для мемхака из статьи от берги xgm.guru/p/wc3/easymem


Ну и собственно к чему нужен этот триггер?Можно же вынести настройки отдельно и все
можно вынести отдельно настройки, но а если, допустим, ты хочешь иметь динамические настройки?

в любом случае это пример и основное что нужно заполнять и вызывать это функцию
function PyroclasticDestruction_Actions takes unit caster, real damage, real angle, boolexpr b
Загруженные файлы
28

» WarCraft 3 / Пирокластическое уничтожение

да, там действительно мёртвые даммики в группу брались и в основном фпс падает из-за перебора группы, спасиб Alan_Gu и PROSHELDOTU, вы лучшие
рес обновлён

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

» WarCraft 3 / Пирокластическое уничтожение

PROSHELDOTU, damn, ну и качество видео, у меня комп взорвался, пришлось с телефона смотреть
с таким количеством эффектов 2+ кастов действительно могут вызвать просадку, хотя у меня есть подозрения что функция GroupEnumUnitsInRange выбирает мёртвых москитов
можно заменю видео в ресурсе на твоё?)
28

» WarCraft 3 / Утечка памяти

Тормозить игра на секунду может не из-за утечек. От утечек постоянно начинает понижаться фпс приводя к крашу
Банальный пример секундного "тормоза" это отсутствие прелоада. Т.е. когда одновременно спавнится много разных эффектов в первый раз*, когда какой-то нестандартный герой создаётся с нестандартными абилками в первый раз*
Так же лагать может из-за деформации ландшафта на огромной карте, т.е. та же громовая поступь или волна силы
28

» WarCraft 3 / Пирокластическое уничтожение

Alan_Gu, у меня компик слабый и поэтому на записи кажется, что что-то где-то лагает, на деле лаг происходит только при первом касте, ибо мне было лень делать прелоад
Впрочем, если есть ошибки в коде то можно тыкнуть меня мордой
28

» WarCraft 3 / Громадный пак архитектуры

  1. открыть модель
  2. менеджер текстур (Т, или окна - менеджер текстур)

  1. открыть модель
  2. кликнуть в любое место по модели чтобы выбрать полигон
  3. нажать UV-карты (справа)
Загруженные файлы
28

» WarCraft 3 / Громадный пак архитектуры

Vladisubbotin, чтобы узнать какие блп файлы нужны для модели, открой модель в мдлвисе или моделедиторе и посмотри какие текстуры она требует
28

» WarCraft 3 / Громадный пак архитектуры

печально видеть, как человек просто оставил своё искусство и исчез, став легендой
28

» WarCraft 3 / Триггер на волны атак

PROSHELDOTU, там проблема была с обзором, в личке обсудили уже
юниты, которым отдавался приказ атаковать, не видели цель для атаки, в итоге просто шли на место где эта цель находилась
28

» WarCraft 3 / Можно ли передать локалки другим функциям без takes

Action у триггера не может иметь аргументов, джасс хелпер ругается именно на 32 строчку
в твоём случае правильно будет* заносить даммиков в глобальную группу, которую уже перебирать этим таймером и двигать по направлению взгляда
помимо этого можно использовать привязку с локальному таймеру, добавить структуры, использовать вместо группы массивы
28

» WarCraft 3 / Триггер на волны атак

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

» WarCraft 3 / Нужна помощь с триггером

у деструктов очень мало взаимодействий, события только на смерть, поэтому надо костылить а-ля спавн нейтрального дамми юнита с 0 размером под камень, и при приказе бить декорацию, перенаправлять приказ на удар по этому юниту
при получении юнитом урона - снижать здоровье декорации
при смерти юнита можно узнать кто его убил, уничтожить декорацию и на этой основе делать уже дальнейшие действия
может и есть какие-то другие способы но пока это первое что приходит на ум