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

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


Svoboда

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

Ребят, может, кто скинуть мне ровный скрип на ремонтный комлект для ЗП?

Пробовал создать по этому. Всё заработало, прям идеально, но эффекта починки нет. Он его просто лопает.

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


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

@Charsi, Не мог бы ты подробней расписать про нумерацию слотов? Какие слоты использует оружие, и костюм?

И что мне делать с методом "give_game_news" удалять его, или заменять другим значением?

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


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

@Charsi, Пробовал сделать все, как ты сказал, все равно не работает. Дело в скрипте, скорее всего, я пропустил какие-то переменные или методы, ссылающие на актора имеют совсем другие значения на ЗП. Хотя я уверен,  что там еще чего-то не хватает, уж больно скрипт простой.
Вот посмотри код скрипта:

function action_repair()
    -- эмулируем возврат ремкомплекта в инвентарь
    alife():create("repair_kit_outfit", vector(),0,0,0)
 
    -- нет ли рядом врагов и монстров
    local apos = db.actor:position()
    for obj_id,_ in pairs (db.storage)do
        local obj = level.object_by_id(obj_id)
        if obj and (IsStalker(obj) or IsMonster(obj)) and obj:alive() 
        and obj:relation(db.actor) == game_object.enemy and obj:position():distance_to(apos)<30 then
            send_tip("Нельзя чинить костюм, когда враги слишком близко.")
            return
        end
    end

    -- пробуем чинить предмет в 
    repair_item_in_slot(7) -- седьмом слоте
end

function repair_outfit()
local item_s7 = db.actor:item_in_slot(7) --объявляем переменную (item_s7)
    if item_s7 ~= nil and item_s7:condition() >=0.60 and item_s7:condition() ~=1 then --когда костюм можно чинить (состояние больше или равно 60%)
        item_s7:set_condition(1)
        local snd_obj = xr_sound.get_safe_sound_object([[interface\inv_detach_addon]])
        snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
        local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,0,255,0]Ремонт костюма завершен."
        db.actor:give_game_news("st_tip",news_text, "ui_iconsTotal_grouping", 1000, 5000)
    elseif item_s7 == nil then --когда костюма нет 
        local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: нужно одеть коcтюм."
        db.actor:give_game_news("st_tip",news_text, "ui_iconsTotal_grouping", 1000, 5000)
        alife():create("repair_kit_outfit", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id())
    elseif item_s7:condition() <0.60 then --когда костюм нельзя чинить (состояние меньше 60%)
        local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: костюм слишком сильно повреждён."
        db.actor:give_game_news("st_tip",news_text, "ui_iconsTotal_grouping", 1000, 5000)
        alife():create("repair_kit_outfit", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id())
    elseif item_s7:condition() ==1 then --когда костюм в отличном состояние
        local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: %c[255,0,255,0]костюм в отличном состоянии."
        db.actor:give_game_news("st_tip",news_text, "ui_iconsTotal_grouping", 1000, 5000)
        alife():create("repair_kit_outfit", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id())
    end
end

function send_tip(news_text)
    db.actor:give_game_news("st_tip",news_text, "ui_iconsTotal_grouping", 1000, 5000)
end

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


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

Ребят, может, кто-нибудь дать примерный набросок скрипта с проигрованием анимации у ствола? Я представляю примерно, как его наполнить, но просто не хватает уверенности, что он заработает.
Проще говоря, хочу просто дополнить класс WP-PM, научив его проигрывать анимку затвора, который не хочет работать, если я сменю класс ствола. А жертвовать режимом автоматического огня или затвором, мне не очень хочется.

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


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

Мне тут неделю назад популярно объяснили, что такого не существует. А то-что выдаёт поисковик, это хотелки, обращённые к тем, кто пытается править движек. И делает всякие Х-Ray экстеншины. Пытается делать...

Хотя, в каком-то моде видел, как из аптечки шприц вкалывали. Такой анимки в оригинале не было. Вроде сами добавили. Но что при этом исправли - большой вопрос.

Ну, и что мне теперь делать? Лезть в движок и править класс WP-PM? Я даже приблизительно не знаю, где он там находится.
Или отказываться от режима автоматического огня у пистолетов на совсем, и делать их обычными однопатронными. Я вообще не пойму одного: в оригинале у той же Беретки и Вали 99 стояли режимы автоогня, и по 3 патрона они прекрасно работали, затвор там тоже работал. Хотя могу ошибаться, давно не играл в оригинал.

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


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

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