 |
|
 |
|
| Как сделать возрождение (revival) Нейтрально-враждебных? |
| Zagar | Дата: Четверг, 02-07-2009, 22:32 | Сообщение # 1 |
7 уровень
Группа: Проверенные
Сообщений: 368
| Мне надо сделать возрождение крипов с учетом того, чтобы они появлялись на том месте,где они стоят при загрузке карты....
Хочешь сидеть на шее?Раздвигай ноги!Сомнения?...лучше не думай Я : Играю за : Но в душе я : 
Сообщение отредактировал Zagar - Пятница, 03-07-2009, 00:21 |
| |
|
| |
| Meck | Дата: Четверг, 02-07-2009, 22:39 | Сообщение # 2 |
8 уровень
Группа: Проверенные
Сообщений: 648
| Zagar, ну можеш добавить им магию возрождения убрав перезарядку ману и .... Либо занося в переменную и после создание на месте позиции юнита (твой юнит)Добавлено (02-07-2009, 22:39) --------------------------------------------- Meck, впринципе вопрос немного непонятно написан
|
| |
|
| |
| Zagar | Дата: Четверг, 02-07-2009, 22:45 | Сообщение # 3 |
7 уровень
Группа: Проверенные
Сообщений: 368
| Quote (Meck) после создание на месте позиции юнита мне не надо чтобы он появился в том месте где его завалили, мне надо чтобы он появился, где ему положено стоять,т.е. когда карта загрузилась волк стоит в лесу,потом на него напали и он побежал за нападавшим....тот его потом убил на тропе какой-нить, прошло 20 секунд волк появился не в лесу , а на тропе, а он мне там не нужен
Хочешь сидеть на шее?Раздвигай ноги!Сомнения?...лучше не думай Я : Играю за : Но в душе я : 
|
| |
|
| |
| Хамяг | Дата: Четверг, 02-07-2009, 22:45 | Сообщение # 4 |
The Ashbringer Дядя инквизитор
Группа: Ветераны
Сообщений: 1935
| Zagar, При загрузке карты нужно каждого из них (можно через массив) записать - где они находятся. А потом, когда это нужно, воскрешать и давать им положение, записанное в переменную.
|
| |
|
| |
| Zagar | Дата: Четверг, 02-07-2009, 22:46 | Сообщение # 5 |
7 уровень
Группа: Проверенные
Сообщений: 368
| Zak, а расписать?
Хочешь сидеть на шее?Раздвигай ноги!Сомнения?...лучше не думай Я : Играю за : Но в душе я : 
|
| |
|
| |
| Meck | Дата: Четверг, 02-07-2009, 22:47 | Сообщение # 6 |
8 уровень
Группа: Проверенные
Сообщений: 648
| Zagar, без понятия, так там нечего ненашол в тригере скорей всего только через переменную, ну а через переменную я думаю ты зделаеш.
|
| |
|
| |
| Zagar | Дата: Четверг, 02-07-2009, 22:50 | Сообщение # 7 |
7 уровень
Группа: Проверенные
Сообщений: 368
| Quote (Meck) ну а через переменную я думаю ты зделаеш. Quote (Zak) записать - где они находятся.давать им положение, записанное в переменную. это мне надо область для каждого создать?
Хочешь сидеть на шее?Раздвигай ноги!Сомнения?...лучше не думай Я : Играю за : Но в душе я : 
|
| |
|
| |
| БАМ | Дата: Четверг, 02-07-2009, 23:15 | Сообщение # 8 |
10 уровень
Группа: Модераторы
Сообщений: 1689
| Zagar, нет, сохранить им в качестве переменной их стартовое местоположение, в ручную области создавать необязательно.
|
| |
|
| |
| Meck | Дата: Четверг, 02-07-2009, 23:31 | Сообщение # 9 |
8 уровень
Группа: Проверенные
Сообщений: 648
| Zagar, сделал только для одного нейтрального, для других нужно вписывать переменные, но у меня сейчас бошка неварит, на надеюсь поможет ЖМИ.
|
| |
|
| |
| Zagar | Дата: Четверг, 02-07-2009, 23:43 | Сообщение # 10 |
7 уровень
Группа: Проверенные
Сообщений: 368
| Meck, спасибо. Zak, БАМ, так? вопрос снят с повестки дня.
Хочешь сидеть на шее?Раздвигай ноги!Сомнения?...лучше не думай Я : Играю за : Но в душе я : 
|
| |
|
| |
| -Castro- | Дата: Пятница, 03-07-2009, 00:54 | Сообщение # 11 |
УГ продюссер
Группа: Проверенные
Сообщений: 1024
| Zagar, если у тя мапа 256х256 и куча крипов ты их также в переменную заносить собираешься? Аффтар, делай такой вот триггер Получается каждые 30 сек создаются юниты в определенной области, если в ней юнитов нет
Сообщение отредактировал -Castro- - Пятница, 03-07-2009, 00:55 |
| |
|
| |
| Хамяг | Дата: Пятница, 03-07-2009, 01:47 | Сообщение # 12 |
The Ashbringer Дядя инквизитор
Группа: Ветераны
Сообщений: 1935
| Моя задумка как раз по требованиям. Да и в русских триггерах не шарю.
|
| |
|
| |
| Enforcer | Дата: Пятница, 03-07-2009, 01:53 | Сообщение # 13 |
Энф Смотрящий за порядком
Группа: Ветераны
Сообщений: 2649
| Я бы как Кастро сделал, через области) Вроде когда то так и делал.
|
| |
|
| |
| lZanozal | Дата: Пятница, 03-07-2009, 01:55 | Сообщение # 14 |
2 уровень
Группа: Пользователи
Сообщений: 25
| Можно создать 2 массива (жалко нет динамических массивов) 1: Точка - Для сохранения позиции юнита 2: Боевая единица - для сохранения юнита и 1 целочисленную переменную для нумерации юнита с начальным числом 1. Создаем действие при инициализации Одряд юниты такого игрока 1 __цикл ____Точка[число] = Позиция юнита репик юнит ____юнит[число] = репик юнит ____Число = число + 1; далее в процессе смерти юнита проверяем зациклино его позицию в массиве Событие: юнит умирает Условие: юнит = принадлежит игрок 1 Действие: for 1 to размер массива do { __if ( Если юнит[А] ) подождать время (Wait) появление после смерти создать боевая единица (Тип репик юнит) в точке (Точка[A])... Юнит[А] = соданный юнит else нет действий } Вот идея но есть недостаток надо знать сколько юнитов у игрока и если добавил то и увелич размер массива Добавлено (03-07-2009, 01:55) --------------------------------------------- а и добавлю в методе ненужны области
Garena: ~|CFF010101bl Проект: Затеряный остров - В поисках снежного человека = 48%
|
| |
|
| |
| MaSer | Дата: Пятница, 03-07-2009, 02:37 | Сообщение # 15 |
Котобог Учитель класса "Б" и "В"
Группа: Ветераны
Сообщений: 1768
| Code /Globals globals gamecache cache = InitGameCache("map") real timeout = 30//Timeout for ressurect real array UXS real array UYS endglobals //RB function U2I takes unit u returns integer return u return 0 endfunction
function I2U takes integer i returns unit return i return null endfunction //Resurrect system function OnDie takes nothing returns nothing local unit u = GetDyingUnit() local integer id = GetUnitTypeId(u) local integer i = U2I(u) local integer nmb = GetStoredInteger(cache, "nmbs", I2S(i)) call FlushStoredInteger(cache, "nmbs", I2S(i)) call TriggerSleepAction(timeout) call RemoveUnit(u) set u = CreateUnit(Player(12), id, UXS[nmb], UYS[nmb], 0) call StoreInteger(cache, "nmbs", I2S(U2I(u)), nmb) set u = null endfunction
function Res_Init takes nothing returns nothing local group g = CreateGroup() local unit u local integer i = 1 local trigger t = CreateTrigger() call GroupEnumUnitsOfPlayer(g, Player(12), null) loop set u = FirstOfGroup(g) exitwhen u == null or i >= 8000 set UXS[i] = GetUnitX(u) set UYS[i] = GetUnitY(u) call StoreInteger(cache, "nmbs", I2S(U2I(u)), i) call GroupRemoveUnit(g, u) set i = i + 1 endloop call DestroyGroup(g) call TriggerRegisterPlayerUnitEvent(t, Player(12), EVENT_PLAYER_UNIT_DEATH, null) call TriggerAddAction(t, function OnDie) set t = null endfunction Должно работать. Не тестил, ибо все равно никто не воспользуется. Последнюю функцию запустить на нулевой секунде.
Сообщение отредактировал MaSer - Пятница, 03-07-2009, 02:43 |
| |
|
| |
| -Castro- | Дата: Пятница, 03-07-2009, 09:24 | Сообщение # 16 |
УГ продюссер
Группа: Проверенные
Сообщений: 1024
| Quote (MaSer) Должно работать. Не тестил, ибо все равно никто не воспользуется. Последнюю функцию запустить на нулевой секунде. Глупо писать пример на Jass для человека который на триггерах не может сделать возрождение крипов  Добавлено (03-07-2009, 09:24) ---------------------------------------------
Quote (Enforcer) Я бы как Кастро сделал, через области) Вроде когда то так и делал. в доте так же сделано
|
| |
|
| |
| Zagar | Дата: Пятница, 03-07-2009, 11:41 | Сообщение # 17 |
7 уровень
Группа: Проверенные
Сообщений: 368
| Quote (-Castro-) тя мапа 256х256 и куча крипов нет карта маленькая,если честно когда много областей это тоже вариант, что лучше выбирать область или переменную? Quote (-Castro-) пример на Jass Jass я конечно не знаю, но:Quote (-Castro-) не может сделать возрождение крипов сделать я могу,вот мой окончательный вариант(ибо тот создает только один раз ),но только спецэффект надо подобрать нужный:
Хочешь сидеть на шее?Раздвигай ноги!Сомнения?...лучше не думай Я : Играю за : Но в душе я : 
Сообщение отредактировал Zagar - Пятница, 03-07-2009, 11:58 |
| |
|
| |
| nekron_013 | Дата: Пятница, 03-07-2009, 12:25 | Сообщение # 18 |
3 уровень
Группа: Проверенные
Сообщений: 63
| Событие: юнит игрока нейтрально враждебный погиб. Условие: (сам поставиш если надо) Действие:создать юнита тип умерающий юнит 1шт поворот на сколько то градусов...
Помогу всем новичкам с триггерами, редактором объектов, импортом моделей и т.п. Пишите свои вопросы на icq 553237197
|
| |
|
| |
| БАМ | Дата: Пятница, 03-07-2009, 12:43 | Сообщение # 19 |
10 уровень
Группа: Модераторы
Сообщений: 1689
| nekron_013, и ты будешь на каждого юнита отдельный триггер делать?
|
| |
|
| |
| MaSer | Дата: Пятница, 03-07-2009, 13:05 | Сообщение # 20 |
Котобог Учитель класса "Б" и "В"
Группа: Ветераны
Сообщений: 1768
| Quote (-Castro-) в доте так же сделано В доте не также сделано Quote (-Castro-) Глупо писать пример на Jass для человека который на триггерах не может сделать возрождение крипов То, что я написал, можно сделать почти в таком же виде и без джасса.
|
| |
|
| |
| Dragon93 | Дата: Пятница, 03-07-2009, 13:39 | Сообщение # 21 |
In The Shadow
Группа: КоМодераторы
Сообщений: 2005
| Quote (MaSer) То, что я написал, можно сделать почти в таком же виде и без джасса. угу,правда за исключением рб и стора интегеров(и ещё нескольких действий(создание локального трига к примеру)) ЗЫ: MaSer, а разве не нужно уничтожать триг t,для избежания утечек?(правда нужно будет ещё ждать,пока не закончит выполнение функция OnDie иначе эффекта вообще не буит...)
Я Собственная сборка JNGP Уважаемые посетители раздела картостроя,проектов и не только - модератор не робот,за всеми не уследит.Если вы увидели нарушение нажмите кнопку жалоба.Заранее благодарю
Сообщение отредактировал Dragon93 - Пятница, 03-07-2009, 13:39 |
| |
|
| |
| MaSer | Дата: Пятница, 03-07-2009, 17:16 | Сообщение # 22 |
Котобог Учитель класса "Б" и "В"
Группа: Ветераны
Сообщений: 1768
| Quote (Dragon93) ЗЫ: MaSer, а разве не нужно уничтожать триг t,для избежания утечек?(правда нужно будет ещё ждать,пока не закончит выполнение функция OnDie иначе эффекта вообще не буит. Попробуй, уничтожь. Работать перестанет. Quote (Dragon93) угу,правда за исключением рб и стора интегеров(и ещё нескольких действий(создание локального трига к примеру)) Они заменяются на нелокальные триггеры, и кастом велью.
|
| |
|
| |
| Dragon93 | Дата: Пятница, 03-07-2009, 17:54 | Сообщение # 23 |
In The Shadow
Группа: КоМодераторы
Сообщений: 2005
| Quote (MaSer) Попробуй, уничтожь. Работать перестанет но ведь локальный триг останеться в памяти?
Я Собственная сборка JNGP Уважаемые посетители раздела картостроя,проектов и не только - модератор не робот,за всеми не уследит.Если вы увидели нарушение нажмите кнопку жалоба.Заранее благодарю
|
| |
|
| |
| MaSer | Дата: Пятница, 03-07-2009, 17:55 | Сообщение # 24 |
Котобог Учитель класса "Б" и "В"
Группа: Ветераны
Сообщений: 1768
| Quote (Dragon93) но ведь локальный триг останеться в памяти? Quote (MaSer) set t = null
|
| |
|
| |
| Dragon93 | Дата: Пятница, 03-07-2009, 18:06 | Сообщение # 25 |
In The Shadow
Группа: КоМодераторы
Сообщений: 2005
| MaSer, переменная = ссылка ты таким образом теряешь ссылку на объект...
Я Собственная сборка JNGP Уважаемые посетители раздела картостроя,проектов и не только - модератор не робот,за всеми не уследит.Если вы увидели нарушение нажмите кнопку жалоба.Заранее благодарю
|
| |
|
|
|
|
 |
|
 |
|
|