hokage 18 Report post Posted December 18, 2021 Здравствуйте. В редакторе карт есть выбор поверхности земли, но рисовать ими не выходит. По идее при наведении на одну из ячеек должно писаться ее название, но этого не происходит. Запустил редактор китайской игры на том же движке, что и пиратия, и там каждая ячейка подписывается и изменение поверхности происходит как надо. Рисовать поверхность в ямми не очень практично и удобно, хотелось бы иметь полный функционал редактора. Адаптировать редактор под работу с пиратией у меня тоже не вышло, к сожалению. Если кто знает как это исправить, буду благодарен! Quote Share this post Link to post Share on other sites
Kst 45 Report post Posted December 19, 2021 Насколько я помню в редакторе проверки на выделенный объект делаются по названию ноды. В чтобы установить "кисть" для редактирования поверхности земли, нужно чтобы название выбранной ноды совпадало с названием указанным в StringSet. * Вырезка из собственных исходников, код может отличаться от публичного CTreeNode* parent = dynamic_cast<CTreeNode*>(select->GetParent()); if (!parent) return; item = dynamic_cast<CItem*>(parent->GetItem()); if (!item) return; if (std::strcmp(item->GetString(), CLanguageRecord::inst()->GetString(539)) == 0) // [539] "поверхность" { CGraph* p = dynamic_cast<CGraph*>(tree->GetSelect()->GetItem()); if (p) g_Editor.SetTerr(press, p->nTag); return; } if (std::strcmp(item->GetString(), CLanguageRecord::inst()->GetString(540)) == 0) // [540] "Строительство" { CGraph* p = dynamic_cast<CGraph*>(tree->GetSelect()->GetItem()); if (p) g_Editor.SetObj(press, p->nTag); } Судя по первому скриншоту название ноды установлено как "поверхность земли". Попробуй в StringSet изменить [539] "поверхность" на [540] "поверхность земли", должно помочь. Либо найти в scripts\lua\forms файл editor.clu там поищи там: поверхность земли \239\238\226\229\240\245\237\238\241\242\252 \231\229\236\235\232 замени на поверхность \239\238\226\229\240\245\237\238\241\242\252 3 3 Quote Работаем над портированием пиратии под все платформы (win, linux, android, macos, ios) We are developing the tales of pirates to all platform (win, linux, android, macos, ios) telegram: https://t.me/magicsea_online Share this post Link to post Share on other sites
hokage 18 Report post Posted December 19, 2021 8 часов назад, Kst сказал: Насколько я помню в редакторе проверки на выделенный объект делаются по названию ноды. В чтобы установить "кисть" для редактирования поверхности земли, нужно чтобы название выбранной ноды совпадало с названием указанным в StringSet. * Вырезка из собственных исходников, код может отличаться от публичного CTreeNode* parent = dynamic_cast<CTreeNode*>(select->GetParent()); if (!parent) return; item = dynamic_cast<CItem*>(parent->GetItem()); if (!item) return; if (std::strcmp(item->GetString(), CLanguageRecord::inst()->GetString(539)) == 0) // [539] "поверхность" { CGraph* p = dynamic_cast<CGraph*>(tree->GetSelect()->GetItem()); if (p) g_Editor.SetTerr(press, p->nTag); return; } if (std::strcmp(item->GetString(), CLanguageRecord::inst()->GetString(540)) == 0) // [540] "Строительство" { CGraph* p = dynamic_cast<CGraph*>(tree->GetSelect()->GetItem()); if (p) g_Editor.SetObj(press, p->nTag); } Судя по первому скриншоту название ноды установлено как "поверхность земли". Попробуй в StringSet изменить [539] "поверхность" на [540] "поверхность земли", должно помочь. Либо найти в scripts\lua\forms файл editor.clu там поищи там: поверхность земли \239\238\226\229\240\245\237\238\241\242\252 \231\229\236\235\232 замени на поверхность \239\238\226\229\240\245\237\238\241\242\252 Спасибо! Действительно сработало. Quote Share this post Link to post Share on other sites
Kst 45 Report post Posted December 19, 2021 3 часа назад, hokage сказал: Спасибо! Действительно сработало. В дополнение собирали и тестировали хоткеи, мб поможет. CTRL+D - скрыть/отобразить диалог (тот непонятный с вопросительными знаками) TAB - скрыть/отобразить функции редактора (слева панель) CTRL+F1 - Включить функциональность клавиш (без него не работают клавиши) CTRL+F3 - перемещение по сценами C - сбросить камеру для свободного перемещения HOME - Вернуть камеру к персонажу CTRL+INSERT - записывать видео (не работает) CTRL+P - включается какой-то режим patrol при зажатым CTRL бегает за мышкой CTRL+F4 - скрыть/отобразить весь интерфейс CTRL+K - отключает полностью рендер карты и объектов (после идёт краш) - хз зачем нужно CTRL+N - Меняет отображение CHeadSay (то что отображается над игроком) на "LogName" CTRL+L - Включает/отключает показ маршрута игрока (не работает) CTRL+T - При выполнении команд пишет красным по центру, так вот это отключает и включает. V - Что-то отображает/скрывает связано с объектами (похоже их сетку, но оно у нас не работает) F5 - открывает DEBUG LOG, но оно у нас не ботает F6 - сброс камеры (но оно не работает так как закомментировано) F7 - подсвечивает видимые объекты (похоже работает не так как нужно) F8 - скрывает/отображает все объекты на сцене 9 - Уменьшает зону видимости 0 - Увеличивает зону видимости F11 - включает/выключает отображение каких-то CharObj (не работает) X - Включить отображение пути (не знаю как работает) F2 - Выдаёт что-то секции (не знаю как работает) DELETE - удаляет выбранный объект H - скрывает выбранный объект F5 - скрывает/отображает высоту блоков (не работает) G - блокирует и снимает блокировку на выбор объектов (не знаю для чего) Q - Параметры окружающих (не работает) F9 - Обновляет карту высот (не работает) 1 2 Quote Работаем над портированием пиратии под все платформы (win, linux, android, macos, ios) We are developing the tales of pirates to all platform (win, linux, android, macos, ios) telegram: https://t.me/magicsea_online Share this post Link to post Share on other sites