26

» XGM Team / Поощрение авторов рецензий

Я так понял это как идея. Выглядит очень интересно, поддерживаю подобную инициативу. По поводу баланса цифр уже на плечах администрации :D
26

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

Значит создаем массив возможных рун runeTypes, которые будем рандомить (тип переменной - тип предмета).
В инициализации сохраняем туда типы рун (я еще создал переменную runeTypeCount для контроля количества элементов в массиве, чтобы потом было проще менять, если захочешь изменить массив)
Ну и дальше просто при спавне рандомим тип предмета из нашего массива runeTypes с индексом случайное число от 1 до runeTypeCount.

И заметь, рандомная руна будет спавнится только у 1 руны из 3, что у меня стоит на карте. Другие 2 будут спавнится одна и та-же.

(все так-же прикрепил карту, чекай)

Сейчас скачал твою карту, ну ты же все правильно делаешь :D
По сути у тебя все те-же действия, что и у меня, просто добавить сохранение своих рун в массив, чтобы проверять, какая руна была подобрана и ее респавнить. Именно как массив рун.

И лучше избавиться от периодика каждые 10 сек (или ты в будущем сделаешь 60 сек что будет еще хуже, ибо если поднять руну на 59 секунде то она заспавнится сразу-же мгновенно новая, что не круто, ты же хотел чтобы через 60 сек спавнило)

Используй события и проверки из моего примера и все получится как надо.
Загруженные файлы
26

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

konvan5, а что делать если надо сделать несколько руны рандомно?
Вот те-же 2 триггера, но теперь переменная rune это массив из рун, где на каждую руну мы указываем с помощью номера (индекса) в массиве. Это самая простая реализация.

А или ты имеешь ввиду рандомно чтобы руна появлялась в той-же точке? Я сделал наработку на несколько руна в 3 точках, где респавнится та-же самая руна.
Загруженные файлы
26

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

konvan5, вот например эта карта как сделать точно таким же как твоя карта?
Без проблем, просто сделать из переменной массив. Если от этого яснее не стало, сейчас запилю наработку...
26

» Администрация XGM / Дать опыт авторам публикации ресурса

Я бы 100 давал, не считаю, что фармить опыт это плохо если сайт получает контент
Оп уже готовлю копировальную машину по переносу всех ресурсов из испанских сайтов сюда...
26

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

Принятый ответ
Вот 2 простых триггера. Первый спавнит руну в первый раз, а второй ловит ее подбор и спавнит новую через время. Даже карту прикрепил с этим примером.

Главное сохранить эту руну в переменную и потом проверять по этой переменной, что подобрали ту самую руну.
Загруженные файлы
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")