abramcumner 1 229 Опубликовано 18 Декабря 2017 43 минуты назад, AndreySol сказал: UIDesc = xr_new<CUIScrollView>(); UIDesc - CScrollView - располагает элементы друг под другом. 45 минут назад, AndreySol сказал: TryAddWpnInfo (pInvItem->object().cNameSect()); TryAddArtefactInfo (pInvItem->object().cNameSect()); CUIStatic* pItem = xr_new<CUIStatic>(); UIDesc->AddWindow (pItem, true); Сначала добавляются параметры оружия, если можно, потом параметры артефакта, потом описание. Они все располагаются друг под другом. Учет предмета, на котором кликнули, внутри TryAddWpnInfo и TryAddArtefactInfo. Смещение внутри CUIScrollView. Разное количество индикаторов внутри CUIWpnParams и CUIArtefactParams. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 18 Декабря 2017 (изменено) 2 часа назад, AndreySol сказал: Подскажите, в какой именно ф-ции ? Смотрел там уже ранее, не увидел. Здравой логикой понимаю(или надеюсь ?), что метод смещения должен быть универсален и не зависеть от того, что добавлено - т.е. в коде класса CUIScrollView не должно быть каких-то прямых проверок, что добавлено что-то связанное именно с CUIWpnParams или CUIArtefactParams ? Да, все так и есть - никаких проверок на CUIWpnParams или CUIArtefactParams. Просто перебор всех добавленных элементов и расстановка. Метод void CUIScrollView::RecalcSize() if(GetVertFlip()){ for(WINDOW_LIST::reverse_iterator it = m_pad->GetChildWndList().rbegin(); m_pad->GetChildWndList().rend() != it; ++it) { (*it)->SetWndPos (item_pos); item_pos.y += (*it)->GetWndSize().y; item_pos.y += m_vertInterval; ... } Что-то ты не так скопипастил или в xml не тот размер прописал. Как написал @dsh, надо обязательно вызвать AddWindow для твоего индикатора, только тогда он добавится именно в список и сдвинет остальные элементы. Изменено 18 Декабря 2017 пользователем abramcumner Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 17 Февраля 2018 (изменено) 7 часов назад, BeTep36 сказал: Ради скрипта из огсе скрывающего кости(обажаю облепливать оружие до степени фундервафли) А тебе реально 64 стандартных костей на оружии не хватает или ты про запас хочешь? Изменено 17 Февраля 2018 пользователем abramcumner Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 2 Апреля 2018 @Graff46, конечно. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 14 Апреля 2018 55 минут назад, AndreySol сказал: как из движковой ф-ции в скрипты вернуть как результат работы этой ф-ции луашную таблицу? Если можно, пример кода... А что в луашной таблице-то? По идее xr_vector<int> return_lua_table() { return {1,2,3,4,5}; } должен автоматом возвращать луашную таблицу. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 14 Апреля 2018 (изменено) Тогда так: luabind::object return_lua_table() { luabind::object result; result[1][1] = float; result[1][2] = string; result[1][3] = float; ... return result; } Изменено 14 Апреля 2018 пользователем abramcumner 1 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 23 Апреля 2018 (изменено) @Graff46, классические приложения. Ведь сталкер это классика. А зачем тебе локальные макеты? Что просто не запустишь vs_community.exe? Изменено 23 Апреля 2018 пользователем abramcumner Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 23 Апреля 2018 (изменено) 42 минуты назад, Graff46 сказал: Меня смущает С\С++, в Сталкере вроде С# используется ещё... Да, для редактора погоды. Но С# сейчас в студии ставится по умолчанию. Еще сразу скачай/установи английскую локализацию. Будет на порядок проще разбираться. Изменено 23 Апреля 2018 пользователем abramcumner 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 6 Мая 2018 (изменено) 6 часов назад, Graff46 сказал: Редактор погоды в Сталкере? Ага. Запускать вроде с ключом -editor. Можно настраивать параметры погоды и сразу же видеть изменения. Цитата На сколько сложно добавить в Сталкер новый встроенный язык? Ну один уже добавлен. Делай по аналогии и добавишь. Изменено 6 Мая 2018 пользователем abramcumner Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 6 Мая 2018 7 минут назад, Graff46 сказал: Это на каком движке? ЗП? ЧН и ЗП. С луа не так все просто, используется технология биндлуа и буст, а так я обратил внимание на 2 встраиваемых языка это скварелл и гинти... А что луабинд? Для скварелл и гинти он не нужен, там какие-нибудь свои библиотеки биндинга к с++. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 6 Мая 2018 @Graff46, да. Еще разобраться с коллбеками и скриптовыми клиентскими/серверными классами. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 6 Мая 2018 1 минуту назад, Graff46 сказал: Я помню луахелп, игра не стоит свеч. Это тебе решать Посмотрел библиотеки биндинга для squirell, очень похожи на луабинд, возможно правки экспорта будут состоять из замены def на deffun и добавлении скобочек. Везде пишут, что луа быстрый, но я тестировал циклами луа и пара статеек на хабахабре с тестами луа, где он показывает очень низкие результаты, вот я и задумался о новом языке... Луа и луаджит разные вещи. Ну и низкие результаты на каких операциях и по сравнению с чем. Ну напиши тестовую программку с вызовом луа/сквирелл/гинти/другой_встраиваемый_язык и замерь скорость. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 6 Мая 2018 Ну ты хотя бы внутри цикла напиши a += i и результат выведи. Просто чтобы знать, что цикл реально выполнялся Что насчет луаджит? Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 7 Мая 2018 В 5/6/2018 в 14:04, Graff46 сказал: Сегодня вечером приеду в город и попробую. Не замерял сквирелл/гинти/луаджит с b и print(b)? Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 20 Июня 2018 1 час назад, dsh сказал: И что тут сделать, кроме как не делать таких шейпов? Проверять границу при добалении мобам в рестрикторы и не добавлять? Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 3 Июля 2018 @Graff46, https://github.com/KRodinn/OGSR-Engine 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 4 Июля 2018 В описании якобы все плюшки из хрей-экстеншенс перенесены. Перенесена большая часть правок оригинального OGSE и Xray Extensions, а так же из X-Ray Engine by Alpet & KD Надо уточнять у авторов на гитхабе. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 7 Мая 2019 1 час назад, krop сказал: Не, ну ты серьёзно? Ты синими овалами не все обвел. const справа от CanTrade() тоже надо было обвести. Тогда бы все вопросы снялись. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 28 Июля 2019 2 часа назад, AndreySol сказал: А на кой это в for оборачивать ? Абсолютно не зачем. Можно спокойно заменить на два цикла: по m_ruck и по m_belt. Или добавить UpdateDropItem/s, которая принимает TIItemContainer, тогда будет просто два вызова функции. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 229 Опубликовано 7 Ноября 2019 4 часа назад, Zander_driver сказал: А магазинное питание переносить в движок, кто-то когда-то пробовал, или я первый буду? Ты имеешь ввиду, проверить при перезарядке, есть ли в магазине патроны и, если есть, заспавнить пачку патронов, а магазин обнулить? Наверное первый. 1 1 Поделиться этим сообщением Ссылка на сообщение