26

» WarCraft 3 / Спавн Рун

Чтобы одна и та-же руна спавнилась в одном и том-же месте каждый раз после подбора через 60 секунд? Правильно понял?
26

» WarCraft 3 / Чем можно заменить "TriggerRegisterTimerEventSingle"?

Короче все учим Джасс или хотя бы толкаем custom script , забываем про использование вейтов и чаше юзаем локалки!)))
Замечательная мысль! Поддерживаю, как раз меньше вопросов будет по основам jass и + человек, который сможет на них отвечать :D
26

» WarCraft 3 / Не работает система прикрепления эффекта

цитата Из его статьи, самая первая
И ничего, что там дальше написано:
Вообще говоря, в нашем примере можно обойтись и без глобальных переменных – одними локальными. Но проблема в том, что использование локальных переменных не предусмотрено в редакторе. Чтобы использовать эти переменные необходимо записывать команды на jass.
Человек говорит о совместной работе триггеров и jassа. Если писать на чистом jass то в этих случаях можно глобалки и не использовать :D
Не путаем контексты)

Да и в целом это все инструменты. Нам же что главное - чтобы работало так, как нам нужно, с нашими условными ограничениями (критериями). Если задача выполняется по заданным критериям - то решение годится.
26

» WarCraft 3 / Не работает система прикрепления эффекта

давно хочу понять хэш таблицу, она мне прямо очень нужна, но пока не понимаю. Это тема для следующего вопроса)
Пс, тут есть великий секрет XGM! Зайдешь сюда, нажимая на эту никому-неизвестную кнопку, найдешь интересующую тебя тему, прочитаешь и вопросы все сами отпадут :)
(Для быстрого поиска по странице можно использовать комбинацию клавиш CTRL+F)
Загруженные файлы
26

» WarCraft 3 / Не работает система прикрепления эффекта

Ты создал переменную, но она пустая. Где ты юнита берешь?

Тебе надо указать, чему равна переменная. Присвоить ей юнита.

Раньше ты делал вот так:
local unit u
set u = GetSpellTargetUnit()
Вот это действие SET устанавливает значение переменной, которое берется из GetSpellTargetUnit().
Видимо после переработки кода ты потерял эту строку...
26

» WarCraft 3 / Не работает система прикрепления эффекта

Вторая ошибка - неправильный порядок параметров в функции AddSpecialEffectTarget(). Читай мои комменты выше, где я показывал, как тебе правильно надо туда вписать параметры.
Ладно, отправлю уже в 3 раз, вот ответ:
set bj_lastCreatedEffect = AddSpecialEffectTarget("manaFlareTarget.mdx", u, "chest")

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

» WarCraft 3 / Не работает система прикрепления эффекта

Первая ошибка сейчас говорит в том, что ты создал переменную, но ничего туда не записал а уже отправил в функцию. То есть ты пытаешься прикрепить эффект к пустому, не существующему юниту.
Вот про этот код идет речь:
local unit u
local effect a
set bj_lastCreatedEffect = AddSpecialEffectTarget(u,"chest", "manaFlareTarget.mdx" )
Видишь, тут создал переменную u, ничего в нее не записал но используешь дальше в функции AddSpecialEffectTarget().

Тебе в любом случае придется учиться и понимать код, как он работает, чтобы часами потом не сидеть над одной ошибкой.
А подобный код ты еще не раз будешь перебирать, когда попытаешься делать другие системы. Так что лучше потратить дополнительно полчаса времени сейчас, чтобы ПОНЯТЬ, почему оно ругается, не запускается, почитать статьи, как правильно описывается код, и дальше будешь решать такие проблемы как орешки за минуты а не за часы :)
26

» WarCraft 3 / Не работает система прикрепления эффекта

Что означает ошибка "expected take" ?
Видимо у тебя описание функции неполное, в описании функции должен быть список параметров, который пишется после слова takes, и возможно ты его не указал.
Вот пример, где параметров нет, поэтому мы указываем nothing после takes:
function First pitdfgdfgf_Conditions takes nothing returns boolean

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

» WarCraft 3 / Не работает система прикрепления эффекта

Вот твой код:
SсRealm:
По итогу все- равно выдало ошибку. Может ты и прав!
set bj_lastCreatedEffect = AddSpecialEffectTarget(u,"chest", "manaFlareTarget.mdx" )
И вот писал я:
konvan5:
Сам написал ответ и сам указал в коде по другому :D
Первый параметр - модель. Не юнит, а модель.
set bj_lastCreatedEffect = AddSpecialEffectTarget("manaFlareTarget.mdx", u, "chest")
А теперь просто сравни эти строки, мою и свою :)
26

» WarCraft 3 / Не работает система прикрепления эффекта

Человек мечтает создать интересную карту, но не разбирается в jass. Не знает про входные аргументы. Не страшно, бывает и похуже!
Это и правда не страшно не знать чего-то.
Но чтобы потом не потратить 100 часов на повторное решение этой проблемы (с другими функциями), прочти один раз эту статейку за 10-30 мин, и решай подобные задачи быстро, за 1 час вместо 100 часов суммарно в будущем.
26

» WarCraft 3 / Не работает система прикрепления эффекта

Ориентируюсь по образцу: Модель, виджет, точки крепления
Но я честно не знаю, как правильно присваивать спецэффект кодом именно с локальной!
Сам написал ответ и сам указал в коде по другому :D
Первый параметр - модель. Не юнит, а модель.
set bj_lastCreatedEffect = AddSpecialEffectTarget("manaFlareTarget.mdx", u, "chest")
26

» WarCraft 3 / Не работает система прикрепления эффекта

Вот добавил параметр твоей функции:
function Trig_First_pit______________________2__________________________________________u_Func007001 takes unit u returns boolean
return ( GetUnitState(u, UNIT_STATE_LIFE) <= 0 )
endfunction

А вот как ее передать:
exitwhen ( Trig_First_pit______________________2__________________________________________u_Func007001(u) )

Вот же она ниже один раз объявлена?
Это разные функции, разные блоки кода, разные области видимости. Они друг-друга не видят.

И ты это можешь проследить по слова function - как начало блока кода, и endfunction как конец. За пределами этих двух слов твою локальную переменную нигде не видно.
26

» WarCraft 3 / Не работает система прикрепления эффекта

Ну как бы по факту. В этой функции НЕТ локальной переменной u.
Я показал стрелками слева НАЧАЛО функции и КОНЕЦ функции. Между ними НЕТ создания или получения переменной u. Справа даже подмечено, что мы ничего в эту функцию не получаем. Но зато пытаемся использовать переменную, которая эта функция не видит.

Локальные переменные на то и локальные, что видны лишь в контексте одного блока кода, а снаружи (или в других функциях) они не видны. Их можно передавать через параметры разве что.

Читай, как работают функции, как в них передавать твои переменные в виде параметров.
Загруженные файлы
26

» WarCraft 3 / Изменить уровень способности

Спасибо, я поставил свой равкод и все работает. И мой танкист поехал на танке и все работает😀
Замечательно! Указываем правильный ответ на вопрос и закрываем тему :D
26

» WarCraft 3 / Изменить уровень способности

ну я взял по примеру кода из скрина, это просто код твоей абилки, можешь вставить и свое значение :D

Можешь еще почитать про равкоды. Полезная информация для тебя будет :)
26

» WarCraft 3 / Изменить уровень способности

Ну ты же понимаешь, что один параметр выходит наружу функции (за скобки), чего быть не может в коде? :D
Просто так в воздухе переменные не зависают)
26

» WarCraft 3 / Изменить уровень способности

Вот так должна выглядеть твоя строка:
call SetUnitAbilityLevel(udg_ShooteR, 0x41303838, udg_ShooterlvupTankLrvel)
26

» WarCraft 3 / Изменить уровень способности

Вот это:

А лол, ты же хочешь установить это количество, но ты не используешь функцию установки о_О
Get - Это функция получения.
Загруженные файлы