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

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

Что это может быть, если:

делаю 1: get_hud():AddCustomStatic()
делаю 2: wnd():AttachChild()
здесь ГГ получает хит от собаки ("разрыв")
делаю 3: wnd():DetachChild()

Но "3" уже не работает, скрипт виснет.

Нет хита -- работает.

При других хитах -- работает.

Чем рисование "разрыва" отличается от рисования других хитов?

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

всё легко

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

Господа, никто не поделится функцией перетаскивания всех имеющихся у ГГ предметов в именной ящик с уникальным стори айди? 

GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Куча раритетных модов на моем облаке — на память о былом.

JNCR — Coming Soon...

i5-10400F / RAM 16GB / GTX 1660 Super / 1TB HDD+256GB SSDm2 / Win 11 PRO x64 / Samsung Curved 27" x2


Подарки

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

    @HellRatz, в смысле? Что-то типа такого?

    local s_box = alife():story_object( my_super_uniq_story_id )
    local box   = level.object_by_id( s_box.id )
    db.actor:iterate_inventory(
      function( npc, item )
        db.actor:trasfer_item( item, box )
      end,
      db.actor
    )
    
    

    По памяти писал. Никаких проверок, типа у нашли-ли мы этот ящик и т.п., нет, а стоит добавить.

    • Спасибо 1
    Ссылка на комментарий

     

     

    Что-то типа такого?

    Возможно. Надо проверять. Если при выполнении этой функции все предметы из рюкзака просто перелетают в именной ящик который точно есть, то да, оно самое.

    GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Куча раритетных модов на моем облаке — на память о былом.

    JNCR — Coming Soon...

    i5-10400F / RAM 16GB / GTX 1660 Super / 1TB HDD+256GB SSDm2 / Win 11 PRO x64 / Samsung Curved 27" x2


    Подарки

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

    @HellRatz

    function nah_shmotki(actor, npc)
    -- news_manager.send_tip(db.actor, "Определили схрон", nil, nil, 10000)
    inv_box_1 = level_object_by_sid (99984)
    out_object = actor
        in_object  = inv_box_1
    if in_object then
    -- news_manager.send_tip(db.actor, "Кидаем барахло", nil, nil, 20000)
    end
    actor:inventory_for_each(transfer_object_item)
    end
    • Спасибо 1
    Ссылка на комментарий

    Здравствуйте. ТЧ. НС 2016
    Есть ли возможность заспавнить именной ПДА Меченого из скрытой секции(который был у него на старте), если он был удален или выброшен ? Допустим, вернуть его невозможно, тогда вот что: можно как-то скриптом в нет-пакет заспавненного актеру левого скрытого ПДА любого непися записать характер ГГ ?

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

    Обитаю в деревне новичков. За медузами хожу к ЧАЭС.

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

    Забежал на форум спустя пол года - вдруг интересно стало.
    Один и тот же НПЦ, при неизменяемых параметрах спавна (т.е прописал спавн непися и больше файлы игры не трогал) появляется то в одном месте, то в другом. Причем такая "аномальщина" замечена только для тех, у кого точки walk\look находятся на территории бара(именно подвал).

    Быть может, у кого догадки есть? Просто спустя пол года от релиза Эпилога мне вдруг интересно стало, где я накосячил(

    Не соответствует правилам.

    Ссылка на комментарий
    @CRAZY_STALKER666, возможно, проблема в аи-сетке. Попробуй поменять координаты walk и look, перенеси их наверх и посмотри, что получится.
    Ссылка на комментарий

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

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

     

     

    в момент спауна ящик в онлайне был?
    Нет, но если придти к ящику сразу, то предмет в нём будет, а если после разговора, из которого вызывается спавн в ящик предмета, сохраниться и выйти из игры, а потом загрузится, то предмета в ящике не будет.
    Ссылка на комментарий
    @Graff46, ящики, которые находятся в спавне, всегда в онлайне, т.к. у них нет флагов перехода в оффлайн в object_flags. Чтобы пофиксить - после спавна предмета и выхода его в онлайн сделай трансфер этого предмета из ящика в тот же ящик. Типа box:transfer_item(item, box). Не так давно, где-то в этой теме или в ковырялке ТЧ, это уже обсуждалось. И даже специальную функцию для спавнa в онлайновые ящики приводили. Изменено пользователем naxac
    • Полезно 1

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

    naxac.gif


    Подарки

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

    сделай трансфер этого предмета из ящика в тот же ящик. Типа box:transfer_item(item, box)

    Не помогло, но потратив 2 дня на парсинг тематических форумов я нашёл, то что нужно ящик перевести в оффлайн, а потом в онлайн, для перезаписи его нэт-пакетов. Вот рабочий код:

     

    function spawn_in(box, item) -- Заспавнить НПСу в инвентарь, rewrite = true если спавним в ящикalife():create(item ,box:position(),box:level_vertex_id(),box:game_vertex_id(),box:id())
    	alife():create(item ,box:position(),box:level_vertex_id(),box:game_vertex_id(),box:id())
    	switch_offline(box)
    	switch_autoline(box:id())
    end
    function switch_offline (npc)
    if npc == nil then return end
    local sim = alife ()
    if sim ~= nil then
    sim:set_switch_online (npc:id (), false)
    sim:set_switch_offline (npc:id (), true)
    end
    end
    
    -------------------------------------------------------------------------------------------
    function switch_autoline (id) -- Это моё by Graff46 22.05.14, переводим НПС в нормальный режим
    local sim = alife () --если мы рядом - НПС онлайн, далеко - НПС оффлайн
    if sim ~= nil and sim:object(id) then
    sim:set_switch_online (id, true)
    sim:set_switch_offline (id, true)
    end
    end

     

    Изменено пользователем Graff46
    • Полезно 3
    Ссылка на комментарий

    Забавный эффект наблюдаю:

     

    При входе актора в онлайн удаляется пачка объектов.

    Через некоторое время срабатывает

    function my_obj_binder:net_spawn( data )
    	if not object_binder.net_spawn( self, data ) then return false end
    	local obj = sim:object( data.id )
    	if obj then ...
    	else error() -- разумеется, это и срабатывает
    это так должно быть ? Изменено пользователем Dennis_Chikin
    Ссылка на комментарий

    @Dennis_Chikin, 2017, отладчик и исходники, исходники и отладчик :)

    Такое может быть, например, если вызвать аборт не из акторных скриптов. Движок его отловит, объект удалит, но игру не покрашит. В результате появляются биндеры без объектов.

    В логе ничего похожего нет?


    Подарки

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

    Не, тупо, for i = 1, 65535 do

    if ... then alife():release( obj, true )end

    end

     

    а потом начинает отрабатывать net_spawn() всего удаленного.

    Ссылка на комментарий
    @Dennis_Chikin, я в некоторых случаях замечал, что движок как бы запланировал вывод в онлайн какие-то объекты и будет пытаться это делать, даже если их удалить после этого и до их net_spawn-а. Вот такое у меня ощущение осталось. Подробно не разбирался. Просто принял к сведению, что возможны чудеса.
    • Полезно 1
    Ссылка на комментарий

    Кто шарит в логике, подскажите, как тут дописать правильно, чтобы в сообщении указывалось имя NPC, а не писалось "Сообщение".

    [sr_idle@20]
    on_game_timer = 10000 | sr_idle@30 %+sad_artefuck_ready =send_tip(sad_artefact_upgr_ready:sad_atr_trader) -sad_atr_trader_go_kitchen%
    
    send_tip - понятно, что это функция в xr_effects.script

     

    Есть даже такой комментарий:

     

    --[[
    send_tip(news_id:sender:sender_id)
    		1. news_id
    		2. sender*
    		3. sender_id*
    		* - not necessary
    --]]
    
    news_id - это текст сообщения, т.е. string id. В моей логике имя sad_artefact_upgr_ready

    sender - это иконка в секции tips_icons news_manager.script. В моей логике имя sad_atr_trader

    sender_id - а это заголовок сообщения, story_id NPC.

     

    story_id моего персонажа прописан в файле по пути: gamedata\configs\creatures\spawn_sections_sad.ltx

     

    И выглядит так:

     

    [sad_atr_trader]:stalker
    $spawn                     = "respawn\sad_atr_trader"
    character_profile     = sad_atr_trader
    story_id = sad_atr_trader
    
    Т.е. в логике я указал как:

    [sr_idle@20]
    on_game_timer = 10000 | sr_idle@30 %+sad_artefuck_ready =send_tip(sad_artefact_upgr_ready:sad_atr_trader:sad_atr_trader) -sad_atr_trader_go_kitchen%
    
    Дело в том, что хоть story_id и указан, заголовок все также остается как "Сообщение".

     

     

    UPD:

    Я все-таки думаю, что story_id читается, но не отображается. Потому что, если указать другое имя, не являющееся story_id - игра вылетит.

    Думаю, дело в функции send_tip в news_manager.script. Там не прописано отображение имени.

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

     

    UPD2:

    Проблема решена на форуме ap-pro: http://ap-pro.ru/forum/114-90122-1

    Изменено пользователем aka_sektor
    Ссылка на комментарий

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

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

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

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

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

    Войти

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

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

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

    AMK-Team.ru

    ×
    ×
    • Создать...