Сейчас 07:29:41 Суббота, 20 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » [Статья] Делаем респ юнита с заданным дропом (GUI с использованием Буфера игры)
[Статья] Делаем респ юнита с заданным дропом
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 не изменяй.

Всё, думаю это те панадабицца)))


А это нам понадобиться :D

Теперь создаем переменные :
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 придумать никто не смог.... Я так думаю B)

Кому не понятно спрашивайте лучше потом допишу, а то мне эту статью было делать труднее чем придумывать этот модуль
Если я сдесь гдето ошибся в описании
Вот ссылка на наработку 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
Блокировки:
Ошибок орфографических - тьма.

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

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.
редактирую посты! ВСЕ!
 

Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » [Статья] Делаем респ юнита с заданным дропом (GUI с использованием Буфера игры)
  • Страница 1 из 1
  • 1
Поиск:

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