Возможно глупый вопрос, но ответ на разных сайтах я не нашел.
Как сделать так чтобы конец тега к примеру </h1> сразу вписывался после написания <h1>. Пишу в программе notepad++. Возможно есть какой-то хоткей?
Просто в разных обучающих видео видел как человек набирал начало тега,то автоматом писался сразу конец.
Вот…
Вопрос
3 848
11
Hanabishi:
Да, перейди на нормальную IDE. Тот же VS Code все умеет.
Спасибо. Видел,что на разных форумах пишут, что пока ты новичек, то лучше все вручную делать, так сказать набивать руку, чтобы не получилось так, что без автоподставлений и подсказок ты не сможешь ничего написать, но это уже наверное от самого человека зависит.
В любом случае большое спасибо!
25
Принятый ответ
Да, перейди на нормальную IDE. Тот же VS Code все умеет.
Загруженные файлы
28
Советую перейти на Visual Studio , куда удобней и больше функций - включая то что ты просишь.
для варкрафт 3 я распаковал код и смотрел код jass самой не лагающей карты, все наверняка знаете это дота. Короче код карты дота полностью сделан на триггерах, ну кроме одного таймера который тикает 999999 секунд. И связи с этим я решил что триггер лучше таймера и быстрее таймера +оптимизирован. Таймер получается хуже…
Вопрос
11 822
26
Типа рофл? или что?
Ты сейчас сравниваешь два типа объектов - таймер и триггер.
О чём ты вообще?)) пример хоть бы кинул какой
Одно событие для нескольких вызовов функций или для каждой отдельной функции своё событие короче как в GUI.
Пример:
================================= 1) Метод
Условие "НЕСКОЛЬКО ФУНКЦИЙ"
If GetSpellAbilityId == A000 then
call первая функция
endif
if GetSpellAbilityUnitId == A001 then
call вторая функция…
Вопрос
7 798
10
Принятый ответ
quq_CCCP:
jass_dev, Делается не так, уже обсуждали - триггер со всеми возможными событиями и екзекутом функции из базы данных, функция находится по ID. не быстрее чем по 1 триггеру на кадую способность, но экономит оперативку и гораздо удобнее.
можно ссылку на обсуждение?
32
jass_dev, Делается не так, уже обсуждали - триггер со всеми возможными событиями и екзекутом функции из базы данных, функция находится по ID. не быстрее чем по 1 триггеру на кадую способность, но экономит оперативку и гораздо удобнее.
10
Nikolay36:
jass_dev, да у меня нет стандартных способностей по ИД есть только 'A000; и дальше. Массив способностей как сделать.?
  1. Создайте масив триггеров
  2. Для каждой способности создайте триггер без событий, но с действием которое нужно выполнить во время каста способности.
  3. Во время инициализации карты, добавьте в массив все такие триггеры, вписав в индекс [Ид способности] - 'A000'.
  1. Создайте триггер с событием UNIT_CASTER_EVENT_SPELL_EFFECT. И в нём запускайте тот триггер, который лежит в массиве по индексу [Ид использованной способности] - 'A000'
18
Есть еще способ, функция call ExecuteFunc( конвертация имени способности в строку). А все способности назвать по вызываемой функции.
Плюс - удобно, просто
Минусы - вроде как, немного медленей. С другими минусами не знаком
2
jass_dev, да у меня нет стандартных способностей по ИД есть только 'A000; и дальше. Массив способностей как сделать.?
10
Торможения будут зависеть от количества таких скилов, если их мало, то особой разницы не будет. Первый способ более производительней чем второй. В первом у тебя вызывается одна функция (условие) для всех ифов, а во втором для каждого ифа вызывается функция (условие).
Но если тебе важна производительность, то тебе не стоит использовать столбы ифов вовсе. Я бы рекомендовал сделать хеш-таблицу, где в качестве основного ключа выступал бы ИД способности. Ты бы сохранял туда триггеры без событий, но с функциями которые нужно выполнить при использовании способности. А потом, в одном триггере с событием UNIT_CASTER_EVENT_SPELL_EFFECT ты доставал по ИД способности нужный триггер и выполнял его. Если у тебя нет стандартных способностей и все ИД ровные 'A000', 'A021'... Можно сделать еще производительней, сохраняя нужный триггер не в хеш-таблицу, а в массив.В таком случае, индекс в массиве для нужной способности будет равен ID - 'A000'.