|
|
|
|
Помогите с волнами зомби
|
|
MOHCTEP | Дата: Четверг, 18 Октября 2012, 19:26:19 | Сообщение # 1 |
2 уровень
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: -10
Блокировки:
| Помогите пожалуйста с волнами зомби как сделать через тиггеры если можно киньте наработку просто не очень хочется создавать на каждую волну юнитов например у первой волны 100 хп а у следующей 105 и мне ради этого делать нового юнита не хочется ведь есть другой способ ну представьте например так хотя бы 30 волн делать ты проклянёшь всё вокруг их делать ну вообщем помогите.
Тормоз тоже механизм
|
|
|
|
Скар | Дата: Четверг, 18 Октября 2012, 19:39:36 | Сообщение # 2 |
5 уровень
Группа: Пользователи
Сообщений: 116
Награды: 0
Репутация: 12
Блокировки:
| ну так сделай зомби героями, и с каждой новой волной добавляй им по 1 единице силы только в константах поменять не забудь 1 ед. = 5 хп или как тебе нужно...
Если боишься - не делай, если делаешь - не бойся...
|
|
|
|
[SeKtOR] | Дата: Четверг, 18 Октября 2012, 20:12:56 | Сообщение # 3 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Через предметную способность можно менять макс. хп
|
|
|
|
Скар | Дата: Четверг, 18 Октября 2012, 20:15:14 | Сообщение # 4 |
5 уровень
Группа: Пользователи
Сообщений: 116
Награды: 0
Репутация: 12
Блокировки:
| Так это ему опять же придется создавать миллион таких способностей, а он от этого убежать хочет
Если боишься - не делай, если делаешь - не бойся...
|
|
|
|
[SeKtOR] | Дата: Четверг, 18 Октября 2012, 20:17:39 | Сообщение # 5 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Никто не отменял P.S. Ещё как вариант call SetUnitState(whichUnit, UNIT_STATE_MAX_LIFE) только вроде функция криво робит
Сообщение отредактировал [SeKtOR] - Четверг, 18 Октября 2012, 20:18:15 |
|
|
|
SirNikolas | Дата: Пятница, 19 Октября 2012, 11:49:23 | Сообщение # 6 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (|SeKtOR|) call SetUnitState(whichUnit, UNIT_STATE_MAX_LIFE) Нельзя.
|
|
|
|
vov68 | Дата: Пятница, 19 Октября 2012, 12:17:25 | Сообщение # 7 |
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
| смотри у близов в карте - замок Скиби.
учи первоисточники, они всегда под рукой.
Зачем делать для других новые карты... ... лучше устроить коту божественный почесон. :)
|
|
|
|
[SeKtOR] | Дата: Пятница, 19 Октября 2012, 13:15:11 | Сообщение # 8 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Quote (SirNikolas) Нельзя. Why? P.S. Естественно не проверял, последствия использования
Сообщение отредактировал [SeKtOR] - Пятница, 19 Октября 2012, 13:15:59 |
|
|
|
Скар | Дата: Пятница, 19 Октября 2012, 13:21:04 | Сообщение # 9 |
5 уровень
Группа: Пользователи
Сообщений: 116
Награды: 0
Репутация: 12
Блокировки:
|
я так думаю, потому что максимальное значение здоровья не изменяется триггерно?
Если боишься - не делай, если делаешь - не бойся...
|
|
|
|
MOHCTEP | Дата: Пятница, 19 Октября 2012, 17:27:11 | Сообщение # 10 |
2 уровень
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: -10
Блокировки:
| я видел в карте зомби арена рус скрипт отдельно для зомби но я с ним не разобрался там был очень длинный скрипт и в юнитах всего 1 зомби ну и я посмотрел ваши предложения всем конечно спасибо за отзывчивость но мне этого не получится избежать я буду делать каждого юнита отдельно да и к томуже мне так проще будет и кстати по поводу замка скиби интересная идея я сейчас посмотрю.....
Тормоз тоже механизм
|
|
|
|
SirNikolas | Дата: Суббота, 20 Октября 2012, 13:52:19 | Сообщение # 11 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (Скар) я так думаю, потому что максимальное значение здоровья не изменяется триггерно? Вот так напрямую - нельзя. Можно добавлением спсобности от "Талисмана здоровья". Подробнее.
|
|
|
|
Brut@lus | Дата: Суббота, 20 Октября 2012, 18:27:03 | Сообщение # 12 |
Группа: Заблокированные
Сообщений: 2496
Награды: 1
Репутация: 924
Блокировки:
| Code function SetUnitMaxLife takes unit u, real life returns nothing local real r = life - GetUnitState(u, UNIT_STATE_MAX_LIFE) if r > 0. then if r > 1000. then loop call UnitAddAbility(u, 'A005') call SetUnitAbilityLevel(u, 'A005', 0x05) call UnitRemoveAbility(u, 'A005') set r = r - 1000. exitwhen r < 1000. endloop endif if r > 100. then loop call UnitAddAbility(u, 'A005') call SetUnitAbilityLevel(u, 'A005', 0x04) call UnitRemoveAbility(u, 'A005') set r = r - 100. exitwhen r < 100. endloop endif if r > 10. then loop call UnitAddAbility(u, 'A005') call SetUnitAbilityLevel(u, 'A005', 0x03) call UnitRemoveAbility(u, 'A005') set r = r - 10. exitwhen r < 10. endloop endif if r > 1. then loop call UnitAddAbility(u, 'A005') call SetUnitAbilityLevel(u, 'A005', 0x02) call UnitRemoveAbility(u, 'A005') set r = r - 1. exitwhen r < 1. endloop endif else if r < -1000. then loop call UnitAddAbility(u, 'A005') call SetUnitAbilityLevel(u, 'A005', 0x09) call UnitRemoveAbility(u, 'A005') set r = r + 1000. exitwhen r > -1000. endloop endif if r < -100. then loop call UnitAddAbility(u, 'A005') call SetUnitAbilityLevel(u, 'A005', 0x08) call UnitRemoveAbility(u, 'A005') set r = r + 100. exitwhen r > -100. endloop endif if r < -10. then loop call UnitAddAbility(u, 'A005') call SetUnitAbilityLevel(u, 'A005', 0x07) call UnitRemoveAbility(u, 'A005') set r = r + 10. exitwhen r > -10. endloop endif if r < -1. then loop call UnitAddAbility(u, 'A005') call SetUnitAbilityLevel(u, 'A005', 0x06) call UnitRemoveAbility(u, 'A005') set r = r + 1. exitwhen r > -1. endloop endif endif endfunction Где 'A005' ид спела на основе "Предмет: увеличение запаса здоровья" с уровнями: 1: +0 здоровья 2: -1 3: -10 4: -100 5: -1000 6: +1 7: +10 8: +100 9: +1000
By Skino
|
|
|
|
SirNikolas | Дата: Суббота, 20 Октября 2012, 18:34:08 | Сообщение # 13 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (Brut@lus) 1: +0 здоровья 2: -1 3: -10 4: -100 5: -1000 6: +1 7: +10 8: +100 9: +1000 Лучше делать по степеням двойки (0, -1, -2, -4, -8, -16, -32, -64, -128, -256, 1, 2, 4, 8, 16, 32, 64, 128, 256). BTW, код ужасен.
|
|
|
|
Brut@lus | Дата: Суббота, 20 Октября 2012, 18:40:19 | Сообщение # 14 |
Группа: Заблокированные
Сообщений: 2496
Награды: 1
Репутация: 924
Блокировки:
| 0_o кстати да
я и не увидел. ну он не мой.
Добавлено (20 Октября 2012, 18:40:19) --------------------------------------------- function SetUnitMaxLife takes unit u, real life returns nothing local real r = life - GetUnitState(u, UNIT_STATE_MAX_LIFE) if r > 1000. then loop call UnitAddAbility(u, 'A005') call SetUnitAbilityLevel(u, 'A005', 0x05) call UnitRemoveAbility(u, 'A005') set r = r - 1000. exitwhen r < 1000. endloop endif if r > 100. then loop call UnitAddAbility(u, 'A005') call SetUnitAbilityLevel(u, 'A005', 0x04) call UnitRemoveAbility(u, 'A005') set r = r - 100. exitwhen r < 100. endloop endif if r > 10. then loop call UnitAddAbility(u, 'A005') call SetUnitAbilityLevel(u, 'A005', 0x03) call UnitRemoveAbility(u, 'A005') set r = r - 10. exitwhen r < 10. endloop endif if r > 1. then loop call UnitAddAbility(u, 'A005') call SetUnitAbilityLevel(u, 'A005', 0x02) call UnitRemoveAbility(u, 'A005') set r = r - 1. exitwhen r < 1. endloop endif if r < -1000. then loop call UnitAddAbility(u, 'A005') call SetUnitAbilityLevel(u, 'A005', 0x09) call UnitRemoveAbility(u, 'A005') set r = r + 1000. exitwhen r > -1000. endloop endif if r < -100. then loop call UnitAddAbility(u, 'A005') call SetUnitAbilityLevel(u, 'A005', 0x08) call UnitRemoveAbility(u, 'A005') set r = r + 100. exitwhen r > -100. endloop endif if r < -10. then loop call UnitAddAbility(u, 'A005') call SetUnitAbilityLevel(u, 'A005', 0x07) call UnitRemoveAbility(u, 'A005') set r = r + 10. exitwhen r > -10. endloop endif if r < -1. then loop call UnitAddAbility(u, 'A005') call SetUnitAbilityLevel(u, 'A005', 0x06) call UnitRemoveAbility(u, 'A005') set r = r + 1. exitwhen r > -1. endloop endif endif endfunction
даааа жеееесть
Сообщение отредактировал Brut@lus - Суббота, 20 Октября 2012, 18:40:36 |
|
|
|
SirNikolas | Дата: Суббота, 20 Октября 2012, 18:42:10 | Сообщение # 15 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Это типа исправленный вариант? Под словом "ужасен" я имел в виду как раз эту портянку if'ов. В цикл их, или хотя бы в отдельную функцию.
|
|
|
|
Brut@lus | Дата: Суббота, 20 Октября 2012, 22:20:42 | Сообщение # 16 |
Группа: Заблокированные
Сообщений: 2496
Награды: 1
Репутация: 924
Блокировки:
| нет это не исправленый. я и согласен, что с ифами аффтар намудрил
|
|
|
|
|
|
|
|
|
|
|