[Статья] Делаем респ юнита с заданным дропом
|
|
Vulcanus | Дата: Суббота, 12 Января 2013, 21:24:30 | Сообщение # 1 |
1 уровень
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 1
Блокировки:
| Часть первая
Здравствуйте те кто посетил эту тему. Здесь я постараюсь изложить ответы на вопросы : 1.Как сделать чтобы Unit респился (возрождался на том же месте после смерти). 2.Как сделать так чтобы с него выпадал Дроп с каким либо шансом.
Для начала создадим проект и разместим на нём монстра. После этого создаем область на месте монстра. Она и будет той точкой на которой будет возрождаться монстр .
Для начала давайте я роскажу немного про буфер игры. А точнее не я а вот этот человек
Цитата (Malfatto) Ща обьясню.
Добавлено (15-11-2007, 23:12) --------------------------------------------- Шобы сохранить героя в кэш, нужно: Буфер игры - Create Game Cashe Вводишь название кэша (например: war.w3v;) Ресширение ОБЯЗАТЕЛЬНО Буфер игры - Store Unit В строке Unit укажи юнита, которово хочешь сэйвить, в строке Label введи его имя (транслитом), в строке Category введи, скажем, название главы. Last created game cashe не изменяй. Буфер игры - Save Game Cashe Last created game cashe не изменяй.
Шобы выгрузить героя из кэша, нужно: Буфер игры - Create Game Cashe Вводишь название кэша (который ты создал раннее С РАСШИРЕНИЕМ) Буфер игры - Restore Unit Facing Angle В строке Label введи имя героя, которого сохранил (транслитом), в строке Category введи название категории (её название это название этой же строки, когда ты сохранял). Выбери какого цвета он будет, где он появица и куда он будет смотреть (в градусах). Создай переменную и назови её, скажем, RestoredUnit типа Боевая Еденица Set Variable И сделай: Set RestoredUnit = (Last restored unit) Буфер игры - Save Game Cashe Last created game cashe не изменяй.
Всё, думаю это те панадабицца)))
А это нам понадобиться
Теперь создаем переменные : Chislo - целочеслительная (Целое прм. ред) Monster - масив из Боевая единица (Сдесь мы сохраним нашего монстра с индефикатором масива заданым переменной Chislo) (наш Label) NomberMonsterInBuffer - строка () (наша Category) StartMonster - Боевая еденица StartMonsterLocation - область LocationMonster - масив областей респа монстров (там где он появиться см. выше цитату) ItemTable - масив из Тип предмета ItemTablePercent - мачив из чисел (задают шанс дропа) gm_Buff - буфер игры (наш буфер игры)
Сдесь мы задаем нашего монстра
ТРИГЕР Monstr1 Собиытие - Map initialization действие Set Chislo = 1 (идентификатор в масивах) Set StartMonster = Кабан 0013 <gen> (наш монстр на карте) Set StartMonsterLocanion =Область 0001 <gen> (наша область) Set LocationMonster[Chislo] = StartMonsterLocanion (задаем в масив областей нашу область) Set ItemTable[Chislo] = Боевые когти (+15) (задаем тип дропа) Set ItemTablePercent[Chislo] = 10 (шанс на дроп) Тригер- Run buffM <gen> (ignoring conditions)
Этот тригер запускаеться каждый раз после задания монстра. Он записывает юнит в Буфер и ставит его на нужное место.. Тригер BuffM действие Set NomberMonsterInBuffer = (String(Chislo)) Буфер игры - Create a game cache from StartBuffer.w3v Буфер игры - Store StartMonster as NomberMonsterInBuffer of Monsters in (Last created game cache) Боевая еденица - Remove StartMonster from the game Буфер игры - Save (Last created game cache) Set gm_Buff = (Last created game cache) Буфер игры - Restore NomberMonsterInBuffer of Monsters from (Last created game cache) for Нейтрально - Враждебный at (Center of StartMonsterLocanion) facing (Position of (Triggering unit)) Set Monster[Chislo] = (Last restored unit)
ТРИГЕР RespMonster Событие Боевая еденица - A unit умирает Действие For each (Integer Chislo) from 1 to 10, do (Actions) Цикл - Действия If (All Conditions are True) then do (Then Actions) else do (Else Actions) Если - условия (Triggering unit) равно Monster[Chislo] То - Действия Set NomberMonsterInBuffer = (String(Chislo)) Буфер игры - Restore NomberMonsterInBuffer of Monsters from gm_Buff for Нейтрально - Враждебный at (Center of LocationMonster[Chislo]) facing (Position of (Triggering unit)) Set Monster[Chislo] = (Last restored unit) Тригер - Run ItemMonster <gen> (ignoring conditions) Иначе - действия
ТРИГЕР ItemMonster Действие Set i = (Random integer number between 1 and ItemTablePercent[Chislo]) If (i равно 10) then do (предмет‚ - Create ItemTable[Chislo] at (Position of (Triggering unit))) else do (Do nothing)
Сама суть только в том что вы делаете много тригеров на создание только юнита, а всё остальное делать не надо. Скачайте карту там все поймете. Думаю лучше на GUI придумать никто не смог.... Я так думаю
Кому не понятно спрашивайте лучше потом допишу, а то мне эту статью было делать труднее чем придумывать этот модуль Если я сдесь гдето ошибся в описании Вот ссылка на наработку http://depositfiles.com/files/xduc7dmy3
|
|
|
|
Imba_pvL | Дата: Суббота, 12 Января 2013, 21:26:07 | Сообщение # 2 |
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
| Vulcanus, скриншотов нету обнови а то щас закусают
|
|
|
|
Vulcanus | Дата: Суббота, 12 Января 2013, 21:30:05 | Сообщение # 3 |
1 уровень
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 1
Блокировки:
| Цитата (Imba_pvL) Vulcanus, скриншотов нету
Говорят только провереным можно скрины вставлять я то ещё 0
|
|
|
|
Imba_pvL | Дата: Суббота, 12 Января 2013, 21:42:49 | Сообщение # 4 |
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
| Vulcanus, вполне неплохо для новичка Но я раскрою секрет (Гидра такой же эффект, но предметы там не выпадают) А так молодец, только подумай над чем нужно подумать, что-то новенькое и продуманное
|
|
|
|
Vulcanus | Дата: Суббота, 12 Января 2013, 21:48:55 | Сообщение # 5 |
1 уровень
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 1
Блокировки:
| Не ну тут можно задать время задержки минуту две...
|
|
|
|
МИЦАКУЛТ | Дата: Воскресенье, 13 Января 2013, 01:44:46 | Сообщение # 6 |
6 уровень
Группа: Проверенные
Сообщений: 233
Награды: 0
Репутация: 36
Блокировки:
| Можно просто скопировать папкуMonsterSpawners из стандартной карты WC3 warchasers и перекинуть ее себе, заменить тип игрока за которого будут респаться иниты/крипы и поставить на любой вид зданий/декораций, а также вид/тип юнитов респующихся Добавлено (13 Январь 2013, 01:44:46) --------------------------------------------- А если у тебя будут выпадать дроп только когти то это не айс, лучше тогда по моему варианту, только кинуть дроп на здание которое убил, если оно разрушено - то юниты уже небудут респаться, вот и все
|
|
|
|
Murador | Дата: Воскресенье, 13 Января 2013, 01:51:25 | Сообщение # 7 |
Группа: Проверенные
Сообщений: 1221
Награды: 1
Репутация: 446
Блокировки:
| Цитата (Vulcanus) 2.Как сделать так чтобы с него выпадал Дроп с каким либо шансом. Цитата (Vulcanus) Set i = (Random integer number between 1 and ItemTablePercent[Chislo]) If (i равно 10) then do (предмет‚ - Create ItemTable[Chislo] at (Position of (Triggering unit))) else do (Do nothing) тут нету шанса, тут тупой рандом
|
|
|
|
Vulcanus | Дата: Воскресенье, 13 Января 2013, 13:58:59 | Сообщение # 8 |
1 уровень
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 1
Блокировки:
| Цитата (Murador) тут нету шанса, тут тупой рандом
Нуу... Это же и есть шанс на дроп. Просто тут можно пофантазировать и сделать несколько вещей которые можно получить.Добавлено (13 Января 2013, 13:58:59) ---------------------------------------------
Цитата (МИЦАКУЛТ) А если у тебя будут выпадать дроп только когти то это не айс, лучше тогда по моему варианту, только кинуть дроп на здание которое убил, если оно разрушено - то юниты уже небудут респаться, вот и все
Да сдесь просто пишешь на несколько вещей, если так то когди если так то кольцо и тп.ет.
|
|
|
|
Ty3uK | Дата: Воскресенье, 13 Января 2013, 14:00:09 | Сообщение # 9 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Ошибок орфографических - тьма.
|
|
|
|
Imba_pvL | Дата: Воскресенье, 13 Января 2013, 14:06:51 | Сообщение # 10 |
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
| Vulcanus, масив пишется вот так: Массив запомни=) да норм,учитывая что ты в картострое только 2 недели
|
|
|
|
lawson | Дата: Вторник, 15 Января 2013, 17:44:59 | Сообщение # 11 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| автор типичный картостроитель, из которого, после двух недель в редакторе, так и прут знания!
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|