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

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

 
Parovar

offline
Опыт: 448
Активность:
Система стрельбы
Всем привет. Как то давно занимался маппингом для вц3 и вот решил попробовать себя в ск2. Какието основы помню а где-то разобраться смогу. Но уверен почти на 100% что не смогу сделать сам систему стрельбы на которой собственно и будет основывается моя карта и хочу спросить у вас как это сделать и возможно ли это. Просто если нет то даже мучатся с редактором. Итак суть:
Мы имеем марика героя. У него пушка с дальностью стрельбы 10. За 1 цикл атаки делается 3 выстрела. каждый наносит 10 урона. (это я всё сделал)
что мне нужно:
Чтобы на растоянии 10 марик попадал в цель с вероятностью допустим 60% и наносил 8 урона
на растоянии 9 = 65% тоже 8 урона
на растоянии 8 = 70 но уже 9 если попадёт итд. и чтобы эти вероятности просчитывались для кажно выстрела а не цикла атаки в целом. И очень желательно сделать это не триггерно т.к это будет ужас сколько раз этот триггер будет вызыватся.
Также у марика будет атрибут (это сделать смогу) Точность который будет повышать эти вероятности (а вот это уже нет).
Всё упирается в это. Если сможем сделать то буду делать карту. Если нет то нет. Всем спасибо
Parovar добавил:
ах да и ещё. Можно както старику обьяснить что когда юнита с щитами дамажат. чтобы щиты не снимались а снимались сразу ХП. это мне нужно для того чтобы у юнита было 3 отдельных показателя.
ХП = ХП спс кэп =)
Мана = Мана. (в моём случае это будет боезапас)
а Щиты я хочу использовать как = Енергию\выносливость. Для пробежек или прыжков например.
возможно есть какойто другой способ

Отредактировано Parovar, 17.09.2012 в 14:49.
Старый 17.09.2012, 14:32
соколикс

offline
Опыт: 1,932
Активность:
(обходной путь) в качестве хп использовать щиты а хп использовать как выносливость
Старый 17.09.2012, 14:56
Parovar

offline
Опыт: 448
Активность:
соколикс, по моему не вариант.во 1-х запутаешься а во 2-х еденица умирать будет когда будет заканчиватся "выносливость"
И мне ещё поколдовать с настройками слизи. Нада её сделать кроваво красной (кровь) и потом этой слизью я залью улицы города :devil: и нужно сделать так чтобы не зерги бегали по ней с +30%MS
а все бегали по ней -25%MS кроме зергов =)
Старый 17.09.2012, 15:26
inoto
я буду крутым!
offline
Опыт: 6,891
Активность:
Цитата:
Сообщение от Parovar
ах да и ещё. Можно както старику обьяснить что когда юнита с щитами дамажат. чтобы щиты не снимались а снимались сразу ХП. это мне нужно для того чтобы у юнита было 3 отдельных показателя.
ХП = ХП спс кэп =)
Мана = Мана. (в моём случае это будет боезапас)
а Щиты я хочу использовать как = Енергию\выносливость. Для пробежек или прыжков например.

такое есть, называется что-то типа "игнорировать щиты" где-то в эффектах урона. настраиваешь сие для всех вражеских орудий и вуаля

inoto добавил:
Цитата:
Сообщение от Parovar
чтобы эти вероятности просчитывались для кажно выстрела а не цикла атаки в целом

если под циклом ты имеешь ввиду взятую за основу атаку баньши, то твоё хотение врятли возможно.
Старый 17.09.2012, 16:38
Parovar

offline
Опыт: 448
Активность:
inoto:
Цитата:




Сообщение от Parovar
ах да и ещё. Можно както старику обьяснить что когда юнита с щитами дамажат. чтобы щиты не снимались а снимались сразу ХП. это мне нужно для того чтобы у юнита было 3 отдельных показателя.
ХП = ХП спс кэп =)
Мана = Мана. (в моём случае это будет боезапас)
а Щиты я хочу использовать как = Енергию\выносливость. Для пробежек или прыжков например.



такое есть, называется что-то типа "игнорировать щиты" где-то в эффектах урона. настраиваешь сие для всех вражеских орудий и вуаля
Спасибо что отправил в нужном направлении. Буду бродить =)
inoto добавил:
Цитата:
Сообщение от Parovar
чтобы эти вероятности просчитывались для кажно выстрела а не цикла атаки в целом
если под циклом ты имеешь ввиду взятую за основу атаку баньши, то твоё хотение врятли возможно.
Да именно такое я имел в виду. Ну а хотябы для цикла самого както сделать эти вероятности динамичными в зависимости от дальности до цели.
У эффекта урона есть поле Вероятность со Значенимем 1. Может как-то это поле триггерно менять?я вот только не знаю как. Сделать задержку перед атакой в 0.1 сек и отлавливать событие триггерно и задавать эту вероятность с помощью какойто формулы... Но хотелось конешно сделать это не триггерно. Думаю это всётаки возможно
Старый 17.09.2012, 17:33
Харгард
Epic
offline
Опыт: 7,829
Активность:
Чтобы выбрать одну из сработавших эффектов урона (в зависимости от расстояния) тебе нужно:
  1. Создать несколько эффектов, наносящих урон, в зависимости от расстояния до цели.
  2. Создать для каждого из них валидатор, вычисляющий расстояние между кастером и целью. Тип валидатора "Проверка положения: расстояние"
  3. Создать эффект типа "Set" ("Набор" ) и поместить в него все эффекты наносящие урон. Если у каждого из них будет свой валидатор, то при каждом использовании способности будет наноситься лишь один дамажащий эффект.
Вероятность попадания эффекта делается при помощи поля Chanсe. Значение 0 = шанс срабатывания нулевой, значение 1 = шанс 100%. Тебе надо например 0,6.
Чтобы урон не уходил в щиты, нужно включить каждом дамажащем эффекте, флаг "No Absorb Shields" ("Поглощение урона невозможно")
Старый 17.09.2012, 19:32
Parovar

offline
Опыт: 448
Активность:
Харгард, Большое спасибо, крутой чувак =) . Всё получается кроме одного НО
НЕ могу выставить в валидаторах диапазон для конкретного Рэнжа.
напримере
сделал 2 эффекта:
для расстояния 9-10. вероятность пока наприммер 100 и дамаж например 10 и к нему валидатор рэнджа. 9 оператор Больше или равно. захожу в игру - чекаю - ура. на растоянии от 9 до 10 всё работает круто.
2-й эффект. для растояния 8-9. вероятность тоже пока например 100 и дамаж например 5. к нему кроме как валидатора больше или равно 8 не смог придумать.
в итоге получается что на расстоянии 9-10 работает всё нормально а на расстоянии 8-9 эффекты стакаются и наностится 15 урона вместо 5. чот пока недопедрил как это решить. Нада както валидатору диапазон именно задать
Parovar добавил:
Или редактору нада както обьяснить что из набора может только 1 эффект сработать за раз.
например цель на растоянии 2.5
т.е он чекает 1-й эффект. расстояние 0-1 не удовлетворяет валидатор идём дальше
т.е он чекает 2-й эффект. расстояние 1-2 не удовлетворяет валидатор идём дальше
т.е он чекает 3-й эффект. расстояние 2-3 удовлетворяет валидатор Срабатывает этот эффект, НЕ идём дальше
Старый 17.09.2012, 21:13
Харгард
Epic
offline
Опыт: 7,829
Активность:
Проверяй логические выражения в валидаторах.
Если срабатывают несколько эффектов урона, значит все их валидаторы верны.
Чего быть не должно.
Старый 17.09.2012, 22:13
Parovar

offline
Опыт: 448
Активность:
Харгард, огромное спасибо что подсказал как эту систему сделать без триггеров ещё раз НО я нифига не понял твой последний пост. Можно немного разжевать?
Parovar добавил:
Точнее я немного понял про что ты. Ты сказал что небо голубое. Я именно и излагаю проблему то что всё бы было ок если в валидаторах можно было бы задать ДИАПАЗОН РЭНЖА. Но я не могу этого сделать изза ОПЕРАТОРОВ типа
больше
меньше
больше или равно
меньше или равно
равно
если я делаю больше или равно 9 (рэнж) то на дистанции 9-10 всё работает как надо
а следущему валидатору что задавать? если задать больше или равно 8 то на дистанции 8-9 работать всё норм будет а на 9-10 эффекты стэкнутся. как быть?
Старый 18.09.2012, 00:09
Харгард
Epic
offline
Опыт: 7,829
Активность:
Очень просто.
Валидаторы, как и эффекты, можно засовывать в наборы (Set).
Да, придется делать немного больше работы, но зато алгоритм будет работать как часы.
Так для одного эффекта создаешь 3 валидатора:
  1. Валидатор А. Расстояние больше или равно 9
  2. Валидатор Б. Расстояние меньше 10
  3. Создаешь валидатор В. Его тип - Набор (Set). В нем во первых, можно указать, как будут группироваться элементы - "и" или "или". Если "и", то этот валидатор-набор будет верен лишь когда все входящие в него элементы будут верны. А если установлен "или", то валидатор будет истинен, когда истинен один из входящих в него элементов.

Отредактировано Харгард, 18.09.2012 в 12:55.
Старый 18.09.2012, 12:22
Parovar

offline
Опыт: 448
Активность:
Харгард, Снимаю перед вами шляпу. Всё получилось и без триггеров. Нада немного привыкнуть к этой МОДУЛЬНОСТИ РО и уже самому будет не сложно импровизировать. Самое интересное что получилось рассчитывать вероятности для каждой пули так скажем отдельно, Привет Еноту =)
Ещё бы придумать както алгоритм который будет повышать эти вероятности. У марика будет одна из характеристик - точность. вот чтобы она повышала эти вероятности.
Старый 18.09.2012, 15:55
inoto
я буду крутым!
offline
Опыт: 6,891
Активность:
Parovar, ну я говорил что врятли, оказалось можно. Просто я ещё не копал в этом направлении.
Прошу прощения за конфуз.
Старый 18.09.2012, 16:28
Parovar

offline
Опыт: 448
Активность:
inoto, Да ничо страшного =) я просто так... Подначить тебя немножко. Я всё прекрасно понимаю. Редактор конешно изучать непереизучать. А чо в ВЦ4 будет... мммм. Если доживём конешно
Старый 18.09.2012, 16:43
Parovar

offline
Опыт: 448
Активность:
Так никто и не придумал как сделать атрибут Точность? Точнее как повышать вероятности на разных дистанциях у эффекта дамажа атрибутом?
Старый 21.09.2012, 16:58
Харгард
Epic
offline
Опыт: 7,829
Активность:
Тут я помочь бессилен: в моей карте их попросту нет, поэтому я с ними не работал.
В ней есть нечто подобное, но имеет лишь два уровня градации - попадание / промах.
Реализовано просто - каждый эффект, наносящий урон, имеет валидатор, проверяющий, что на кастере нет дебафа "Ослеплен" / "Проклят".
Соответственно, если он есть, урон цели не наносится.
Старый 22.09.2012, 08:38

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

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

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

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



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