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