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

Рекомендуемые сообщения

@hArdplAyer22_22 

Ты получается не всё нужное взял полностью, из откуда там у тебя этот код. Там используется "сепаратор" - некий разделитель, чтоб отделить артефакты на поясе от остального хлама. Если сепаратор будет - будет и правильно работать, хотя я не уверен, просто знаю за этот способ, который был придуман еще до времен правки движка.

Ссылка на комментарий

Приветствую всех, граждане мододелы, подскажите мне с одним вопросом. Возможно ли на худовую модель вывести gui окно (ну допустим к примеру модель пда)? Если можно то как?

Изменено пользователем I am Dead

Подарки

  • 2
  • Ссылка на комментарий
    3 часа назад, I am Dead сказал(а):

    Возможно ли на худовую модель вывести gui окно (ну допустим к примеру модель пда)

    Если имеется в виду любой из движков, находящихся в свободном доступе, то им все равно, для такого, нужны правки движка.

    Одними скриптами - никак.

     

    Можно вообразить решение задачи "малой кровью". Через относительно простые правки, не предусматривающие рисование GUI непосредственно на модели.

    1) К GUI-классам добавляем методы ротации, смещения, наклона, по всем трем осям.

    2) На худовой модели делаем условную кость, к которой привязывается GUI. И если худовая модель активна (отображается), то при любых ее анимациях на апдейте брать координаты и проекции нужной кости, и транслировать их в GUI. Применяя там для трансформаций окна. Если все сделать аккуратно, то по идее игрок не заметит разницы между движениями модели и движениями GUI, и будет полагать что GUI отображается на модели.

    Но делать это все, надо конечно же в движке. Не скриптами.

    • Спасибо 1

    Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

    Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

    AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

    Ссылка на комментарий

    в news_manager есть функция send_tip, которую мы вызываем, когда хотим послать сообщение главное герою. Самая первая строка пишет тёмно-серым цветом "сообщение", за это отвечает этот кусок кода:

    	local news_caption = game.translate_string("st_tip") --st_tip - "Сообщение"
    	local news_text = game.translate_string(news_id)
    	actor:give_game_news(news_caption, news_text, texture, timeout*1000, showtime, 0)

    Я хочу изменить это "сообщение" на другой текст, с этим проблем не возникло. НО, я также хотел и цвет поменять, но он не меняется! Я думал мб в конфигах в строках сразу поменять цвет, что работало везде где я встречал, но на экран выводится также серая надпись с со всеми параметрами цвета, что я указал "\n%c[0,255,0,0]Внимание:". Как всё таки изменить цвет это строки?

    Ссылка на комментарий

    Всех с праздником! Очередной вопрос из разряда "ткните меня носом", как прибавить/убавить кровотечение у гг через скрипт? 


    Подарки

  • 2
  • Ссылка на комментарий

    @I am Dead  для  добавления кровотечения -  например нанести доп.хит с типом "chemical_burn".  Пример посмотреть можно  в нлс-ишном bind_monster.script.
     

    Изменено пользователем Okichi
    1

    След от кругов на воде - это тоже след (с)

    Ссылка на комментарий
    22 часа назад, ARTLantist сказал(а):

    Как всё таки изменить цвет этой строки?

    Что бы это сделать, нужно добавить параметр complex_mode="1" в соответствующее текстовое поле. Если речь идет о CoP, то это тэг <caption_static> в файлах pda_logs.xml и maingame_pda_msg.xml.

    S.T.A.L.K.E.R. CoP Objects (upd 10.04.24)


    Подарки

  • Ссылка на комментарий

    @WinCapПричем тут complex_mode ? Этот параметр переносит строки если не хватает ширины окна. 

    @OkichiА если нанести chemical_bur, состояние костюма при этом не изменится? И можно ли нанести отрицательный хит, что убавит уровень кровотечения?

    Изменено пользователем I am Dead

    Подарки

  • 2
  • Ссылка на комментарий
    1 час назад, I am Dead сказал(а):

    Причем тут complex_mode ? Этот параметр переносит строки если не хватает ширины окна. 

    Это не только перенос строк, но отрисовка цвета текста %c.

     

    З.Ы. Вторая часть сообщения адресована не мне.

    Изменено пользователем WinCap

    S.T.A.L.K.E.R. CoP Objects (upd 10.04.24)


    Подарки

  • Ссылка на комментарий
    52 минуты назад, WinCap сказал(а):

    Это не только перенос строк, но отрисовка цвета текста %c.

     Только что проверил, у себя в моде, и параметр complex_mode никак не пересекается с цветом текста.


    Подарки

  • 2
  • Ссылка на комментарий
    11 минут назад, Stalkersof сказал(а):

    А как будет кнопка Enter на клавиатуре. Пишу так dik == DIK_keys.DIK_ENTER не срабатывает

    Вот все коды клавиш которые можно использовать в игре 

    Скрытый текст

    C++ class DIK_keys {
        const DIK_0 = 11;
        const DIK_1 = 2;
        const DIK_2 = 3;
        const DIK_3 = 4;
        const DIK_4 = 5;
        const DIK_5 = 6;
        const DIK_6 = 7;
        const DIK_7 = 8;
        const DIK_8 = 9;
        const DIK_9 = 10;
        const DIK_A = 30;
        const DIK_ADD = 78;
        const DIK_APOSTROPHE = 40;
        const DIK_APPS = 221;
        const DIK_AT = 145;
        const DIK_AX = 150;
        const DIK_B = 48;
        const DIK_BACK = 14;
        const DIK_BACKSLASH = 43;
        const DIK_C = 46;
        const DIK_CAPITAL = 58;
        const DIK_CIRCUMFLEX = 144;
        const DIK_COLON = 146;
        const DIK_COMMA = 51;
        const DIK_CONVERT = 121;
        const DIK_D = 32;
        const DIK_DECIMAL = 83;
        const DIK_DELETE = 211;
        const DIK_DIVIDE = 181;
        const DIK_DOWN = 208;
        const DIK_E = 18;
        const DIK_END = 207;
        const DIK_EQUALS = 13;
        const DIK_ESCAPE = 1;
        const DIK_F = 33;
        const DIK_F1 = 59;
        const DIK_F10 = 68;
        const DIK_F11 = 87;
        const DIK_F12 = 88;
        const DIK_F13 = 100;
        const DIK_F14 = 101;
        const DIK_F15 = 102;
        const DIK_F2 = 60;
        const DIK_F3 = 61;
        const DIK_F4 = 62;
        const DIK_F5 = 63;
        const DIK_F6 = 64;
        const DIK_F7 = 65;
        const DIK_F8 = 66;
        const DIK_F9 = 67;
        const DIK_G = 34;
        const DIK_GRAVE = 41;
        const DIK_H = 35;
        const DIK_HOME = 199;
        const DIK_I = 23;
        const DIK_INSERT = 210;
        const DIK_J = 36;
        const DIK_K = 37;
        const DIK_KANA = 112;
        const DIK_KANJI = 148;
        const DIK_L = 38;
        const DIK_LBRACKET = 26;
        const DIK_LCONTROL = 29;
        const DIK_LEFT = 203;
        const DIK_LMENU = 56;
        const DIK_LSHIFT = 42;
        const DIK_LWIN = 219;
        const DIK_M = 50;
        const DIK_MINUS = 12;
        const DIK_MULTIPLY = 55;
        const DIK_N = 49;
        const DIK_NEXT = 209;
        const DIK_NOCONVERT = 123;
        const DIK_NUMLOCK = 69;
        const DIK_NUMPAD0 = 82;
        const DIK_NUMPAD1 = 79;
        const DIK_NUMPAD2 = 80;
        const DIK_NUMPAD3 = 81;
        const DIK_NUMPAD4 = 75;
        const DIK_NUMPAD5 = 76;
        const DIK_NUMPAD6 = 77;
        const DIK_NUMPAD7 = 71;
        const DIK_NUMPAD8 = 72;
        const DIK_NUMPAD9 = 73;
        const DIK_NUMPADCOMMA = 179;
        const DIK_NUMPADENTER = 156;
        const DIK_NUMPADEQUALS = 141;
        const DIK_O = 24;
        const DIK_P = 25;
        const DIK_PAUSE = 197;
        const DIK_PERIOD = 52;
        const DIK_PRIOR = 201;
        const DIK_Q = 16;
        const DIK_R = 19;
        const DIK_RBRACKET = 27;
        const DIK_RCONTROL = 157;
        const DIK_RETURN = 28;
        const DIK_RIGHT = 205;
        const DIK_RMENU = 184;
        const DIK_RSHIFT = 54;
        const DIK_RWIN = 220;
        const DIK_S = 31;
        const DIK_SCROLL = 70;
        const DIK_SEMICOLON = 39;
        const DIK_SLASH = 53;
        const DIK_SPACE = 57;
        const DIK_STOP = 149;
        const DIK_SUBTRACT = 74;
        const DIK_SYSRQ = 183;
        const DIK_T = 20;
        const DIK_TAB = 15;
        const DIK_U = 22;
        const DIK_UNDERLINE = 147;
        const DIK_UNLABELED = 151;
        const DIK_UP = 200;
        const DIK_V = 47;
        const DIK_W = 17;
        const DIK_X = 45;
        const DIK_Y = 21;
        const DIK_YEN = 125;
        const DIK_Z = 44;
        const MOUSE_1 = 256;
        const MOUSE_2 = 512;
        const MOUSE_3 = 1024;

    };

     

    • Спасибо 1
    • Полезно 2

    Подарки

  • 2
  • Ссылка на комментарий
    12 часов назад, Stalkersof сказал(а):

    А как будет кнопка Enter на клавиатуре

    DIK_keys.DIK_RETURN

     

    14 часов назад, I am Dead сказал(а):

    если нанести chemical_bur, состояние костюма при этом не изменится?

    Изменится.

    И отрицательное туда нельзя. (не даст эффекта). Нету прямого способа управлять кровотечением, такого чтоб не задевал состояние комбеза и хп. Нужно править движок, для этого)

    • Спасибо 2

    Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

    Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

    AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

    Ссылка на комментарий

    В каком скрипте смотреть считывание рангов NPC для формирования 20-ки лучших сталкеров? Нашёл ranks.script, он что ли? Хочется тут с товарищами пофиксить багу одну, а именно:

    Даже если сталкер мёртв, он все равно останется в рейтинге до тех пор, пока в игре есть его труп. Это связано с тем, что рейтинг не видит разницы между живым NPC и трупом.

    Мёртвый сталкер автоматически пропадёт из рейтинга, как только труп исчезнет из игры. Стандартное время исчезновения трупа — 36 часов. При желании игрок может ускорить этот процесс, отнеся труп в ближайшую «воронку» или «карусель». При этом стоит учесть, что трупы ключевых персонажей (например, трупы Черепа и Лукаша) из игры не исчезнут.

     


    Подарки

  • Ссылка на комментарий
    9 часов назад, Капрал Хикс сказал(а):

    При этом стоит учесть, что трупы ключевых персонажей (например, трупы Черепа и Лукаша) из игры не исчезнут.

    Всегда доставали эти вечные трупы. Сама концепция Зоны предполагает, что трупы не должны вечно лежать на локациях. В идеале нужен скрипт, который убирает любой труп после его обыска ГГ.

    • Согласен 2

    Сталкер - наше всё!

    Ссылка на комментарий
    9 часов назад, ted.80 сказал(а):

    Удалять через какое-то время? или после ухода в оффлайн?

    Удалять при новом заходе на локацию, как-то так. При обыске выдавать инфо, при заходе на локу - проверять инфо, если выдан - удалять труп. Костыльно конечно. Но работать будет, причем с любыми трупами, в т.ч. имеющими стори_ид.

     

    9 часов назад, ted.80 сказал(а):

    ЕМНИП можно использовать скрипт

    Руки дойдут - обязательно попробую.

    Сталкер - наше всё!

    Ссылка на комментарий
    1 час назад, AndrewMor сказал(а):

    При обыске выдавать инфо, при заходе на локу - проверять инфо, если выдан - удалять труп.

    Мой вариант - не плодить инфо-порции, а использовать db.script, который сами разрабы назвали "База данных живых онлайновых объектов, зон и рестрикторов, актёра". Писать трупы в таблицу, её потом читать. Преимущества таблицы - можно хранить любое кол-во нужной инфо об объекте.

    Ссылка на комментарий

    Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

    Комментарии могут оставлять только зарегистрированные пользователи

    Создать аккаунт

    Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

    Зарегистрировать новый аккаунт

    Войти

    Есть аккаунт? Войти.

    Войти
    • Недавно просматривали   0 пользователей

      Ни один зарегистрированный пользователь не просматривает эту страницу.

    AMK-Team.ru

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