XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Барахолка
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Kel_TuZaD

offline
Опыт: 1,630
Активность:
Создание нестандартной грозы
Идея этой наработки появилась случайно . Даная наработка создана для того чтобы рельефщики смогли более реалистично создать атмосферу грозы. Суть в том чтобы создать эффект грома и молнии так как можно создать молнию на простых триггерах это выглядело бы не так красиво как мы сейчас сделаем. Помните спел Зевса из ДОТЫ? (для тех кто не играл эффект молнии не такой как в РО а сделан он с помощью дамми каста) я сделал приблизительно тоже самое :
1. Воспроизводиться звук
2. В рандомный промежуток времени в рандомном месте создаются 2 дамми юнита и один кастит на другого Chainlightning .
В результате мы получаем более красивый эффект молний что создает хорошее впечатление и украшает погодный эффект .
Также эту наработку легко импортировать т.к не использует глобальных переменных и состоит из 1 триггера .Доп. информация,инструкция по установке в семпле

Отредактировано Кет, 10.06.2007 в 14:19.
Старый 07.06.2007, 18:59
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
По оптимизации:
1) PlaySoundAtPointBJ(...) - утечка, точку не удалил
2) Локалки обнулять не обязательно (target, caster).

Так-то прикольно, но ничего сверхестественного в этом, имхо, нед. На "наработку" не тянет.
Старый 07.06.2007, 19:38
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
Цитата:
По оптимизации:
хех, да и GetLocationX(GetRandomLocInRect(GetPlayableMapRect())), видимо попытка избежать утечки ее всеже создает, все достигается рандомным числом от минимума playable map арены до максимума... Вопрос не в этом, это все настройки игрока, игрок под свою руку оптимизирует..

FellGuard добавил:
вообще идея с реализацией мне понравились, поработать бы автору еще над lightning.slk и можно на пьедестал
Старый 07.06.2007, 19:48
J
expert
offline
Опыт: 48,447
Активность:
Kel_TuZaD в такой грозе плохо то что эта молния будт всегда стоять перед моделями... и если она ударить позади здания, будет видно что она ударит спереди...
Старый 07.06.2007, 19:57
Kel_TuZaD

offline
Опыт: 1,630
Активность:
А как мне утечку исправить ? Пробовал KillSoundWhenDone тода звук не играет :( .
FellGuard а на счет lightning.slk доработаю .
Старый 07.06.2007, 20:04
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
просто юзай RemoveLocation(location) после проигрывания 3д звука
Старый 07.06.2007, 20:11
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
Kel_TuZaD
Сначала создай точку, по требуемым координатам, а потом её удаляй.
Код:
local location p = Location(x,y)  //координаты
...
call PlaySoundAtPointBJ(.. , p, ...)  //проигрывание музыки на точке
...
call RemoveLocation(p)  //удаление точки
Старый 07.06.2007, 20:22
Kel_TuZaD

offline
Опыт: 1,630
Активность:
Сейчас я работаю над большей реалистичностью к примеру cделал что при попадание в воду молния демажит всех в определенном радиусе также хочу сделать чтобы она поджигала деревья не подскажите как? + хочу сделать такой прикол чтобы молния не доставала до земли (шанс к примеру 1 к 3 ) просто повысив высоту таргета на рандомное число (300-600) не всегда же молния в землю бьет :D. Ну конечно жду критики предложений и.т.д .
DFlyer ща исправлю утечку пасиба что памог.

Kel_TuZaD добавил:
Внимание Новая Версия!!!
Changelog :
1 Исправлена Утечка памяти
2 Добавлена Фун-я удара по воде (Если молния ударит в воду то продемажит всех юнитов в опр. радиусе) регионов и.т.д не надо!
3 Теперь молния может и не достать до земли (рандом 1,3)
Хотелось бы поблагодарить FellGuarda Jon'a & DFlyer за критику и помощь что помогло в создание новой версии.

Отредактировано Кет, 10.06.2007 в 14:19.
Старый 08.06.2007, 10:40
Кет

offline
Опыт: 111,109
Активность:
Kel_TuZaD, ну как. Ловишь точку, куда попала молния. Если в радиусе N от неё деревья - добавить на них спецеффект Огонь... и через некоторое время ремувишь его.
Старый 08.06.2007, 13:11
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
Kel_TuZaD
Когда сделаешь с деревьями, скачаю исчо раз и посмотрю.
Старый 08.06.2007, 14:04
Kel_TuZaD

offline
Опыт: 1,630
Активность:
Версия 0.2
Changelog
1 Добавлена Фун-я поджога деревьев (Если молния ударит в дерево то на этом месте создасться эффект огня)
2 Заменен эффект молний (с цепной молнии на разветвленная молнию) ,так вроде баче
Хотелось бы поблагодарить Ket'a за предложанный способ решения фун-ий поджога деревьев.

Если есть предложения по улучшению то пожалуйста сюда реализуем.
Старый 08.06.2007, 14:44
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
Если взялся делать разветвленную молнию, то лучше уж делать одну непорямой. Тоесть, несколько юнитов один за другим один ниже другого, с маленьким диапазоном погрешностей по Z и X Y. Получицца добропорядочная кривая молния, а не изломаная линейка с текстурой
Старый 08.06.2007, 14:53
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
в этом посте буду писать поправки
Код:
if ( ( not ( IsTerrainPathableBJ(l, PATHING_TYPE_FLOATABILITY) == true ) ) ) then
заменить на
Код:
if ( IsTerrainPathableBJ(l, PATHING_TYPE_FLOATABILITY) == false )  then
или
Код:
if not ( IsTerrainPathableBJ(l, PATHING_TYPE_FLOATABILITY)) then
кстати неплохо бы отфильтровать юнитов которые находятся в воде от тех что наберегу
Код:
local real x = GetRandomReal(GetRectMinX(bj_mapInitialPlayableArea), GetRectMaxX(bj_mapInitialPlayableArea))
то же и с Y
В коде толком не разобралсо, чорт ногу сломед, честно :) Еще надо что-то сделать с уроном - ошибка в том, что приходит сообщение о том что на нас напали, когда войска получают молнию

Отредактировано FellGuard, 08.06.2007 в 16:25.
Старый 08.06.2007, 15:02
Kel_TuZaD

offline
Опыт: 1,630
Активность:
ну с ошибкои хз че делать а остальное будет поправлено .
Старый 08.06.2007, 15:19
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
с ошибкой так - предлагаю выбирать группу в радиусе с условием, что выбранные в воде, и пусть наносят урон молнией сами себе. в самом деле - стоять в грозу вводе сильно похоже на самоубийство - вот пусть и самоубиваются. Заодно получится фильтр для тех кто на суше.
Старый 08.06.2007, 15:25
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
Код:
//выше ф-ии с действиями триггера
function AliveFilter takes nothing returns boolean
    return GetDestructableLife(GetFilterDestructable()) > 0
endfunction

function DestructNum takes nothing returns nothing
    set udg_dest = udg_dest + 1
endfunction
//=================================================================
...
local rect r = RectFromCenterSizeBJ(l,200,200)
local filterfunc myFilter = Filter(function AliveFilter)
...
call EnumDestructablesInRect(r, myFilter, function DestructNum)
if udg_dest > 0 then
set fx=AddSpecialEffectLoc("Environment\\LargeBuildingFire\\LargeBuildingFire1.mdl",l  )
call TriggerSleepAction( 10.00 )
call DestroyEffect (fx) 
endif
...
set udg_dest = 0
call DestroyFilter(myFilter)
call RemoveRect(r)
ты когда пикаешь рандомный дестрактибл, во первых, вызываеш утечку в виде области, которую отрисовываешь из точки с размером, во вторых сама ф-ия с пиком рандомного дестрактибла который должен быть равен живому вообще делает черти-что, вот смотри код. Наверное лукчше так, правда нужно создавать глобальную переменную-integer (индексатор)
Старый 08.06.2007, 16:26
Кет

offline
Опыт: 111,109
Активность:
Ты бы в ридми не чейнджлог писал лучше, а как её применять и переносить.
Огонь очень маленький, почти незаметен... лучше используй модель "Огонь" из раздела "Декорации".

Отредактировано Кет, 10.06.2007 в 14:40.
Старый 10.06.2007, 14:23
Kel_TuZaD

offline
Опыт: 1,630
Активность:
NP все сделаю старое удалю

Kel_TuZaD добавил:
Вот последовав советам Keтa в Readme написал инструкций по импорту и заменил модель огня.

---
Добавлена на сайт.
+245 опыта.
Прикрепленные файлы
Тип файла: w3x Narabotka Grozovogo Effecta v.07.w3x (25.2 Кбайт, 248 просмотров )

Отредактировано Кет, 11.06.2007 в 00:44.
Старый 10.06.2007, 20:15
Прэтор
грядут изменения
offline
Опыт: 12,645
Активность:
Kel_TuZaD
еще хорошо было бы чтоб значительный урон в небольшом радиусе наносился юнитам на суше которые попали под молнию
зы сам хотел к своему проэкту сделать такую систему...
Старый 11.06.2007, 14:05
Magnius
Меня здесь нет.
offline
Опыт: 1,279
Активность:
А то что молния, ударив в воду, бьет здания, которые находятся рядом с водой, это нормально???
Старый 11.06.2007, 14:44
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 14:45.