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

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

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;

};

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
12 часов назад, Stalkersof сказал(а):

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

DIK_keys.DIK_RETURN

 

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

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

Изменится.

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

Мод, где не бывает одинаковых путей - Судьба Зоны.

...что хотел сказать, большинству мододелов. Послушайте.

Любите орехи? А вот первая ступенька. Пути. Там еще вторая, третья, их много... я давно всем показывал но никто не видит. Все любят, шорох орехов.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
9 часов назад, Капрал Хикс сказал(а):

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

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

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

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
9 часов назад, ted.80 сказал(а):

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

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

 

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

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

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

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

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, AndrewMor сказал(а):

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

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

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

@AndreySol Потому и написал, что костыльно использовать инфо-порции.

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

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как-то всё в итоге к уборке трупов свелось, мда. Скрипты уборщика трупов-то уже на любой вкус есть, только под себя подогнать. Я вот вроде нашёл функцию в ranks.script:
 

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

-- возвращает название ранга заданного game_object (персонажа)

function get_obj_rank_name( obj )
    if not ranks_loaded then
        read_all_ranks()
    end

    local obj_rank

    -- HACK
    if obj.m_story_id ~= nil then
        obj_rank = obj:rank()
    else
        obj_rank = obj:character_rank()
    end

   --добавляем проверку в следующей строке на живость NPC:

    if IsStalker(obj) and obj:alive() then
        return get_rank_name( obj_rank, stalker_rank_intervals ) or stalker_max_rank_name
    else
        return get_rank_name( obj_rank, monster_rank_intervals ) or monster_max_rank_name
    end
end

 

Но честно говоря, не знаю, где ещё эта проверка ранга дёргается, может быть звания NPC при обыске трупов перестанут отображаться или ещё что...

Интересно, если монстрам добавить эту проверку можно ли будет забороть баг вида: при обыске трупа мутанта строка отношения копирует строку отношения последнего обысканного трупа, из-за чего может оказаться нейтральным или дружественным.

Изменено пользователем Капрал Хикс

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
9 часов назад, _Sk8_AsTeR_ сказал(а):

Они ведь не обрабатываются скриптами вообще?

Можно добавить им в конфиг скриптовую обвязку вида: script_binding = bind_crow.init. Я так делал для выдачи инфопоршня при убийстве вороны.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Капрал Хикс , емнип, за добавление/удаление в этот список неписей отвечают две строчки в se_stalker.script:

actor_stats.add_to_ranking(self.id)

и

actor_stats.remove_from_ranking(self.id)

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Господа, а каким образом можно вызвать свою функцию при условии, что ГГ только что пришлёпнул непися? Через каллбеки? Если да, то через какие? Чет я туплю...

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, _Sk8_AsTeR_ сказал(а):

каким образом можно вызвать свою функцию при условии, что ГГ только что пришлёпнул непися?

В файле xr_motivator.script ищи function motivator_binder:death_callback(victim, who)

там есть проверка:

	if who:id() == db.actor:id() then
		xr_statistic.addKillCount(self.object)
		-- Отсюда вызывай
	end

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

@ted.80 нашёл абсолютно идентичные строки в бинд_сталкер, только там похоже этот  каллбек не работает судя по всему, ибо я там ковырял эти строки. Тогда ясно в чем моя ошибка :) 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, _Sk8_AsTeR_ сказал(а):

в бинд_сталкер, только там похоже этот  каллбек не работает

Работает. Но относится к ГГ, а не НПС. Когда ГГ кто-нибудь убьет, там можно проверять, кто...

Мод, где не бывает одинаковых путей - Судьба Зоны.

...что хотел сказать, большинству мододелов. Послушайте.

Любите орехи? А вот первая ступенька. Пути. Там еще вторая, третья, их много... я давно всем показывал но никто не видит. Все любят, шорох орехов.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Доброго времени суток. Возник вопрос к опытным скриптерам. В ТЧ есть функция выдачи тайника:

    treasure_manager.get_treasure_manager():give_treasure("esc_secret_truck_goods")

Как переделать так, чтобы выдавало рандомный тайник из заданного списка? Буду очень благодарен за помощь.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

@hArdplAyer22_22 Вот прям со всеми потрохами:

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

esc_tbl = {
        "esc_secret_bridge_vagon",
        "esc_secret_anomaly_dead",
        "esc_secret_bandit_cross",
        "esc_secret_bandit_supply",
        "esc_secret_under_cross",
        "esc_secret_refuge",
        "esc_secret_safe_farm",
        "esc_secret_vagon_container",
        "esc_secret_stalker_things",
        "esc_secret_box_bridge",
        "esc_secret_village_rucksack",
        "esc_secret_village_roof",
        "esc_secret_nice_place",
        "esc_secret_vorpal",
        "esc_secret_commander_goods",
        "esc_secret_road",
        "esc_secret_thief",
        "esc_secret_gas_pipe",
        "esc_secret_truck_goods",
        "esc_secret_kpp_tower",
    }

function give_treasure_esc_random()
    treasure_manager.get_treasure_manager():give_treasure(esc_tbl[math.random(#(esc_tbl))])
end

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нашёл скрипт на хит от артов. При загрузке сохранения если есть в инвентаре гг арт, то хит опять бьёт гг! Может кто глянуть https://yadi.sk/d/gnrvCoK2NEvN0g

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

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

AMK-Team.ru

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