Автор |
Сообщение |
Mixnsk Продвинутый форумчанин |
|
В данный момент передышка думаем за выходные сделаем и будет финалка (всмысле моно будет за обе стороны играть по 9 героев за каждую стороно пока) в остальных версиях ессно исправляем баги увеличиваем число героев.... ну вобщем как будет готова v1 скину сюда а может чтоб не мучится топик новый создам там решим |
|
|
|
|
Zloy-kif Форумчанин |
|
я свою карту ни на какой стадии не дам никому с возможностью просмотра в редакторе ) |
|
|
|
|
ExFeaR Гуру |
|
Zloy-kif
Какбуд то там террабайты скриптов и никому до селе не виданные триггеры? если так оно и есть тогда понятно твое решение,а коль этого нет не вижу смысла прятать.
В финалке ещё моно,но в бете..... |
|
|
|
|
Darth_Spy Форумчанин |
|
У меня такой вопрос, как сделать событие "юнит получает урон" (хоть с помощью jass, хоть триггерами). Ибо такое событие есть только при условии что юнит присутствует на карте (т.е. создан изначально, а не после с помощью триггеров). |
|
|
|
|
Zloy-kif Форумчанин |
|
ExFeaR
Раз ты не видешь смысла тогда ты не буддешь против если я исправлю в твоей карте что хочу и полпишу твоим именем? ну или своим ) Как это было с футманами АОС вампиризмом и тп.
Darth_Spy
Спрошу в понедельник у знатаков) я на джахе не пишу... стнадартные то тригеры осилить бы) |
|
|
|
|
Zloy-kif Форумчанин |
|
Кста а какая у тя задача то? тех юнитов что созданы тригерами можно посадить на переменную же и применить к ним это событие, разве нет? |
|
|
|
|
Darth_Spy Форумчанин |
|
Цитата: |
Кста а какая у тя задача то? тех юнитов что созданы тригерами можно посадить на переменную же и применить к ним это событие, разве нет? |
Вот именно что нет. При использовании этого условия цель можно выбрать только на игровой карте (список переменных в этом условии вообще отсутствует). |
|
|
|
|
Zloy-kif Форумчанин |
|
Погоди, че то ты мутишь...
Ставь:
Событие: Боевая едеинцы: Нет боевой единцы получает урон
Условие: В условии делай сравнение боевой единцы
Последний созданный, переключаемый да какой угодно а потом в действиях пиши что нужно...
Разве не так?
ПС: Если не так напиши чего конкеретно хочешь добиться какого эфекта |
|
|
|
|
Darth_Spy Форумчанин |
|
Как я и думал это не сработало. Ибо "нет боевой единицы" не может чему либо равнятся. Вот 2 примера написаного кода
События:
боевая единица - нет боевой единицы получает урон
условие:
нет боевой единицы равно peasant(название переменной, в которой хранится конкретный юнит)
действие:
игра - display message "privet"
И второй пример
События:
боевая единица - нет боевой единицы получает урон
Действие:
if (нет боевой единицы равно peasant) then do (display message "privet") else (do nothing)
В обоих случаях никакого эффекта.
В принципе пробовал сравнивать "нет боевой единицы" с "damage source" - но это источник дамага, а не его цель. А условия вроде "damaged unit" не существует.
P.S. Присвоить переменной значение я не забыл |
|
|
|
|
Zloy-kif Форумчанин |
|
джассом
создаёшь триггер с любым юнитом
как создавать: можно создав триггер на гуи для любого юнита, перевести его на джасс и заменить нужным юнитом |
|
|
|
|
Zloy-kif Форумчанин |
|
Darth_Spy
Вот такой еще ответ я получил, только тут про смерть
1. Создаешь 2 глобальные переменные: myTrigger(типа Trigger), myUnit(типа Unit).
2. Создаешь еще 1 тригер, называешь его UnitDeath, конвертируешь в текст, и удаляешь все содержимое. Затем вставляешь туда этот код:
Code
function UnitDeath takes nothing returns nothing
call TriggerExecute(udg_myTrigger)
endfunction
function InitTrig_UnitDeath takes nothing returns nothing
set gg_trg_UnitDeath = CreateTrigger( )
call TriggerRegisterUnitEvent( gg_trg_UnitDeath, udg_myUnit, EVENT_UNIT_DEATH )
call TriggerAddAction( gg_trg_UnitDeath, function UnitDeath )
endfunction
Когда тебе понадобится отловить смерть какого то юнита в игре, просто занеси его в перем. myUnit, а в перем. myTrigger тот тригер, который должен выполнится в случае смерти юнита.
Во, нужно заменить EVENT_UNIT_DEATH на EVENT_UNIT_ATTACKED
и будет работать по идее |
|
|
|
|
Mixnsk Продвинутый форумчанин |
|
Фанфары!!! Та-та-....
Да-да товарищи! ПЕРВАЯ ВЕРСИЯ КАРТЫ ГОТОВА!
Надеюсь вам понравиться! Баги и предложения пишите тут
post82171#82171 |
|
|
|
|
Zloy-kif Форумчанин |
|
Для общего развития... Украдено с непомню какого форума))
FAQ по DotA.
1 Q: Как сделать что бы из нескольких вещей собиралась одна?
A: Допустим у нас есть 2 вещи - Х и Y. Вот так будет выглядеть триггер для объеденения вещи X и Y в вещь Z
Цитата:Event - Unit Acquries an Item
Condition - Or - Any (Condition) are True
Condition:
(Item-type of(Item Being Manipulated) Equal to X)
(Item-type of(Item Being Manipulated) Equal to Y)
Action - If (All Condition are True) then do (Then Action) else do
(Else Action)
If - Conditions:
((Hero Manipulating Item) has an item of type X)
((Hero Manipulating Item) has an item of type Y)
Then - Action:
Remove (Item carried by (Hero Manipulating Item) of type X)
Remove (Item carried by (Hero Manipulating Item) of type Y)
Create Z and give it to (Hero Manipulating Item)
Else - Action: ---
2 Q: Как отследить нахождение в инвентаре сразу двух одинаковых вещей?
A: Если у нас есть 2 вещи типа Х, то если мы уберем 1 вещь типа
Х, то вторая вещь типа Х останется лежать. Так и делаем, из двух Х делаем Z.
Цитата:
Цитата:Event - Unit Acquries an Item
Condition - (Item-type of(Item Being Manipulated) Equal to X)
Action -
Turn off (This Trigger)
Remove (Item carried by (Hero Manipulating Item) of type X)
If (All Condition are True) then do (Then Action) else do
(Else Action)
If - Conditions:
((Hero Manipulating Item) has an item of type X)
Then - Action:
Remove (Item carried by (Hero Manipulating Item) of type X)
Create Z and give it to (Hero Manipulating Item)
Else - Action: ---
Create X and give it to (Hero Manipulating Item)
Turn off (This Trigger) (пишется не в Else, а после IF)
Самое интересное в том, что если не выключать триггер во время его работы, то ничего не получится. Вещь будет моргать в инвентаре. Ведь действие Create X and give it to (Hero Manipulating Item) Равно Событию
Unit Acquries an Item
3 Q: Если я покупаю вещь, которая является последней для двух
комплектов, что будет?
A: Соберется та вещь, которая будет стоять выше в триггерах. Т.е. Если считать сверху. Вначале создан триггер что бы собирать вещь XZ, а потом что бы собирать вещь YZ. Значит при покупке вещи Z, соберется XZ.
4 Q: Как сделать что бы после покупки героя в таверне, он становился
недоступным для всех игрков?
A: Делается при помощи действия
Цитата:Player - Set Training/Construction Availability of unit
Здесь можно разрешить\запретить использовать юнита для игрка.
5 Q: Как сделать героя прозрачным?
A: С помощью Действия Animation - Change Unit Vertex Coloring. Первые 3 цифры (100% по умолчанию), это цвета юнитов. А последняя (0% по умолчанию), это его прозрачность. Ее мы и меняем, для того что бы сделать юнита прозравным, или даже неведимкой при 100%.
6 Q: Мне очень понравилась способность Omnislash. Как сделать такую же?
A: Незнаю как делали создатели DotA, но я сделал по своему. Суть в том, что каждые 0.1 секунду, мы берем случайного юнита из группы вражеских юнитов вокруг героя, мнгновенно перемещаем туда героя с соответственными спец. эффектами, проигрываем анимацию Attack, и тригерно наносим урон. Подробнее можно посмотреть в карте примере, где все хорошо описано. В примере, способность сделана только для 1 героя. Для двух или более героев, нужно знать jass, хоть минимум, поэтому я не стал делать универсальный OmniSlash. Так же, без jass, требуется довольно много, для одного спелла переменных.
7 Q: Мне бы хотел заглянуть в саму доту. Что и как в ней устроено. Но при открытии возникает ошибка, и ничего не запускается. Что делать?
A: Это означает что на карте стоит защита. Снять ее можно несколькими способами. Существует также программы, называемые Deprotector'ы. Можешь поискать ее в любом поисковике. Например www.yandex.ru. |
|
|
|
|
†ORC† Адский Черепок |
|
А как сделать задание? Пытался без условй, но не получилось... |
|
|
|
|
Darth_Spy Форумчанин |
|
Имеешь в виду те задания, которые отображаются в левом верхнем углу? Или цель карты? |
|
|
|
|
†ORC† Адский Черепок |
|
|
|
|
Darth_Spy Форумчанин |
|
Постарался дать развернутый ответ. Получилось довольно длинно.
Это довольно просто. Создаешь триггер, (в качестве событий и условий берешь все что угодно). Чтобы создать сам квест используем Задание - Create quest. Выбираем основной это квест, или дополнительный (необязательный), в следующем пункте пишем название квеста, в следующем описание. В последнем пункте выбираем иконку для квеста. Для создания условий используем: Задание - Create Quest Requirement. В нем указываем к какому квесту отнести это условие. Далее пишем само условие. К одному квесту может быть приписано несколько условий. Далее для объявления квеста (это необязательно, но крайне желательно) используем Задание - Quest message. Выбираем какому игроку его показать. Далее выбираем что случилось (задание получено, выполнено, провалено, изменено и т.д.) и текст послания. Далее когда одно из условий задания (quest requirement) будет выполнено, с помощью функции Mark Quest Requirement as Completed помечаем его как выполненное. После того как все условия будут выполнены, помечаем квест как выполненный (Mark Quest as Completed). Затем опять используем Quest Message, и сообщаем об этом игроку. С помощью функций Change Quest Title/Description можно изменить его название/описание. С помощью Change Quest Requirement можно изменить условия задания. Задание можно создать сразу, и используя функцию Mark Quest As Discovered пометить его как еще не полученное. А в нужный момент отметить как полученное (и не забываем сообщать об этом в Quest message). Чтобы отметить квест как проваленный, используем Mark Quest as Failed. Ну вот вроде и все. Если что-то непонятно, спрашивай.
P.S. Если квестов или условий больше одного, присваиваем им переменные. |
|
|
|
|
†ORC† Адский Черепок |
|
а как сделать чтобы в моей карете был рельеф из других типов карты? (рельев деревни+ рельев города) |
|
|
|
|
†ORC† Адский Черепок |
|
Помогите... (Я делаю новую карту. Ну очень срочно нужен новый рельеф) |
|
|
|
|
Darth_Spy Форумчанин |
|
Чтобы взять рельеф из других типов карт, идем в Дополнительно -> Изменить тип ландшафта. В каждом наборе есть 2-е основные текстуры, они же текстуры склонов (помечены красным квадратом в левом верхнем углу). Их удалять нельзя. Каждая текстура весит или 1, или 2 еденицы. Всего можно набрать текстур на 12 единиц. |
|
|
|
|
|