ZeToX2007
offline
Опыт:
7,009Активность: |
Задачка с дамагом юнитов в областе
Необходимо нанести повреждение всем в определенной области, каждый раз когда наносится дамаг.
15% от повреждений и условие, если эти повреждение не меньше 4 допустим. То есть сплеш в сплеше получается, DamageTarget - не использовать, очень уж бажно выходит. так-же можно в любой момент получить фатал еррор. Вопрос - будет ли это работать нормально, а именно там где строка с комментарием. Это что-то либо рекурсии или цикла в цикле. Код:
Есть другие варианты реализации ? |
03.05.2010, 00:48 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Enein
Silenced by ZlaYa1000
offline
Опыт:
43,583Активность: |
o__O ?? |
03.05.2010, 01:46 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Toadcop
offline
Опыт:
54,313Активность: |
он про безконечный цыкл вестимо...
|
03.05.2010, 06:01 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,159Активность: |
Может он про поинт?=) |
03.05.2010, 07:46 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Rewenger
The culprit will not die
offline
Опыт:
35,873Активность: |
Может, лучше урон будет наносить некий даммик, а в триггере условие, что урон не наносится этим дамми? Где строка с комментариями - вроде всё правильно. |
03.05.2010, 08:36 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
вот так верно, лучше завести одного общего дамми и менять его владельца. |
03.05.2010, 11:21 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ZeToX2007
offline
Опыт:
7,009Активность: |
Если использовать DamageTarget, урон не всегда наносится в таком случае, при таком-же коде.
Ещё вопрос - это уже про скорость: Лучше использовать каждый раз:
call SetWidgetLife(b,GetWidgetLife(b) - dmg)
Либо сейвить весь урон на каждого юнита, и потом по окончанию нанести его ? |
03.05.2010, 14:51 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
bee
vjass.optimizer
offline
Опыт:
16,615Активность: |
надо отключить триггер "получает урон" нанести урон с помощью
включить триггер
все фаталы убегут чуш, а если убьет? |
03.05.2010, 19:41 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ZeToX2007
offline
Опыт:
7,009Активность: |
|
03.05.2010, 20:34 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
bee
vjass.optimizer
offline
Опыт:
16,615Активность: |
он отключается на мнгновение воизбежание фатала |
03.05.2010, 21:23 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Arty3ooo
...
offline
Опыт:
3,125Активность: |
SetWidgetLife - не идет в счет как убийство. Если герой убьет крипа\героя таким образом, то никакой экспы, голда и прочей басни не будет. Тролололо UnitDamageTarget... пиши не индусским кодом и забудь про фаталы. |
04.05.2010, 10:10 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ZeToX2007
offline
Опыт:
7,009Активность: |
Arty3ooo, Не шариш, попробуй на практике
ZeToX2007 добавил: Цитата:
А кто сказал, что нельзя сделать это триггерно ? |
|
04.05.2010, 10:29 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
bee
vjass.optimizer
offline
Опыт:
16,615Активность: |
короче ZeToX2007, ты обрашяеш внимание только на оправданные грубости в твой адрес. я тебе ответил как надо. это всегда работало и будет работать
bee добавил: когда ты наносиш урон с помощью UnitDamageTarget() срабатывает триггер который запускает вывод: бесконечный цикл решение:
|
04.05.2010, 21:31 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ZeToX2007
offline
Опыт:
7,009Активность: |
bee,ЧИТАЙ ЧТО В 1 ПОСТЕ НАПИСАННО, ЕСЛИ Я НАПИСАЛ ЭТО НЕ ПРОСТО ТАК !! А ВЫ ПРОДОЛЖАЕТЕ !. DamageTarget ОЧЕНЬ медленная функция и от неё достаточно лагов будет, что произойдёт если вызвать её около 4000 раз ? лаг на 1-2 секунды, когда с SetWidgetLife всё гладко, вот поэтому я не использую DamageTarget, а у меня может потребуется и 6000 вызовов. Тем более мне нужен чистый урон, без учётов защиты и прочих способностей, которые предотвращают урон. |
04.05.2010, 22:51 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Ты глупец зачем столько вызовов? Ваш отличный кодинг уже не доставляет. Как можно думать об оптимизации при > 1000 вызовов. Лимит операций не боитесь превысить? [+] 1 пункт от ShadoW DaemoN: 1.1 (ненормативная лексика)
Отредактировано ShadoW DaemoN, 05.05.2010 в 14:46. |
04.05.2010, 23:12 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ZeToX2007
offline
Опыт:
7,009Активность: |
DoctorGester, Прошу сделать тоже самое, только в более быстром варианте, чем у меня... врядли у тебя это получится.
DoctorGester:
Не шариш |
04.05.2010, 23:15 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
bee
vjass.optimizer
offline
Опыт:
16,615Активность: |
я предумал... наносить урон с помощью SetUnitState / SetWidgetLife если урон меньше GetWidgetLife(u) а если больше то вызывать UnitDamageTarget |
04.05.2010, 23:31 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ZeToX2007
offline
Опыт:
7,009Активность: |
ZeToX2007:
А сдесь я что писал ? |
04.05.2010, 23:41 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Тогда я не понимаю в чем суть темы если ты не принимаешь предложения и критику. |
04.05.2010, 23:44 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ZeToX2007
offline
Опыт:
7,009Активность: |
DoctorGester, Какое предложение ??? покажи ?? ниодного стоющего... сделай алгоритм более бытстрым вот, что... |
04.05.2010, 23:49 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|