Сейчас 22:12:18 Пятница, 22 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Скилл на увеличение силы атаки у дерева.
molgreenДата: Воскресенье, 18 Мая 2014, 21:10:06 | Сообщение # 1
5 уровень
Группа: Проверенные
Сообщений: 142
Награды: 0
Репутация: 37
Блокировки:
Здравствуйте, уважаемые картостроители. Я вот нашёл одну способность, где добавляется сила атаки около дерева, а если отойти - то бонус спадает. В оригинале было только около одного типа разрушаемого, а у меня их целых 3. Но у меня бонус либо работает нестабильно, либо вообще не робит. Помогите, пожалуйста.





Скилл от UZzip


le



Сообщение отредактировал molgreen - Воскресенье, 18 Мая 2014, 21:10:27
 

13thДата: Понедельник, 19 Мая 2014, 14:48:10 | Сообщение # 2
2 уровень
Группа: Проверенные
Сообщений: 30
Награды: 0
Репутация: 9
Блокировки:
Было бы неплохо, если бы ты полностью описывал, чего хочешь от тригера... И если работает не стабильно - то как?..

Как я понял из оригинального тригера, он должен работать примерно так: герой подходит к лесу, и с каждым ударом по врагу его урон увеличивается, когда он отходит от леса - наносимый урон приходит в норму....
Дело может быть вот в чем: в тригере проверяется СЛУЧАЙНОЕ разрушаемое... то есть, если рядом с героем ОДНОВРЕМЕННО находятся разрушаемые объекты РАЗНЫХ видов (камни, деревья которые ты проверяешь, деревья другого вида, домики-декорации, ворота и т.п., и т.п., и т.п.) - способность будет действительно срабатывать через раз!

Она должна работать идеально, если у тебя на карте из разрушаемых объектов есть только деревья твоих трех видов. И ВСЕ!
Если же нет... Ну как вариант можно в цикле перебрать все разрушаемые вокруг героя, и если среди них есть хотя бы одно из твоих деревьев - увеличивать урон, иначе сбрасывать..

В самом тригере проблем не вижу.. Главное не провтыкать, и дать герою "Атаку(+10)" и "Лесную ауру" перед вызовом тригера... :)
 

Imba_pvLДата: Понедельник, 19 Мая 2014, 16:03:50 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
А и еще здесь не удалены точки, из-за этого если каждый раз бить героя, то будут лаги.



Сообщение отредактировал Imba_pvL - Понедельник, 19 Мая 2014, 16:05:45
 

molgreenДата: Понедельник, 19 Мая 2014, 17:46:53 | Сообщение # 4
5 уровень
Группа: Проверенные
Сообщений: 142
Награды: 0
Репутация: 37
Блокировки:
Цитата 13th ()
Дело может быть вот в чем: в тригере проверяется СЛУЧАЙНОЕ разрушаемое


В условии у меня стоит "равно Новые хвойные". Почему случайное?

Цитата 13th ()
Главное не провтыкать, и дать герою "Атаку(+10)" и "Лесную ауру" перед вызовом тригера...


Не совсем понял

Цитата Imba_pvL ()
А и еще здесь не удалены точки, из-за этого если каждый раз бить героя, то будут лаги.


Каким образом их удалить???


le

 

OverkillsДата: Понедельник, 19 Мая 2014, 18:26:27 | Сообщение # 5
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
Цитата molgreen ()
Каким образом их удалить???

Занести в переменную, использовать ее и: call RemoveLocation(udg_name)


 

molgreenДата: Понедельник, 19 Мая 2014, 19:39:13 | Сообщение # 6
5 уровень
Группа: Проверенные
Сообщений: 142
Награды: 0
Репутация: 37
Блокировки:
Цитата Overkills ()
Занести в переменную, использовать ее и: call RemoveLocation(udg_name)


Хорошо. Теперь ещё вопрос. Что это за точки?


le

 

13thДата: Понедельник, 19 Мая 2014, 20:09:37 | Сообщение # 7
2 уровень
Группа: Проверенные
Сообщений: 30
Награды: 0
Репутация: 9
Блокировки:
Цитата
В условии у меня стоит "равно Новые хвойные". Почему случайное?

Уточню...
В тригере сравнивается СЛУЧАЙНОЕ разрушаемое в радиусе 1500 от героя с разрушаемым "Новое хвойное".
Об этом мне сказала строка в тригере:

Код
Тип разрушаемого ([color=red]СЛУЧАЙНОЕ РАЗРУШАЕМОЕ[/color] в (Регион центрирован ....

Цитата
Главное не провтыкать, и дать герою "Атаку(+10)" и "Лесную ауру" перед вызовом тригера...

Убедись, что у твоего героя есть способность Атака(+10), иначе урон добавляться не будет.

Цитата
Хорошо. Теперь ещё вопрос. Что это за точки?

Не буду уходить глубоко в программирование... У тебя в условиях (там где ты проверяешь Новое хвойное 1, или 2, или 3) в этом месте:

Код
Регион центрирован на ([color=red]Позиция (Атакующий юнит)[/color] ...

создается переменная Точка, которая занимает место в памяти, если ее вручную не удалять, через час-два игры (на сколько оперативной памяти хватит) игра начнет жестко глючить.
Как это делается:
Создаешь переменную с типом Точка. В тригере перед проверкой на тип "хвойного" записываешь в свою переменную позицию атакующего юнита. Потом в условиях вставляешь вместо:

Код
Позиция (Атакующий юнит)

свою переменную (допустим Vasya).
После всех условий, вставляешь

Код
call RemoveLocation(udg_[color=green]Vasya[/color])

и радуешься.
 

molgreenДата: Понедельник, 19 Мая 2014, 20:31:11 | Сообщение # 8
5 уровень
Группа: Проверенные
Сообщений: 142
Награды: 0
Репутация: 37
Блокировки:
Цитата 13th ()
записываешь в свою переменную позицию атакующего юнита


Ну хорошо, я понял. Только вот ГДЕ её записывать??? Куда ставить это действие??

Цитата 13th ()
Убедись, что у твоего героя есть способность Атака(+10), иначе урон добавляться не будет.


Она есть. В этом и проблема. Урон даётся сначала стабильно (5-6 уровней Атаки(+10)), а потом исчезает. И больше не работает.


le

 

Imba_pvLДата: Понедельник, 19 Мая 2014, 21:04:27 | Сообщение # 9
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
Почитай статьи про переменные, без них ты не сможешь сделать простые триггеры.
На том же хгм-е.


 

molgreenДата: Понедельник, 19 Мая 2014, 22:45:36 | Сообщение # 10
5 уровень
Группа: Проверенные
Сообщений: 142
Награды: 0
Репутация: 37
Блокировки:
Цитата Imba_pvL ()
Почитай статьи про переменные


Да боже, я хорошо знаю про переменные и их использывание. Я просто не могу понять, куда втыкнуть это действие в этом случае.


le

 

Imba_pvLДата: Понедельник, 19 Мая 2014, 22:48:31 | Сообщение # 11
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
-________________________-
Установить Х (точка) = Позиция Кастера
...
...
...
...
call RemoveLocation(udg_X)


 

MelodiaДата: Вторник, 20 Мая 2014, 00:17:57 | Сообщение # 12
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
в деревьях явно стоит юнит-аура

CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

molgreenДата: Вторник, 20 Мая 2014, 18:10:23 | Сообщение # 13
5 уровень
Группа: Проверенные
Сообщений: 142
Награды: 0
Репутация: 37
Блокировки:
Ладно, спасибо вам. Заменю лучше этот скил на другой примитивный какой-то.

le

 

OverkillsДата: Вторник, 20 Мая 2014, 18:20:42 | Сообщение # 14
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
molgreen, из-за того, что не смог удалить точку? : D

 

molgreenДата: Вторник, 20 Мая 2014, 20:03:03 | Сообщение # 15
5 уровень
Группа: Проверенные
Сообщений: 142
Награды: 0
Репутация: 37
Блокировки:
Цитата Overkills ()
из-за того, что не смог удалить точку


Нет. Просто удаление этой точки уберёт только лаги, а на работоспособность это никак не повлияет.


le

 

BorodachДата: Среда, 21 Мая 2014, 12:41:58 | Сообщение # 16
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
Проблема в условии. Ты ж не цыклом проверяешь деревя в области. Если при атаке, первое дерево не совпадает, уровень способности с уроном становится раным 1.
Надо пикать все разрушаемые объекты и в этом цыкле проверять нужные деревя.


Karamba
 

molgreenДата: Среда, 21 Мая 2014, 17:57:51 | Сообщение # 17
5 уровень
Группа: Проверенные
Сообщений: 142
Награды: 0
Репутация: 37
Блокировки:
Borodach, спасибо большое! Только знал бы я как это всё творить.

le

 

13thДата: Четверг, 22 Мая 2014, 11:09:14 | Сообщение # 18
2 уровень
Группа: Проверенные
Сообщений: 30
Награды: 0
Репутация: 9
Блокировки:
molgreen,
Делай так:
0. Посноси все свои условия в тригере
0. Создай переменную с типом логическая, допустим Kolya и установи ее значение в НЕТ переменную с типом точка, да будет имя ее - Vasya
1. Установить переменную Vasya = Позиция юнита (Атакующий юнит) // тут мы записываем точку в переменную, чтоб ее можно было удалить
2. Декорации - Выбрать все разрушаемое в радиусе 1500 от точки Vasya и произвести множество действий
3. Если/тогда/иначе - множество действий // дальше условия
--> Тип разрушаемого (Выбранное разрушаемое) равно Твое_дерево_1
--> Тип разрушаемого (Выбранное разрушаемое) равно Твое_дерево_2
--> Тип разрушаемого (Выбранное разрушаемое) равно Твое_дерево_3
4. Установиь переменную Kolya = ДА
5. Если/тогда/иначе - множество действий
--> Уровень (Атака+10) не равно 21
--> Kolya равно ДА
6. Добавляешь урон так же как и раньше
7. Если/тогда/иначе - множество действий
--> Kolya равно НЕТ
6. Убавляешь урон так же как и раньше
7. Личный сценарий - call RemoveLocation(udg_Vasya)

Добавлено (22 Мая 2014, 11:09:14)
---------------------------------------------
Пункт 4. внутри условия 3.
Пункт 6. - внутри 5.
Пункт 8. внутри 7.
В пункте 9. - удаляем создаваемую точку.
Все просто! Почитай мануалы. видеоуроки о работе с тригерами..
видео-примеры создания способностей, сборных артефактов и т.п.
не зная программирования - сложно пользоваться тригерами, но возможно! Просто смотри большще примеров, как и что делается. Дальше само пойдет.

 

molgreenДата: Четверг, 22 Мая 2014, 19:37:22 | Сообщение # 19
5 уровень
Группа: Проверенные
Сообщений: 142
Награды: 0
Репутация: 37
Блокировки:
13th, всё равно не работает. Сначала повышает себе атаку на 72, а потом на 80 и всё, она так и остаётся.

le

 

BorodachДата: Пятница, 23 Мая 2014, 00:15:40 | Сообщение # 20
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
Может обшасть большая, попадает много деревьев и не обнуляет урон из-за того что не атакуют в не зоны деревьев.... Без скрина сложнее сказать.
Выводи сообщение о количестве деревьев или о том что логике кажется о не исправности триггера.


Karamba
 

molgreenДата: Суббота, 24 Мая 2014, 14:27:50 | Сообщение # 21
5 уровень
Группа: Проверенные
Сообщений: 142
Награды: 0
Репутация: 37
Блокировки:
Вот скрин триггера.



Теперь о проверке. Когда я вкачал способность, и начал атаковать, то в чате написало 16 сообщений: Ур. лесной ауры: И тут от 1 до 16. Наверное условие "Или" было лишним. Хотя без него не пашет способность.


le

 

OverkillsДата: Суббота, 24 Мая 2014, 16:04:12 | Сообщение # 22
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
Во 1 убери "Ничего не делать".

Во 2 отлавливай получаемый урон, а не "атакован". Ибо это только замах и так можно набагать себе урон.


 

BorodachДата: Суббота, 24 Мая 2014, 17:05:35 | Сообщение # 23
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
Логическая переменная не нужна и 2 проверка.
В 1 проверке в конец действий, добавить в личный сценарий: return
А в иначе обнуление уровня.


Karamba
 

SirNikolasДата: Суббота, 24 Мая 2014, 17:08:40 | Сообщение # 24
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Цитата Borodach ()
добавить в личный сценарий: return
В GUI есть действие "Skip remaining actions".


 

ExtrematorДата: Суббота, 24 Мая 2014, 21:59:58 | Сообщение # 25
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Мне кажется... или... всё на много проще... м?)))

 

  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz