Danial
offline
Опыт:
1,342Активность: |
Автозаполнение массива
У меня такой вопрос:
На карте имеется 200 областей. Первые 100 нужно занести в массив (udg_reg[i], где i принимает значения от 1 до 100). Как наиболее целесообразно это сделать? Кстати, c помощью функции GetHandleId я выяснил, что ID этих регионов 1048587-1048687.
Если вы знаете каким образом можно по номеру региона найти этот регион, то можно сделать так:
|
03.05.2012, 23:06 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Danial, ну была какая то бага типа РБ. Которая по ID возвращала хендл. Поищи в статьях, вроде было |
03.05.2012, 23:48 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Danial
offline
Опыт:
1,342Активность: |
Да, это вот в этой статье: xgm.ru/p/wc3/jass_return_bug
была предложена вот такая баг-функция:
которая решила бы эту задачу. Но вся беда в том, что с 1.24 пата WC3 такие функции больше не работают (спасибо Blizzard’у за заботу). |
04.05.2012, 00:06 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Danial, эт ты РБ привел, а я про багу уже в 24. Не помню где читал. А функция была связана с погодными эффектами и хеш таблицами. В общем посмотри новость или статью патч 24 для картостроителей. Вроде такое было |
04.05.2012, 00:50 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,598Активность: |
Danial, щяс попрбуй через GethandleId(Твой рег) , а потом сохрани его в хеш таблице как FogState через ConvertFogState(целое число)... а затем загрузи как регион, вот он ретурн баг, только вот действий куча... |
04.05.2012, 02:59 | #5
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Помни про лимит операций xgm.ru/forum/showthread.php?t=19638 |
04.05.2012, 03:30 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Danial
offline
Опыт:
1,342Активность: |
Всё, спасибо, quq. Сделал вот так:
и всё получилось как я и хотел. |
04.05.2012, 13:46 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,598Активность: |
Danial, ну всегда пожалуйста... И лучше не использовать локальную хеш таблицу, она может вызывать утечки... |
04.05.2012, 13:49 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
А что такое 1048587 ? Ты знаешь, что такое хендл? |
04.05.2012, 13:56 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
забивать в массив эти регионы целесообразно при их создании, всегонавсего надо перехватить функцию которая их создаёт, делается элементарно.
|
04.05.2012, 16:17 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,598Активность: |
DioD, можно и создавая регионы, у тут же их забивать в массив, но когда их уже нансоздано 200 то тут удобнее всего такая функция. |
04.05.2012, 16:21 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Согласен,
Автоматом будет забивать все созданные в редакторе ректы в массив) Отредактировано ScorpioT1000, 04.05.2012 в 17:29. |
04.05.2012, 16:23 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,539Активность: |
Уже тогда так, но лучше не надо, т. к. использование функции в выражении поломается.
|
04.05.2012, 17:26 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Пофиксил. Ну, надо как-то обеспечить undef |
04.05.2012, 17:30 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,539Активность: |
Это шаманство уже. И андеф - скажем так, не очень удачная идея была (ввиду того, что она работает просто при проходе по коду, тупо сверху вниз).
Вообще, у меня подозрение, что автор тупо раскидывает области в редакторе, т.е. графическим способом. И вся проблема решается извлечением из кода карты генерируемой функции и небольшой обработкой ее с помощью автозамены. |
04.05.2012, 23:05 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
А как же батхерт при любых изменениях? |
04.05.2012, 23:14 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
проще перехватить, не важно как именно будет осуществлён перехват вызова, будь то подмена БЖ или кастомный КЖ или надстройки или патч редактора но суть в том чтобы перехватить раз и навсегда и не вспоминать об этом.
|
08.05.2012, 10:08 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|