Перейти к контенту

Simonov50

Пользователи
  • Число публикаций

    16
  • Регистрация

  • Последнее посещение

  • AMKoin

    0 [Подарить AMKoin]

Весь контент пользователя Simonov50

  1. Simonov50

    Скриптование

    @naxac, Прости засранца, я был сильно неправ (задолбали собственные ошибки). Сергей. Спасибо ! Понял всё. У меня минимум 3 ошибки: 1. Неверно выбрал метод для сдвига. 2. В моём "поминальнике" ошибка (width, height вместо x2, y2) 3. Не перепроверив незаслуженно обидел человека. Поскольку, читал (и конспектировал) все Ваши предыдущие ответы, рискну задать очень важный для меня ворос - не понимаю суть. (непонятки прономерованы в спойлере)
  2. Simonov50

    Скриптование

    Загляни пожалуйста в личную переписку. Сергей. Во первых не так, а главное - где ответ на вопрос ?
  3. Simonov50

    Скриптование

    class CUIScriptWnd - Не могу сдвинуть окно вправо self:SetWndRect(Frect():set(0,0,420,530)) - работает self:SetWndRect(Frect():set(200,0,420,530)) - уже не работает Изображение сдвинулось верно - всё на своих местах, без смещений. Но, у элементов в правой части окна, которые оказались за пределами "старых" координат, исчезли калбаки, не работают едитбоксы. На наведение курсора кнопки и чекбоксы реагируют - подсвечиваются. Левая часть окна работает нормально. ХМЛ - просто россыпь в пределах "старых" координат, без фреймов и наложений. В скрипте ничего не аттачилось. В моём понимании CUIScriptWnd главный в связке, а CScriptXmlInit драйвер-исполнитель, я дал команду главному и мимо. Явно что-то упустил из вида, что ?
  4. Спасибо. Пригодилось и очень. Хотя бы потому, что дало ответ на множество вопросов (вообще не освещённых в разделе ХУДа). Осталась лишь одна "непонятка".
  5. Simonov50

    Скриптование

    Спасибо ! Но это сборка люкс, а все мои XR3DA.exe - "г..." Хотелось бы ещё и ссылочку на проверенный профессионалами "открытый" экземпляр (с нефорсированным рендером). Сергей.
  6. Simonov50

    Худ

    Кракозябры при выводе по ed_box:SetText("Вася"). При активации статика с таким текстом всё нормально. (т.е. шрифты норма). Как исправить не используя String_Table.xml ? (Нужно выводить русский текст напрямую.)
  7. Simonov50

    Скриптование

    Огромное спасибо !!! Не просто интересно а много больше того, о чём я мог мечтать (учитывая реалии - я по специальности не программист). Но пока подключать не к чему. Если подключить к любой "базе" (exe + dll+ ... = /bin), коих даже у меня 7 штук, то сделанное мой будет нормально работать только у одного пользователя из семи (не нарушив то, что было раньше - обязательное условие!). То есть, надо брать наиболее распространённую версию и плясать от неё. На сегодня "лицензионка" для этого явно не годится (имхо). Да и модить через Старфорсе при обилии собственных ошибок - беспредел (не вытерплю!). Требуется имхо человека, который реально в этом "варится", а не стороннего наблюдателя (типа меня). Еще раз спасибо за действенную помощь. Сергей. P.S. Исхожу из того, что "имхо оно и в африке имхо". Любое имхо имеет право быть ... , ни к чему не обязывает, не наказуемо и т.д.
  8. Simonov50

    Скриптование

    Приношу извинения, если сделал что-то некорректно, но именно на этот комментарий я и отвечал. Ваш же пост я не просто прочитал, а принял к исполнению! Не сделав этого я так и останусь "слепым". За предложенную помощь отдельное Спасибо, но пока по делу спрашивать не готов (оставил резерв на будущее). Пока нагуглил luacap-2012-02-20 (как я понял он включает предложенное Вами). В чистом виде "Lua от RvP" не нашел. Сейчас ищу отдельно расширитель Lua или более позднюю версию luacap. Ещё раз приношу извинения. С уважением, Сергей.
  9. Simonov50

    Скриптование

    Теоретически можно запустить скрипт из любой папки, но для этого должен быть нестандартный движок (с библиотеками Lua) и самое главное - этот скрипт должен делать строго то же самое, что делается при нормальном спавне. Кроме лишнего гемора ни чего не даёт! Я анализировал подобный вариант на предмет "сунул" в игру/мод новый каталог со всеми ресурсами (что бы не затрагивать игру), а потом ... Но подключать, то его к существующим скриптам (руками или програмой ) всё равно придётся! @Карлан, Спасибо, именно так я и сделал, теперь работает. @Dennis_Chikin, Движок править. Брать исходники, и править. dc Чувствовал, что в подобное вляпаюсь! Но, если я правильно понимаю, скрипты сделанные мной после такой правки, у других работать не будут? Не порекомендуете ли Вы мне какой-либо базовый набор (.bin) игры, в котором функции записи/чтения в файл работают и при этом он широко применяется модерами. У меня есть один "правленый" XR3DA.exe c работающим выводом в файл, но там "криво" работает наследование у брони и артефактов. Возникают "случайные" вылеты при вставке его в мод, где у "новых" вещей не прописаны все параметры (в расчёте на наследование). Есть ещё пяток с форсированным рендерингом, но с ними перегреваются GTX-680 (3 минуты заставки), периодические вылеты при большом количестве аддонов к оружию и при "частом" _update_delta. Вывод в файл в половине из них тоже не работает - видно, как авторы модов заменяли его выводом на консоль.
  10. Simonov50

    Скриптование

    У меня вылетало именно на if another_script.myfunc при фактическом отсутствии листа another_script . Вылет во время начальной загрузки (another_script = nil value). Ошибка фиксировалась именно при наличии в тексте связки лист.функция (через точку). Присутствие условия (if) не спасало, т.к. сочетание лист.функция транслировалось целиком.
  11. Simonov50

    Скриптование

    Именно на таком варианте у меня и вылетало, а нужно именно так, как вы мне подсказали в предыдущем посте - через блок, прятать имя функции в переменной, отдельно проверять наличие листа и только при его наличии проверять функцию. Я встроил опрос внутрь своего класса (для менюшки), и всё заработало - спасибо! Но теперь вопросов стало ещё больше !!! В варианте if another_script.myfunc then another_script.myfunc() вылета не может быть в принципе. Как сделать вывод в свой файл ? Начал с local file = io.open("mu_file.txt", "a") Но на все попытки найти io или openfile возвращает nil. Специально установил чистую, лиценз.версию - результат тот же. Что бы понять нужно посмотреть, но для этого сначала нужно написать... и так далее по заколдованному кругу ... - сильно достаёт! Эх, знать бы дорожку в базовое адр.пространство чистого Lua, авторы им наверняка пользуются. Движок править. Брать исходники, и править. dc
  12. Simonov50

    Скриптование

    @Dennis_Chikin, Спасибо !!! Всё в тему, но кому классика, а кому откровение. Если я верно понял, то нужно засовывать в инфопоршень, а вытаскивать с помощью xr_effects. Ни когда с инфопоршнями не работал. Пойду читать xr_effects. Ещё раз спасибо. @Nazgool, Круг задач определён уровнем моих незнаний и для понимания нормальным человеком слишком обширен. Пока есть только цель - сделать "переносной" скрипт (из мода в мод). Воткнул его, он сам быстренько посмотрел ресурсы и "сказал" что (и где) надо доделывать руками. Скрипт чисто модерский - простенький инструментарий (будет когда-нибудь?). Про _G всё понял, а вот про защищённый режим (на уровне игры) услышал впервые! Где читать? Спасибо за помощь - иду учить мат.часть.
  13. Simonov50

    Скриптование

    @Nazgool, При обычной загрузке лист сразу транслируется, и если присутствует текст обращения к несуществующей функции будет вылет. То есть, вариант проверки "если есть лист, тогда обратиться к функции не срабатывает". Если "спрятать" текст (mu_call="Имя_скрипта"..".".."имя_функции".."()"), то вылета не будет, но команда dostring(mu_call) не проходит. Видимо в игре недоступна? Пытаюсь найти вариант загрузки в два этапа. Обычным образом загрузить мой 1_й лист, мой второй лист (с обращением к функции) спрятать в другом каталоге, если присутствует некий третий лист,(наличие функции в котором и проверяется), то подключить мой второй лист. Но как это сделать не представляю.
  14. Simonov50

    Скриптование

    Как подключить/зарегистрировать новый скрипт ? В gamedata\script\ положил, а игра его не видит (нет в пространстве имён). Извиняюсь за "сложность" вопроса, но более подходящего места не обнаружил. Заранее спасибо за помощь!
  15. Simonov50

    Скриптование

    Двумя постами раньше Dennis_Chikin писал: Не подойдёт? ... Другое - против идеологии языка, и в общем-то трудно представить: зачем бы оно. Не просто подойдет, а просто обалдеть!!! Результат работы первой строки иначе как глюком (в LUA) не назовёшь. По полочкам ещё не разложил, хотя в какую сторону думать понятно. Но каков результат его использования! Применив стандартные средства языка Вы фактически спасли LUA от позора - непригодность для описания акторов (теория акторов/actor/обмен сообщениями - отсутствие стандартных средств поддержки) и, как следствие, непригодность для описания многоагентных систем. Фактически всякий актор может быть определён как самостоятельный поток (программный) высшего логического уровня. В LUA- идеологии можно было пытаться "городить огород" из отдельных "шунков", что в принципе неверно. Либо, как и сделано в игре, "дописывать язык" за счёт подключения собственных Си, ЕХЕ и т.п. модулей. зачем бы оно - Сталкер полноценная (почти) многоагентная система, где каждый "живой" персонаж является актором (кроме объекта "actor"!) и имеет собственный поток (цепочка: obj_id, Logic, xr_logic, binders, bind_tipe_obj). Понятно, что луашные "шунки" авторы использовать не стали. Логическая дыра (возможность взаимодействия потоков) на уровне LUA ни куда не делась. Вы её фактически закрыли. Теперь стало возможным реализовать в игре два отсутствующих у акторов свойства (по определению обязательных!) - способность обмениваться сообщениями и способность воспроизводить себе подобных. Примеры применения: 1. Gamer (достаточно прокачанный), подходит к любому новичку (выбранному по своему усмотрению) и в процессе обмена сообщениями может научить его стрелять и т.п. При этом авторам игры/мода ничего, кроме общих правил, заранее прописывать не нужно. Замечу, что сами диалоги это лишь имитация такого обмена. Инфопоршны это вообще иная песня. Они, как и Action, должны быть конкретно прописаны заранее (т.е. предусмотрены авторами). 2. Собака-самка (белый цвет) после контакта с псом-самцом (тёмный цвет) может вызвать спавн дополнительных особей в своём гулаге. Если Gamer их заранее не отстреляет, то так и произойдёт. Ещё раз подчеркну, авторам нужно лишь описать общие принципы (взаимодействия) для классов акторов. и всё!!! После этого зона реально будет жить собственной (уникальной в каждом компьютере) жизнью. При этом Gamer сможет эффективно воздействовать на ход её развития. А жизнь эта - бесконечна (пока не выключили компьютер ). P.S. Уважаемые, подскажите ни разу не программисту, как подключить спойлер (в личку или на mail). Портянка вместо поста не есть хорошо.
  16. Simonov50

    Скриптование

    1. Как средствами LUA реализовать JUMP (или "адресуемый" renurn) ? 2. Функция wait() в Сталкере (или в LUA?) реально работает? Уважаемые долгожители! (Всех Вам благ и долгих лет!) Не пожалейте для новичка аптечки. (Мозги уже совсем раком встали - видать контролёру не понравился.) Суть проблемы: Есть объект (один) - Timer (фактически - будильник), основа взята из amk.script к ТЧ. Существует некое множество объектов (npc и т.п.), желающих этот Timer использовать. Задача: вернуть управление в конкретную точку. Не представляю в принципе как реализовать??? Нужен пример кода на LUA для функций типа: -- function return_to_caller(return_point, true) end -- или иной вариант -- function jump(return_point) end ------[[ return_point = list_name.func_name() ]]-------------------- P.S. Всем ветеранам с новичка причитается пиво (много!) Вы главное "ни куда не девайтесь"!

AMK-Team.ru

×
×
  • Создать...