27

» WarCraft 3 / Как использовать boolean variable в Хэш таблице.

jasonrus96, покажи пример. Так не поймешь в чем проблема.
call SaveBoolean(Hash,GetHandleId(t),0,true) //значение как false можно не сохранять. LoadBoolean по идее должен вернуть false, если там ниче не сохранено. Но точно не знаю, ечли с луа не путаю
local b = LoadBoolean(Hash,GetHandleId(t),0)
if LoadBoolean(Hash,GetHandleId(t),0) then endif
27

» WarCraft 3 / Как использовать boolean variable в Хэш таблице.

SoulRazor, парню надо научться пользоваться встроенной библиотекой функции в редакторе JNGP или где нибудь откопать текстовик. Пусть гуглит на слова

Вместо boolean можно хранить integer, типа 1 или 0. Можно больше флагов наделать, храня в 1 ячейее
27

» WarCraft 3 / Как использовать таймер с хэш таблицей.

Cancel, BlzGetMouseFocusUnit() можно и без ивента получить, так тоже работает. Я таким образом чекал ежесекудно таймером выделен ли мой герой. Это к примеру, мне не требовалось создавать триггер с ивентом
jasonrus96, да ты не верно используешь функции
Замени строчку
call TimerStart (t, 0.20, true, function Timer_TimeTest)
на
call TimerStart (t, 0.20, true, function Timer_On) 
Еще вопрос зачем ты таймер делаешь периодичным, а не одноразовым?
Еще мне не понятна эта строчка, ты вызываешь Timer_On, но ты видел содержание функции?
    call TriggerAddAction( On, function Timer_On )
Там таймер GetExpiredTimer() ты можешь и не получить, ибо запускается не через таймер, а через действие триггера. а следовательно, ты не сможешь загрузить.

В триггере при клике на правуб кнопку мыши (пкм), ты в действии, в чсстности в функции Timer_Off
local unit u = GetTriggerUnit()
Откуда здесь GetTriggerUnit(), ты этого юнита можешь не получить. Надо либо в глобалку или ещк. Я не знаю какую ты задачу решаешь, но если ты проверяешь клик пкм по цели, то BlzGetMouseFocusUnit() сойдет за проверку. Иначе, ты можешь там своего выделенного героя в глобалку запихать, типа кастер итд
27

» WarCraft 3 / Как использовать таймер с хэш таблицей.

Еще по поводу ивента мыши и GetTriggerUnit() , ивент мыши по идее не даст GetTriggerUnit()
В рефорлже при ивенте движения мыши EVENT_PLAYER_MOUSE_MOVE можно получить юнита, на которого навели мышью с помощью нативки BlzGetMouseFocusUnit()
27

» WarCraft 3 / Как использовать таймер с хэш таблицей.

Ты зпускаешь не существующую функцию Trig_Shoot_Actions. Как препроцессор этот код пропустил?

Тут у вас с примером не указана эта функц. Нпверн ты хотел Timer_On указать

Еще по поводу ивента мыши и GetTriggerUnit() , ивент мыши по идее не даст GetTriggerUnit()
27

» WarCraft 3 / как изменить хар-ку способностей

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

» WarCraft 3 / Узнать юнита-инициатора смены владельца / (+кто призвал магму?)

Можно по приказу отслеживать смену владельца у юнита, если это скилы юзаются. Кто последний навел на юнита приказ. И потом сверить прошло ли заклинание успешно с помощью "юнит запускает/приводит/завершает заклинание.
Возможно будет достаточно одного события "юнит приводит скилл в действие", и переменной юнит-таргет скил
27

» WarCraft 3 / Обучение jass

Я вообще не люблю видеоуроки, больше воспринимаю инфу через текст
27

» Администрация XGM / Убрать двойные оценки

Заведите счетчик тогда. Отдельный.
Пример, в ❤ отображать лайки, именно кол-во лайков. А кликаешь по ♡, и вам пишут 5 человек лайкнуло, а лайков мб больше из-за усиленных лайков.
У меня есть абила видеть кто мне лайкнул, можно отобразить, если он дважды лайкнул ×2 например. Например, с рядом иконкой в углу х2.
Ладно. Это очередной брэд от мастера нытья
27

» WarCraft 3 / Способность требующая золото

Ну, вам нужно, чтобы было 2 параметра:
a) требование к ресурсу
b) aoe-курсор круга
В варкрафте известны некоторые абилки, в которых есть параметр a, но нет параметра b. Такое я еще не видал. Может в разведке попробовать "область действие" увеличить, посмотреть? Я не знаю что там.
Как вариант, вы можете использовать общий ордер (приказ). Есть способность "поставка ресурсов", в ней можно задать требование ресурсов, и активируется, когда есть бабло. Также есть универсальный "канал".. к чему я веду, ну у "поставки ресурса" и "канала" можно редактировать и задаввть приказ. Неизвестно, сработает ли эта схема. Поскольку хотелось бы, чтобы при нажатии на первый скил, запускался курсор второго скила. На практике такое наверное вряд ли сработает, тк курсор это элемент интерфейса, и нужно как то вызвать, сомневаюсь, что это сработает
Раз, нет возможности совместить параметры a и b, тогда можно было химичить с фреймами:
  1. вызвать курсор с помощью хоткея. Есть такая функция как вызвать хоткей игрока, и можно вызвать нажатие на кнопку. При нажатии на канал с посощью хоткея можно вызвать прицел. Делаем на фреймы кнопку с tooltip с требованием реса. Недостаток: кнопка должна быть видима.
  2. Unryze Ujapi
27

» WarCraft 3 / Как делать заклинание Arctic Blast из доты

Extremator, да, там код из доты не полностью скопирован. Не хватает несколько функц NTI C81 но их можно выдрать. Не зватает функц очищения. Но можно переделать на таймер, чем дрючить триггер-таймер
27

» WarCraft 3 / Как делать заклинание Arctic Blast из доты

Предмет Shiva's Guard (shivas, shiva) способность Arctic Blast

Super cool, просто код скопируй в карту, и никакой программы не нужно. Единственное, что триггер инициируй с хэш-таблицей.
  1. создаешь переменную хэш-таблицу с названием Hash, ведь нам надо в коде выше HashData заменить. Создаешь триггер с событием инициализации. Типа на старте нужно создать таблицу set Hash = InitHashTable() могу ошибаться, ту ли нативку прописал, посмотри в статье про хэш-таблицу
  2. Берешь создаешь пустой триггер с событием юнит применчет способность, затем конвентируй в код, функцию инициализации с событием/условием/действии кода не удаляй. В них надо проставить названия функции выше. далее копируешь выше код, и вставляешь.

Или заходи в дискард. Там люди научат


27

» WarCraft 3 / Как делать заклинание Arctic Blast из доты

Можно было вбить название итема в поиск, наверняка, на хайве уже есть такой скилл. Сейчас уже есть кучу навыков из доты, выложенных в виде карты или кода. пс я прошел доту тысячу лет назад, и забыл все, поэтому лучше название итема скидывай. Но кажется в вспоминается, это самый имбовый итем с интеллектом
27

» Администрация XGM / как удалить отсюда свой аккаунт?

А как же Закон Яровой.. все данные хранить 2 года надо. У вас есть копии, я думаю, что все оригиналы прячут, а потом удивляемся, что двойник всплыл
27

» Администрация XGM / как удалить отсюда свой аккаунт?

  1. Можно удалиться, а потом пожалеть сильно об этом. В данный момент это не реализуемо, кто знает, может админская власть хигамы пойдет на встречу. В данном случае в хигаме дефицит солдат
  2. Можно забанить, заперев в тюрьму, сроком на 1 год. Но все равно останется привычка заходить на сайт, тк в телефоне просто делать нечего, и единственные норм иниересные сайты это типа хгм. Вы будете в тюряге смотреть из окна. Кто-знает, возможна, это отобьет желание у вас сюда заходить. Можно специально нарушить хигамовские правила
  3. можно забыть логин и пароль, и стать монахом с запретами в горах
27

» WarCraft 3 / Спецэффекты в точке

Причины:
  • модель эффекта рабочая?
  • Может какие-то логические ошибки, например, что-нибудь потрогал, и анимация не успевает произвести и... но это бред. DestroyEffect(CreateEffect(..)) тому доказательство, перед удалением спецэффект проигрывает анимации до конца, но все же может ты что-то сделал. Попробуй проверить чисто CreateEffect создать на пустой карте
  • есть еще это у людей часто происходят подобные ошибки, спрашивают: "почему пропадают эффекты вдруг внезапно?". Поищи ответы. А такое бывает, сначала работает, а потом раз и спецэффект пропал.. тяжелая модель сразу может не показываться.. но со временем она вернется. Это в самих драйаерах, движке. Но мне самому вам сложно дать ответ - из-за чего и почему происходит, такое бывает и все. От картодела ничего не зависит, и просто рекомендую переделать модель?

Надо больше конкретики. У вас не работает только и только на этой функции "создать в точке"? Но работает в функции "создать на юните"? Может это быть как-то связано с точками креплениями (атачамм), у модели нет атачей или что..
27

» WarCraft 3 / Дублирование триггера, выявляющего окончание волны.

СерафимКречет, чтобы отсечь дублирование окончания в условии триггера поставь проверку, что счетчик больше 0, и тогда триггер не будет запускаться.

Пример:
С: Юнит умирает
У: Счетчик > 0
Д:
set Счетчик = Счетчик - 1
Ждем 0.01 сек
if Счетчик == 0 then
  Выдать поражение и текст: волна зввершена
endif
Ты должен назару в окошко стучаться. На вэйт плевать, надо сначала логически понять, что у вас ломается. Ибо это сломается и без вэйта.
27

» СССР VS США / Нью-Йорк [cкриншоты]

Берги, минус -97°. Это офигенно, в Питере как раз морозы

Берги, еще ясновидящих в России. Пример, Распутин, Жириновский, Ванга. Офигеть..это магия времени