Сейчас 22:11:17 Пятница, 26 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » ограничение обучения юнитов (Помогите)
ограничение обучения юнитов
Snyppi-killerДата: Суббота, 25 Декабря 2010, 02:21:09 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 344
Награды: 0
Репутация: 42
Блокировки:
Помогите, как сделать ограниченное обучение юнитов? тоесть, к примеру, чтоб в казармах можно было создать ток 2 пехотинца?
 

IlgardIoДата: Суббота, 25 Декабря 2010, 02:40:20 | Сообщение # 2
3 уровень
Группа: Пользователи
Сообщений: 57
Награды: 0
Репутация: 11
Блокировки:
Игрок - Ограничить подготовку юнитов [тип юнита] до [кол-во] для игрок [твой игрок[
 

Snyppi-killerДата: Суббота, 25 Декабря 2010, 16:39:58 | Сообщение # 3
7 уровень
Группа: Проверенные
Сообщений: 344
Награды: 0
Репутация: 42
Блокировки:
спс, но как сделать так чтоб ограничено было только у 1 здания? то есть в тех же казармах можно только 2 пехотинца, построил еще казармы в них тоже только 2. А если сделать как ты написал то ты хоть 100 казарм построй пехотинцев можно только 2 нанять. Нужно чтоб в каждом здании можно было только 2 нанять(обучить)
 

DenialsanДата: Суббота, 25 Декабря 2010, 17:24:49 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки:
Quote (Snyppi-killer)
пс, но как сделать так чтоб ограничено было только у 1 здания? то есть в тех же казармах можно только 2 пехотинца, построил еще казармы в них тоже только 2. А если сделать как ты написал то ты хоть 100 казарм построй пехотинцев можно только 2 нанять. Нужно чтоб в каждом здании можно было только 2 нанять(обучить)

а может тебе как нибудь по другому обойти этот вопрос? тебе вроде нужно будет выбирать все здания типа казармы и ограничивать в них подготовку юнитов.
 

EnforcerДата: Суббота, 25 Декабря 2010, 17:32:46 | Сообщение # 5
Энф
Когда-то смотрел за порядком
Группа: Ветераны
Сообщений: 3127
Награды: 7
Репутация: 981
Блокировки:
Snyppi-killer,
Вариант 1. Создавай двумерный массив где 1-ая колонка ID казармы, вторая и третья это ID пехотинцев. После смерти опустошай ID - Это если к конкретной казарме привязывать конкретного пехотинца.
Вариант 2. Более простой. Если количество пехотинцев >= Количество казарм * 2, то отменять подготовку пехотинца.


 

Snyppi-killerДата: Суббота, 25 Декабря 2010, 17:34:38 | Сообщение # 6
7 уровень
Группа: Проверенные
Сообщений: 344
Награды: 0
Репутация: 42
Блокировки:
Quote (Enforcer)
Вариант 2. Более простой. Если количество пехотинцев >= Количество казарм * 2, то отменять подготовку пехотинца.

распиши плз
 

EnforcerДата: Суббота, 25 Декабря 2010, 18:02:55 | Сообщение # 7
Энф
Когда-то смотрел за порядком
Группа: Ветераны
Сообщений: 3127
Награды: 7
Репутация: 981
Блокировки:
1. Более красивый вариант:
Создаешь юнита. Называешь его скажем "Больше казарм" (поймешь потом почему). Дай ему способность Москиты и Неуязвимый. И сделай Без атаки.
Выбирашь тип юнита "Пехотинец". Добавляешь ему Технологии - Требование юнита "Больше казарм".

Далее:
Если в игре количество казарм > Количество пехотинцев *2, то создай где нибудь это юнита для этого игрока.

Создай следующие триггеры

FootmanDie
Событие
- Юнит умирает

Условие
- Умирающий юнит = Пехотинец
- Количество живых Пехотинцев*2 у Trigger Unit < Количество Живых казарм у TriggerUnit

Действие
Если количество живых Требует казарм = 0 то
Создать 1 Больше казарм для TriggerUnit в каком нибудь месте на базе, не имеет значения.

BuildBarrack
Событие
- Юнит завершил строительство

Условие
- Counstructed Structure = Казарма
- Количество живых Пехотинцев*2 у Trigger Unit < Количество Живых казарм у TriggerUnit

Действие
Если количество живых Требует казарм = 0 то
Создать 1 Больше казарм для TriggerUnit в каком нибудь месте на базе, не имеет значения.

FootmanMax
Событие
- Юнит завершил подготовку боевой единицы

Условие
- Trained Unit = Пехотинец
- Количество живых Пехотинцев*2 у Trigger Unit >= Количество Живых казарм у TriggerUnit

Действие
Выделить все "Требует казарм" у TriggerUnit и сделать след действия: Удалить Picked Unit из игры.

FootmanDie
Событие
- Юнит умирает

Условие
- Умирающий юнит = Пехотинец
- Количество живых Пехотинцев*2 у Trigger Unit < Количество Живых казарм у TriggerUnit

Действие
Если количество живых Требует казарм = 0 то
Создать 1 Требует казарм для TriggerUnit в каком нибудь месте на базе, не имеет значения.

BarrackDie
Событие
- Юнит умирает

Условие
- Умирающий юнит = Казарма
- Количество живых Пехотинцев*2 у Trigger Unit > Количество Живых казарм у TriggerUnit

Действие
Выделить все "Больше казарм" у TriggerUnit и сделать след действия: Удалить Picked Unit из игры.

Итак, что у нас получится:
Когда мы тренируем футманов или казарму разрушат, если у нас количество пехотинцев будет больше чем казарм, то что бы сделать нового футмана во всех казармах в описании футманв будет написано.
Требуется:
- Больше казарм

Когда построишь новую казарму или пехотинец погибниет то эта надпись уберется.

2. Вариант: Простой.

Событие: Юнит начинает подготовку боевой единицы.
Условие:
Количество живых Пехотинцев*2 у Trigger Unit >= Количество Живых казарм у TriggerUnit
Trained Unit = Пехотинец
Действие: Приказать TriggerUnit отставить.

Этот триггер при попытке создать пехотинца будет отменять тренировку если достигнут предел пехотинцев на карте.




Сообщение отредактировал Enforcer - Суббота, 25 Декабря 2010, 18:03:48
 

Snyppi-killerДата: Суббота, 25 Декабря 2010, 18:13:13 | Сообщение # 8
7 уровень
Группа: Проверенные
Сообщений: 344
Награды: 0
Репутация: 42
Блокировки:
О_о ну попробую

Добавлено (25-12-2010, 18:13)
---------------------------------------------

Quote (Enforcer)
- Количество живых Пехотинцев*2 у Trigger Unit < Количество Живых казарм у TriggerUnit

так? Кол-во живых юнитов Пехотинец Игрок 1 красный меньше кол-во жизней Больше казарм Игрок 1 красный?


Сообщение отредактировал Snyppi-killer - Суббота, 25 Декабря 2010, 18:19:39
 

EnforcerДата: Суббота, 25 Декабря 2010, 18:30:27 | Сообщение # 9
Энф
Когда-то смотрел за порядком
Группа: Ветераны
Сообщений: 3127
Награды: 7
Репутация: 981
Блокировки:
Snyppi-killer, Именно Trigger Unit.

Кто заказал или потерял пехотинца


 

Snyppi-killerДата: Суббота, 25 Декабря 2010, 18:32:32 | Сообщение # 10
7 уровень
Группа: Проверенные
Сообщений: 344
Награды: 0
Репутация: 42
Блокировки:
Quote (Enforcer)
Выделить все "Требует казарм" у TriggerUnit и сделать след действия: Удалить Picked Unit из игры.

что зачит требует казарм?

Добавлено (25-12-2010, 18:32)
---------------------------------------------

Quote (Enforcer)
Snyppi-killer, Именно Trigger Unit.

Владелец переклющающий юнит подойдет?
 

EnforcerДата: Суббота, 25 Декабря 2010, 18:34:12 | Сообщение # 11
Энф
Когда-то смотрел за порядком
Группа: Ветераны
Сообщений: 3127
Награды: 7
Репутация: 981
Блокировки:
Snyppi-killer, Да. Он и есть.

Требует казарм это просто название юнита.


 

Snyppi-killerДата: Суббота, 25 Декабря 2010, 18:41:21 | Сообщение # 12
7 уровень
Группа: Проверенные
Сообщений: 344
Награды: 0
Репутация: 42
Блокировки:
Quote (Enforcer)
Требует казарм это просто название юнита.

создать нужно такого?

Добавлено (25-12-2010, 18:38)
---------------------------------------------

Quote (Enforcer)
FootmanDie
Событие
- Юнит умирает

Условие
- Умирающий юнит = Пехотинец
- Количество живых Пехотинцев*2 у Trigger Unit < Количество Живых казарм у TriggerUnit

Действие
Если количество живых Требует казарм = 0 то
Создать 1 Требует казарм для TriggerUnit в каком нибудь месте на базе, не имеет значения.


Quote (Enforcer)
FootmanDie
Событие
- Юнит умирает

Условие
- Умирающий юнит = Пехотинец
- Количество живых Пехотинцев*2 у Trigger Unit < Количество Живых казарм у TriggerUnit

Действие
Если количество живых Требует казарм = 0 то
Создать 1 Больше казарм для TriggerUnit в каком нибудь месте на базе, не имеет значения.


Повторяются

Добавлено (25-12-2010, 18:41)
---------------------------------------------
Смотри все сделано кроме действий в посл. двух тригах, сделай плз
http://rghost.ru/3751442

Сообщение отредактировал Snyppi-killer - Суббота, 25 Декабря 2010, 18:42:03
 

EnforcerДата: Суббота, 25 Декабря 2010, 23:43:52 | Сообщение # 13
Энф
Когда-то смотрел за порядком
Группа: Ветераны
Сообщений: 3127
Награды: 7
Репутация: 981
Блокировки:
Quote (Snyppi-killer)
создать нужно такого?

Да.
Можешь на основе футмана какого нибудь, только убери атаку и модель прозрачную поставь и физ размер 0. Короче обычное дамми.

Quote (Snyppi-killer)
Повторяются

Случайно.


 

Snyppi-killerДата: Суббота, 25 Декабря 2010, 23:55:29 | Сообщение # 14
7 уровень
Группа: Проверенные
Сообщений: 344
Награды: 0
Репутация: 42
Блокировки:
Выделить все "Больше казарм" у TriggerUnit и сделать след действия: Удалить Picked Unit из игры.
не нашел такое

Добавлено (25-12-2010, 23:55)
---------------------------------------------
все сделал но не работает, посмотри http://rghost.ru/3755862

 

EnforcerДата: Воскресенье, 26 Декабря 2010, 02:26:13 | Сообщение # 15
Энф
Когда-то смотрел за порядком
Группа: Ветераны
Сообщений: 3127
Награды: 7
Репутация: 981
Блокировки:
Ты допустил много ошибок при создании.

Вот работающий код.




Сообщение отредактировал Enforcer - Воскресенье, 26 Декабря 2010, 02:29:53
 

SirNikolasДата: Воскресенье, 26 Декабря 2010, 11:39:29 | Сообщение # 16
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (Enforcer)
Вариант 1. Создавай двумерный массив,
А как такое возможно?


 

DenialsanДата: Воскресенье, 26 Декабря 2010, 14:03:56 | Сообщение # 17
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки:
Quote (SirNikolas)
А как такое возможно?

а тебе не проще сделать "автонайм" юнитов? типа когда строиш казармы, проигрывается анимация казарм какбуд-то там найм, триггерно создавать пехотинцев и отнимать нужное кол-во ресурсов если они есть на данный момент у игрока, а над казармами писать сколько еще воинов осталось обучить. переменные для казарм и пехотинцев нужно создавать всегда переменная[массив+1] для следующего здания.
 

Snyppi-killerДата: Воскресенье, 26 Декабря 2010, 21:50:22 | Сообщение # 18
7 уровень
Группа: Проверенные
Сообщений: 344
Награды: 0
Репутация: 42
Блокировки:
спс большое

Добавлено (26-12-2010, 21:50)
---------------------------------------------
ппц я уже замучался, как не стараюсь не получается. Вот скопировал в карту все что ты сделал, работает, а вставляю то что мне надо - не работает! я 2 часа уже мучаюсь не понимаю из-за чего не пашет, оно для всего должно работать?

 

EnforcerДата: Воскресенье, 26 Декабря 2010, 21:52:45 | Сообщение # 19
Энф
Когда-то смотрел за порядком
Группа: Ветераны
Сообщений: 3127
Награды: 7
Репутация: 981
Блокировки:
Только для пехотинцев

 

Snyppi-killerДата: Воскресенье, 26 Декабря 2010, 21:56:10 | Сообщение # 20
7 уровень
Группа: Проверенные
Сообщений: 344
Награды: 0
Репутация: 42
Блокировки:
че правда? а если все также сделать только вместо казарм - ферма, пехотинцев - крестьяне, Больше казарм - больше ферм? Я полностью все заменил
 

Host-mapperДата: Воскресенье, 26 Декабря 2010, 22:02:08 | Сообщение # 21
6 уровень
Группа: Проверенные
Сообщений: 177
Награды: 0
Репутация: 42
Блокировки:
Snyppi-killer, Может попробовать сделать чтоб как с тавернах? Правда они будут 0 сек строится. а перезарядку можно сделать 99999999.
 

Snyppi-killerДата: Воскресенье, 26 Декабря 2010, 22:07:54 | Сообщение # 22
7 уровень
Группа: Проверенные
Сообщений: 344
Награды: 0
Репутация: 42
Блокировки:
Quote (Host-mapper)
Snyppi-killer, Может попробовать сделать чтоб как с тавернах? Правда они будут 0 сек строится. а перезарядку можно сделать 99999999.

перечитай вопрос, мне нужно чтоб в каждом здании только 2 можно было нанимать, как Enforcer, написал эт само то, но еще б разобраться
 

Host-mapperДата: Воскресенье, 26 Декабря 2010, 22:31:28 | Сообщение # 23
6 уровень
Группа: Проверенные
Сообщений: 177
Награды: 0
Репутация: 42
Блокировки:
<_< Разве как я сказал, так не будет?

Добавлено (26-12-2010, 22:31)
---------------------------------------------
Вот Наработка
только сделай чтоб начало 5 пехотинцев появлялось, а не 1 это я забыл как сделать :)

 

Snyppi-killerДата: Воскресенье, 26 Декабря 2010, 22:38:24 | Сообщение # 24
7 уровень
Группа: Проверенные
Сообщений: 344
Награды: 0
Репутация: 42
Блокировки:
спс, позже заценю
 

EnforcerДата: Понедельник, 27 Декабря 2010, 00:31:38 | Сообщение # 25
Энф
Когда-то смотрел за порядком
Группа: Ветераны
Сообщений: 3127
Награды: 7
Репутация: 981
Блокировки:
Snyppi-killer, тогда придется немного изменить триггеры и можно сделать 1 общий триггер для обновления состояния кнопок вызова юнит.

Например
Событие Юнит умер (не важно кто)
Условие (можно в принципе не писать, но что бы лишний раз не вызвать триггер можно через ИЛИ указать на какой тип реагировать)
Действие Запустить триггер RefreshButton

Событие Юнит закончил тренировку
Действие Запустить триггер RefreshButton

Событие Юнит закончил строительство
Действие Запустить триггер RefreshButton

RefreshButton: В этом триггере мы активируем или деактивируем кнопки тренировки юнитов в зависимости от количества живых зданий и войск
Событие: (пусто)
Действие:
Для А от 1 до 12 совершить действие


    Если Количество живых пехотинцев у Игрок А>= Количество живых казарм у Игрок А *2 и Выбрать каждого Больше казарм у Игрока А и Удалить выбранный юнит из игры иначе Если количество живых Больше казарм у игрока А = 0 то создать 1 Больше казарм для Игрока А.

    Для крестьян делаешь тоже самое только вместо Пехотинцев выбираем тип войск Крестьяне и здание вместо Казарм - Ферма и создаешь нового юнита - Больше ферм, и крестьянам добавляешь его в Технологии - Требования.

    Так можно и для всех остальных. И всё в этом цикле.

Для чего сделали Цикл. Этот цикл позволяет проверять не только у 1-го игрока но и у всех остальных. Так мы сократили количество триггеров, но правда добавили лишнюю проверку. Через Jass конечно можно было бы передавать ID игрока и тип войска на который откликнулся триггер, но для тебя было бы сложно.




Сообщение отредактировал Enforcer - Понедельник, 27 Декабря 2010, 00:35:15
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » ограничение обучения юнитов (Помогите)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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