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

ian98

Сталкеры
  • Публикаций

    834
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные ian98


  1. vader_33 визуал оригинальный, просто хитрость такая для выдачи одного и того же визуала. Без нее скрипт вылетает с логом предмет не может быть создан, так как уже создан.

    Спойлер
    
    local npc_tbl = {
      [ "esc_wolf"  ] = true,
      [ "esc_fanat" ] = true,
      [ "esc_fox" ] = true,
      [ "esc_tutorial_wounded" ] = true,
      [ "esc_shustryi" ] = true,
      [ "esc_killer_specnaz" ] = true,
      [ "esc_bandit_novice" ] = true,
      [ "esc_stalker_novice" ] = true,
      [ "esc_ranger" ] = true,
      [ "esc_soldier_commander" ] = true,
      [ "esc_soldier_regular" ] = true,
      [ "esc_soldier_blockpost_commander" ] = true,
      [ "esc_soldier_blokpost" ] = true,
      [ "esc_soldier_specnaz" ] = true,
      [ "esc_killer_master" ] = true,
      [ "esc_provodnik" ] = true,
      [ "gar_seriy" ] = true,
      [ "gar_dram_novice" ] = true,
      [ "gar_bandit_novice_wounded" ] = true,
      [ "gar_bandit_leader" ] = true,
      [ "gar_bandit_novice" ] = true,
      [ "gar_bandit_general" ] = true,
      [ "gar_stalker_general" ] = true,
      [ "gar_wounded_bandit" ] = true,
      [ "gar_dolg_blokpost" ] = true,
      [ "gar_dolg_blokpost_commander" ] = true,
      [ "gar_sniper" ] = true,
      [ "gar_bandit_dm" ] = true,
      [ "agr_krot" ] = true,
      [ "agr_ratcatcher" ] = true,
      [ "agr_nii_commander" ] = true,
      [ "agr_stalker_general" ] = true,
      [ "agr_soldier_regular" ] = true,
      [ "agr_soldier_specnaz" ] = true,
      [ "agr_soldier_commander" ] = true,
      [ "agr_soldier_sniper" ] = true,
      [ "agr_bandit_general" ] = true,
      [ "sim_bandit_novice" ] = true,
      [ "sim_bandit_general" ] = true,
      [ "sim_bandit_veteran" ] = true,
      [ "sim_bandit_master" ] = true,
      [ "sim_stalker_novice" ] = true,
      [ "sim_stalker_general" ] = true,
      [ "sim_stalker_veteran" ] = true,
      [ "sim_stalker_master" ] = true,
      [ "sim_stalker_sniper" ] = true,
      [ "sim_dolg_regular" ] = true,
      [ "sim_dolg_veteran" ] = true,
      [ "sim_dolg_master" ] = true,
      [ "sim_dolg_sniper" ] = true,
      [ "sim_Svoboda_regular" ] = true,
      [ "sim_Svoboda_specnaz" ] = true,
      [ "sim_Svoboda_master" ] = true,
      [ "sim_Svoboda_sniper" ] = true,
      [ "sim_killer_general" ] = true,
      [ "sim_killer_veteran" ] = true,
      [ "sim_killer_master" ] = true,
      [ "sim_killer_sniper" ] = true,
      [ "sim_monolith_regular" ] = true,
      [ "sim_monolith_specnaz" ] = true,
      [ "sim_monolith_master" ] = true,
      [ "sim_monolith_sniper" ] = true,
      [ "sim_ecolog" ] = true,
      [ "sim_zombied_novice" ] = true,
      [ "sim_zombied_veteran" ] = true,
      [ "sim_zombied_master" ] = true,
      [ "sim_fresh_Zombied" ] = true,
      [ "sim_Soldier_regular" ] = true,
      [ "sim_Soldier_specnaz" ] = true,
      [ "sim_Soldier_commander" ] = true,
      [ "sim_Soldier_sniper" ] = true,
      [ "sim_Soldier_master" ] = true,
      [ "sim_stalker_veteran_gusarov" ] = true,
      [ "sim_Svoboda_specnaz_leshii" ] = true,
      [ "sim_stalker_master_chuchelo" ] = true,
      [ "sim_stalker_general_upir" ] = true,
      [ "sim_stalker_master_diador" ] = true,
      [ "sim_ecolog_zob" ] = true,
      [ "sim_stalker_novice_neumeha" ] = true,
      [ "sim_bandit_master_kocherga" ] = true,
      [ "sim_dolg_veteran_barin" ] = true,
      [ "sim_stalker_veteran_vorobey" ] = true,
      [ "sim_stalker_master_master" ] = true,
      [ "sim_dolg_veteran_prapor" ] = true,
      [ "sim_svoboda_specnaz_prut" ] = true,
      [ "sim_stalker_veteran_umnik" ] = true,
      [ "sim_bandit_master_fraer" ] = true,
      [ "sim_stalker_master_polkan" ] = true,
      [ "bar_arena_stalker_1" ] = true,
      [ "bar_arena_stalker_2" ] = true,
      [ "bar_arena_stalker_3_1" ] = true,
      [ "bar_arena_stalker_3_2" ] = true,
      [ "bar_arena_stalker_4_1" ] = true,
      [ "bar_arena_stalker_4_2" ] = true,
      [ "bar_arena_stalker_4_3" ] = true,
      [ "bar_arena_stalker_4_4" ] = true,
      [ "bar_arena_stalker_5_1" ] = true,
      [ "bar_arena_stalker_5_2" ] = true,
      [ "bar_arena_stalker_6_1" ] = true,
      [ "bar_arena_stalker_6_2" ] = true,
      [ "bar_arena_stalker_6_3" ] = true,
      [ "bar_arena_stalker_6_4" ] = true,
      [ "bar_arena_stalker_6_5" ] = true,
      [ "bar_arena_stalker_6_6" ] = true,
      [ "bar_arena_stalker_7" ] = true,
      [ "bar_arena_stalker_8_1" ] = true,
      [ "bar_arena_stalker_8_2" ] = true,
      [ "bar_arena_stalker_8_3" ] = true,
      [ "bar_arena_stalker_8_4" ] = true,
      [ "mil_Svoboda_specnaz" ] = true,
      [ "mil_Svoboda_engineer" ] = true,
      [ "mil_Svoboda_regular" ] = true,
      [ "mil_Svoboda_sniper" ] = true,
      [ "mil_Svoboda_stukach" ] = true,
      [ "mil_Svoboda_zoneguard" ] = true,
      [ "mil_Svoboda_bodyguard" ] = true,
      [ "mil_Svoboda_leader" ] = true,
      [ "mil_Svoboda_trader" ] = true,
      [ "mil_Svoboda_master_Max" ] = true,
      [ "mil_Svoboda_master" ] = true,
      [ "mil_Svoboda_cook" ] = true,
      [ "mil_Svoboda_blockpost_leader" ] = true,
      [ "mil_Svoboda_master_Ugrumiy" ] = true,
      [ "mil_Dolg_specnaz" ] = true,
      [ "mil_Dolg_specnaz_silence" ] = true,
      [ "mil_Dolg_specnaz_cherep" ] = true,
      [ "mil_Killer_informator" ] = true,
      [ "mil_Killer_specnaz" ] = true,
      [ "mil_killer_sniper" ] = true,
      [ "mil_killer_master" ] = true,
      [ "mil_Stalker_master" ] = true,
      [ "mil_Stalker_veteran" ] = true,
      [ "mil_Svoboda_zombi_stalker" ] = true,
      [ "mil_Monolit_regular" ] = true,
      [ "mil_Monolit_master" ] = true,
      [ "bar_stalker_white_novice" ] = true,
      [ "bar_stalker_brown_novice" ] = true,
      [ "bar_stalker_general" ] = true,
      [ "bar_stalker_dolg" ] = true,
      [ "bar_stalker_bandit" ] = true,
      [ "bar_stalker_killer" ] = true,
      [ "bar_stalker_guard" ] = true,
      [ "bar_bar_osvedomitel" ] = true,
      [ "bar_bar_hunter" ] = true,
      [ "bar_bar_drunk_dolg" ] = true,
      [ "bar_bar_lisiy" ] = true,
      [ "bar_psih" ] = true,
      [ "bar_arena_manager" ] = true,
      [ "bar_arena_guard" ] = true,
      [ "bar_arena_savage" ] = true,
      [ "bar_dolg_leader" ] = true,
      [ "bar_dolg_petrenko" ] = true,
      [ "bar_dolg_ivancov" ] = true,
      [ "bar_dolg_guard_commander" ] = true,
      [ "bar_zastava_commander" ] = true,
      [ "bar_ecolog_professor" ] = true,
      [ "bar_svoboda_attack_commander" ] = true,
      [ "bar_killer_ambush_tiran" ] = true,
      [ "bar_crazy_veterans_lucky" ] = true,
      [ "bar_crazy_veterans" ] = true,
      [ "bar_stalker_freeman" ] = true,
      [ "bar_dolg_regular" ] = true,
      [ "bar_dolg_sniper" ] = true,
      [ "bar_dolg_veteran" ] = true,
      [ "bar_dolg_master" ] = true,
      [ "bar_stalker_novice" ] = true,
      [ "bar_stalker_general" ] = true,
      [ "bar_stalker_veteran" ] = true,
      [ "bar_ecolog_guard" ] = true,
      [ "bar_killer_regular" ] = true,
      [ "bar_killer_sniper" ] = true,
      [ "bar_killer_sniper_on_enter" ] = true,
      [ "bar_killer_rpg" ] = true,
      [ "bar_killer_specnaz" ] = true,
      [ "val_bandit_borov" ] = true,
      [ "val_bandit_bodyguard" ] = true,
      [ "val_bandit_novice" ] = true,
      [ "val_bandit_general" ] = true,
      [ "val_bandit_veteran" ] = true,
      [ "val_watchtower_bandit_guard" ] = true,
      [ "val_watchtower_bandit_sniper" ] = true,
      [ "val_dolg_regular" ] = true,
      [ "val_escort_halfdead" ] = true,
      [ "val_escort_nap1" ] = true,
      [ "val_escort_captive" ] = true,
      [ "val_monolith_regular" ] = true,
      [ "val_soldier_regular" ] = true,
      [ "val_soldier_specnaz" ] = true,
      [ "val_stalker_novice" ] = true,
      [ "val_stalker_general" ] = true,
      [ "dar_stalker_explorer" ] = true,
      [ "dar_corpse" ] = true,
      [ "dar_corpse_kalugin" ] = true,
      [ "dar_military_scout" ] = true,
      [ "aes_Monolit_rpg" ] = true,
      [ "aes_Monolit_specnaz" ] = true,
      [ "aes_Monolit_specnaz_rg6" ] = true,
      [ "aes_Monolit_sniper" ] = true,
      [ "aes_Monolit_sniper_gauss" ] = true,
      [ "aes_Monolit_master" ] = true,
      [ "aes_Soldier_commander" ] = true,
      [ "aes_Soldier_military" ] = true,
      [ "aes_Soldier_specnaz" ] = true,
      [ "aes_Soldier_specnaz_aes" ] = true,
      [ "aes_Soldier_sniper" ] = true,
      [ "aes_x" ] = true,
      [ "pri_monolith_ambush" ] = true,
      [ "pri_monolith_ambush_specnaz" ] = true,
      [ "pri_monolith_ambush_exo" ] = true,
      [ "pri_monolith_regular" ] = true,
      [ "pri_monolith_specnaz" ] = true,
      [ "pri_monolith_exo" ] = true,
      [ "pri_monolith_leader" ] = true,
      [ "pri_followers_bomber" ] = true,
      [ "pri_followers_leader" ] = true,
      [ "pri_followers_stalker" ] = true,
      [ "pri_soldier_suicide" ] = true,
      [ "pri_zombied_suicide" ] = true,
      [ "pri_zombied_veteran" ] = true,
      [ "pri_zombied" ] = true,
      [ "rad_monolit_bunker" ] = true,
      [ "rad_monolit_sniper" ] = true,
      [ "rad_monolit_specnaz" ] = true,
      [ "rad_monolit_master" ] = true,
      [ "rad_monolit_rpg" ] = true,
      [ "rad_zombied" ] = true,
      [ "rad_zombied_veteran" ] = true,
      [ "rad_stalker_master" ] = true,
      [ "rad_soldier_specnaz" ] = true,
      [ "rad_Svoboda_master" ] = true,
      [ "rad_dolg_master" ] = true,
      [ "rad_ecolog" ] = true,
      [ "sar_monolith_specnaz" ] = true,
      [ "sar_monolith_exo" ] = true,
      [ "sar_monolith_commander" ] = true,
      [ "sar2_monolith_regular" ] = true,
      [ "sar2_monolith_specnaz" ] = true,
      [ "sar2_monolith_exo" ] = true,
      [ "sar2_monolith_specnaz2" ] = true,
      [ "sar_monolith_exo_crystal" ] = true,
      [ "yan_ecolog_help" ] = true,
      [ "yan_Semenov" ] = true,
      [ "yan_ecolog_vasilyev" ] = true,
      [ "yan_ghost" ] = true,
      [ "yan_ecolog" ] = true,
      [ "yan_zombied" ] = true,
      [ "yan_zombied_veteran" ] = true,
      [ "yan_zombied_ambush" ] = true,
      [ "yan_zombied_master" ] = true,
      [ "yan_zombied_dolg" ] = true,
      [ "yan_fresh_Zombied" ] = true
    }
    
    function change_rank_2()
    	local sobj = is_stalker( sobj )
    	if sobj and sobj:alive() and sobj:rank()~=0 then
          local is_tbl_npc = npc_tbl[ sobj:name() ] or npc_tbl[ sobj:profile_name() ]
          if is_tbl_npc then
    		sobj:set_rank(upgrade_exp*lvl+math.random(1,1000))
    		end
    	end
    end
    
    function is_stalker( sobj )
      return sobj:clsid() == clsid.script_stalker
    end

     

    Как мне понимается, то sobj - вообще сталкер.

    Если сталкер, если он живой и если его ранк равен нулю тогда

    стол, там всякие проверки, дать ранг от 1 до 1000.

    Это так понимаю этот скрипт я, а вот игра его понимает вот так

    Спойлер

    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: ...ow of chernobyl\gamedata\scripts\bind_stalker.script:30: attempt to call field 'change_rank2' (a table value)
     

    stack trace:

    Еще, да, скрипт висит на нетспавне, нормально ему там будет? 


  2. можно ли как-то менять визуалы через скрипты без последствий в виде вылетов? Меняю визуалы скриптом из ai addiction, я его повесил в закреп. Все работает, но в какой-то момент игра начинает засыпать вылетами. Примерно со свалки это начинается. Я могу предположить, что это из-за анимаций, но как такое можно исправить в таком случае? Сделать всем скинам одну анимацию, обычную? 

    В общем, стоило убрать только сюжетных нпс, например того же юрика и 3 бандитов, и вылеты прекратились.

    Спойлер
    
    ! error in stalker with visual actors\bandit\stalker_bandit_4 -- тут может быть любой визуал
    stack trace:
    
    0023:07FD234B xrGame.dll
    
    БЫВАЕТ ЕЩЕ ТАКОЙ
    
    ! error in stalker with visual actors\stalker_mp\stalker_sv_military_vet
    stack trace:
    
    0023:75ABA6F2 KERNELBASE.dll
    0023:649D8E89 MSVCR80.dll, EH_prolog()
    0023:0043ACD0 XR_3DA.exe, Feel::Touch::operator=()
    0023:0046605A XR_3DA.exe, CEvent::operator=()
    0023:00466518 XR_3DA.exe, CEvent::operator=()

     

    xrs_armor.script


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

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

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

    Спойлер
    
    local npc_tbl = {
      [ "esc_wolf"  ] = true,
    ...
      [ "yan_fresh_Zombied" ] = true
    }
    
    function change_rank_2()
    	local sobj = alife():object( a )
    	if sobj and is_stalker( sobj ) and sobj:alive() and sobj.rank and sobj:rank()~=0 then
          local is_tbl_npc = npc_tbl[ sobj:name() ] or npc_tbl[ sobj:profile_name() ]
          if is_tbl_npc then
    		sobj:set_rank(upgrade_exp*lvl+math.random(1,1000))
    		end
    	end
    end

     

     


  3. В оригинальной игре много разных багов, к чему я привык давно. Только этот один, который вызывает у меня раздражение

    Спойлер

    ?imw=5000&imh=5000&ima=fit&impolicy=Lett

    Мешает буковка k перед F. Она не всегда появляется. Раз через раз примерно, с чем связано? Можно ли поправить раз и навсегда? Помнится, в детстве еще, наверное на ранних патчах, не было такого бага с этими надписями.


  4. vader_33 А если я хотел бы, чтобы у нпс также были разные фонари? в "всевозможныхstalker.ltx" в "attachable_items" все прописал и ничего. Ходят с обычными. Потом я понял, что для нпс есть скрипт sr_light и функция check_light(stalker), но ничего там не получается. Получается только включить какой-то один из фонарей.

     


  5. Alex Kireev так я ж говорю, если этот конфиг присвоить оригинальному фонарю, то все он светит, синим, как надо. Также, если оригинальному фонарю прописать модельку синего фонаря, то он, опять же, будет светить синим. А вот фонарь клон хоть с оригинальной моделькой, хоть с клонированной - не работает. Просто пустышка-предмет, слот занимает. Там похоже гемор конкретный его добавлять. Не так это работает, как с оружием или броней, или с артефактом. Даже если я просто клонирую фонарь

    [device_torch_2]:device_torch

    он становится бесполезным куском, куском в общем...


  6. Решился клонировать фонарик. От обычного должен отличаться тем, что светит синим. 

    Как делал. В конфиге items.ltx в секции фонарика [device_torch] спустился в самый низ, где забил такие строчки

    [device_torch_blue]:device_torch
    visual				= equipments\light_night_blue.ogf

    Модельку взял оригинальную, скопировал, присвоил ей имя _blue. Дальше через OGF data changer заинклудил конфиг фонаря, где цвет прописывается и какие-то параметры еще, выглядит все так.

    Спойлер

    image.thumb.png.a5e55823bb7ad4851851c66e83432995.png

    в самом конфиге все так

    Спойлер
    
    [torch_definition]
    range           = 13									; range                 <in meters>
    range_r2        = 13									; range                 <in meters>
    color           = 0.0,0.0,255.0,1.0						; four color components <r,g,b,a> 0.f<X<3.f
    color_r2        = 0.0,0.0,255.0,1.0						; four color components <r,g,b,a> 0.f<X<3.f
    omni_range      = 1.5									; range                 <in meters>
    omni_range_r2   = 0.75									; range                 <in meters>
    omni_color      = 0.0,0.0,255.0,1.0						; four color components <r,g,b,a> 0.f<X<3.f
    omni_color_r2   = 0.0,0.0,255.0,1.0						; four color components <r,g,b,a> 0.f<X<3.f
    color_animator  = empty									; color animator name   (empty - not using animator)
    spot_texture    = internal\internal_light_torch_r2		; spot texture name     (using only in Second Render)
    spot_angle      = 60									; spot angle            <in gradus>
    glow_texture    = glow\glow_torch_r2					; glow texture name     (required)
    glow_radius     = 0.3									; glow radius           <in meters>
    guide_bone      = lights_bone							; guid bone name 

     

    Если присвоить этот же конфиг оригинальному фонарику, то будет синий, так что должно работать. НО. В игре просто ничего не происходит. Фонарик занимает слот, но просто не работает. Вообще. Правильно ли все было сделано, или что-то где-то упустил? 


  7. https://drive.google.com/file/d/1tq_YM0UjcF3OHKSM9-T5H1B_TT4csbyC/view?usp=sharing - нормальная ссылка. А насчет вирусов еще и в самой проге, надеюсь их нет, потому что я ее запускал уже...


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

    Policai открой свою ссылку через хром. Не все с оперы сидят. С хрома ее открыть это целое приключение. И, на секунду, я обычный пользователь без адблоков и прочего, если вдруг. ТВОЯ ССЫЛКА - ОВНО. Защищать ее бессмысленно, даже если она тебе приносит деньги, если приносит...


  8. vader_33 а есть какие-то уроки по этому поводу? Насчет того как редактировать конфиги в моделях. Что-то не очень сложное, вроде, но звучит как какой-то геморрой 


  9. прочитал, что раньше при смерти фонари у нпс не выключались пока гг их не обыщет. Захотелось посмотреть как это выглядело, есть где такой скрипт? И еще, вот если мне хочется сделать два разных фонаря, то как быть? Основной конфиг настроек light_night, но как сделать два таких конфига для двух разных фонарей?


  10. oleg19966 Установил. Не понял как работает, если честно. Должен ли он править такой момент?

    Спойлер

     

    Я на видео немного туплю вначале(запутался в кнопках:D), но суть следующая: у меня пачка дроби на 10 патрон и с помощью помпы я ее размножил в 10 пачек по 1 патрону в каждой. Должен ли этот скрипт править этот баг или аномалию, как ее там)


  11. Существует ли мод, который бы вливал патроны из неполной коробки в неполную коробку? чтобы не было так, что ты выкинул коробку с патронами на 4 патрона, потом выкинул на 20, потом на 16 - чтобы максимум неполной коробкой была в инвентаре одна(последняя), а не несколько? А если несколько, то друг с другом сливались в одну полную. Есть такое? 


  12. vader_33 Да, я тоже думаю ошибка в скрипте.

    Спойлер
    
    function remove_random_common_final(npc, npz)
      local important_objects = {  -- Здесь предметы, которые нельзя удалять. Их редкость не соответствует обычной.
        [ "bolt"       ] = true,
        [ "kolbasa_a" ] = true,
        [ "af_dummy_pellicle" ] = true,
        [ "af_ameba_mica" ] = true,
        [ "af_cristall" ] = true,
        [ "af_dummy_spring" ] = true,
        [ "af_ameba_slug" ] = true,
        [ "af_rusty_kristall" ] = true,
        [ "af_rusty_thorn" ] = true,
        [ "af_ameba_slime" ] = true,
        [ "af_drops" ] = true,
        [ "vodka_a" ] = true,
        [ "bread_a" ] = true,
        [ "wpn_rg6_m1" ] = true,
        [ "grenade_gd-05" ] = true,
        [ "novice_outfit" ] = true,
        [ "grenade_gd05" ] = true,
        [ "explosive_barrel_d" ] = true,
        [ "ammo_12x76_dart" ] = true,
        [ "ammo_7.62x54_ap" ] = true,
        [ "explosive_barrel_low_d" ] = true,
        [ "explosive_mobiltank_d" ] = true,
        [ "af_fireball" ] = true,
        [ "af_rusty_sea-urchin" ] = true,
        [ "af_fuzz_kolobok" ] = true,
        [ "af_dummy_glassbeads" ] = true,
        [ "af_dummy_dummy" ] = true,
        [ "af_dummy_battery" ] = true,
        [ "device_pda" ] = true,
        [ "wpn_knife" ] = true,
        [ "bar_ecolog_flash" ] = true,
        [ "quest_case_01" ] = true,
        [ "dynamite" ] = true,
        [ "decoder" ] = true,
        [ "bad_psy_helmet" ] = true,
        [ "good_psy_helmet" ] = true,
        [ "lab_x16_documents" ] = true,
        [ "kruglov_flash" ] = true,
        [ "dar_document4" ] = true,
        [ "quest_case_02" ] = true,
        [ "esc_wounded_flash" ] = true,
        [ "af_blood_tutorial" ] = true,
        [ "crazy_flash" ] = true,
        [ "bar_lucky_pda" ] = true,
        [ "detector_elite" ] = true,
        [ "detector_simple" ] = true,
        [ "detector_advances" ] = true,
        [ "device_torch" ] = true,
        [ "wpn_binoc" ] = true,
        [ "energy_drink" ] = true,
        [ "medkit" ] = true,
        [ "antirad" ] = true,
        [ "ammo_5.56x45_ss190_d" ] = true,
        [ "ammo_9x39_pab9_d" ] = true,
        [ "ammo_5.56x45_ss190" ] = true,
        [ "ammo_9x39_pab9" ] = true,
        [ "ammo_7.62x54_7h1" ] = true,
        [ "ammo_7.62x54_7h1_d" ] = true,
        [ "af_medusa" ] = true,
        [ "af_vyvert" ] = true,
        [ "af_blood" ] = true,
        [ "af_electra_sparkler" ] = true,
        [ "medkit_army" ] = true,
        [ "ammo_9x18_pbp" ] = true,
        [ "ammo_9x18_pmm" ] = true,
        [ "ammo_9x19_pbp" ] = true,
        [ "ammo_5.45x39_ap" ] = true,
        [ "ammo_5.56x45_ap" ] = true,
        [ "ammo_7.62x54_7h14" ] = true,
        [ "ammo_9x39_ap" ] = true,
        [ "ammo_9x39_sp5" ] = true,
        [ "ammo_11.43x23_hydro" ] = true,
        [ "ammo_12x76_dart" ] = true,
        [ "ammo_12x76_zhekan" ] = true,
        [ "ammo_12x76_zhekan_heli" ] = true,
        [ "ammo_vog-25p" ] = true,
        [ "grenade_f1" ] = true,
        [ "ammo_og-7b_d" ] = true,
        [ "ammo_vog-25_d" ] = true,
        [ "ammo_m209_d" ] = true,
        [ "ammo_gauss_d" ] = true,
        [ "ammo_og-7b" ] = true,
        [ "ammo_vog-25" ] = true,
        [ "ammo_m209" ] = true,
        [ "ammo_gauss" ] = true,
        [ "bandit_outfit_d" ] = true,
        [ "explosive_dinamit" ] = true,
        [ "mutant_flesh_eye" ] = true,
        [ "mutant_boar_leg" ] = true,
        [ "mutant_dog_tail" ] = true,
        [ "explosive_mobiltank" ] = true,
        [ "explosive_barrel" ] = true,
        [ "explosive_barrel_low" ] = true,
        [ "outfit_bandit_m1" ] = true,
        [ "outfit_novice_m1" ] = true,
        [ "mutant_snork_leg" ] = true,
        [ "mutant_zombie_hand" ] = true,
        [ "mutant_krovosos_jaw" ] = true,
        [ "mutant_psevdodog_tail" ] = true,
        [ "wpn_fort_m1" ] = true,
        [ "wpn_ak74u_m1" ] = true,
        [ "wpn_mp5_m1" ] = true,
        [ "wpn_colt_m1" ] = true,
        [ "wpn_mp5_m2" ] = true,
        [ "wpn_walther_m1" ] = true,
        [ "svoboda_light_outfit_d" ] = true,
        [ "dolg_outfit_d" ] = true,
        [ "wpn_addon_scope" ] = true,
        [ "wpn_addon_scope_susat" ] = true,
        [ "wpn_addon_silencer" ] = true,
        [ "wpn_addon_grenade_launcher" ] = true,
        [ "wpn_addon_grenade_launcher_m203" ] = true,
        [ "outfit_killer_m1" ] = true,
        [ "outfit_dolg_m1" ] = true,
        [ "mutant_burer_hand" ] = true,
        [ "wpn_sig_m2" ] = true,
        [ "wpn_l85_m2" ] = true,
        [ "wpn_abakan_m2" ] = true,
        [ "wpn_ak74_m1" ] = true,
        [ "wpn_abakan_m1" ] = true,
        [ "wpn_spas12_m1" ] = true,
        [ "wpn_winchester_m1" ] = true,
        [ "wpn_l85_m1" ] = true,
        [ "wpn_lr300_m1" ] = true,
        [ "wpn_eagle_m1" ] = true,
        [ "svoboda_heavy_outfit_d" ] = true,
        [ "dolg_scientific_outfit_d" ] = true,
        [ "protection_outfit_d" ] = true,
        [ "af_cristall_flower" ] = true,
        [ "af_gravi" ] = true,
        [ "af_mincer_meat" ] = true,
        [ "af_electra_flash" ] = true,
        [ "outfit_stalker_m1" ] = true,
        [ "outfit_stalker_m2" ] = true,
        [ "outfit_svoboda_m1" ] = true,
        [ "outfit_specnaz_m1" ] = true,
        [ "wpn_groza_m1" ] = true,
        [ "wpn_svd_m1" ] = true,
        [ "wpn_sig_m1" ] = true,
        [ "wpn_val_m1" ] = true,
        [ "af_night_star" ] = true,
        [ "af_gold_fish" ] = true,
        [ "af_cristall" ] = true,
        [ "af_soul" ] = true,
        [ "af_electra_moonlight" ] = true,
        [ "outfit_exo_m1" ] = true,
        [ "wpn_beretta" ] = true,
        [ "wpn_ak74u" ] = true,
        [ "wpn_hpsa" ] = true,
        [ "wpn_mp5" ] = true,
        [ "grenade_rgd5" ] = true,
        [ "ammo_11.43x23_fmj_d" ] = true,
        [ "ammo_12x70_buck_d" ] = true,
        [ "ammo_12x70_buck" ] = true,
        [ "ammo_11.43x23_fmj" ] = true,
        [ "wpn_walther" ] = true,
        [ "wpn_colt1911" ] = true,
        [ "wpn_ak74" ] = true,
        [ "wpn_abakan" ] = true,
        [ "wpn_lr300" ] = true,
        [ "wpn_l85" ] = true,
        [ "wpn_sig220" ] = true,
        [ "wpn_spas12" ] = true,
        [ "wpn_sig550" ] = true,
        [ "wpn_usp" ] = true,
        [ "wpn_wincheaster1300" ] = true,
        [ "ammo_5.45x39_fmj" ] = true,
        [ "ammo_5.45x39_fmj_d" ] = true,
        [ "bandit_outfit" ] = true,
        [ "wpn_desert_eagle" ] = true,
        [ "wpn_g36" ] = true,
        [ "wpn_groza" ] = true,
        [ "wpn_svd" ] = true,
        [ "wpn_svu" ] = true,
        [ "wpn_val" ] = true,
        [ "wpn_vintorez" ] = true,
        [ "killer_outfit" ] = true,
        [ "stalker_outfit" ] = true,
        [ "svoboda_light_outfit" ] = true,
        [ "dolg_outfit" ] = true,
        [ "ecolog_outfit" ] = true,
        [ "wpn_rg-6" ] = true,
        [ "wpn_rpg7" ] = true,
        [ "monolit_outfit" ] = true,
        [ "specops_outfit" ] = true,
        [ "military_outfit" ] = true,
        [ "scientific_outfit" ] = true,
        [ "exo_outfit" ] = true,
        [ "svoboda_heavy_outfit" ] = true,
        [ "dolg_scientific_outfit" ] = true,
        [ "protection_outfit" ] = true,
        [ "wpn_gauss" ] = true,
        [ "wpn_fn2000" ] = true,
        [ "medkit_scientic" ] = true,
        [ "wpn_bm16" ] = true,
        [ "wpn_toz34" ] = true,
        [ "hand_radio" ] = true
      }
      local tbl = {}
    	  db.actor:iterate_inventory(
    		function( dummy, obj )
    		  if obj and not important_objects[ obj:section() ] then
    			table.insert( tbl, obj:id() )
    		  end
    		end
    	  )
    	if table.getn(tbl) < 10 then return end
    	if table.getn(tbl) >= 10 then
    		for i=1,10 do
    			local rnd = math.random(1,#tbl)
    			local sobj = alife():object(tbl[rnd])
    				if sobj then
    					news_manager.relocate_item( db.actor, "out", sobj:section_name() )
    					alife():release( sobj, true )
    					table.remove(tbl, rnd)
    	db.actor:give_info_portion("trade_completed")
    				end
    		end
    	end
    	local reward_item = math.random(1,10) -- 1 случайный предмет, редкость которого Необычный
    	if reward_item == 1 then
    		dialogs.relocate_item_section(npc, "wpn_bm16", "in")
    	end
    	if reward_item == 2 then
    		dialogs.relocate_item_section(npc, "wpn_beretta", "in")
    	end
    	if reward_item == 3 then
    		dialogs.relocate_item_section(npc, "wpn_mp5", "in")
    	end
    	if reward_item == 4 then
    		dialogs.relocate_item_section(npc, "grenade_rgd5", "in")
    	end
    	if reward_item == 5 then
    		dialogs.relocate_item_section(npc, "ammo_12x70_buck", "in")
    	end
    	if reward_item == 6 then
    		dialogs.relocate_item_section(npc, "ammo_11.43x23_fmj", "in")
    	end
    	if reward_item == 7 then
    		dialogs.relocate_item_section(npc, "energy_drink", "in")
    	end
    	if reward_item == 8 then
    		dialogs.relocate_item_section(npc, "medkit", "in")
    	end
    	if reward_item == 9 then
    		dialogs.relocate_item_section(npc, "antirad", "in")
    	end
    	if reward_item == 10 then
    		dialogs.relocate_item_section(npc, "wpn_walther", "in")
    	end
    end

     

    а лог ошибки такой на данный момент

    Expression    : no_assert
    Function      : CXML_IdToIndex<class CInfoPortion>::GetById
    File          : d:\work\stk\soc\sources\patch-1.0006-hotfixes\engine\xr_3da\xrgame\xml_str_id_loader.h
    Line          : 112
    Description   : item not found, id
    Arguments     : trade_completed
    Может я не туда поршень вставил. Куда его можно вставить так, чтобы игра его точно увидела) попробую в info_portions 

    Так, походу проблема в поршне была. Решено вроде. Вопрос теперь такой. Этот поршень он одноразовый или навсегда выдался? Я просто первый раз вообще с ними имею дело.

    Довольно редкое явление, но разобрался! Все заработало как надо.

    На всякий, кому нужно 

    Спойлер
    
                         <phrase id="221">
    		    <has_info>script_completed</has_info>
                                    <text>221</text>
    			<disable_info>script_completed</disable_info>
                         </phrase>

     

     


  13. vader_33 не я так написал для форума. Просто уже подумал, что может, вдруг, нпс не может выдать сразу 2 ответа. Систем проверю

    Перенес инфопоршень в info_l08rostok_bar( в системе он есть), но все равно вылет ловлю. Скобки вернул в скрипте.

     


  14. Alex Kireev не помогло(


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

    Alex Kireev 

    11 минут назад, Alex Kireev сказал:
    9 часов назад, ian98 сказал:

    если есть, то проверка состояния, если выше 50

    Для чего?

    для контрактов. Нужно только для оружия и брони, чтобы гг не мог плавить предметы с маленьким кондишн(типо они торговцам не нужны)


  15. что-то и с поршнями не выходит, хотя делаю все правильно(?)

    Вот у меня поршень. Создал его в файле info_escape

    Спойлер
    
    <info_portion id="function_completed"></info_portion>

     

    Подключил к диалогу

    Спойлер
    
                         <phrase id="2"> -- фраза гг
                                    <text>text_2</text>
    			<action>script.function</action>
    				<next>221</next>
    				<next>222</next>
                         </phrase>
                         <phrase id="221"> -- фраза нпс
    				<has_info>function_completed</has_info>
                                    <text>text_221</text>
                         </phrase>
                         <phrase id="222"> -- фраза нпс
    				<dont_has_info>function_completed</dont_has_info>
                                    <text>text_222</text>
                         </phrase>

     

    и про скрипт не забыл. Добавил его в скрипт. В конец скрипта.

    Спойлер
    
    		actor:give_info_portion("function_completed")
    	end
    end

     

    В итоге при попытке поговорить просто, даже не этот диалог, ловлю вылет.

    Спойлер
    
    stack trace:
    
    0023:00C3105B xrLUA.dll
    0023:0815F652 xrGame.dll
    0023:0812C57C xrGame.dll

     

    Да и потом, этот поршень еще забирать нужно будет?