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

[SoC] Ковыряемся в файлах


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

1 час назад, AndreySol сказал:

он естественно его и выбирает

Я вообще не об этом... Это я так попытался объяснить, что "патроны с пояса" вполне работают и по поводу НПС не нужно париться. Это совсем не вопрос был. Я "нарисовал картинку", так сказать. А то друг друга запутали, засомневались и даже не проверили мою ссылку. Или я один трезвый? 

53 минуты назад, Ворон545 сказал:

Лучше один раз увидеть, чем...

 

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

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

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

Ну это уже дело десятое. К слову скажу, у меня 40 ячеек. И когда их используешь по полной, т.е. артефакты, патроны для 3-4 пушек, гранаты, медикаменты, батарейки... И сорока ячеек бывает мало...

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

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

Обычный пояс, как в оригинале. Только большой. И возможность/необходимость размещать некоторые предметы на нём. 

11 минут назад, Ворон545 сказал:

конкретно для боеприпасов

И не думаю, что автор аддона собирался делать "отдельный" пояс. В НЛС-6, например, появилась разгрузка. Но это уже немного другая история.

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

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

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

@Ворон545, ЕМНИП, в этом аддоне всё, что относится к ammo, требует размещения на поясе. А для использования гранат нужно подправить. Загляни в ammo_fake.ltx

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

Ссылка на комментарий
4 часа назад, mole venomous сказал:

Ничего не писать. Вызываешь, "on_block_medkits()

Пробовал вызвать сию конструкцию в bind_stalker из actor_binder:net_spawn(data) перед return true - вылет с руганью на эту строку. Сами функции прописал в самый конец бинд_сталкер.

Че-то не пойму, как твоими функциями пользоваться. Идея состоит в том, чтобы при старте НИ/сейве/лоаде/переходе на другую локу клавиши были недоступны.

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

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

как твоими функциями пользоваться

У меня вызов на апдейте актёра. Ещё для примера файл inventory.script, где использую открывая/закрывая инвентарь. 

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

 

Прямо с утра затестил. На обновлении net_spawn всё работает. Поверил на своей сборке (в основе АМК и ТЧ 1,0006). Для верности, на случай, может чего забыл, проверил также на том, что ещё было (ТЧ с паком SMP на движке OGSR) и куда свои руки ещё особо не совал. Тоже работает. 

Изменено пользователем mole venomous
  • Спасибо 1

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

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

@mole venomous, Пояс почти работает.

Почти, потому что хоть на пояс боеприпасы вешаются, но перезарядка по-прежнему из рюкзака.

Что не так с этим делом, есть мнение?

В моем моде (UZI) используется мод Арсенал (старый). Может с этим быть связано?

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

@Ворон545, попробуй этот вариант адаптировать: https://yadi.sk/d/oUCJq2xExL68Iw

Я раньше его использовал, работало нормально.

для каждой секции патронов в конфигах создаётся фейковая секция вида

[ammo_fake]:ammo

и затем в инвентаре все патроны, которые находятся не на поясе, заменяются на эти фейки. При открытии окон обыска, инвентаря или торговли фейки меняются обратно на настоящие патроны, при закрытии окон - снова происходит замена на фейки. 

Алгоритм простой и надёжный (=

  • Нравится 1
  • Согласен 1
  • Полезно 1

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

naxac.gif

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

@naxac, это он и есть.

1 час назад, Ворон545 сказал:

мод Арсенал

наврядли они конфликтуют. 

Судя по тому, как ты пояснил, у тебя патроны, те что в рюкзаке, не обращаются в фейки. Потому и используются. 

Для справки. Когда с собой до фига патронов, при открытии/закрытии инвентаря даже подтормаживает, по понятным причинам.

Для новых секций патронов нужны к ним фейки, само собой.

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

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

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

@mole venomous, Наверное скрипты какие-то не работают.

21 минуту назад, mole venomous сказал:

не обращаются в фейки.

Именно. 

Знать бы еще почему

23 минуты назад, mole venomous сказал:

Когда с собой до фига патронов

Дофига - это сколько жеж? )

Ссылка на комментарий
12 минут назад, Ворон545 сказал:

Знать бы еще почему

При обращению к инвентарю работают скрипты inventory и ammo_belt. Копай там.

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

Ссылка на комментарий
25 минут назад, mole venomous сказал:

inventory и ammo_belt. Копай там

Я их поставил как есть. Что я там копать буду? 

 

Не может быть из-за bind_stalker.script? В нем есть что-то, что связано с работой пояса?

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

@Ворон545, столько, сколько унесёшь при переспавне затормозит твой проц.

7 минут назад, Ворон545 сказал:

bind_stalker

конечно, это же бинд_сталкер.

Оттуда ловится работа с инвентарём и итемами. Сравни оригинальный и модифицированный файлы. 

Изменено пользователем mole venomous
  • Согласен 1
  • Полезно 1

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

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

@AndreySol@mole venomous, вот смотрите, товарищи.

 

Сию конструкцию

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

function on_block()
  cmd("unbind use_medkit")
end


function cmd(scmd, ...)
  local args = {...}
  local cons = get_console()
  if #args > 0 then
    scmd = scmd.."..table.concat(args,")
  end
  cons:execute(scmd)
end

дописываю в конец bind_stalker. Пробовал заменять кавычки на два апострофа, рез-т тот же.

 

В actor_binder:net_spawn(data) пишу сие действо:

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

function actor_binder:net_spawn(data)

 ...

 on_block()

    return true
end

 

Ловлю вылет:

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

FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : .\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: ...g\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:87: attempt to call global 'on_block' (a nil value)
 

stack trace:

 

Походу я что-то неправильно понимаю, ткните носиком :)

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

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

Ссылка на комментарий
16 минут назад, AndrewMor сказал:

scmd = scmd.."..table.concat(args,")

Мне кажется, здесь... Вот код

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

function cmd(scmd, ...)
    local args = {...}
    if #args > 0 then
        scmd = scmd .. ' ' .. table.concat(args, ' ')
    end
    get_console():execute(scmd)
end

При копи-пасте ничего не поменялось вчера?

@AndrewMor, да чёрт с ним! Вызывай уже это :

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

local cons=get_console()

cons:execute("unbind use_medkit")

 

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

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

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

@mole venomous, Вот эта конструкция сработала:

 

function actor_binder:net_spawn(data)

 ...

        local cons=get_console()
        cons:execute("unbind use_medkit")
        cons:execute("unbind use_bandage")

    return true
end

 

Все четко работает, при старте НИ, после сев/лоада, перехода на другую локу. Спс.

На будущее, буду знать. Не зря говорят: век живи - век учись.

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

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

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

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

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

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

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

Войти

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

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

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