Вопрос по хеш таблице
Всем привет. Хочу в свою карту добавить хеш таблицу. Создавал в гуй через действие Create Hashtable, но при сохранении карты вылетает ошибка Syntax Errors (Undeclared function InitHashtableBJ). Строкой в личном сценарии тоже самое.
Если создать карту с нуля, то там нормально сохраняется.
С чем это действие может конфликтовать?
Пробовал 3 карты, везде такая проблема =/

Лучший ответ:
Скачаю чистый варкрафт 1.26 попробую.
Рекомендую эти торренты.
Русская версия.
Английская версия.



Просмотров: 876

XGM Bot #1 - 11 месяцев назад 2
Похожие вопросы:

» ответ
А еще лучше - скинуть ссыль на какую-нибудь статью со списком callчто-то там команд.
» ответ
событие - юнит получает урон
условие - юнит получивший урон имеет баф (баф стрелы)
Pippetz, лучше не яд а ледяные стрелы

Atesla #2 - 11 месяцев назад (отредактировано ) 0
Во-первых, InitHashtable(), а во-вторых, сохраняйте в какую-нибудь переменную, чтобы можно было обратиться к ней в дальнейшем, иначе ваша хэш-таблица не имеет смысла в игре.
P.S. лучше отказаться от BJ функций в "Личном Сценарии", они обычно помечаются красными в коде.
прикреплены файлы
Camby #3 - 11 месяцев назад 0
Ошибка при сохранении есть уже если оставить только действие на создание. Если делать к ней переменную, то будет уже две ошибки.
Atesla #4 - 11 месяцев назад 0
Camby:
Ошибка при сохранении есть уже если оставить только действие на создание. Если делать к ней переменную, то будет уже две ошибки.
Я показал пример, как ее делать правильно. Перед "hashtable" нужно указать блок globals и endglobals, если пишите на jass, либо же создать ее в GUI.
прикреплены файлы
Camby #5 - 11 месяцев назад 0
Спасибо, но у меня проблема не с правильностью присвоения переменной таблице. Я саму таблицу не могу создать. В ГУЙ само действие "создать таблицу" приводит к ошибке при сохранении.
PT153 #6 - 11 месяцев назад 0
Undeclared function InitHashtableBJ
В папке с jasshelper есть файл Blizzard.j? Также выше совершенно верно заметили про присвоение переменной. В ГУИ надо буде после создания хеш-таблицы занести bj_LastCreatedHashtable в свою переменную.
Camby #7 - 11 месяцев назад 0
Blizzard.j файл есть. Я в курсе что всё надо заносить в переменные. Вопрос не про переменные. Интересует почему при создании карты "с нуля" действие InitHashtable() работает как надо, а при попытке добавить таблицу в готовую карту получаю ошибку при сохранении.
PT153 #8 - 11 месяцев назад 0
Какой редактор используется? Если JNGP, то попробуй отключить cJass (сними первые 2 галки в этой вкладке).
Camby #9 - 11 месяцев назад 0
Если снять галки, то ошибки при сохранении нет. Правда карта так не запускается. Просто при выборе этой карте в игре выкидывает обратно в выбор карт
PT153 #10 - 11 месяцев назад (отредактировано ) 0
Camby:
Если снять галки, то ошибки при сохранении нет. Правда карта так не запускается. Просто при выборе этой карте в игре выкидывает обратно в выбор карт
А карта использует cJass? Если да, то включи cJass назад и где-нибудь пропиши include "cj_antibj_base.j". Если же это где-то уже прописано, то, наоборот, убери.
В этой библиотеке есть замены всех плохие вещи из Blizzard.j, в частности call InitHashtableBJ() заменится на bj_lastCreatedHashtable = InitHashtable().
Больше о библиотеках cJass тут.

Чтобы включить cJass назад, нужно поставить в этом меню первую галку.

Если cJass не используется, то включи vJass вот так.

Вот common.j и Blizzard.j для патча 1.26а, нужно их скопировать в папку jasshelper, заменяя имеющиеся, и поставить в атрибутах "Только чтение".
прикреплены файлы
Camby #11 - 11 месяцев назад 0
Подменил файлы. Так же ошибок при сохранении нет, но и карта не стартует. include "cj_antibj_base.j" ничего не дала, только ГУИ-триггеры отвечающие за спец эффекты в карте отвалились.
Кстати, пробовал стоковый редактор от варика 1.29, там в одной из карт смог создать хеш таблицу. Правда нужная карта не открывается из за "функция триггера отсутствует в базе данных"
PT153 #12 - 11 месяцев назад (отредактировано ) 0
Русификатор триггеров стоит? Если да, его нужно снести и поставить FNWE.
Camby:
include "cj_antibj_base.j" ничего не дала
А cJass при этом был включён? С отключённым cJass это вообще ничего не делает.

Ещё раз. Карта полностью на GUI? Если да, то cJass стоит отключить. Если нет, то используется ли cJass в написании кода карты?
Включён ли vJass, как я показал?
Будь добр, ответь на все эти вопросы.
Camby:
Кстати, пробовал стоковый редактор от варика 1.29, там в одной из карт смог создать хеш таблицу. Правда нужная карта не открывается из за "функция триггера отсутствует в базе данных"
Потому что в 1.29 нет UMSWE, который добавляет доп. функции в GUI.
Camby #13 - 11 месяцев назад 0
Русификатор снёс, поставил FNWE.
cJass и vJass всегда включены
Карта полностью на GUI. Только некоторые строки типа удаления и обнуления переменных добавлены через кастом скрипт.
После установки FNWE проделал все советы выше еще раз. Результат не изменился. =(
8gabriel8 #14 - 11 месяцев назад 0
Приложил бы уже карту, раз у тебя ничего не выходит. Может кто глянет и сразу укажет причину проблемы. Много раз так и было.
PT153 #15 - 11 месяцев назад 0
Карта полностью на GUI.
Тогда cJass пока стоит отключить, там с ним есть некоторые непонятки (для это нужно снять только 2 первые галки).
Отключи cJass и замени в папке jasshelper файл pjass.exe на этот.
Убедись, что включён UMSWE. Если нет, то включи и перезапусти редактор.
После всех этих действий сохрани карту. Если ошибок нет, то нажми проверить карту (Ctrl+F9). Если есть ошибки, то скрины ошибок сюда.
прикреплены файлы
Camby #16 - 11 месяцев назад 0
Прикладываю старенькую мапку, в ней триггеров почти нет, но и там не работает.
После всех этих действий сохрани карту. Если ошибок нет, то нажми проверить карту (Ctrl+F9). Если есть ошибки, то скрины ошибок сюда.
Ошибок нет. Карта не стартует, выкидывает в меню варика
прикреплены файлы
8gabriel8 #17 - 11 месяцев назад 0
Нормально сохранил и стартовал в JNGP без русификатора: xgm.guru/files/100/219806/comments/408401/Vulcan.w3x
Может ты карту сохраняешь по пути с кириллицей?
прикреплены файлы
Camby #18 - 11 месяцев назад 0
Может ты карту сохраняешь по пути с кириллицей?
Нет, с этим нормально. Да и новая карта с таблицей нормально сохраняется и стартует =/
Кстати, вами отредактированная карта не запускается. Видимо дело в самом варике. Скачаю чистый варкрафт 1.26 попробую.
PT153 #19 - 11 месяцев назад 1

Скачаю чистый варкрафт 1.26 попробую.
Рекомендую эти торренты.
Русская версия.
Английская версия.
прикреплены файлы
Camby #20 - 10 месяцев назад 0
В общем похоже проблема в том, что варик, которым я столько лет пользуюсь, оказался 1.21 "недопатченный" =). Видимо на этой версии еще нет поддержки хеш таблиц? Скачал чистую версию 1.26. Хотя бы не вылетает теперь...
Atesla #21 - 10 месяцев назад 0
Camby:
Скачал чистую версию 1.26. Хотя бы не вылетает теперь...
Версии – это всегда важно. В Ру коммьюнити, как я понял, пользуются либо старой проверенной версией (1.26), либо совсем новой (1.30 на данный момент, по-моему).
8gabriel8 #22 - 10 месяцев назад 0
Забавно, у меня редактор версии 1.21. Какая-то знаковая версия.
PT153 #23 - 10 месяцев назад 0
Хотя бы не вылетает теперь...
Ну-с, проблема решилась?
Camby #24 - 10 месяцев назад (отредактировано ) 0
Да, новый варик нормально переваривает таблицу. Всем спасибо за помощь =)
8gabriel8:
Забавно, у меня редактор версии 1.21. Какая-то знаковая версия.
Ну я патчами поднимал его версию, видимо в какой то момент что то пошло не так.