Добавлен Alexey35,
не публикуется
Долгое время я искал хорошо рабочий респаун крипов с тонкой настройкой самих крипов и ростом их уровня. В инете очень долго висела наработка CRS, но мне она не подходит совсем, причём на больших картах эта система подглючивает и в один прекрасный момент крипы перестают спавниться. Решив недавно делать новую карту для РПГ, снова понадобился этот самый респ.
Делается очень быстро, работает вообще без каких либо глюков и с ростом уровня крипов, который напрямую зависит от вашего героя. К тому же я опишу как не расставлять самому крипов по карте, потому как знаю что дело это муторное на больших РПГ картах.
Ну довольно воды.
Делается очень быстро, работает вообще без каких либо глюков и с ростом уровня крипов, который напрямую зависит от вашего героя. К тому же я опишу как не расставлять самому крипов по карте, потому как знаю что дело это муторное на больших РПГ картах.
Ну довольно воды.
Вся соль в том, что все крипы это герои за какого либо игрока (в моём случае 9-тый серый). Во первых герой сам по себе имеет ряд преимуществ, для более тонкой настройки юнита, а во вторых для него есть удобная функция - revive - это и будет сам респ.
Для начала нам нужно создать область где будут спаунится крипы, большую на всю карту или несколько, как угодно.
Триггер на респ крипов:
Событие:
Боевая единица - A unit owner by Игрок 9 (серый) Умирает
Тут всё просто, юнит 9-ого игрока умирает. Можно сделать просто юнит умирает, но я перестраховался.
Событие:
Боевая единица - A unit owner by Игрок 9 (серый) Умирает
Тут всё просто, юнит 9-ого игрока умирает. Можно сделать просто юнит умирает, но я перестраховался.
Условие:
(Owner of (Triggering unit)) равно (==) Игрок 9 (серый)
Тут я указал что любой герой принадлежит 9-му игроку.
(Owner of (Triggering unit)) равно (==) Игрок 9 (серый)
Тут я указал что любой герой принадлежит 9-му игроку.
Действие:
wait 5.00 seconds
Герой - instantly revive (Triggering unit) at (Random point in Область01 <gen>) Показать revival graphics**
Сначала проходит 5 секунд, можно и больше, а затем юнит респнется в рандомной точке в Области01.
Я включил графику, потому что бывает что респаются рядом с ГГ и это не выглядит глупо))
wait 5.00 seconds
Герой - instantly revive (Triggering unit) at (Random point in Область01 <gen>) Показать revival graphics**
Сначала проходит 5 секунд, можно и больше, а затем юнит респнется в рандомной точке в Области01.
Я включил графику, потому что бывает что респаются рядом с ГГ и это не выглядит глупо))
Всё респ готов. Теперь давайте расставим по карте юнитов:
Событие:
Время - Every 0.01 seconds оf game time
Тут периодическое время.
Событие:
Время - Every 0.01 seconds оf game time
Тут периодическое время.
Условие:
hero01 не равно (=!) 50**
Это у нас Integer Comparsion, hero01 это целочисленная, а 50 это то количество юнитов одного вида, которое вам нужно расставить на карте.
hero01 не равно (=!) 50**
Это у нас Integer Comparsion, hero01 это целочисленная, а 50 это то количество юнитов одного вида, которое вам нужно расставить на карте.
Действие:
Боевая еденица - Create 1 Чувак for Игрок 9 (серый) at (Random point in Область01 <gen>) facing...
Set hero01 = (hero01 + 1)
Тут у нас создаётся 1 юнит для серого игрока в рандомной точке области Область01.
А следом целочисленная hero01 накапливает 50 юнитов, После создания всех юнитов триггер работать не будет, так как в условии у нас указано их максимальное кол-во.
Боевая еденица - Create 1 Чувак for Игрок 9 (серый) at (Random point in Область01 <gen>) facing...
Set hero01 = (hero01 + 1)
Тут у нас создаётся 1 юнит для серого игрока в рандомной точке области Область01.
А следом целочисленная hero01 накапливает 50 юнитов, После создания всех юнитов триггер работать не будет, так как в условии у нас указано их максимальное кол-во.
Замечательно, остался последний триггер, который будет подравнивать уровень юнитов к ГГ игроков.
Событие:
Боевая единица - A unit owner by Игрок 9 (серый) Умирает
Событие:
Боевая единица - A unit owner by Игрок 9 (серый) Умирает
Условие:
(Owner of (Triggering unit)) равно (==) Игрок 9 (серый)
(Owner of (Triggering unit)) равно (==) Игрок 9 (серый)
Действие:
Герой - set (Triggering unit) Hero-level to (Hero-level jf (Killing unit)). Скрыть level-up graphics.
В этом действии мы ставим ваш уровень убитому юниту, и в следующий раз он респнется уже с новым уровнем, можно было бы давать им сразу, но это не совсем подходило мне, мне нужен был плавный переход на следующий уровень у крипов дабы не сбивать баланс. Так на карте можно было найти крипов и 1-ого и 6-ого уровня. Ну а Killing Unit, он же убивающий, для того чтобы уровень крипа был такой-же как у любого из игроков, моя карта на 4 игрока и уровень у всех разный, таким образом основался баланс между всеми игроками.
Герой - set (Triggering unit) Hero-level to (Hero-level jf (Killing unit)). Скрыть level-up graphics.
В этом действии мы ставим ваш уровень убитому юниту, и в следующий раз он респнется уже с новым уровнем, можно было бы давать им сразу, но это не совсем подходило мне, мне нужен был плавный переход на следующий уровень у крипов дабы не сбивать баланс. Так на карте можно было найти крипов и 1-ого и 6-ого уровня. Ну а Killing Unit, он же убивающий, для того чтобы уровень крипа был такой-же как у любого из игроков, моя карта на 4 игрока и уровень у всех разный, таким образом основался баланс между всеми игроками.
Под эти триггеры нужно точно отсроить героев (крипов в нашем случае) и скиллы которые даются им с каждым уровнем, но это обычно для РПГ игр. И конечно же не забудьте у героя выставить значение пищи на 0, иначе работать не будет.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
С вейтом ты много добьешься. Хоть бы через КС после смерти юнита заносил его в локалку и тогда уже воскрешал. На ГУИ вейт может затерять переменные триггера типа triggering unit, и он не зареспится.