27

» WarCraft 3 / Upgrade Build

вот эта классная система =))
можно цивилизацию и героев наделать
27

» Мир безумного / WoW теперь и на Windows 7 поддерживает DirectX 12

Komkozavr, на деле не так. давно пересел на 10-ку, также думал как ты. говорите лишь из-за привычек.
не все ли равно ? вов же скучный. новость не о чем
27

» WarCraft 3 / Юнит цель стандартной телепортации

pusha1999, вот карта там телепорт, ищет ратушу. выглядит красиво, жалко не пригодилось. можно слегка переделать
так а как ближнего найти то?))
у тебя должна быть переменная с типом "реальное число" и циклом перебирай всех
код
set d = расстояние между точкой и выбранным юнитом
set Dmin = d <= эта переменная запоминалка, с чем сравнивать будешь. при старте не забывай записывать новое значение. Если тебе надо было макс число найти (короч наоборот), то переменную Dmax = 0 надо нулить
**for group, цикл (перебирает каждого юнита в группе):**
set d = расстояние между точкой и выбранным юнитом
if Dmin > d then
	set Dmin = d
endif
конец циклу
есть еще наработка там при автопродаже ищет ближний магазин. а при подборе ищет ближайщие итемы. вся суть в этом в наработке
еще здесь само начало, когда еще нубом был. на гуи
27

» WarCraft 3 / Приказ

возможно, но зависит от того что хотите сделать
27

» WarCraft 3 / Опыт за убийство юнитов башней или каким-либо другим зданием

Bergi_Bear:
  • событие: юнит умирает
  • условие: тип умирающего юнита = здание
  • действие: герой добавить опыт число
или в игровых константах указать: здания дают опыт - да
попробуй в триггерах изменить условие
условие: тип умирающего юнита = ..... <= указываешь типы здании
там можно указать так, вместо умирающего юнита (trigger unit) ставим убивающего юнита (killing unit). Наверн опечатка, убийца башня, а опыт начисляют герою по задумке
27

» Администрация XGM / А какой у вас размер футболки?

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

» WarCraft 3 / Перенос предметов новому юниту.

Принятый ответ
Oleg78, должен ты передать шмотки через триггер. Запоминаем какие итемы выпали и в каком слоте инвентаря лежали, прячем их. При призыве передаем обратно. это легко делается циклом.

проще можно создать героя двойника, который никогда и не исчезает с игры. у него всегда будут с собой те предметы, которые ты ему дал. в момент исчезновения прячем юнита, передаем под управление другого игрока.
27

» WarCraft 3 / Юнит, поворачивающий по дуге

NazarPunk,
как попасть в эту точку?
отдать приказ в эту точку
просто
Загруженные файлы
27

» WarCraft 3 / Юнит, поворачивающий по дуге

у Hate вроде же есть система. попросите у него (но автор вряд ли это сможет)
Можно хитрить и тамером корректировать движение юнита, но тогда он может тупо упереться в берег и остаться там.
тоже можно заранее просчитать путь весь с проверками
27

» WarCraft 3 / Юнит, поворачивающий по дуге

NazarPunk, ну не знал. не подумал об этом. ну надо проверить есть ли они. циклом проверяешь опирается ли дуга в препятствие. Если да, мб стоит по-другому кораблю движение обрисовать (высоту дуги выше или ниже брать, и снова циклом проверить. возможно тут будут свои рамки (пределы высоты). если препятствие все равно лишает перемещению, возможно стоит дать приказ стоп и выдать сообщение. или ...?).
Я не знаю, а как настоящие корабли в таких ситуациях поступали, на мель точно не посадили бы (тут игра, не знаю что автору надо). наверн веслами дали назад
твои варианты какие? ну или летающим сделать
27

» WarCraft 3 / Юнит, поворачивающий по дуге

ну тут сложностей больше чем обычно. Надо подумать, надо ли лишать юнита возможность самостоятельного передвижения.
Если вы не хотите лишать движения, придется как-то ловить приказы (какие игрок отдает приказы, запоминать). Думаю, что тогда нужно таймером двигать как-то кораблик по дуге, и одновременно изменяя угол поворота. пример проще двигать таймером. есть формула в базе хгм, у NazarPunk видел и др. тут еще надо рассчитать скорость угла поворота (не тек угол дуги, а угол юнита)
Как-то делал систему отлова приказов. Она делала кучу проверок: отдавал ли игрок левый (не нужный) приказ юниту или нет. Если игрок выдергивал юнита, то система выключалась пример это мб пригодиться, если во время искусственного движения таймером выдернет, то таймер прервется. но тебе нужно самому такую же сделать
Еще мб пригодится это ну для проверки попала точка в конус или нет
Загруженные файлы
27

» WarCraft 3 / стандартный ИИ альянса, нежити и т.п.

кто то из народных умельцев расписывал каждую нативку из ИИ. я пока это не изучал помог бы. так немножко что то знаю. там вроде знать то ничего не нужно
27

» WarCraft 3 / Невидимая молния, баг молниии..

NazarPunk, нет. я стока в жизни не настрою. терпения не хватит. мне уже на 200 уже надоедать начинает. 200 - это огромная площадка. также от местности еще зависит. Раб бегает, и часто круги наматывает. Поэтому макс 200 не пробовал
27

» WarCraft 3 / Невидимая молния, баг молниии..

у меня проблема не исчезла с молниями. и дело точно не в лимите (все равно дебаг координаты всегда верно показывал и до оптимизации с экзекуте). чтобы добиться бага, мне приходиться очень долго тыкать и строить.
Заметил во что: Если начать заново строить новую линейку молнии, то перезаписываются эти переменные. И в результате у меня случается багаюз. Если заново записать в udg_lightning[a] новую молнию, по каким-то причинам не всегда отображается молния (то ли не создана, либо эффект не успел показать). Это заметил вчера. Но мне долго это не помогало, и не хера не понимал что такое. только сейчас попробовал с хэндлом повозиться (когда удаляешь молнию, также обнулять глобальную переменную. я глобалку никогда не обнуляю)
call DestroyLightning(udg_lightning[a])
set udg_lightning[a] = null
теперь нормально работает. бага не замечаю. Тыкаюсь довольно долго. Не факт, что полностью искоренил свои баги с молниями
если строчку set udg_lightning[a] = null стереть, баг обратно возвращается
27

» WarCraft 3 / Невидимая молния, баг молниии..

8gabriel8, этот трабл его уже давно доработал. присутствует карта выше
8gabriel8, да все-таки ты прав лимит операции. у меня просто кучу операции не только с молниями. Но и с проверками всякими. Пришлось экзекутеры юзать call ExecuteFunc("Trig_triigger_B") Пока работает, но в прошлый раз не работало через экзекуте.
Нет, все-таки мне это ExecuteFunc не помогает. Это позволяет делать намного больше молнии. на 74 точки. Это 34 молнии, но одна пропала.
Нее все равно не помогает ExecuteFunc. В самом начале тоже 1 молния пропадает

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

» WarCraft 3 / Отследить кое-что

Принятый ответ
событие - юнит умирает.
условие - юнит является зданием (самая первая проверка в boolean)

далее уже много вариантов
пикаешь всех на карте, и проверяешь сколько живых здании осталось у владельца.
27

» WarCraft 3 / Невидимая молния, баг молниии..

8gabriel8, ну ладно алгоритм. щас не это. просто почему-то молнии местами пропадают. в чем интересно дело? даже если точки то найдены. у меня 18 точек, это 9 молнии, а в итоге 2 молнии пропадает.
идея мб такая: сначала все точки, сохранить их все. Потом показать молнии. пробую. Или в slk молнии порыться что там у них
27

» WarCraft 3 / Невидимая молния, баг молниии..

вот пример-карта <= вот карта. для примера стройте шатер. попробуйте поиграться с молниями. триггер triigger
PT153, вот скинул пример
Загруженные файлы
27

» WarCraft 3 / Невидимая молния, баг молниии..

Bergi_Bear, если честно. я не знаю. Про молнии мало информации, пока что не пробовал затыкаться (тк не готов код. Очень сложный. Пока что не знаю. С этими линиями, с вечными проверками: лежат ли точки/принадлежат территория, соединяются). Но нас объединяет похожая проблема.
на практике у меня, если юзается слишком много молнии. То одна из них может пропадать (но существует в игре). А это печально, портит. Надо попробовать, мб видекарта или что хз
27

» WarCraft 3 / Невидимая молния, баг молниии..

да баг какой-то. даже я ничего не могу поделать.
вот <= тоже было. либо лимит операции, либо что-то другое. бывает одна молния пропадает.
думаю мб изменить молнию на адекватную. Взять к примеру у Hate ровные лазерные (мне не надо кривые).
27

» WarCraft 3 / Я хочу сделать дом в который можно войти

Принятый ответ
это кучу систем =) это можно сделать и на гуи.
система домика
  1. ваш домик должен состоять из несколько частей: крыша и стены. Короче это два ваших юнита (крыша и стены). Для начала вам нужно уметь моделировать или попросить модельщика. Можно просто модель готового домика взять (например ферма) и разделить на две части. Трудного ничего нет.
Еще забыл сказать про полы, но это всегда не важная часть. Но пол наверное можно поднять, но поднимать удобнее, если играешь один. А то второй игрок заходит, а пола нет. Для мультиплеера лучше статичный пол
  1. Берем эти модели и даем их двум зданиям, из которых сделаны эти модели. У крыши и стен убираем карту путей, тип движения ставим "нет". Это влияет на движение, просто просто если это не убрать, то юниты упираются в преграду или не могут ставится друг на друга. вот здесь про проходимость и карту путей прочесть можно Только 1 юниту можно перерисовать карту путей (ты смотрел ссылку выше? ладно => xgm.guru/p/wc3/pathing-alternate). Можно снаружи поставить стенки, внутри пустошь. Обычно рисуют прямоугольниками и квадратиками и извнутри тоже все зарисовано, и внутрь юнит никогда не можешь зайти, тк упирается в преграду. Только воздух норм ходит. А если перерисовать так, чтоб были стены и проход внутрь.
  2. есть крыша и стены. когда юнит входит внутрь, то крышу можно делать прозрачной. Короче юнита прозрачным делаем. Можно через гетлокалплеер. Но для этого нужно зарегистрировать, как-то проверить что юнит входит в область
  3. прямоугольником (областью) участок земли должен зарегистрирован в область. Есть даже событие. Правда там область пихают в регион, и на регион вешают событие входа/выхода. Когда юнит входит, крышу делаем прозрачной, и видим что делает там юнит. Когда выходит, прозрачность возвращаем.
Если дом имеет больше 1 этажа, придется делать стены выше, полы 2 этажа.
Есть летающие юниты, которые могут подниматься над декорацией. Это тоже можно использовать. Например движение по лестнице на второй этаж и так далее
Вроде эту систему можно посмотреть тут <= в этой системе юнит может по бочками прыгать и подниматься выше по ним. Можно сделать лестницу какую нибудь. Все зависит от модели, если лестница имеет платформу по наклонной, то и юнит будет лететь по наклонной. Все что надо это тип движения поменять. А меняем через морф
теперь нужно чтобы этот домик можно было разрушить: это проще простого. домик состоит из двух частей: стен и крыши. Короче два здания. По идее крыша это просто декор, и делаем ее неуязвимой. Страдают только стены. По идее юнит должен бить по стенам. Как извнутри не знаю, но должен бить по стенам также. Еще чтобы крыша горела вместе с стенами, то можно вместе с стенами хп отнимать.
Вообще на это влияют пустышки горения см. раздел пустышки
27

» WarCraft 3 / Благословение Элуны

PT153, да знаю. про это и писал. просто по факту она изначально включена, но эта фишка не работает в 1.26. В этом то и баг. И чтобы заработало надо выкл галочку, и затем заново вкл. И тогда у вас заработает. А версиях повыше видно исправили это.