![]()
Sladkoegka
Забыл что хотел...
![]() ![]() offline
Опыт:
7,437Активность: |
Воровство золота=урон юнита
Я сделал простенький триггер:
Событие - юнит атакован Условия - уровень скилла пустышки у атакуещего юнита больше или равно 1
Владелец атакующего юнита-враг владельца атакованного юнита Действия - Игрок добавить Целое число((полученные повреждения)) к владелец атакующий юнит золото текущее.
Итого - не пашет
Вопрос - почему??? Для тех кто не понял - при ударе герой обладающий такой способностью добавляет себе золото в размере своего урона. |
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
BizzaroFukuro
MWS Hardcore
![]() ![]() offline
Опыт:
2,178Активность: |
Это не будет работать, потому что во время атаки урон ещё не наносится (он наносится позже). Т.е. "полученные повреждения" здесь всегда = 0. |
![]() |
#2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Sladkoegka
Забыл что хотел...
![]() ![]() offline
Опыт:
7,437Активность: |
BizzaroFukuro, А как тогда быть я перерыл все преобразования и реакции на событии - не то(в хэш и jass я 0) |
![]() |
#3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
BizzaroFukuro
MWS Hardcore
![]() ![]() offline
Опыт:
2,178Активность: |
Sladkoegka, Можешь попробовать покрутить способность "Грабёж". Но в этом случае золото будет добавляться только если у атакуемого оно есть. |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Sladkoegka
Забыл что хотел...
![]() ![]() offline
Опыт:
7,437Активность: |
BizzaroFukuro, Способность грабеж добавляет атакующему юниту кол-во ресурсов(и древесины и золота)затраченное на постройку атакованного юнита(соотношение настраивается в РО) поэтому не подходит потому что надо урон=золото |
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Msey
????
![]() offline
Опыт:
66,991Активность: |
Sladkoegka, когда сяду за рабочий комп, то скину тебе свою систему |
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
prog
![]() offline
Опыт:
32,465Активность: |
Sladkoegka, если стоимость войск и зданий можно выставить пропорционально их базовому здоровью, то грабеж вполне можно настроить так чтобы было урон=золото, но такое решение не всегда годится.
А так - система отлова урона в помощь (поищи в базе систему отображения урона в виде тексттагов, например). |
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Sladkoegka
Забыл что хотел...
![]() ![]() offline
Опыт:
7,437Активность: |
prog, Хочешь прикол???
У меня есть такая сиситема: там событие юнит получает урон, далее плавающий текст преобразовать строку в вещественное(нанесеннные повреждения)-все работает А вот с моим действием - нет
Поэтому и думаю |
![]() |
#8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Klop
Папа римский
![]() ![]() offline
Опыт:
13,006Активность: |
понадобиться JNGP
делаем связь - событий http://xgm.guru/forum/showthread.php?t=34216 в дейсвиях юнит атакован if GetUnitAbilityLeve(GetAttacker(),'SpellID') > 0 делаем событие на юнита TriggerRegisterUnitEvent(t,GetTriggerUnit(),EVENT_UNIT_DAMAGE) real damage = GetEventDamage() затем проверка на нанесения урона if damage > 0 unit u = GetEventDamageSourse() player p = GetOwningPlayer(u) SetPlayerState(p,PLAYER_STATE_RESOURSE_GOLD,GetPlayerState(p,PLAYER_STATE_RESOUR SE_GOLD)+R2I(damage)) нужно делать так) |
![]() |
#9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Sladkoegka
Забыл что хотел...
![]() ![]() offline
Опыт:
7,437Активность: |
Klop, Можешь на гуи быстренко сделать??Можно с утечками,просто у меня не получилось,я вставлял между строками действия(JNGP есть) |
![]() |
#10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Bornikkeny
Silenced by Bornikkeny
![]() ![]() offline
Опыт:
24,410Активность: |
Klop, можно пожалуйста наработку, это ведь Event Damage? |
![]() |
#11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Klop
Папа римский
![]() ![]() offline
Опыт:
13,006Активность: |
Sladkoegka, гуи не получится,я гуи вообще не помню)
а джазз вот тебе пример прокачивай паладину доспех веры и бей рабочих)
для переноса на свою карту просто скопируй триггер и в коде поменяй Raw код абилки),если хочешь что то добавить то в функции AddGold меняй там всё) ((кат Jass
)) |
![]() |
#12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Sladkoegka
Забыл что хотел...
![]() ![]() offline
Опыт:
7,437Активность: |
|
![]() |
#13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Klop
Папа римский
![]() ![]() offline
Опыт:
13,006Активность: |
Sladkoegka:
Real To Integer переводит вещественный тип данных в целочисленый Sladkoegka:
мне лень,я дарю тебе карту хочешь выкладывай)) если бы я делал такой спелл я бы наверника подогнал получение золото в процентах от хп или от урона для баланса ,а то с рабочего 250 голды получать жирно слишком)) и оформил там текстагом и прочим штуками |
![]() |
#14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Sladkoegka
Забыл что хотел...
![]() ![]() offline
Опыт:
7,437Активность: |
Klop, Окай,я такому спеллу рад,приятно чувствовать как развиваешься,и то что месяц назад ты делать не мог,сегодня понимаешь и можешь повторить. По сабжу ладно выложу сам,тему клоз спасибо клопу |
![]() |
#15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Klop
Папа римский
![]() ![]() offline
Опыт:
13,006Активность: |
уже закрывать только тестить начал,утечек нету,но при первой атаке сразу регистрирует событие на каждого юнита на карте
другими словами на примере стартовых обьектов 190 при атаке становится 194 после этого хендл не увеличивается)
и там какой баг иногда если при замахе отменять атаку а потом ударить то проскакивают действия несколько раз надо это устранить) |
![]() |
#16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Sladkoegka
Забыл что хотел...
![]() ![]() offline
Опыт:
7,437Активность: |
Klop, Как ты наверно понимаешь спелл этот делался для того чтобы понять,впринципе конечно баги можно поустранять(я не проверял),тем более они не такие фатальные |
![]() |
#17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Klop
Папа римский
![]() ![]() offline
Опыт:
13,006Активность: |
Sladkoegka, всё норм заменил BJDebug на текст таг и баг перестал вылазить утечек вроде нет
Klop добавил:
Пока тему не закрыли допишу исправленый код что бы не создавались утечки при замахе и отменяя атаку
» Jass
в событии атаки лучше использовать TriggerAddAction - это приведёт к одному обьекту меньше),не знаю почему
в событии создаваемом использовать TriggerAddCondition утечки есть но дестрой триггер их устраняет),который должен находится сразу после создания дейсвий вот так вот |
![]() |
#18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|