-
Публикаций
834 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные ian98
-
-
можно ли как-то менять визуалы через скрипты без последствий в виде вылетов? Меняю визуалы скриптом из 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=()
Дополнено 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
-
В оригинальной игре много разных багов, к чему я привык давно. Только этот один, который вызывает у меня раздражение
СпойлерМешает буковка k перед F. Она не всегда появляется. Раз через раз примерно, с чем связано? Можно ли поправить раз и навсегда? Помнится, в детстве еще, наверное на ранних патчах, не было такого бага с этими надписями.
-
-
vader_33 А если я хотел бы, чтобы у нпс также были разные фонари? в "всевозможныхstalker.ltx" в "attachable_items" все прописал и ничего. Ходят с обычными. Потом я понял, что для нпс есть скрипт sr_light и функция check_light(stalker), но ничего там не получается. Получается только включить какой-то один из фонарей.
-
-
Alex Kireev я ничего не трогал из списка, а если кто-то что-то трогал, то это ai addiction 2.0 и это скрипты xr_motivator.script и modules.script. А зачем? В общем, сделал.
-
-
-
Alex Kireev Да, с цветом все нормально, про выбор не понял, это как? Я выдаю с ни актору синий фонарик сразу.
-
Alex Kireev так я ж говорю, если этот конфиг присвоить оригинальному фонарю, то все он светит, синим, как надо. Также, если оригинальному фонарю прописать модельку синего фонаря, то он, опять же, будет светить синим. А вот фонарь клон хоть с оригинальной моделькой, хоть с клонированной - не работает. Просто пустышка-предмет, слот занимает. Там похоже гемор конкретный его добавлять. Не так это работает, как с оружием или броней, или с артефактом. Даже если я просто клонирую фонарь
[device_torch_2]:device_torch
он становится бесполезным куском, куском в общем...
-
-
Решился клонировать фонарик. От обычного должен отличаться тем, что светит синим.
Как делал. В конфиге items.ltx в секции фонарика [device_torch] спустился в самый низ, где забил такие строчки
[device_torch_blue]:device_torch visual = equipments\light_night_blue.ogf
Модельку взял оригинальную, скопировал, присвоил ей имя _blue. Дальше через OGF data changer заинклудил конфиг фонаря, где цвет прописывается и какие-то параметры еще, выглядит все так.
в самом конфиге все так
Спойлер[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
Если присвоить этот же конфиг оригинальному фонарику, то будет синий, так что должно работать. НО. В игре просто ничего не происходит. Фонарик занимает слот, но просто не работает. Вообще. Правильно ли все было сделано, или что-то где-то упустил?
-
https://drive.google.com/file/d/1tq_YM0UjcF3OHKSM9-T5H1B_TT4csbyC/view?usp=sharing - нормальная ссылка. А насчет вирусов еще и в самой проге, надеюсь их нет, потому что я ее запускал уже...
Дополнено 1 минуту спустяPolicai открой свою ссылку через хром. Не все с оперы сидят. С хрома ее открыть это целое приключение. И, на секунду, я обычный пользователь без адблоков и прочего, если вдруг. ТВОЯ ССЫЛКА - ОВНО. Защищать ее бессмысленно, даже если она тебе приносит деньги, если приносит...
-
-
куча спамрекламы. Просто трешатина. ТРЕШ
-
1
-
-
vader_33 а есть какие-то уроки по этому поводу? Насчет того как редактировать конфиги в моделях. Что-то не очень сложное, вроде, но звучит как какой-то геморрой
-
прочитал, что раньше при смерти фонари у нпс не выключались пока гг их не обыщет. Захотелось посмотреть как это выглядело, есть где такой скрипт? И еще, вот если мне хочется сделать два разных фонаря, то как быть? Основной конфиг настроек light_night, но как сделать два таких конфига для двух разных фонарей?
-
oleg19966 блин, не знаю, тут уже и с инструкцией все пошаговой, а все равно не работает будто. По крайней мере видео повторил с помпой.
-
oleg19966 Установил. Не понял как работает, если честно. Должен ли он править такой момент?
СпойлерЯ на видео немного туплю вначале(запутался в кнопках:D), но суть следующая: у меня пачка дроби на 10 патрон и с помощью помпы я ее размножил в 10 пачек по 1 патрону в каждой. Должен ли этот скрипт править этот баг или аномалию, как ее там)
-
Существует ли мод, который бы вливал патроны из неполной коробки в неполную коробку? чтобы не было так, что ты выкинул коробку с патронами на 4 патрона, потом выкинул на 20, потом на 16 - чтобы максимум неполной коробкой была в инвентаре одна(последняя), а не несколько? А если несколько, то друг с другом сливались в одну полную. Есть такое?
-
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>
-
vader_33 не я так написал для форума. Просто уже подумал, что может, вдруг, нпс не может выдать сразу 2 ответа. Систем проверю
Перенес инфопоршень в info_l08rostok_bar( в системе он есть), но все равно вылет ловлю. Скобки вернул в скрипте.
-
Alex Kireev не помогло(
Дополнено 3 минуты спустя11 минут назад, Alex Kireev сказал:9 часов назад, ian98 сказал:если есть, то проверка состояния, если выше 50
Для чего?
для контрактов. Нужно только для оружия и брони, чтобы гг не мог плавить предметы с маленьким кондишн(типо они торговцам не нужны)
-
что-то и с поршнями не выходит, хотя делаю все правильно(?)
Вот у меня поршень. Создал его в файле 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
Да и потом, этот поршень еще забирать нужно будет?
[SoC] Модострой: вопросница
в Уроки, вопросы и советы по созданию модов
Опубликовано · Изменено пользователем ian98
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:
Еще, да, скрипт висит на нетспавне, нормально ему там будет?