Перейти к содержанию

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

 
 
11 минут назад, Paradox27kms сказал:

в студию если не сложно

function actor_active_weapon(actor, npc, p)
    local weapon_section = p and p[1]
    if weapon_section == nil then abort("Wrong parameters in function 'actor_active_weapon'") end
    local active_item = db.actor:active_item()
    return (active_item ~= nil) and active_item:section() == weapon_section
end

В xr_conditions. Проверяй через death нужного НПС {=hit_by_actor =actor_active_weapon(оружие)}

Изменено пользователем Neptun
  • Лайк 1

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


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

Пытаюсь переименовать текст из GUI данным способом

self.caption_rang:TextControl():SetText(game.translate_string("ui_mm_pve_rang_2"))

В итоге новый текст накладывается на старый

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


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

Зачем? Я нашел в mp_actor.ltx

Хозяин-барин, только не каждая кость имеет шейп и как по мне визуально удобнее отследить области попадания нежели по скудному тексту.


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

Можно ли в скриптах выдавать инфопоршни? Я вот попытался, но не работает такое. 

Спойлер

function has_item_task(first_speaker, second_speaker)
    -- проверка если у игрока есть предмет
    if db.actor:object("vodka") ~= nil then
        db.actor.give_infoportion("plateau_quest_autobus_has_item")
    end
end

В диалоге есть <has_info>plateau_quest_autobus_has_item</has_info> но той ветки диалога куда я этот тег вписал не появляется. 

Спойлер

    <dialog id="plateau_debil_autobus_end">
        <dont_has_info>plateau_quest_autobus_end</dont_has_info>
        <has_info>plateau_quest_autobus_has_item</has_info>
        <action>plateau_quest_autobus.has_item_task</action>
        <phrase_list>
            <!-- квест на автобус конец -->
            
            <phrase id="0">
                <text>Насчет водки...</text>
                <next>1</next>
            </phrase>
            <phrase id="1">
                <text>Чё там?</text>
                <next>2</next>
            </phrase>
            <precondition>plateau_quest_autobus.has_item_task</precondition>
            <phrase id="2">
                <text>Вот он.</text>
                <next>3</next>
            </phrase>
            <phrase id="3">
                <give_info>plateau_quest_autobus_end</give_info>
                <text>Хорошо. Вот, держи за работу.</text>
                <action>plateau_quest_autobus.quest_reward</action>
            </phrase>
            <phrase id="4">
                <text>Ещё занимаюсь этим делом...</text>
            </phrase>
            
        </phrase_list>
    </dialog>

Я убирал  <dont_has_info>plateau_quest_autobus_end</dont_has_info> и <action>plateau_quest_autobus.has_item_task</action> но ничего не менялось. Ветки диалога не было.

Вот ещё и task manager файл.

 

Спойлер


[find_bus_quest]
icon = ui_inGame2_Dolgi
prior = 99
storyline = false
title = plateau_test_bus_quest_title
descr = {=actor_has_item(vodka)} plateau_test_bus_quest_title, plateau_test_bus_quest_desc, nil
target = plateau_stalker_exclusive_questnpc
condlist_0 = {+plateau_quest_autobus_end} complete
 

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
 
5 часов назад, shadept сказал:

Можно ли в скриптах выдавать инфопоршни?

выдача инфопорции скриптом:
db.actor:give_info_portion("инфопорция")
Выдача инфопорции диалогом:
<give_info>инфопорция</give_info>


Дополнено 2 минуты спустя
13 часов назад, Paradox27kms сказал:

В итоге новый текст накладывается на старый

А где прописан старый текст? Если в .xml написано типа такого:
<text align="l" vert_align="c" font="letterica18">Текст</text>
То сделай так:
<text align="l" vert_align="c" font="letterica18"></text>

  • Лайк 1

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


Ссылка на сообщение
Поделиться на другие сайты
 
11 часов назад, Neptun сказал:

выдача инфопорции скриптом:
db.actor:give_info_portion("инфопорция")
Выдача инфопорции диалогом:
<give_info>инфопорция</give_info>


Дополнено 2 минуты спустя

А где прописан старый текст? Если в .xml написано типа такого:
<text align="l" vert_align="c" font="letterica18">Текст</text>
То сделай так:
<text align="l" vert_align="c" font="letterica18"></text>

Не работает через скрипт. В игре диалог не появляется. 

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


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

Ребят. Мне нужно чтобы сквад спавнился в начале игры( симуляционный или нет без разницы), я прописал его для этого в симулятион. Всё работает, норм. А как только ГГ отходит от сквада на расстояние,  они пропадают, а когда подходит к месту спавна за какое-то расстояние они спавнятся снова. Как сделать так, чтобы они постоянно были, не респавнились, когда ГГ отходит от них?

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


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

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

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


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

Seraph Может в скваде прописать только online. Ну типо там дефолтное online_offline_group, а если оставить online_group? Что -то измениться? 

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


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

Как сделать так, чтобы они постоянно были

Попробуй так ( сам не проверял ).

Пусть есть сквад с секцией  [bandit_squad]:online_offline_group

В файле se_squad_group.script меняешь метод.

Вместо 

function se_squad:can_switch_offline()
    return cse_alife_online_offline_group.can_switch_offline(self)
end

Пишешь

function se_squad:can_switch_offline()
    if self:section_name() == "bandit_squad" then
        return false
    end
    return cse_alife_online_offline_group.can_switch_offline(self)
end

Потом расскажешь что получилось.

 

 


Терпение... И все получится.

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


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

У меня не появляется опция диалога с определенным инфопоршнем, хоть я его и выдаю через скрипт.
Вот сам диалог и скрипт.

Спойлер

function item_task_give()
    -- даем игроку квест 
    task_manager.get_task_manager():give_task("find_bus_quest")
end

function quest_reward()
    -- отдаем бабло игроку
    dialogs.relocate_money_to_actor(first_speaker, second_speaker, 4000)
end

function has_item_task(first_speaker, second_speaker)
    -- проверка если у игрока есть предмет
    if db.actor:object("vodka") ~= nil then
        db.actor:give_info_portion("plateau_quest_autobus_has_item")
    end
end

Спойлер

<?xml version="1.0" encoding="windows-1251" ?>
<game_dialogs>


    <dialog id="plateau_debil_autobus_start">
        <dont_has_info>plateau_quest_autobus_started</dont_has_info>
        <dont_has_info>plateau_quest_autobus_smth</dont_has_info>
        <phrase_list>
        
            <!-- квест на водку начало -->
            
            <phrase id="0">
                <text>Есть дело для меня?</text>
                <next>1</next>
            </phrase>
            <phrase id="1">
                <text>Конечно. Принеси мне водку.</text>
                <next>2</next>
                <next>3</next>
            </phrase>
            <phrase id="2">
                <text>Ну нахер.</text>
            </phrase>
            <phrase id="3">
                <text>Хорошо.</text>
                <give_info>plateau_quest_autobus_started</give_info>
                <action>plateau_quest_autobus.item_task_give</action>
            </phrase>        
        </phrase_list>
    </dialog>
    
    <dialog id="plateau_debil_autobus_end">
        <dont_has_info>plateau_quest_autobus_end</dont_has_info>
        <has_info>plateau_quest_autobus_has_item</has_info>
        <phrase_list>
            <!-- квест на автобус конец -->
            
            <phrase id="0">
                <text>Насчет водки...</text>
                <next>1</next>
            </phrase>
            <phrase id="1">
                <text>Чё там?</text>
                <next>2</next>
            </phrase>
            <precondition>plateau_quest_autobus.has_item_task</precondition>
            <phrase id="2">
                <text>Вот он.</text>
                <next>3</next>
            </phrase>
            <phrase id="3">
                <give_info>plateau_quest_autobus_end</give_info>
                <text>Хорошо. Вот, держи за работу.</text>
                <action>plateau_quest_autobus.quest_reward</action>
            </phrase>
            <phrase id="4">
                <text>Ещё занимаюсь этим делом...</text>
            </phrase>
            
        </phrase_list>
    </dialog>

Что я прописал не так? Смотрел вот это видео и читал STALKER IN, хоть он для Тень Чернобыля. 

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


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

Подскажите пожалуйста, как в обычный скрипт спавна добавить информацию orientation и distance?

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


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

makdm Пропадает сквад, как только актёр отходит далеко, а когда подходишь, сквад появляется в том месте, где пропал. Не помогает. 

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

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


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

stalker032 Немного покурил старые форумы: в ЗП нет изначально функций для постоянного онлайна (либо не то курил). Если тебя это устроит - можешь просто общий радиус алайфа (вроде 150 метров) в alife.ltx увеличить, но вообще - затея условно сомнительная, он там не от балды проставлен. Но с увеличенным параметром смарты будут переходить в онлайн на куда более дальнем расстоянии.


Дополнено 2 минуты спустя

Contentic Что за параметры такие? У спавн-элементов есть position и rotation.

  • Лайк 1
  • Жму руку 1

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


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

Seraph ну подскажи хотя бы это) в all.spawn видел такие параметры, первое это направление взгляда, а второе не знаю)

 

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


Ссылка на сообщение
Поделиться на другие сайты
 
10 часов назад, shadept сказал:

Что я прописал не так?

Скачай СДК, в нём есть dialog_editor, он автоматически конструирует диалоги, тебе остаётся только вписывать условия и текст.

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


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

shadept Если надумаешь использовать dialog_editor будь осторожней. Всегда старайся делать резервные файлы диалогов.

 

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


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

Если вопрос нубский, но в вопросах моддинга я совсем не шарю.

Сам вопрос: оружейный мод OWR 2.1 Lite.

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

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


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

Скачай СДК, в нём есть dialog_editor, он автоматически конструирует диалоги, тебе остаётся только вписывать условия и текст.

Чем мне это поможет, если я не знаю работают ли инфопоршни или нет? Я же вроде бы создал рабочий диалог.


Дополнено 30 минуты спустя
1 час назад, shadept сказал:

Чем мне это поможет, если я не знаю работают ли инфопоршни или нет? Я же вроде бы создал рабочий диалог.

Я чуть разобрался. Короче, дело такое - поршень может выдастся, но почему-то в моем коде он не выдается, то есть весть код внутри части function has_item_task(first_speaker, second_speaker) не функционирует кроме части if db.actor:object("vodka") ~= nil then, а именно код внутри того ифа не работает. Пробовал printf туда ставить тоже, но не работает, значит всё в порядке с кодом который выдает сам инфопоршень. Сама проблема в том, что код внутри if-а не работает и я пробовал убрать часть ~= nil но ничего из этого не вышло. 

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 15.02.2022 в 21:01, shadept сказал:

Что я прописал не так?

Для начала.  Во втором диалоге на передачу водки предусмотрено разветвление.  Водка есть - водки нет  А вот перехода на 4 фразу с первой нет.  

 <phrase id="0">
                <text>Насчет водки...</text>
                <next>1</next>
 </phrase>

Должно быть что то вроде.

 <phrase id="0">
                <text>Насчет водки...</text>
                <next>1</next>
                <next>4</next>
            </phrase>

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


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

Bespredelschik total commander найди всякое упоминание этого дробовика(что-то типа wpn_shotgun) и удали/замени на стандартную помпу 

  • Жму руку 1

76561198152189716.png

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


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

Для начала.  Во втором диалоге на передачу водки предусмотрено разветвление.  Водка есть - водки нет  А вот перехода на 4 фразу с первой нет.  

 <phrase id="0">
                <text>Насчет водки...</text>
                <next>1</next>
 </phrase>

Должно быть что то вроде.

 <phrase id="0">
                <text>Насчет водки...</text>
                <next>1</next>
                <next>4</next>
            </phrase>

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

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


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

Текстуры насобирал для себя на замену.
Очень-очень строго отбираю их.
НОРМ?

Спойлер

1.jpg.dfe323125467cd75a1826b7696849f17.jpg

 

 

Спойлер

2.thumb.jpg.3f0bcf9830c8d92c6dd59faff9fb78d2.jpg

 

Спойлер

3.jpg.4ed5c388e682dd326f82f8e9d48a8e4a.jpg

Спойлер

4.jpg.750af0fa6a01418569030bcc11d0d55c.jpg

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 15.02.2022 в 21:01, shadept сказал:

function has_item_task(first_speaker, second_speaker)
    -- проверка если у игрока есть предмет
    if db.actor:object("vodka") ~= nil then
        db.actor:give_info_portion("plateau_quest_autobus_has_item")
    end
end

 

В таком виде проверка не сработает.  Надо разделить.  Как то так.

function has_item_task(first_speaker, second_speaker)
    -- проверка если у игрока есть предмет
    return db.actor:object("vodka") ~= nil
end

А поршень выдать отдельно.

function has_item_task_1(first_speaker, second_speaker)
        db.actor:give_info_portion("plateau_quest_autobus_has_item")
end

Через рестриктор, например.

 

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


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

 

Спойлер

0.thumb.jpg.f59937b8e3303561ecbb15fc7b61d0b3.jpg5.jpg.53197c5b3047a95263d8d6f9264b19a4.jpg

 

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   1 пользователь онлайн