Вот я хочу на карте у себя добавить такие стихии как Вода, Огонь, Ветер, Земля, Молния, Лёд, Яд, Звук. Но звук мне не столь важно добавить. Это я так просто написал если вдруг возможно. Вообщем мне нужны вот такие категории по стихиям. Приведу пример. Вот все знают очень старую игру Диабло 1 Hellfire и Диабло 2 Lord of Destraction ито в этих очень старых играх есть такие различия как Огонь, молния, Яд и холод а вот в вакрафте почему-то по стандарту нету. Но я очень давно играл 1 раз карту на которой были вот такие различители по Огню, Льду, молнии, яду и т.д и были предметы дающие защиту от определённой стихии. Прямо как в диабло. Но я потерял эту карту, да и я уверен что она закрыта поэтому я-бы всеравно не смог посмотреть как там устроено. И вот прошу всех на XGM кто знает как сделать эти так сказать стихии и предметы к ним которые защищают от определённой стихии напишите пожалуйста подробно. Вот мой Скайп для Связи: Menetul и ID в Гарене: 220967012 если нужно. Вот мне очень необходимо создать эти стихии: Огонь, Вода, Ветер, Земля, Молния, Лёд, Яд а ещё категорию оглушение добавить что-бы можно было добывать на карте предметы защищающие от оглушения ибо поставить категорию техника это будет защита от многой другой магии что не очень-то справедливо.

Graf_Men9999, всё куда проще. Можно просто всё хранить в массиве, или структуре. с наименованиями Fire, Earth, Water и т.д. можно наносить урон костылём методом ссылок
Допустим у нас есть функция костыль Damage( id1, id2, dmg, Type )
И массив данных от игрока или массив со стеком на все войска...
Так же можно отлавливать урон через EventDamage, если воин который наносит уроном, и его атака относиться к стихии.
Где пример:
real array Fire
constant integer FIRE = 0x0
Примерно внутри костыля Damage()
//
	if Type = FIRE then
		call UnitDamageTarget( Unit[id1], Unit[id2], dmg - (dmg * Fire[id2], true, true, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNKNOWN, null)
	endif
//
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
13
Там запилена своя система, триггерная очевидно.
Самый простой способ - это отлавливать когда герой использует, допустим, способность "ледяная волна" и увеличивать урон от этой волны на основе бонуса льда. Например, если у героя есть Ледяной меч, то добавить A урона, если есть помимо него еще и ледяное копье, добавить A+B урона.
При этом все способности должны быть не стандартными, естественно.
20
В игровых константа есть значения урона по разным видам защит. Измени как тебе удобно, а потом в игровом интерфейсе Измени описание название, иконку. Как я это сделал на своей карте.
Или ты другое хотел?
Просто не совсем понял чё ты хочешь
10
NekoriDes:
Там запилена своя система, триггерная очевидно.
Самый простой способ - это отлавливать когда герой использует, допустим, способность "ледяная волна" и увеличивать урон от этой волны на основе бонуса льда. Например, если у героя есть Ледяной меч, то добавить A урона, если есть помимо него еще и ледяное копье, добавить A+B урона.
При этом все способности должны быть не стандартными, естественно.
Нет-нет вообще не то. Причём ледяной меч и увеличение урона? Мне нужны Стихии. Я просто не могу нужное слово подобрать. Вобщем вот представь есть Классификация Лёд и есть предмет например Мантия Огня который на 100% защищает от Класификации Лёд,причём только от льда, а по стандарту там лёд, яд и другое всё оно в класификации замедление а мне нужно сделать так, что-бы Лёд был собственой стихией и значит какой-то предмет давал защиту только от холода но другие замедления действовали. Вот что мне нужно. Сыграй игру Диабло 2 Lord of Destraction там открой характеристики персонажа и увидишь будет написанно: Защита От Огня, ОТ льда, От яда и от молнии. Вот мне нужны такие штуковины
13
Артес Менетил, я тебя понял и это был пример. Я привел с атакой, ты приводишь с защитой - суть одна, вроде бы.
В любом случае - тебе придется писать систему, варик такое не позволяет.
При этом любое твое замедление, вероятно, должно быть нестандартным.
10
KaneThaumaturge:
В игровых константа есть значения урона по разным видам защит. Измени как тебе удобно, а потом в игровом интерфейсе Измени описание название, иконку. Как я это сделал на своей карте.
Или ты другое хотел?
Просто не совсем понял чё ты хочешь
ммм нет. Я хочу создать классфикиации самостоятельный от которых будут предметы которе дают защиту. Например защита только от огня или только от льда. Открой в игре Диабло 2 Lord of Destraction данные персонажа и увидишь у него будет написанно сколько защиты от этих воздействий и купи шмотку которая даёт например +10 защиту от огня и у него повыситься имунитет к огню на 10 едениц. И вот тоже самое в вакрарфте мне надо. Только лучше так. 100 едениц защиты от огня например Это будет полная неузявимость к огню
NekoriDes:
Артес Менетил, я тебя понял и это был пример. Я привел с атакой, ты приводишь с защитой - суть одна, вроде бы.
В любом случае - тебе придется писать систему, варик такое не позволяет.
При этом любое твое замедление, вероятно, должно быть нестандартным.
тоесть это надо на Джасе писать да?
6
Эта система реализована при помощи отлова урона, и на каждый урон, свой дамми, например, тип урона = лёд, наносим даммиком который будет обозначать лёд, и когда наносим урон, юнит получает повреждение, и тд... сравниваем кто нанес, куда нанес, если у цели есть какой нить предмет, например огненный плащ, то отдадим ему хп в размере (полученный урон-(полученный урон*0.45)), правда хз как оно будет выглядеть на деле...
29
Graf_Men9999, всё куда проще. Можно просто всё хранить в массиве, или структуре. с наименованиями Fire, Earth, Water и т.д. можно наносить урон костылём методом ссылок
Допустим у нас есть функция костыль Damage( id1, id2, dmg, Type )
И массив данных от игрока или массив со стеком на все войска...
Так же можно отлавливать урон через EventDamage, если воин который наносит уроном, и его атака относиться к стихии.
Где пример:
real array Fire
constant integer FIRE = 0x0
Примерно внутри костыля Damage()
//
	if Type = FIRE then
		call UnitDamageTarget( Unit[id1], Unit[id2], dmg - (dmg * Fire[id2], true, true, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNKNOWN, null)
	endif
//
Принятый ответ
13
Примерно внутри костыля Damage()
То, что и пытался объяснить.
Тащемта такое и на гуи можно сделать, если тебе (тсу) на jass тяжело.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.