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

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


Svoboда

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

Интересует следующий вопрос: возможно ли реализовать проверку получения хита (тип fire_wound) актёром и/или НПС и деление полученого хита на коэффициент (ТЧ 1.0004, АМК-1.4.1). Необходимо для обхода damages.ltx при создании новых костюмов с разной пулестойкостью. В первую очередь возникает проблема именно в грамотном написании функции, иначе бы сам всё проверил.

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

Здесь могла быть ваша реклама.

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


Ссылка на сообщение

Буду разбираться с этим, спасибо за информацию. А вот что касается damages, это ведь только для НПС? И можно ли туда добавлять секции, которые будут работать. На практике пробовал и результата не увидел.

Здесь могла быть ваша реклама.

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


Ссылка на сообщение

Значит всё моя невнимательность... Сую голову глубоко и не вижу, что на поверхности.

Здесь могла быть ваша реклама.

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


Ссылка на сообщение

Господа модмейкеры, надеюсь на вашу помощь. После нескольких тщетных попыток всё же решил обратиться сюда. Вопрос в том, как определить тип патронов в стволе в текущий момент, для получения коэффициентов ттх. Всё это нужно для краткого инфо об оружии в виде сообщения. На всякий случай вот код, как его составил на данный момент, потребует ли он кардинальной правки?

------------------------------------------------------------------------------------------------------------------------
--" информация об оружии
------------------------------------------------------------------------------------------------------------------------
local time_update = 500
local time_add
local condition
local damage
local velocity
local dispersion
function weapon_info()
local time = time_global()
if time_add == nil then
time_add = time_global() + time_update
end
local active_slot = db.actor:active_item()
if active_slot and db.actor:active_slot()==1 then
if time > time_add then
time_add = time_global() + time_update
local sect=db.actor:item_in_slot(1):section()
local name = tostring(system_ini():r_string(sect,"inv_name_short"))
local a=tonumber(system_ini():r_string(sect,"hit_power"))
local b=tonumber(system_ini():r_string(sect,"bullet_speed"))
local c=tonumber(system_ini():r_string(sect,"fire_dispersion_base"))
local d=tonumber(system_ini():r_string(sect,"fire_dispersion_condition_factor"))
damage=a*100
velocity=b
condition=db.actor:item_in_slot(1):condition()
dispersion=(c*100)*(1+(d*(1-condition)))
local text = "\\n%c[0,0,255,255]Текущее оружие: \\n%c[255,160,160,160]"..game.translate_string(tostring(name)).."\\n%c[255,1,255,1]повреждение = "..game.translate_string(tostring(damage)).."\\n%c[255,1,255,1]скорость пули = "..game.translate_string(tostring(velocity)).."\\n%c[255,1,255,1]кучность = "..game.translate_string(tostring(dispersion)).."\\n%c[255,1,255,1]состояние = "..game.translate_string(tostring(condition))
db.actor:give_game_news(text,"ui\\ui_IconsTotalKrot",Frect():set(0,48,83,47),50,10000)
end
time_add = nil
end
if active_slot and db.actor:active_slot()==2 then
if time > time_add then
time_add = time_global() + time_update
local sect=db.actor:item_in_slot(2):section()
local name = tostring(system_ini():r_string(sect,"inv_name_short"))
local a=tonumber(system_ini():r_string(sect,"hit_power"))
local b=tonumber(system_ini():r_string(sect,"bullet_speed"))
local c=tonumber(system_ini():r_string(sect,"fire_dispersion_base"))
local d=tonumber(system_ini():r_string(sect,"fire_dispersion_condition_factor"))
damage=a*100
velocity=b
condition=db.actor:item_in_slot(2):condition()
dispersion=(c*100)*(1+(d*(1-condition)))
local text = "\\n%c[0,0,255,255]Текущее оружие: \\n%c[255,160,160,160]"..game.translate_string(tostring(name)).."\\n%c[255,1,255,1]повреждение = "..game.translate_string(tostring(damage)).."\\n%c[255,1,255,1]скорость пули = "..game.translate_string(tostring(velocity)).."\\n%c[255,1,255,1]кучность = "..game.translate_string(tostring(dispersion)).."\\n%c[255,1,255,1]состояние = "..game.translate_string(tostring(condition))
db.actor:give_game_news(text,"ui\\ui_IconsTotalKrot",Frect():set(0,0,83,47),50,10000)
end
time_add = nil
end
end

 

Здесь могла быть ваша реклама.

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


Ссылка на сообщение

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

Здесь могла быть ваша реклама.

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


Ссылка на сообщение

Не, народ не обленился. Исправно и стабильно ищет выход из сложившейся непростой ситуации. Пытался я "поймать" ammo_type сам, защёл в тупик и только тогда обратился за советом. Однако же, спасибо.

  • Согласен 1

Здесь могла быть ваша реклама.

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


Ссылка на сообщение
В 07.09.2017 в 11:46, _Sk8_AsTeR_ сказал:

как заставить НПС съесть водку

Думаю, тут надо ковырять логику НПС, где через условия заставлять его проигрывать нужные анимации по порядку. В итоге, когда НПС очнётся, маленько хитовать его, как бы похмелье.

Здесь могла быть ваша реклама.

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


Ссылка на сообщение

Вот и я тут с вопросами... Возможно ли задать предмету (в частности оружию) состояние, заспавнивая его из инвентаря (путём use_object)?

Здесь могла быть ваша реклама.

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


Ссылка на сообщение
48 минут назад, Kirgudu сказал:

Странный вопрос

С коллбеками и спауном всё понятно. Интересовало то, как задать итему состояние (нанести хит или указать кондишн) - собственно, сам код, как это сделать любым доступным способом. Вроде того, как мы задаём некоторые пар-тры НПС, не прибегая к all.spawn. Теперь всё ясно, спасибо.

Здесь могла быть ваша реклама.

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


Ссылка на сообщение

Всем предновогодний привет. Уже давно собираю "солянку под себя", изначально на основе АМК 1.41. Уже сделано достаточно много, но совсем недавно заметил проблему. После сейв-лоада рандомно появляются инвентарные ящики с визуалом динамита. Я их, конечно, удаляю через net_spawn, но появляются новые. Пересмотрел все свои правки и дополнения, но ничего не нашёл. И вот вопрос - это проблема игры (4 и 6 патч), самого АМК или же частный случай? Может, кто сталкивался.

Здесь могла быть ваша реклама.

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


Ссылка на сообщение
19 часов назад, naxac сказал:

для работы менеджера оружия

О как! Спасибо, не допёр бы. А больше ai additions не преподносит сюрпризов?

 

Здесь могла быть ваша реклама.

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


Ссылка на сообщение

Использую лечение из DMX. Всё вроде бы хорошо, но вот заковыка. Если сразу не закрыть инвентарь после использования аптечки/еды, то оружие в руках уже не появится (придёться делать сейв/лоад). Может где то накосячил с адаптацией или в сборке Солянка + DMX такое бывает? Что бы не ломать голову, подумал, может кто подскажет код на закрытие инвентаря после использования конкретного предмета?

Здесь могла быть ваша реклама.

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


Ссылка на сообщение
14 часов назад, losiara сказал:

вылет безлоговый

Посмотреть последнее, что будет в логе, если принудительно его писать. Надо в файле _g.script поправить так:

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

rlog = 1
function printf(fmt,...)
    -- принудительная запись в лог, для выявления причин безлоговых вылетов 
    -- v.0.77 : добавлено условие rlog 
    if rlog == 1 then local con=get_console()con:execute(string_gsub(string_format(fmt,...)," ","_"))con:execute("flush") end
    local arg = {...}
    if (arg and arg[1] ~= nil) then    
        log(string_format(fmt,...))
    end
end 

Потом вернуть как было или выставить rlog = 0

Здесь могла быть ваша реклама.

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


Ссылка на сообщение
9 часов назад, DoberBull сказал:

Помогите пж с распаковкой ресурсов ОП-2.1

Ты сталкер или где? Кто ищет выход за счёт других?

  • Нравится 2
  • Сомнительно 1

Здесь могла быть ваша реклама.

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


Ссылка на сообщение

Вопрос, скорее всего нубовский, т.к. только недавно обратил внимание на проблему. Однако, у меня одного исчезают артефакты, рождённые "электрой"? Пропадают даже без сейв/лоада, при удалении от них на определённую дистанцию. Для спавна артов использую скрипт art_mgr (Artefact Respawn Script 1.01 by kstn). Если это проблема ПЫС, сорри за невнимательность. 

Здесь могла быть ваша реклама.

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


Ссылка на сообщение

Вопрос относительно блокировки доступа к инвентарю. Даже целых три. Весьма понравились идеи из ОП-2.1 и НА-6, где нельзя открыть инвентарь в движении (вернее, ГГ остановится) и при перезарядке оружия. Кроме того, пытался реализовать автозакрытие инвентаря при поедании медикаментов/еды (с блокировкой доступа до истечения времени использования), но ничего не вышло. Если есть подобные методы, скриптово реализуемые, буду признателен.

Здесь могла быть ваша реклама.

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


Ссылка на сообщение
6 часов назад, Norman Eisenherz сказал:

attempt to concatenate field '?'

naxac дело говорит, я ловил такую дрянь, в другой ситуации. Тогда у меня нет-пакет портился из-за негодной адаптации, а я то думал, что там с загрузкой моего difficulty...

Здесь могла быть ваша реклама.

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


Ссылка на сообщение
В 05.08.2019 в 11:24, _Sk8_AsTeR_ сказал:

где в солянке рыться

Тогда берём araxis и сравниваем файлы оригинальной соли и свои. Для начала, файлы со скриптами сна .

 

Здесь могла быть ваша реклама.

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


Ссылка на сообщение

Всем добрый день. Вопрос по restriction_stock. Возможно ли к фиксированной InvMax добавлять числовые значения, полученные из функции через массив. Т.е имеем функцию проверки, одет ли костюм и если да, то какой. Отсюда находим кол-во дополнительного места для рюкзака и прибавляем к InvMax. Или же нужно оперировать в самой функции restriction_of_stock(ItemObj,Fix)?(Где я и застрял, т.к. при каждом вызове функции InvMax постоянно увеличивается). Моих знаний здесь не хватает... 

Здесь могла быть ваша реклама.

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


Ссылка на сообщение

Добрый вечер. Подскажет ли кто-нибудь, как скриптово принудительно остановить перезарядку оружия у ГГ?

Здесь могла быть ваша реклама.

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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