| [Статья] Делаем респ юнита с заданным дропом | 
| 
				
			 | 
| 
| 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. редактирую посты! ВСЕ!
 |  |  |  |  
 |