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

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

 
 

Paradox27kms всё мож быть, я чн вообще не ковырял, так, по мелочи в одном моде (в разработке) худ поправил, но не более того. тогда остаётся только курсорная анимка. уж она точно должна работать)


                                                                       Прямой дороги тебе, сталкер. Мимо аномалий, через артефакты...
                                                                                                          4-4.gif
                                                    Я всегда хотел отвечать людям добром, но жизнь научала отвечать взаимностью...

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


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

Бессмертный в xr_effects вот эту функцию

Спойлер

function change_actor_community()
db.actor:set_character_community("freedom", 0, 0)
end

в диалоге вызываешь

<action>xr_effects.change_actor_community</action>

скорее всего эту же функцию можно и в dialogs_(название локации) вставить но я для теста закинул xr_effects и всё работает


Дополнено 12 минуты спустя
3 часа назад, denis2000 сказал:

Чисто теоретически это возможно реализовать скриптами

а к примеру вообще убрать этот указатель если игрок на другой локации, можно? если да то как?

  • Лайк 1

 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»

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


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

Pavel2000 Смотри скрипт task_objects.script, там есть механизм который ставит метку на проводника если задание на другой локации.

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

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

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


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

denis2000 поправил айдишники в этом файле на айдишники моих спотов получилось так

 659316251_2025-01-04212947.png.13ef46ab8d4faaee773e96f72e57eb46.png

стрелка всё равно в сторону янова показывает(проводника там нет)

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

(опытным путём было выявлено что стрелка указывает на граф поинт привязанный к тому уровню на котором указатель квеста)

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

 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»

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


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

Pavel2000 Править метки не достаточно. Вам придется более серьезным образом разобраться в работе скрипта...


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

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


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

denis2000 или просто переместить нужный game graph туда где переход(что собственно я и сделал и моя проблема так сказать решена:u1F601:)


 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»

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


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

Создал скрипт записок: при использовании записки в инвентаре на экран выводится сама записка и две кнопки: Показать текст и выход.
 

Спойлер

class "catalyst_note" (CUIScriptWnd)
show_text = false
note_text_number = 1

function catalyst_note:__init() super()
    self:InitControls()
    self:InitCallBacks()
end

function catalyst_note:__finalize()
end

function catalyst_note:InitControls()
    local xml = CScriptXmlInit()
    self:SetWndRect(Frect():set(0,0,1024,768))
    xml:ParseFile("catalyst_notes.xml")
    
    if note_text_number == 1 then 
        self.note_one = xml:InitStatic("note_one", self) 
    elseif note_text_number == 2 then 
        self.note_two = xml:InitStatic("note_two", self) 
    elseif note_text_number == 3 then 
        self.note_three = xml:InitStatic("note_three", self) 
    elseif note_text_number == 4 then 
        self.note_four = xml:InitStatic("note_four", self) 
    elseif note_text_number == 5 then 
        self.note_five = xml:InitStatic("note_five", self) 
    end

    self.main_text = xml:InitStatic("main_text", self)

    self.btn_show_text = xml:Init3tButton("btn_show_text", self)
    self:Register(self.btn_show_text, "btn_show_text")    

    self.btn_quit = xml:Init3tButton("btn_quit", self)
    self:Register(self.btn_quit, "btn_quit")
end

function catalyst_note:InitCallBacks()
    self:AddCallback("btn_quit", ui_events.BUTTON_CLICKED, self.click_quit, self)    
    self:AddCallback("btn_show_text", ui_events.BUTTON_CLICKED, self.click_show_text, self)    
end

function catalyst_note:click_show_text() 
    if note_text_number == 1 then 
        self.main_text:SetText("текст 1") 
    elseif note_text_number == 2 then 
        self.main_text:SetText("текст 2") 
    elseif note_text_number == 3 then 
        self.main_text:SetText("текст 3") 
    elseif note_text_number == 4 then 
        self.main_text:SetText("текст 4") 
    elseif note_text_number == 5 then 
        self.main_text:SetText("текст 5") 
    end
end

function catalyst_note:click_quit() 
    self:HideDialog()
end

function use_obj(obj)
    if not obj then
        return
    end
    
    local section = obj:section()
    
    if section == "zapiska_seni" then
        alife():create("zapiska_seni",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id())
        note_text_number = 1
        level.start_stop_menu(catalyst_note(), true)
    elseif section == "zapiska_shrumi_buhar" then
        alife():create("zapiska_shrumi_buhar",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id())
        note_text_number = 2
        level.start_stop_menu(catalyst_note(), true)
    elseif section == "zapiska_baza" then
        alife():create("zapiska_baza",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id())
        note_text_number = 3
        level.start_stop_menu(catalyst_note(), true)
    elseif section == "zapiska_rudolf" then
        alife():create("zapiska_rudolf",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id())
        note_text_number = 4
        level.start_stop_menu(catalyst_note(), true)
    elseif section == "zapiska_trio_genius" then
        alife():create("zapiska_trio_genius",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id())
        note_text_number = 5
        level.start_stop_menu(catalyst_note(), true)
    end
    
end

Есть три вопроса, как сделать следующее:
1. Как закрыть инвентарь при использовании записки, и открыть обратно при закрытии записки.
2. Как выдать инфопоршень при выходе из записки?
3. Возможно ли затемнить фон при открытии записки? Если да, то подскажите пожалуйста как.
Заранее благодарю.

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


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

NewValveCom 

1. не знаю метод из огсра, но реально может работать и в зп

local wnd = level.get_inventory_wnd()

if wnd:IsEnabled() then wnd:Enable(false) end

открыть

if not wnd:IsEnabled() then wnd:Enable(true) end

2. Наверное это функция click_quit там выдавай инфу

3. найти эффект камеры где-нибудь или самому его изобрести

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


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

@NewValveCom, @ian98, есть `actor_menu.script`, но там экспортированы в xr_logic состояния открытого окна лута и апгрейде, сделайте по аналогии экспорт и для инвентаря. 

image.png
P.S. Что-то не пойму, зачем эти заметки, когда можно восстановить энциклопедию...

Изменено пользователем Hrust
  • Мастер! 1

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


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

Подскажите пожалуйста, где можно найти еще анимпоинтов для зп и сдк? Срочно нужны


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

как вызвать функцию через рестриктор? мне нужно чтобы сообщение выводилось на экран

Спойлер

[logic]
active = sr_idle

[sr_idle]
on_info = {=actor_in_zone(military_start_space_restrictor)} %=start_sms%

Спойлер

function start_sms(actor, npc)                     
                        news_manager.send_tip(db.actor, "нужный мне текст", 10000, "freedom", 18000, 902)
end
 

потом просто при запуске новой игры когда вхожу в рестриктор вылет, имена рестрикторов правильные, я проверял в сдк, кастом дата тоже правильная. что я делаю не так? и да, 902 это story_id сахарова, но его нет в игре, поэтому вылет? и как мне прописать story_id нужному мне нпс, чтобы от него приходило сообщение? game_story_ids вообще у меня нет, я там ничего не писал. 


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

лога тоже нет, просто strack trace: и всё. --error_log в g_script я расскоментировал, думал что даст настоящий лог но толку нет

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

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


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

Приветствую. Как задать анимацию физическому предмету? У меня есть ноутбук, который должен открыться после нажатия. Только происходит вылет:

Спойлер

FATAL ERROR
 
[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ....r. call of pripyat\gamedata\scripts\xr_logic.script:734: bad argument #1 to 'pairs' (table expected, got nil)
 

stack trace:
 

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

Спойлер

[logic]
active = ph_idle@wait

[ph_idle@wait]
on_info = {+val_a1_polovinkin_find_off_start_dialog_end_i} ph_idle@useopening

[ph_button@useopening]
anim_blend = true
anim = idle_close
on_use = ph_button@opening %+val_a1_af_prolog_scann_notebook_active_info%

[ph_button@opening]
anim_blend = true
anim = open
on_game_timer = 25 | ph_button@opened

[ph_button@opened]
anim_blend = true
anim = idle
 

 

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


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

ph_idle@useopening

 

2 минуты назад, Крим сказал:

[ph_button@useopening]

переход на секцию неправильный

  • Лайк 1

 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»

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


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

Создал диалог, который в конце прерывается, скрывается интерфейс и отнимается управление, после чего звучит сообщение на ПДА, после чего с этим же персонажем должен запуститься второй диалог, при завершении которого должен быть выдан квест.

Делал по аналогии с ЧН-овским квестом в начале, когда диалог с Лебедевым прерывается на сообщение о необходимости помочь форпосту.

В результате в игре ситуация следующая: после прерывания диалога, проигрывания и вывода на экран сообщения на ПДА, игра просто висит в таком состоянии и не запускает второй диалог. Вылета при этом нет, игра работает, просто не отдает управление игроку. Закрыть игру и посмотреть лог/консоль не получается, только через диспетчер задач.

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

Спойлер

 

[sr_idle@scene_3_scientist_wait]
on_info = {+mar_intro_talk_with_scientist_1_radio_timer} sr_idle@scene_3_scientist_time

[sr_idle@scene_3_scientist_time]
on_timer = 40000 | %=play_sound(mar_csky_leader_to_scientist_0:csky:mar_csky_commander_name)%
;2nd iteration
on_info = {+mar_intro_talk_with_scientist_1_radio_played} sr_idle@scene_3_scientist_catch, {+mar_intro_talk_with_scientist_1_break} %=play_sound(mar_csky_leader_to_scientist_0:csky:mar_csky_commander_name)%
on_signal = sound_end | sr_idle@scene_3_scientist_catch %+mar_intro_talk_with_scientist_1_radio_played%

[sr_idle@scene_3_scientist_catch]
on_info = {+mar_intro_talk_with_commander_1_started} sr_idle@scene_3_scientist_ui %=give_inited_task(storyline:mar_story_talk_with_commander_1:csky)%

[sr_idle@scene_3_scientist_ui]
on_info = {!talking} sr_idle@scene_3_commander_wait %=enable_ui%

 

Спойлер

 

[logic]
active = smartcover@table_idle
level_spot = quest_npc

[smartcover@table_idle]
path_walk = mar_smart_terrain_csky_base_scientist_walk
cover_name = mar_smart_cover_csky_scientist_lead_stand_look_at_table
loophole_name = lead_stand_look_at_table
cover_state = idle_target
on_info = {+mar_intro_talk_with_commander_1_radio_played} smartcover@tutorial_1
combat_ignore_cond = true
meet = meet
;target_path = mar_smart_terrain_csky_base_scientist_look
;def_state_moving = walk

[smartcover@table_fire_no_lookout]
path_walk = mar_smart_terrain_csky_base_scientist_walk
cover_name = mar_smart_cover_csky_scientist_lead_stand_look_at_table
loophole_name = lead_stand_look_at_table
cover_state = fire_no_lookout_target
on_timer = 15000 | smartcover@table_idle
combat_ignore_cond = true
meet = meet
;target_path = mar_smart_terrain_csky_base_scientist_look

[smartcover@tutorial_1]
path_walk = mar_smart_terrain_csky_base_scientist_walk
cover_name = mar_smart_cover_csky_scientist_lead_stand_look_at_table
loophole_name = lead_stand_look_at_table
cover_state = fire_no_lookout_target
combat_ignore_cond = true
meet = meet@self
;target_path = mar_smart_terrain_csky_base_scientist_look

;-----------------------------------------------------------------------------

[meet]
meet_state = 3 | nil@nil
meet_state_wpn = 3 | nil@nil
victim = 0 | actor
victim_wpn = 0 | actor
use = true
use_wpn = true
precond = visibility
meet_dialog    = {+mar_intro_talk_with_barman_done -mar_intro_talk_with_scientist_1_radio_played} mar_csky_intro_doctor
trade_enable = false
sound_start     = mar_csky_doctor_meet
sound_stop         = mar_csky_doctor_meet_bye
quest_npc = true

[meet@self]  ;Юзание после связи по ПДА
meet_state = 3 | nil@nil
meet_state_wpn = 3 | nil@nil
victim = 0 | actor
victim_wpn = 0 | actor
use = true
use_wpn = true
precond = visibility
meet_dialog    = mar_csky_intro_doctor2
allow_break = false
trade_enable = false

 

 

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


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

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

Спойлер

[logic]
active = ph_idle@play 

[ph_idle@play]
on_info = %=play_sound(radio_stalker_1)% ph_idle@time

[ph_idle@off]
on_use = ph_idle@play
tips = radio_on

[ph_idle@time]
on_use = ph_idle@off %=stop_sound% 
tips = radio_off

Спойлер

[radio_stalker_1]
type = 3d
path = radio\radio_stalker_1
shuffle = rnd

 

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


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

sosiska23  попробуйте вот так
 

[logic]
active = ph_idle@play

[ph_idle@play]
on_info = ph_idle@on %=play_sound(radio_stalker_1)%

[ph_idle@on]
on_use = ph_idle@off %=stop_sound%
tips = radio_on

[ph_idle@off] 
on_use = ph_idle@on %=play_sound(radio_stalker_1)%
tips = radio_off

 


Дополнено 1 минуту спустя
38 минут назад, sosiska23 сказал:

[radio_stalker_1]
type = 3d
path = radio\radio_stalker_1
shuffle = rnd

тут ещё добавьте 

idle = 0,0,100


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

Бессмертный я не уверен что это сработает но попробуйте вот так

Спойлер

[sr_idle@scene_3_scientist_wait]
on_info = {+mar_intro_talk_with_scientist_1_radio_timer} sr_idle@scene_3_scientist_time

[sr_idle@scene_3_scientist_time]
on_timer = 40000 | sr_idle@wait_sound_end %=play_sound(mar_csky_leader_to_scientist_0:csky:mar_csky_commander_name)%
;2nd iteration
on_info = {+mar_intro_talk_with_scientist_1_break} sr_idle@wait_sound_end %=play_sound(mar_csky_leader_to_scientist_0:csky:mar_csky_commander_name)%

[sr_idle@wait_sound_end]
on_signal = sound_end | sr_idle@scene_3_scientist_catch %+mar_intro_talk_with_scientist_1_radio_played%

[sr_idle@scene_3_scientist_catch]
on_info = {+mar_intro_talk_with_commander_1_started} sr_idle@scene_3_scientist_ui %=give_inited_task(storyline:mar_story_talk_with_commander_1:csky)%

[sr_idle@scene_3_scientist_ui]
on_info = {!talking} sr_idle@scene_3_commander_wait %=enable_ui%

и тут ещё не понято где выдаётся поршень +mar_intro_talk_with_commander_1_radio_played для активации второй секции meet 

Изменено пользователем Pavel2000
  • Лайк 1
  • Сталкерский лайк 1

 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»

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


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

я не уверен что это сработает но попробуйте вот так

К сожалению, не сработало. Зато поправил ошибку с поршнем "+mar_intro_talk_with_commander_1_radio_played", корректно будет "+mar_intro_talk_with_scientist_1_radio_played". Поменял в логике НПС, но и это не помогло, игра так и осталась висеть.


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

Может, косяк в диалогах (в плане выдачи инфопорций)? Прикрепляю оба под спойлеры.

      

Спойлер

<dialog id="mar_csky_intro_doctor">
        <has_info>mar_intro_talk_with_scientist_1_started</has_info>
        <dont_has_info>mar_intro_talk_with_scientist_1_break</dont_has_info>
        <phrase_list>
            <phrase id="2">
                <text>mar_csky_intro_doctor_2</text>
                <next>3</next>
            </phrase>
            <phrase id="1">
                <text>mar_csky_intro_doctor_1</text>
                <next>2</next>
            </phrase>
            <phrase id="0">
                <text>mar_csky_intro_doctor_0</text>
                <next>1</next>
            </phrase>
            <phrase id="3">
                <text>mar_csky_intro_doctor_3</text>
                <next>4</next>
            </phrase>
            <phrase id="4">
                <text>mar_csky_intro_doctor_4</text>
                <give_info>mar_intro_talk_with_scientist_1_radio_timer</give_info>
                <next>5</next>
            </phrase>
            <phrase id="5">
                <text>mar_csky_intro_doctor_5</text>
                <action>dialogs.break_dialog</action>
                <action>dialogs_marsh.disable_ui</action>
                <give_info>mar_intro_talk_with_scientist_1_break</give_info>
            </phrase>
        </phrase_list>
    </dialog>

Спойлер

<dialog id="mar_csky_intro_doctor2">
        <phrase_list>
            <phrase id="1">
                <text>mar_csky_intro_doctor2_1</text>
                <next>2</next>
            </phrase>
            <phrase id="2">
                <text>mar_csky_intro_doctor2_2</text>
                <give_info>mar_intro_talk_with_scientist_1_done</give_info>
                <next>3</next>
            </phrase>
            <phrase id="3">
                <text>mar_csky_intro_doctor2_3</text>
                <give_info>mar_intro_talk_with_commander_1_started</give_info>
            </phrase>
            <phrase id="0">
                <text>mar_csky_intro_doctor2_0</text>
                <action>dialogs_marsh.enable_input</action>
                <next>1</next>
            </phrase>
        </phrase_list>
    </dialog>

 

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


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

Бессмертный ну висит она у вас потому что логика сцены не доходит до той секции где происходит её включение enable_ui

 

  • Лайк 1

 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»

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


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

Бессмертный ну висит она у вас потому что логика сцены не доходит до той секции где происходит её включение enable_ui

 

Копать стоит именно в логику сцены, логику НПС, или может быть ошибка в настройке инфопорций для диалога?

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


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

Бессмертный Оно всё вместе друг от друга зависит, просто надо вдумчиво просмотреть все зависимости по порядку где какой поршень нужен, выдаётся он или нет, я например если где то в упор не вижу ошибку прописываю в секцию каждой схемы дополнительный on_info с функцией вывода смс сообщения

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

 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»

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


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

Есть нубский вопрос по скриптам, я в них вообще не шарю.

Вот скрипт для блокировки взятия в руки минигана, если игрок не экипирован в экзу:

Спойлер

 

function check_armor()
    local armor, weapon, weapon_2 = db.actor:item_in_slot(7), db.actor:item_in_slot(2), db.actor:item_in_slot(3)
    if (db.actor and db.actor:active_slot()==2 and weapon) then
        local tmp = armor and armor:section() or ""
        if (not string.find(tmp, "exo")) and weapon:section()=="wpn_m134" then
            db.actor:drop_item(weapon)
            local tmpw = alife():create(weapon:section(), db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
            db.actor:transfer_item(weapon,db.actor)
            alife():release(tmpw)
            SetHudMsg(game.translate_string("Это оружие нельзя взять в руки без экзоскелета"),3)
        end
    elseif (db.actor and db.actor:active_slot()==3 and weapon_2) then
        local tmp = armor and armor:section() or ""
        if (not string.find(tmp, "exo")) and weapon_2:section()=="wpn_m134" then
            db.actor:drop_item(weapon_2)
            local tmpw = alife():create(weapon_2:section(), db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
            db.actor:transfer_item(weapon_2,db.actor)
            alife():release(tmpw)
            SetHudMsg(game.translate_string("Это оружие нельзя взять в руки без экзоскелета"),3)
        end

    end
end

 

Нужно добавить сюда ещё 2 вида оружия: wpn_ptrs и wpn_sniperptrs. Как это сделать?

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


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

Hounfor а зачем вообще нужен local tmpw :) мне правда интересно зачем. типо, чтобы изображать как предмет именно перемещается в инвентарь, а не падает и телепортируется, что заметно

 

а так можно же по идее по примеру экзы сделать, а нужные секции оружия в конфигах чуть переименовать добавив им exo_wpn, чтобы также по названию отсеивать. ну можно и по-другому. банально можно строчку

 if (not string.find(tmp, "exo")) and (weapon_2:section()=="wpn_m134" or weapon_2:section()=="wpn_ptrs" orweapon_2:section()== "wpn_sniperptrs") then

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

Изменено пользователем ian98
  • Мастер! 1

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


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

ian98, про local tmpw не знаю, скрипт не я писал, пытаюсь довести готовое)

Если делать через exo_wpn, то нужно само оружие в конфигах переименовать в exo_wpn_ptrs, так? А тупить нигде не будет, что в оружии префикс exo_ стоит?

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


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

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

Изменено пользователем ian98
  • Мастер! 1

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


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

Бессмертный Если в логике возникают подобные затыки, можно вместе с переключением на другую секцию выдавать текстовое сообщение типа перешел на такую то секцию. Тогда вы визуально отследите на какой секции затыки сможете проверить срабатывания условий там (возможны варианты от неверного имени инфопорции или не выдачи ее до зависания функции из xr_effects). Если не хотите прерывать игру софт-ресетом, то временно отключите disable_ui.


RomaL23 У вас целых две причины:
1. Кривая логика
2. Кривая функция.
По первой проблеме - добавьте переход на другую секцию после выдачи сообщения.
По второй проблеме - используйте готовую функцию выдачи сообщений в логике: send_tip (как задать ей параметры подсмотрите в любой логике).

Изменено пользователем denis2000
  • Лайк 1
  • Мастер! 1

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

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


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

denis2000 уже решил. Теперь я думаю как мне убрать аномальные искажения на локации, они выглядят как у баржи Ноя на затоне.. позже скрин скину 

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


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

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

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

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

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

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

Войти

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

Войти

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

    Ни одного зарегистрированного пользователя не просматривает данную страницу