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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Постройка зданий
TerradorДата: Суббота, 13 Апреля 2013, 11:32:02 | Сообщение # 1
8 уровень
Группа: Проверенные
Сообщений: 676
Награды: 0
Репутация: 1101
Блокировки:
Здание было уничтожено, и случайно выбранному работнику триггерно был отдан приказ о постройке такого же здания на том же самом месте.
Но проблема в том, что если работника убьют или помешают ему построить здание, то оно больше не будет построено, а нужно его построить заново, например через 10 секунд. Как сделать такое, но чтобы не нужно было проверять наличие каждого по отдельности здания?


 

NaturekidДата: Суббота, 13 Апреля 2013, 11:39:05 | Сообщение # 2
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
это для АИ?
можешь юзать мою открытую INMO http://warcraft3ft.info/go?http://www.epicwar.com/maps/225747/
Там категория триггов Computer AI и триггер train upgrade кажется, без утечек и все востребованные действи я аи имеются.


 

НаклзДата: Суббота, 13 Апреля 2013, 11:58:34 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Может в конце не триггеринг юнит , а Dying юнит...
 

TerradorДата: Суббота, 13 Апреля 2013, 12:01:40 | Сообщение # 4
8 уровень
Группа: Проверенные
Сообщений: 676
Награды: 0
Репутация: 1101
Блокировки:
Цитата (Naturekid)
это для АИ?
Да, но мне нужна только замена уничтоженного здания
Цитата (Naturekid)
http://warcraft3ft.info/go?http://www.epicwar.com/maps/225747/
Там категория триггов Computer AI и триггер train upgrade кажется, без утечек и все востребованные действи я аи имеются.
Триггер очень большой и слишком сложный, мне же нужно только заменить уничтоженное здание, и всё!

Добавлено (13 Апреля 2013, 12:01:40)
---------------------------------------------

Цитата (Наклз)
Может в конце не триггеринг юнит
Без разницы, проблема-то не в этом


 

NaturekidДата: Суббота, 13 Апреля 2013, 12:16:25 | Сообщение # 5
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Terrador, чем не годится проверка числа юнитов игрока типа такого-то?
если недостаточно - построить-натренировать


 

TerradorДата: Суббота, 13 Апреля 2013, 12:31:07 | Сообщение # 6
8 уровень
Группа: Проверенные
Сообщений: 676
Награды: 0
Репутация: 1101
Блокировки:
Цитата (Naturekid)
чем не годится проверка числа юнитов игрока типа такого-то?
если недостаточно - построить-натренировать
Не годится тем, что надо построить новое здание там, где стояло старое.


 

NaturekidДата: Суббота, 13 Апреля 2013, 12:39:22 | Сообщение # 7
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
тогда задавай точки с оффсетами, точно глюкать не будет :)
например игрок 1 имеет постоянные точки
constantBarrcks[1]=player(1)'s start location offset by (400, 400) - точка для бараков
constantlumbermill[1]player(1)'s start location offset by (-900, 600) - точка для лесопилки


 

TerradorДата: Суббота, 13 Апреля 2013, 18:23:43 | Сообщение # 8
8 уровень
Группа: Проверенные
Сообщений: 676
Награды: 0
Репутация: 1101
Блокировки:
Другой вопрос: каким условием проверить, содержит ли область юнита конкретного типа?

 

NaturekidДата: Суббота, 13 Апреля 2013, 18:27:51 | Сообщение # 9
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
boolean - unit in region

Добавлено (13 Апреля 2013, 18:27:51)
---------------------------------------------
ну например
set regionX = region centered in constantbarracks[1] with size 500, 500
set groupX = units in regionX matching unit-type of matching unit = barracks
if number of units in groupX = 0 - значит нету там бараков


 

TerradorДата: Суббота, 13 Апреля 2013, 19:53:42 | Сообщение # 10
8 уровень
Группа: Проверенные
Сообщений: 676
Награды: 0
Репутация: 1101
Блокировки:
Naturekid, спасибо за подсказку, но теперь другая проблема: когда здание уничтожено, то каждые 20 сек выбирается работник и отправляется строить здание, несмотря на то, если приказ уже был отдан ранее другому работнику. И приходит рабочий, строит здание, затем приходят еще несколько, и пытаются построить здание там, где оно уже строится, поэтому они тупо уходят. А нужно чтобы приказ отдавался только 1 рабочему, а если он погибает или постройка здания не удалась, то отдать тот же приказ другому рабочему. Но это наверное невозможно...

 

NaturekidДата: Суббота, 13 Апреля 2013, 22:14:18 | Сообщение # 11
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
создавай летающего невидимого дамми на позиции предполагаемого здания и делай проверку на наличие дамми, как здание достроится - убирай его. :)

 

BorodachДата: Воскресенье, 14 Апреля 2013, 02:32:27 | Сообщение # 12
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
Terrador,
С:Умирает
У:умерло здание
Д:Установить переменной ЮНИТ равно случайный рабочий
Установить переменной ЗНАДИЕ равно умершый
Приказать ЮНИТ строить ЗДАНИЕ

С:умирает
У:умершый не равно ЗДАНИЕ
умерший равно ЮНИТ
Д:Установить переменной ЮНИТ равно случайный рабочий
Приказать ЮНИТ строить ЗДАНИЕ


Karamba


Сообщение отредактировал Borodach - Воскресенье, 14 Апреля 2013, 02:34:07
 

  • Страница 1 из 1
  • 1
Поиск:

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