8

» WarCraft 3 / Вылет рефоржа в игре как только мышка попадает на юнита

prog:
upd - выдал 14 игроку слот и стартовую позицию - перестало и на нем крашить. Напоминаю, нумерация игроков в jass идет с нуля, а не с 1 как в гуях.

В общем, крашит на игроках которым не выданы слоты и стартовая позиция - игра очевидно не понимает что с ними делать и как отображать для них наведение.
ну да, внатуре, тема закрыта!
8

» WarCraft 3 / Вылет рефоржа в игре как только мышка попадает на юнита

Bergi_Bear:
Ага тут 131.2, мне такое не открыть пока что, но думаю связано с моделями, модели нестандартные? если да, то надо смотреть в область наведения, скорее всего это связано с кругом наведения, который появляется под моделю юнита, скорее всего игра не знает, где расположить круг или просто ошибка при его отображении, или же этот параметр скручен в РО и некорректно это влияет на модель и игру
там просто обычные футмены рефоржа, я думаю бета блокирует или что-то типа того...
8

» WarCraft 3 / Вылет рефоржа в игре как только мышка попадает на юнита

Bergi_Bear:
А если не наводить, юниты появляются и идут? можно карту?
держи
Bergi_Bear:
А если не наводить, юниты появляются и идут? можно карту?
да, идут и дерутся, но наводить и кликать по ним нельзя)
Загруженные файлы
8

» WarCraft 3 / Выбор всех реальных игроков.

PyCCKuu_4eJl:
Jass
    if GetPlayerController(ConvertedPlayer(udg_pid)) != MAP_CONTROL_COMPUTER then
    endif
    if GetPlayerSlotState(ConvertedPlayer(udg_pid)) != PLAYER_SLOT_STATE_EMPTY then
    endif
    if GetPlayerSlotState(ConvertedPlayer(udg_pid)) != PLAYER_SLOT_STATE_LEFT then
    endif
Гуи
а я кстати нашел не так как ты показал на ГУИ, а там есть функция slot statys равно Играет. и не надо исключить все виды как ты предложил!
8

» WarCraft 3 / Группа типов юнитов

prog:
VVelikolepniy, проще всего - массив типов юнитов плюс случайное число. Есть и более красивые решения (те же юнитпулы, например), но массив все-же проще если в гуях работать.
А группа это совсем другое - группа это список конкретных юнитов.
Ну я так и сделал в итоге, при инициализации добавил всех юнитов по очереди в массив типа юнитов и вызываю номер юнита через рандомное число
8

» WarCraft 3 / Группа типов юнитов

PT153:
Зависит от цели.
Если нужно выбрать юнитов в радиусе или в области с конкретным типом, то нужно сделать так.
Не, мне нужно инициализировать эти группы, что бы потом спавнить случайного юнита из группы юнитов
8

» WarCraft 3 / Не работает триггер на создание лесных крипов

PT153:
Ну когда переменную создаешь там начальное значение надо указывать. стандартно ноль
Какой ноль у массива групп? Скрин переменной CreepsGroup, пожалуйста.
У групп нельзя никакое начальное значение задать, там по умолчанию создаётся группа.
Ну да, это я ни туда посмотрел. Типа того сделать для всех групп нужно?
8

» WarCraft 3 / Не работает триггер на создание лесных крипов

PT153:
А группы в массиве CreepsGroup созданы? Нужно либо создавать группы при инициализации, проходясь циклом по массиву, либо в константах указать "размер" массива, и тогда они будут сами созданы.
Ну когда переменную создаешь там начальное значение надо указывать. стандартно ноль
8

» WarCraft 3 / Респавн лесных крипов как в Доке 2

8gabriel8:
Ставь просто два условия, что юнит в области и юнит жив. Либо таким образом можешь выбрать в отряд юнитов в области для проверки, схожим образом оно задаётся для твоего Integer comparsion:
Только таким образом утечка образуется, правильней будет выбирать юнитов в группу, а в конце очищать её или удалять.
Понял спасибо! Буду разбираться с утечками)
8

» WarCraft 3 / Респавн лесных крипов как в Доке 2

MalkiFive:
Не проще ли глянуть как оно в самой доке? ;) xgm.guru/forum/showthread.php?t=4311
да я смотрел, но не нашел честно говоря, наверное плохо смотрел
8

» WarCraft 3 / Мгновенное применение заклинание Канал

quq_CCCP:
Нельзя сменить тип прицела абилки, мгновенных заклинаний которые ничего не сбивают всего 6 на всю игру, юзайте их для основы, это Безумие, Стремительность, все щиты, вроде божесвенного щита или щита маны, все переключатели, жжение демонхантера и еще превратится в сфинкса.
Важно - безумие не складывается со своими клонами и перебивает их.
Ну все эти заклинания не применяются на цель, а мне нужно минимизировать время каста именно на цель
8

» WarCraft 3 / Проблема с дамми заклинанием Канал

Bergi_Bear:
Только что спрашивали вроде, похожее
Но за основу не предметная ли способность взята? у них такое бывает
понял, спасибо
8

» WarCraft 3 / Модернизация триггеров из 5 урока по джазу

prog:
VVelikolepniy,
глобальная переменная - доступна в любом месте
локальная - доступна только в той ФУНКЦИИ в которой объявлена
функция - в рамках jass это самодостаточный фрагмент кода, могущий принимать параметры, содержать локальные переменные и возвращать значение
триггер - конструкция, которая при срабатывании события проверяет условия и вызывает действие если условие выполнено, условия и действия триггера выполнены в виде функций
Я понимаю, то есть мне не получится добавить локальную переменную в триггер из другого триггера, тк локальная переменная типа не может передаваться... Но как мне обойти тогда это? У меня есть мысль что надо вынуть из локальной переменной значение координаты и вписать ее в аргумент функции
8

» WarCraft 3 / Модернизация триггеров из 5 урока по джазу

prog:
VVelikolepniy, просто сформулируй ответы на эти вопросы - я не смогу помочь не разобравшись в том, что именно ты пропустил из основ. А попытки получить доступ к локальной переменной - явно говорят о том что что-то пропущено.
Переменная - занимаемая ячейка памяти с записанными значениями
Глобальная переменная используется в любом количестве триггеров
Локальная - для конкретного триггера
триггер - реакция на событие
функция - алгоритм берущий один результат и выдающий другой
8

» WarCraft 3 / Модернизация триггеров из 5 урока по джазу

prog:
ИМХО, слишком сложный спелл для человека который только учится пользоваться jass.
Но у меня в голове есть алгоритм действий, а реализовать кодом у меня не получается пока.
prog:
ИМХО, слишком сложный спелл для человека который только учится пользоваться jass.
Я просто не понимаю почему я в функцию не могу взять ПЕРЕМЕННУЮ, как мне создать триггер, использующий локальную переменную из другого триггера? засовывать в глобальную переменную массив это костыли, наверняка есть способ это сделать
Начнем с простого - что такое переменная? Что такое глобальная переменная? Что такое локальная переменная? Что такое триггер? Что такое функция? Без понимания этого тебе не продвинуться дальше.
С чего вы решили, что я не понимаю? Мне нудо локальную переменную координаты переместить в функцию, которая использует эту координату для дальнейших действий. И у меня 9999 вызовов такойфункции с разными координатами сделать
Maniac_91:
Лучше использовать координаты вместо точек, чтоб потом утечки не пришлось удалять. Да, так немного сложнее, но лучше. Есть формулы, заменяющие утечные функции (расстояние между точками, например). Их можно найти здесь, на XGM, или спросить в теме вопросов.
А в чем проблема очистки точки командой
set poz=null
Чего не хватает?
8

» WarCraft 3 / Модернизация триггеров из 5 урока по джазу

VVelikolepniy:
prog:
Vitalik8, спешиш - для начала нужно понять зачем ему этот вызов триггера. Так то, если упрощать максимально, то лучше вобще так:
function Firelocini takes location poz returns nothing
	call AddSpecialEffectLocBJ( poz, "Doodads\\Cinematic\\FireRockSmall\\FireRockSmall.mdl" )
endfunction
А еще от BJ избавиться надо бы и удалением спецэффекта озаботиться.
И вобще, если присмотреться к коду, то там какая-то чуш творится с очисткой локального массива, в который никогда ничего не пишется.
Я просто не смог довести эти триггера до идеала в плане переменных и утечек, потому что у меня не работает нифига)
prog:
VVelikolepniy, и зачем тебе создание огня отдельным триггером? Что мешает сдувать огоньки созданные в обычной функции?
Потому что у меня будет 3 разных спелла которые будут по разному вызывать огоньки, мне кажется было бы оптимальнее сделать функцию и просто во всех моих заклинаниях вызывать ее и спокойно работать дальше
А и я еще не сказал я хотел периодическое событие добавить в каждый созданный триггер и если в в какой то радиусе юнит от огня, то на него вешается дебафф, а на дебафф ЕЩЕ отдельный триггер, потому что каждый тик дебафа увеличивает урон. и в теории когда юнит уже горит и заходит в зону огня, у него обнуляется таймер (становится максимальным, скажем 5 секунд) окончания горения и урон продолжает возрастать
prog:
Потому что у меня будет 3 разных спелла которые будут по разному вызывать огоньки, мне кажется было бы оптимальнее сделать функцию и просто во всех моих заклинаниях вызывать ее и спокойно работать дальше
Замечательно, три спела создающих огоньки, но зачем триггер при этом? Что не так с вызовом функции которая просто создает огоньки без вызова триггера?
А если мне делать через массив мне все равно нужно делать периодическое событие на проверку есть ли юниты в зоне огня или нет
Я просто не понимаю почему я в функцию не могу взять ПЕРЕМЕННУЮ, как мне создать триггер, использующий локальную переменную из другого триггера? засовывать в глобальную переменную массив это костыли, наверняка есть способ это сделать
8

» WarCraft 3 / Модернизация триггеров из 5 урока по джазу

prog:
Vitalik8, спешиш - для начала нужно понять зачем ему этот вызов триггера. Так то, если упрощать максимально, то лучше вобще так:
function Firelocini takes location poz returns nothing
	call AddSpecialEffectLocBJ( poz, "Doodads\\Cinematic\\FireRockSmall\\FireRockSmall.mdl" )
endfunction
А еще от BJ избавиться надо бы и удалением спецэффекта озаботиться.
И вобще, если присмотреться к коду, то там какая-то чуш творится с очисткой локального массива, в который никогда ничего не пишется.
Я просто не смог довести эти триггера до идеала в плане переменных и утечек, потому что у меня не работает нифига)
prog:
VVelikolepniy, и зачем тебе создание огня отдельным триггером? Что мешает сдувать огоньки созданные в обычной функции?
Потому что у меня будет 3 разных спелла которые будут по разному вызывать огоньки, мне кажется было бы оптимальнее сделать функцию и просто во всех моих заклинаниях вызывать ее и спокойно работать дальше
8

» WarCraft 3 / Модернизация триггеров из 5 урока по джазу

prog:
А зачем передавать агрумент в триггер экзекут? Я понимаю еще передачу в таймер или триггер эвалуейт для сложных систем, но в экзекут зачем? Тем более, что у автора вопроса триггер без событий и условий - по сути ему более чем достаточно обычной функции.
Ну мне нужновызвать огонь через функцию, что бы это был отдельный триггер, потому что я хочу сделать спелл типа сдувать эти огоньки по конусу( типа двигать). У меня идея была выбрать каждый эффект в зоне и через цикл двигать
8

» WarCraft 3 / Модернизация триггеров из 5 урока по джазу

Vitalik8:
function Trig_Fireloc_Actions takes location poz returns nothing
call AddSpecialEffectLocBJ( poz, "Doodads\\Cinematic\\FireRockSmall\\FireRockSmall.mdl" )
endfunction
так как без мемхака нельзя такое сделать, тут либо создай глобальную переменую либо мемхак, попробуй это
globals
location loc
endglobals
function Firelocini takes location poz returns nothing
set loc = poz
call TriggerExecute( gg_trg_Fireloc )
endfunction
function Trig_Fireloc_Actions takes nothing returns nothing
call AddSpecialEffectLocBJ( loc, "Doodads\\Cinematic\\FireRockSmall\\FireRockSmall.mdl" )
endfunction
а без чего именно нельзя такое сделать? что это за утилита?
8

» WarCraft 3 / Модернизация триггеров из 5 урока по джазу

PT153:
Нельзя создать условие или действие, что требует аргументов.

call Firelocini (location poz)
local l = Location(0., 0.)
call Firelocini (l)
Тогда я могу написать просто
call Firelocini (poz)
но это тоже не работает
8

» WarCraft 3 / Скорость разворота юнита героя

orientInterp
Спасибо, это помогло! в русификации этот параметр называется ПОЛОЖЕНИЕ ВСТАВКИ, и значения можно выбирать от 0 до 8, как я понял там нелинейная зависимость и 0 это самый быстрый разворот, а 4 самый медленный)
8

» WarCraft 3 / Мини триггер для выявления утечек в карте.

Пушистый:
Могу протестировать карту с помощью системы, которая вычисляет кол-во объектов по каждому типу в каждый момент времени.
а что это за система? мне она очень нужна, я щаз делаю нового героя где циклов очень много, мне надо следить за утечками
8

» WarCraft 3 / Скорость разворота юнита героя

DracoL1ch:
движение - положение вставки, 1-5, чем выше, тем быстрее
чето нету у меня такого
Загруженные файлы
8

» WarCraft 3 / Оптимизация кода на создание юнитов для МОБА игры

ScopteRectuS:
Потому что я сначала присваиваю в переменную группу, а потом удаляю то, что я присваивал в эту группу
PT153:
не p player, а player p ))
обьясни плиз что это за цифры constant integer Order_attack = 851983