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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Название Области (string\integer)
Название Области
God_of_lightДата: Среда, 20 Февраля 2013, 09:57:14 | Сообщение # 1
6 уровень
Группа: Проверенные
Сообщений: 206
Награды: 0
Репутация: 185
Блокировки:
Доброго дня, читатель!
Вопрос простой: если ли вообще функция, способная вернуть значение Названия Области в string\int типе?


 

NaturekidДата: Среда, 20 Февраля 2013, 10:49:45 | Сообщение # 2
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
А для чего? Мб просто альтернативу?

 

God_of_lightДата: Среда, 20 Февраля 2013, 11:31:04 | Сообщение # 3
6 уровень
Группа: Проверенные
Сообщений: 206
Награды: 0
Репутация: 185
Блокировки:
Цитата (Naturekid)
А для чего? Мб просто альтернативу?
Ну то есть нет такой функции??))

Да у меня идея гениальная появилась для еще одной мини-игры. Есть 100 областей, при вхождении в каждую из них будут выполняться разные действия. Я думал сверять название этих областей в одной функции и по массиву сверять => мои действия. Может быть как-то можно, если назвать области цифрами 001-100 и была бы функция которая конвертирует строку названия в int было бы вообще замечательно. В противном случае придется 100 триггеров делать)


 

NaturekidДата: Среда, 20 Февраля 2013, 11:42:48 | Сообщение # 4
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Цитата (God_of_light)
В противном случае придется 100 триггеров делат
нет
в 1 триггере 100 событий.
потом вейт 0.3 сек.
потом цикл проверки в такой ли области находится юнит.
правда все области придётся в переменные забить. Но всё же не так уж ушлёпищно вроде будет.

Добавлено (20 Февраля 2013, 11:42:48)
---------------------------------------------

Цитата (Naturekid)
в 1 триггере 100 событий.
их мы кстати циклом добавим в события из другого триггера, а не вручную писать будем.


 

God_of_lightДата: Среда, 20 Февраля 2013, 11:50:41 | Сообщение # 5
6 уровень
Группа: Проверенные
Сообщений: 206
Награды: 0
Репутация: 185
Блокировки:
А вот нашел вроде как решение через return bug. Можно узнать handle каждой области и по массиву расписать числами  1-100.

Цитата (God_of_light)
В противном случае придется 100 триггеров делать)
Да я утрирую, просто много прописывать придется, занести в переменные то оно само собой.


 

SirNikolasДата: Среда, 20 Февраля 2013, 11:52:56 | Сообщение # 6
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
На самом деле можно отловить только регион, в который вошел юнит, но не область.
Создаем два массива, один с регионами, другой с областями. Забиваем их так, чтобы напротив каждого региона была соответствующая ему область. Затем сортируем по возрастанию/убыванию (не важно) параметра GetHandleId(region). Добавляем 100 событий в триггер. При входе юнита в какой-либо регион юзаем бинарный поиск на массивы, получаем индекс.
100 областей - всего 7 проверок.


 

NaturekidДата: Среда, 20 Февраля 2013, 11:53:01 | Сообщение # 7
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
М, ну здорово, меньше выполняемых действий =)

 

SirNikolasДата: Среда, 20 Февраля 2013, 11:53:22 | Сообщение # 8
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Цитата (God_of_light)
А вот нашел вроде как решение через return bug.
Пофиксили в 1.24.


 

God_of_lightДата: Среда, 20 Февраля 2013, 11:55:09 | Сообщение # 9
6 уровень
Группа: Проверенные
Сообщений: 206
Награды: 0
Репутация: 185
Блокировки:
Цитата (SirNikolas)
На самом деле можно отловить только регион, в который вошел юнит, но не область.Создаем два массива, один с регионами, другой с областями. Забиваем их так, чтобы напротив каждого региона была соответствующая ему область. Затем сортируем по возрастанию/убыванию (не важно) параметра GetHandleId(region). Добавляем 100 событий в триггер. При входе юнита в какой-либо регион юзаем бинарный поиск на массивы, получаем индекс.
100 областей - всего 7 проверок.
Все, понял, спасибо)))


 

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

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