[Вопрос] Глобальные переменные
|
|
wetalq | Дата: Вторник, 04 Октября 2011, 17:54:15 | Сообщение # 1 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
| globals unit udg_dummy endglobals
function InitTrigActions takes nothing returns nothing set udg_dummy = CreateUnit(Player(0),'h000',0,-1700,90) endfunction вот код, если я ссылаюсь в другом триггере на переменную udg_dummy то пишет undeclared_variable и в мапу не заходит, аналогично если есть строчка Code set gg_trg_q = CreateTrigger( ) так же пишет ошибку и не запускает мапу, но если сменить на Code local trigger t = CreateTrigger( ) то работает нормально, так это так у меня или у всех ? и как сделать что бы глобалка работала и в другом триггере ?
|
|
|
|
lawson | Дата: Вторник, 04 Октября 2011, 17:56:15 | Сообщение # 2 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Quote (wetalq) и как сделать что бы глобалка работала и в другом триггере ? Глобалки работают везде! Не понятнно что ты имеешь в ввиду.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
Сообщение отредактировал lawson - Вторник, 04 Октября 2011, 17:57:21 |
|
|
|
Ty3uK | Дата: Вторник, 04 Октября 2011, 17:56:48 | Сообщение # 3 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Конечно, блок глобальных сделан, чтобы обращаться к переменным без приставки udg_
|
|
|
|
lawson | Дата: Вторник, 04 Октября 2011, 17:58:22 | Сообщение # 4 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| А я понял ты создаешь глобалку не в нестандартном коде а в каком то триггере?
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
wetalq | Дата: Вторник, 04 Октября 2011, 18:27:26 | Сообщение # 5 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
| lawson, да.
и в первом триггере создается юнит а во втором он двигается, и нужно ссылка именно на глобалку
|
|
|
|
SirNikolas | Дата: Вторник, 04 Октября 2011, 18:43:59 | Сообщение # 6 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| wetalq, переменными, константами, функциями и т. п. можно польоваться только после их объявления, т. е. ниже по коду. Редактор имеет неприятное свойство менять код триггеров местами. Так что лучше объявлять глобалки в нестандартном коде - он уж точно никуда вниз не уедет.
|
|
|
|
Ty3uK | Дата: Вторник, 04 Октября 2011, 18:44:23 | Сообщение # 7 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Читай мой пост- надо употреблять без udg после объявления
|
|
|
|
SirNikolas | Дата: Вторник, 04 Октября 2011, 18:45:59 | Сообщение # 8 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Он объявляет переменную в собственном блоке globals - это элемент vJASS. И он может называть ее как вздумается - хоть с udg_, хоть без.
Сообщение отредактировал SirNikolas - Вторник, 04 Октября 2011, 18:46:24 |
|
|
|
Ty3uK | Дата: Вторник, 04 Октября 2011, 18:49:24 | Сообщение # 9 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Тогда почему-же парсер выдает ошибку о неизвестной переменной? О.о
|
|
|
|
SirNikolas | Дата: Вторник, 04 Октября 2011, 18:51:00 | Сообщение # 10 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Читай мой пост.
|
|
|
|
wetalq | Дата: Вторник, 04 Октября 2011, 19:15:04 | Сообщение # 11 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
| в нестандартный код карты писать: Code globals unit udg_dummy endglobals а в триггер: Code function InitTrigActions takes nothing returns nothing set udg_dummy = CreateUnit(Player(0),'h000',0,-1700,90) endfunction Добавлено (04 Октябрь 2011, 19:15:04) --------------------------------------------- а как тогда на щет Code set gg_trg_q = CreateTrigger( ) всегда когда конвертируешь триггеры в текст пишет ошибку из за этой строчки
|
|
|
|
SirNikolas | Дата: Вторник, 04 Октября 2011, 19:22:50 | Сообщение # 12 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| У тебя есть триггер с именем q?
|
|
|
|
wetalq | Дата: Вторник, 04 Октября 2011, 19:30:53 | Сообщение # 13 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
| SirNikolas, да.
сразу же после того как конвертировал триггер в текст, проверяю на ошибки и находит в той строчке ошибку, аналогично со спелом Ty3uK'а который он выложил к своей статьи
|
|
|
|
Ty3uK | Дата: Вторник, 04 Октября 2011, 20:22:41 | Сообщение # 14 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| В смысле? О.о мой спелл парсер хорошо проходит, без проблем
|
|
|
|
wetalq | Дата: Вторник, 04 Октября 2011, 22:34:43 | Сообщение # 15 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
| Ty3uK, у тебя да, а у меня при проверке 3 ошибки, 2 не находи хеш таблицы и 1 не находит триггер, ща кину скрин Добавлено (04 Октябрь 2011, 22:33:39) ---------------------------------------------
Добавлено (04 Октябрь 2011, 22:34:43) --------------------------------------------- но если включить спел, ничего не меняя то мапа нормально грузиться
|
|
|
|