Rampage
Бицепс
offline
Опыт:
9,722Активность: |
Fatal Error из-за глобальных переменных
Если вставить это в любую карту и обратиться к дамми или координатам - вылетит фатал еррор. Что за чертовщина??? |
22.10.2012, 07:18 | #1
+0/−2
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
Нельзя вроде при ините эти координаты брать. Попробуй в отдельной функции после нулевого вейта или через событие прошло 0 секунд. |
22.10.2012, 08:01 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
93,324Активность: |
Rampage, просто присвой значение переменным в функции инициализации библиотеки, вот так:
((код jass
library A Initializer Init
function Init takes nothing returns nothing set HASHTABLE = InitHashtable( ) set MAX_X = ( GetCameraBoundMinX( ) + 512.00 ) - 50.00
set MIN_X = ( GetCameraBoundMinX( ) - 512.00 ) + 50.00 set MAX_Y = ( GetCameraBoundMinY( ) + 256.00 ) - 50.00 set MIN_Y = ( GetCameraBoundMinY( ) - 256.00 ) + 50.00 endfunction )) Не забудь только сделать не константами... То бывают одарённые личности, непонимающие значение слова CONSTANT |
22.10.2012, 09:17 | #3
+2/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
нельзя декларировать при ините хеш таблицу и получать корды чего либо, так как карты при ините еще нет. |
22.10.2012, 10:55 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
влад10011
offline
Опыт:
2,337Активность: |
Цитата:
можно было сразу в globals(в globals можно сразу создавать объекты group,timer,hashtable и тд) а вот камера создаётся после инициализации поэтому нельзя найти её координаты |
|
22.10.2012, 11:35 | #5
+0/−2
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,158Активность: |
влад10011:
где вы такое прочитали? Попробуйте, присваивание переменным при инициализации таких значений, как: InitHashtable(), CreateMultiboard(), CreateGroup(), CreateTimer() вызывает критическую ошибку ВСЕГДА. Clamp добавил:
quq_CCCP: Сначала проверяй@потом говори. Про тебя очень верно высказался ADOLF:
Вот тут Clamp добавил: И да, оперировать с координатами можно только после полной загрузки карты, очевидно. Иначе будет ссылка на несуществующие объекты. |
22.10.2012, 14:09 | #6
+0/−2
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Rampage
Бицепс
offline
Опыт:
9,722Активность: |
Я лично поменял только назначение координат. А с хеш-таблицой у меня ничего не фаталит. Честно. |
22.10.2012, 16:40 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
влад10011
offline
Опыт:
2,337Активность: |
Цитата:
бред, я всегда инициализирую таймеры и хеш таблицу прямо в globals, всё работает ВСЕГДА! В глобальных переменных(при инициализации в колонке globals) можно создавать объекты, но нельзя обращаться к ним. Цитата:
тоже могу сказать и тебе =_= Отредактировано влад10011, 22.10.2012 в 16:55. |
||
22.10.2012, 16:46 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,158Активность: |
Ок, не всегда. И тем не менее я теперь при их инициализации даю таймером отсрочку в .04 секунды, ибо критовало.
Clamp добавил:
не можешь, он бред написал. |
22.10.2012, 16:55 | #9
+0/−3
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
93,324Активность: |
Clamp, не понял юмора... Что тебе не нравится в этом способе? |
22.10.2012, 18:00 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Rampage
Бицепс
offline
Опыт:
9,722Активность: |
quq_CCCP, этот способ идентичен практически.
Rampage добавил: С начальным. |
22.10.2012, 18:31 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
93,324Активность: |
Rampage, только фаталов не вызывает... Инитить хеш таблицу и создавать локейшены, ректы и тп. самое то именно таким способом... |
22.10.2012, 18:36 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,158Активность: |
|
22.10.2012, 18:48 | #13
+0/−3
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
93,324Активность: |
Clamp, по идеи точно тогда же когда будут создаваться юниты, камеры и ректы, сознанные на карте в редакторе... перед объявлением всех триггеров, и после инита бж... ну в моей карте работает, не было фатала, скачай да глянь... |
22.10.2012, 18:56 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
в ласт сжассе можно инит хт делать при объявлении глобалки |
22.10.2012, 20:54 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,158Активность: |
cJass?
|
22.10.2012, 21:09 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
93,324Активность: |
|
23.10.2012, 05:25 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
инит переменных и инит карты это РАЗНЫЕ ВЕЩИ\
если вам возможно будет понятнее
>>нельзя декларировать при ините хеш таблицу
нельзя в блоке инициализации глобальных переменных создавать хеш таблицу и 100500 других вещей потому что гладиолус |
23.10.2012, 12:22 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|