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

[CoP] Ковыряемся в файлах


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

Такой вопрос. Как можно отследить момент, когда элементы худа (миникарта, полоски здоровья и выносливости и т.д.) скрываются при прицеливании с оптикой? Мне нужно скрывать элементы, которые я добавлял сам. Я знаю способ регистрации изменения fov, но при таком подходе скрытие моих элементов немного запаздывает. Может кто-нибудь знает другой способ?

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

Shredder, мало "знать способ", не менее важно уметь его применять...

Нет "другого" штатного способа для твоей задумки. Тут если только дорабатывать движок или использовать функционал кейлоггера, который может отлавливать клики ПКМ. Вот тогда по каждому такому клику можешь проверять изменение fov и принимать решение.

Ну а без клик-мониторинга ПКМ, тебе просто напросто чтобы не запаздывало, требуется исключить это "запаздывание", т.е. делать проверки с достаточной периодичностью, чтобы не заметно было запаздывание. Учитывая, что апдейты актора следуют в среднем каждые ~20ms - запаздывание практически можно свести к незаметности. Но, конечно, высокая частота проверок ведет к расходованию ресурсов, так что важна максимальная оптимизация алгоритма и кода проверок.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Мною упомянут 'функционал' кейлоггера... , т.е. то, что отслеживает нажатия клавиш на клавиатуре/мыши и дает об этом информацию. Это может быть реализовано самыми различными способами, как внешними приблудами (вспомним о наработке by kstn or alpet), так и доработкой/расширением библиотек движка (например LuaFix).

 

Ну и любая "похотелка" требует жертв - хочешь без запаздывания - отслеживай без запаздывания... ;-)

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Снова здравствуйте.

Делал смарт на новой локации, но при начале новой игры получал вылет:

 

* [prefetch] time: 6277 ms

* [prefetch] memory: 78166Kb

! Player name in registry is empty! (InstallUserName)

* phase time: 6412 ms

* phase cmem: 201971 K

* phase time: 9 ms

* phase cmem: 201971 K

* Creating new game...

* Loading spawn registry...

 

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 : ....e.r. - Зов Припяти\gamedata\scripts\xr_logic.script:941: bad argument #1 to 'gfind' (string expected, got nil)

 

stack trace:

 

Долго мучился в чём дело, не понял, плюнул на него, начал делать другой, тот получился, работает. Взялся делать другой, но так же ловлю этот же вылет. Собственно вопрос: Что сей лог значит?

Заранее благодарю.

Работы на Artstationhttps://www.artstation.com/artist/stalker_lom

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

Какую логику задать НПСу, что бы он сидел у костра. А то я все вроде создал, и камп зону, и смарт-кавер, и самого НПС рядом. А он у меня идет куда-то, просто гуляет по Зоне. Как это исправить можно?

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

Такая проблема: заспавнил сквад на агропроме (перенесенная лока из ТЧ) и при подходе к базе военных, в лагере никого нет. Вот мои коды

[agr_army_squad]:online_offline_group

faction = army

npc = agr_army_commander, agr_army_novice, agr_army_veteran, agr_army_master, agr_army_novice, agr_army_veteran, agr_army_master, agr_army_novice, agr_army_veteran, agr_army_master, agr_army_novice, agr_army_veteran, agr_army_master, agr_army_novice

target_smart = agr_smart_terrain_1

spawn_point = agr_smart_terrain_1_spawn_point

story_id = agr_army_squad1

 

 

;Логика Военных на Агропроме

 

[logic@agr_army_commander]

active = walker@commander

suitable = {=check_npc_name(agr_army_commander)} true

 

[walker@commander]

path_walk = agr14_walk

path_look = agr3_look

 

;

 

[logic@agr_army_guard1]

active = walker@agr_army_guard1

suitable = {=check_npc_name(sim_stalker_army_veteran)} true

 

[walker@agr_army_guard1]

path_walk = agr1_walk

path_look = agr1_look

 

;

 

[logic@agr_army_guard2]

active = walker@agr_army_guard2

suitable = {=check_npc_name(sim_stalker_army_veteran)} true

prior = 90

 

[walker@agr_army_guard2]

path_walk = agr2_walk

path_look = agr1_look

 

;

 

[logic@agr_army_guard3]

active = walker@guarder_3

suitable = {=check_npc_name(sim_stalker_army_veteran)} true

prior = 90

 

[walker@guarder_3]

path_walk = agr3_walk

path_look = agr1_look

 

;

 

[logic@agr_army_guard4]

active = walker@guarder_4

suitable = {=check_npc_name(sim_stalker_army_veteran)} true

prior = 90

 

[walker@guarder_4]

path_walk = agr4_walk

path_look = agr1_look

 

;

 

[logic@agr_army_guard5]

active = walker@guarder_5

suitable = {=check_npc_name(sim_stalker_army_veteran)} true

prior = 90

 

[walker@guarder_5]

path_walk = agr5_walk

path_look = agr2_look

 

;

 

[logic@agr_army_guard6]

active = walker@guarder_6

suitable = {=check_npc_name(sim_stalker_army_veteran)} true

prior = 90

 

[walker@guarder_6]

path_walk = agr6_walk

path_look = agr2_look

 

;

 

[logic@agr_army_guard7]

active = walker@guarder_7

suitable = {=check_npc_name(sim_stalker_army_veteran)} true

prior = 90

 

[walker@guarder_7]

path_walk = agr7_walk

path_look = agr2_look

 

;

 

[logic@agr_army_guard8]

active = walker@guarder_8

suitable = {=check_npc_name(sim_stalker_army_veteran)} true

prior = 90

 

[walker@guarder_8]

path_walk = agr8_walk

path_look = agr2_look

 

;

 

[logic@agr_army_guard9]

active = walker@guarder_9

suitable = {=check_npc_name(sim_stalker_army_veteran)} true

prior = 90

 

[walker@guarder_9]

path_walk = agr9_walk

path_look = agr3_look

 

;

 

[logic@agr_army_guard10]

active = walker@guarder_10

suitable = {=check_npc_name(sim_stalker_army_veteran)} true

prior = 90

 

[walker@guarder_10]

path_walk = agr10_walk

path_look = agr3_look

 

;

 

[logic@agr_army_guard11]

active = walker@guarder_11

suitable = {=check_npc_name(sim_stalker_army_veteran)} true

prior = 90

 

[walker@guarder_11]

path_walk = agr11_walk

path_look = agr3_look

 

;

 

[logic@agr_army_guard12]

active = walker@guarder_12

suitable = {=check_npc_name(sim_stalker_army_veteran)} true

prior = 90

 

[walker@guarder_12]

path_walk = agr12_walk

path_look = agr3_look

 

;

 

[logic@agr_army_guard13]

active = walker@guarder_13

suitable = {=check_npc_name(sim_stalker_army_veteran)} true

prior = 90

 

[walker@guarder_13]

path_walk = agr13_walk

path_look = agr3_look

 

 

 

[smart_terrain];agr_army_smart (14 работ)

squad_id = 1

max_population = 2

respawn_params = respawn@esc_a1

 

[respawn@esc_a1]

sim_stalker_army

 

[sim_stalker_army]

spawn_squads = sim_stalker_army_veteran

spawn_num = 1

 

[exclusive]

agr_army_commander = agr\agr_smart1.ltx

agr_army_guard1 = agr\agr_smart1.ltx

agr_army_guard2 = agr\agr_smart1.ltx

agr_army_guard3 = agr\agr_smart1.ltx

agr_army_guard4 = agr\agr_smart1.ltx

agr_army_guard5 = agr\agr_smart1.ltx

agr_army_guard6 = agr\agr_smart1.ltx

agr_army_guard7 = agr\agr_smart1.ltx

agr_army_guard8 = agr\agr_smart1.ltx

agr_army_guard9 = agr\agr_smart1.ltx

agr_army_guard10 = agr\agr_smart1.ltx

agr_army_guard11 = agr\agr_smart1.ltx

agr_army_guard12 = agr\agr_smart1.ltx

agr_army_guard13 = agr\agr_smart1.ltx

 

 

[agr_army_squad]:default_squad

sim_avail = true

 

 

[start_position_agroprom]

agr_army_squad = agr_smart_terrain_1

 

 

[6654464]

; cse_abstract properties

section_name = smart_terrain

name = agr_smart_terrain_1

position = 0.66438144445419,2.4958183765411,6.0123829841614

direction = 0,0.000491000013425946,0

 

; cse_alife_object properties

game_vertex_id = 1080

distance = 0

level_vertex_id = 151958

object_flags = 0xffffff3e

custom_data = <<END

[smart_terrain]

cfg = scripts\agr\smart\agr_army_smart.ltx

END

 

; cse_shape properties

shapes = shape0

shape0:type = sphere

shape0:offset = 0,0,0

shape0:radius = 2

 

; cse_alife_space_restrictor properties

restrictor_type = 3

 

; se_smart_terrain properties

 

 

Также прописал все вэйпоиты

К20

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

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

Exp

ression : !m_error_code

Function : raii_guard::~raii_guard

File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp

Line : 748

Description : ... - Зов Припяти\gamedata\scripts\smart_terrain.script:584: attempt to index local 'job_data' (a nil value)

 

 

Вот файлы, которые я редачил

[agr_army_squad]:online_offline_group

faction = army

npc = agr_army_commander, agr_army_novice, agr_army_veteran, agr_army_master, agr_army_novice, agr_army_veteran, agr_army_master, agr_army_novice, agr_army_veteran, agr_army_master, agr_army_novice, agr_army_veteran, agr_army_master, agr_army_novice

target_smart = agr_smart_terrain_1

spawn_point = agr_smart_terrain_1_spawn_point

story_id = agr_army_squad1

npc_in_squad = 14, 14

 

 

;Логика Военных на Агропроме

 

[logic@agr_army_commander]

active = walker@commander

suitable = {=target_squad_name(agr_army_commander) !check_npc_name(agr_army_commander)} true

 

[walker@commander]

path_walk = agr14_walk

path_look = agr3_look

 

;

 

[logic@agr_army_guard1]

active = walker@agr_army_guard1

suitable = {=target_squad_name(agr_army_novice) !check_npc_name(agr_army_novice)} true

prior = 100

 

[walker@agr_army_guard1]

path_walk = agr1_walk

path_look = agr1_look

 

;

 

[logic@agr_army_guard2]

active = walker@agr_army_guard2

suitable = {=target_squad_name(agr_army_novice) !check_npc_name(agr_army_novice)} true

prior = 100

 

[walker@agr_army_guard2]

path_walk = agr2_walk

path_look = agr1_look

 

;

 

[logic@agr_army_guard3]

active = walker@guarder_3

suitable = {=target_squad_name(agr_army_novice) !check_npc_name(agr_army_novice)} true

prior = 100

 

[walker@guarder_3]

path_walk = agr3_walk

path_look = agr1_look

 

;

 

[logic@agr_army_guard4]

active = walker@guarder_4

suitable = {=target_squad_name(agr_army_novice) !check_npc_name(agr_army_novice)} true

prior = 90

 

[walker@guarder_4]

path_walk = agr4_walk

path_look = agr1_look

 

;

 

[logic@agr_army_guard5]

active = walker@guarder_5

suitable = {=target_squad_name(agr_army_veteran) !check_npc_name(agr_army_veteran)} true

prior = 90

 

[walker@guarder_5]

path_walk = agr5_walk

path_look = agr2_look

 

;

 

[logic@agr_army_guard6]

active = walker@guarder_6

suitable = {=target_squad_name(agr_army_veteran) !check_npc_name(agr_army_veteran)} true

prior = 90

 

[walker@guarder_6]

path_walk = agr6_walk

path_look = agr2_look

 

;

 

[logic@agr_army_guard7]

active = walker@guarder_7

suitable = {=target_squad_name(agr_army_veteran) !check_npc_name(agr_army_veteran)} true

prior = 90

 

[walker@guarder_7]

path_walk = agr7_walk

path_look = agr2_look

 

;

 

[logic@agr_army_guard8]

active = walker@guarder_8

suitable = {=target_squad_name(agr_army_veteran) !check_npc_name(agr_army_veteran)} true

prior = 90

 

[walker@guarder_8]

path_walk = agr8_walk

path_look = agr2_look

 

;

 

[logic@agr_army_guard9]

active = walker@guarder_9

suitable = {=target_squad_name(agr_army_veteran) !check_npc_name(agr_army_veteran)} true

prior = 90

 

[walker@guarder_9]

path_walk = agr9_walk

path_look = agr3_look

 

;

 

[logic@agr_army_guard10]

active = walker@guarder_10

suitable = {=target_squad_name(agr_army_veteran) !check_npc_name(agr_army_veteran)} true

prior = 90

 

[walker@guarder_10]

path_walk = agr10_walk

path_look = agr3_look

 

;

 

[logic@agr_army_guard11]

active = walker@guarder_11

suitable = {=target_squad_name(agr_army_master) !check_npc_name(agr_army_master)} true

prior = 90

 

[walker@guarder_11]

path_walk = agr11_walk

path_look = agr3_look

 

;

 

[logic@agr_army_guard12]

active = walker@guarder_12

suitable = {=target_squad_name(agr_army_master) !check_npc_name(agr_army_master)} true

prior = 90

 

[walker@guarder_12]

path_walk = agr12_walk

path_look = agr3_look

 

;

 

[logic@agr_army_guard13]

active = walker@guarder_13

suitable = {=target_squad_name(agr_army_master) !check_npc_name(agr_army_master)} true

prior = 90

 

[walker@guarder_13]

path_walk = agr13_walk

path_look = agr3_look

 

[smart_terrain];agr_army_smart (14 работ)

squad_id = 1

max_population = 1

respawn_params = respawn@esc_smart_terrain_3

 

[respawn@esc_smart_terrain_3]

spawn_bandit_enemy@novice

 

[spawn_bandit_enemy@novice]

spawn_squads = agr_army_guard1_novice

spawn_num = 14

 

[exclusive]

agr_army_commander = agr\agr_smart1.ltx

agr_army_guard1 = agr\agr_smart1.ltx

agr_army_guard2 = agr\agr_smart1.ltx

agr_army_guard3 = agr\agr_smart1.ltx

agr_army_guard4 = agr\agr_smart1.ltx

agr_army_guard5= agr\agr_smart1.ltx

agr_army_guard6 = agr\agr_smart1.ltx

agr_army_guard7 = agr\agr_smart1.ltx

agr_army_guard8 = agr\agr_smart1.ltx

agr_army_guard9 = agr\agr_smart1.ltx

agr_army_guard10 = agr\agr_smart1.ltx

agr_army_guard11= agr\agr_smart1.ltx

agr_army_guard12 = agr\agr_smart1.ltx

agr_army_guard13 = agr\agr_smart1.ltx

 

 

[agroprom_9781]

; cse_abstract properties

section_name = smart_terrain

name = agr_smart_terrain_1

position = 9.8450374603271,-0.20475387573242,-12.16274356842

direction = 0,0.000491000013425946,0

version = 0x7c

script_version = 8

 

; cse_alife_object properties

game_vertex_id = 2141

distance = 14

level_vertex_id = 160093

object_flags = 0xffffff3e

custom_data = <<END

[smart_terrain]

cfg = scripts\agr\smart\agr_army_smart.ltx

END

 

; cse_shape properties

shapes = shape0

shape0:type = sphere

shape0:offset = 0,0,0

shape0:radius = 2

 

; cse_alife_space_restrictor properties

restrictor_type = 3

 

; se_smart_terrain properties

 

 

[agr_smart_terrain_1_agr1_walk]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = 74.687599182129,-0.19838048517704,37.49104309082

p0:game_vertex_id = 2041

p0:level_vertex_id = 212905

 

[agr_smart_terrain_1_agr2_walk]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = 74.261520385742,-0.20277518033981,32.586505889893

p0:game_vertex_id = 2041

p0:level_vertex_id = 212293

 

[agr_smart_terrain_1_agr3_walk]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = 40.550983428955,-0.20309883356094,32.203712463379

p0:game_vertex_id = 2043

p0:level_vertex_id = 186295

 

[agr_smart_terrain_1_agr4_walk]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = 27.342895507813,-0.20614632964134,34.740699768066

p0:game_vertex_id = 2117

p0:level_vertex_id = 175412

 

[agr_smart_terrain_1_agr1_look]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = 87.214241027832,-0.0076043903827667,37.055202484131

p0:game_vertex_id = 2086

p0:level_vertex_id = 223861

 

[agr_smart_terrain_1_agr5_walk]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = 57.233306884766,-0.20407727360725,-6.8979187011719

p0:game_vertex_id = 2042

p0:level_vertex_id = 198971

 

[agr_smart_terrain_1_agr6_walk]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = 63.161029815674,-0.20128826797009,-23.362859725952

p0:game_vertex_id = 2120

p0:level_vertex_id = 203682

 

[agr_smart_terrain_1_agr7_walk]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = 69.750434875488,0.5572509765625,20.117238998413

p0:game_vertex_id = 2041

p0:level_vertex_id = 208655

 

[agr_smart_terrain_1_agr2_look]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = 64.765716552734,-0.065148532390594,42.597599029541

p0:game_vertex_id = 2041

p0:level_vertex_id = 204868

 

[agr_smart_terrain_1_agr8_walk]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = 29.833549499512,-0.091689586639404,-25.688814163208

p0:game_vertex_id = 2090

p0:level_vertex_id = 177630

 

[agr_smart_terrain_1_agr9_walk]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = 30.273155212402,-0.054670125246048,-22.686992645264

p0:game_vertex_id = 2090

p0:level_vertex_id = 177635

 

[agr_smart_terrain_1_agr10_walk]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = 7.8225836753845,-0.20538377761841,-22.047399520874

p0:game_vertex_id = 2118

p0:level_vertex_id = 158176

 

[agr_smart_terrain_1_agr11_walk]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = -11.629301071167,-0.20266951620579,-22.926734924316

p0:game_vertex_id = 2118

p0:level_vertex_id = 140751

 

[agr_smart_terrain_1_agr12_walk]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = -15.377140045166,-0.20294311642647,-7.4283313751221

p0:game_vertex_id = 2141

p0:level_vertex_id = 137966

 

[agr_smart_terrain_1_agr3_look]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = -22.633079528809,-0.21571932733059,22.756845474243

p0:game_vertex_id = 2116

p0:level_vertex_id = 132213

 

[agr_smart_terrain_1_agr13_walk]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = -45.560470581055,-0.21114754676819,20.713350296021

p0:game_vertex_id = 2116

p0:level_vertex_id = 115365

 

[agr_smart_terrain_1_agr14_walk]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = 21.131872177124,0.038438469171524,10.28621006012

p0:game_vertex_id = 2141

p0:level_vertex_id = 170149

 

[agr_smart_terrain_1_spawn_point]

points = p0

p0:name = wp00

p0:position = 9.6696910858154,-0.20390667021275,-10.409013748169

p0:game_vertex_id = 2141

p0:level_vertex_id = 160095

 

 

[start_position_agroprom]

agr_army_squad1 = agr_smart_terrain_1[/cut]

[cut=simulation_object_props]

[agr_army_squad]:default_squad

sim_avail = false

 

Изменено пользователем Стрелоk

К20

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

Подскажите пожалуйста. Подключил новую локацию - ЧАЭС (Из ЧН). Все нормально, но я не могу замерить координаты. И ГГ спавнится под локацией. Как можно определить координаты?

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

Стрелоk, программу я эту скачал, очень полезная. Но у меня проблема другая, я не могу снять координаты на локации, т.к ГГ появляется под локацией. И наверху я никак не могу снять координат, для изменения спавна.

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

stalker_343, вроде как demo_record никто не отменял. А вообще, если ты подключил новую локацию, то неужели без SDK собираешься ее обустраивать/заселять? Ну а в SDK получить координаты и вопроса не возникает.

Ну и напоследок, ежели у тебя ГГ появляется при спавне "под локацией" - что мешает скорректировать координату Y, чтобы спавнился повыше, т,е. "над"?

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Artos спасибо, сделал как ты написал и все получилось. Но у меня опять проблема: Стал подсоединять локацию Х-18 из ТЧ, все делал как и в прошлый раз. Но в начале загрузки вылет:

 

Expression : assertion failed

Function : CLevelGraph::CLevelGraph

File : D:\prog_repository\sources\trunk\xrGame\level_graph.cpp

Line : 35

Description : header().version() == XRAI_CURRENT_VERSION

В чем дело?

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

stalker_343, советую вначале всегда включать свою думалку и искать решение, а не ожидать что кто-то подскажет.

1. Научись читать и по возможности понимать то, что тебе пишется в логе, особенно по ошибкам. Тебе явно намекается на ошибку связанную с level_graph и в частности про несоответствие каких-то параметров/значений (в данном случае - заголовка объекта твоей карты) текущей версии движка. Делай выводы - т.е. что-то недопортировал именно под CoP.

2. Выбирай для вопросов соответствующую тему, не забывая предоставлять свои материалы/изменения. На тему карт и их подключений имеются соответствующие топики.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Здравствуйте.

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

 

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 : ...e.r. - Зов Припяти\gamedata\scripts\state_mgr.script:502: attempt to index field '?' (a nil value)

 

stack trace:

 

В скрипте указанна проверка "special_danger_move", данное значения имеет только библиотека raid (state_lib.script), может, ошибка происходит при атаке на смарт? Что лог мне хочет сказать я так понять и не могу. Помогите, за ответ буду благодарен.

Работы на Artstationhttps://www.artstation.com/artist/stalker_lom

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

Сталкер Лом, в подобных вопросах, которые касаются модифицированных скриптов, чтобы другие не гадали - приводят хотя бы куски "своего" кода со строками, на которые ссылается лог ошибки. У тебя явно не оригинальный скрипт state_mgr.script задействован.

Ну и советую включить (расскомментировать и активировать printf) отображение в логе технологических строк для вывода в лог в функции state_manager:set_state(...). Так ты и остальные смогут понять на что конкретно ругается движок, на неизвестный state_name, иль отсутствие параметра special_danger_move, или иное...

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Скрипты брал от скрипты от комрада nuclia, привожу их правки:

 

 

стр. 565; animpoint_sit_ass = smart_covers_animpoint_sit_ass.get_smart_cover(),

стр. 566; animpoint_sit_knee = smart_covers_animpoint_sit_knee.get_smart_cover(),

 

 

 

 

 

стр. 409: sleep_noweap = { weapon = "none",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "nil",

animation = "sleeping"

},

sleep_sit = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "sit_ass",

animation = "sleep_sit"

},

eat_bread = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "sit_knee",

animation = "eat_bread"

},

eat_vodka = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "sit_ass",

animation = "eat_vodka"

},

eat_energy = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "sit_ass",

animation = "eat_energy"

},

eat_kolbasa = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "sit_ass",

animation = "eat_kolbasa"

},

sleep_noweap = { weapon = "none",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "nil",

animation = "sleeping"

},

sleep_sit = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "sit_ass",

animation = "sleep_sit"

},

eat_bread = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "sit_knee",

animation = "eat_bread"

},

eat_vodka = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "sit_ass",

animation = "eat_vodka"

},

eat_energy = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "sit_ass",

animation = "eat_energy"

},

eat_kolbasa = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "sit_ass",

animation = "eat_kolbasa"

},

 

 

 

 

 

стр. 57: animpoint_sit_ass = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "animpoint_sit_ass",

animation = "animpoint_sit_ass",

direction = CSightParams.eSightTypeAnimationDirection

},

 

animpoint_sit_knee = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "animpoint_sit_knee",

animation = "animpoint_sit_knee",

direction = CSightParams.eSightTypeAnimationDirection

},

 

стр. 164: animpoint_sit_ass_eat_bread = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "animpoint_sit_ass",

animation = "animpoint_sit_ass_eat_bread",

direction = CSightParams.eSightTypeAnimationDirection

},

animpoint_sit_ass_eat_kolbasa = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "animpoint_sit_ass",

animation = "animpoint_sit_ass_eat_kolbasa",

direction = CSightParams.eSightTypeAnimationDirection

},

 

animpoint_sit_knee_eat_bread = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "animpoint_sit_ass",

animation = "animpoint_sit_ass_eat_bread",

direction = CSightParams.eSightTypeAnimationDirection

},

animpoint_sit_knee_eat_kolbasa = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "animpoint_sit_ass",

animation = "animpoint_sit_ass_eat_kolbasa",

direction = CSightParams.eSightTypeAnimationDirection

},

 

стр.287: animpoint_sit_ass_drink_vodka = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "animpoint_sit_ass",

animation = "animpoint_sit_ass_drink_vodka",

direction = CSightParams.eSightTypeAnimationDirection

},

animpoint_sit_ass_drink_energy = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "animpoint_sit_ass",

animation = "animpoint_sit_ass_drink_energy",

direction = CSightParams.eSightTypeAnimationDirection

},

 

animpoint_sit_knee_drink_vodka = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "animpoint_sit_ass",

animation = "animpoint_sit_ass_drink_vodka",

direction = CSightParams.eSightTypeAnimationDirection

},

animpoint_sit_knee_drink_energy = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "animpoint_sit_ass",

animation = "animpoint_sit_ass_drink_energy",

direction = CSightParams.eSightTypeAnimationDirection

},

 

стр. 370: animpoint_sit_ass_guitar = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "animpoint_sit_ass",

animation = "animpoint_sit_ass_guitar",

--- animation = "play_guitar",

direction = CSightParams.eSightTypeAnimationDirection

},

 

animpoint_sit_knee_guitar = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "animpoint_sit_ass",

animation = "animpoint_sit_ass_guitar",

--- animation = "play_guitar",

direction = CSightParams.eSightTypeAnimationDirection

},

 

стр. 439: animpoint_sit_ass_harmonica = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "animpoint_sit_ass",

animation = "animpoint_sit_ass_harmonica",

direction = CSightParams.eSightTypeAnimationDirection

},

 

animpoint_sit_knee_harmonica = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "animpoint_sit_ass",

animation = "animpoint_sit_ass_harmonica",

direction = CSightParams.eSightTypeAnimationDirection

},

 

 

 

 

стр.327: sleep_sit = { prop = { maxidle = 10,

sumidle = 20,

rnd = 100 },

into = { [0] = {"sit_2_to_sleep_2"}},

out = { [0] = {"sleep_2_to_sit_2"}},

idle = { [0] = "sleep_idle_2" },

rnd = { [0] = {"sleep_idle_3" }}},

 

стр. 327: eat_bread = { prop = { maxidle = 3,

sumidle = 3,

rnd = 80 },

into = { [0] = {"item_2_draw_0", {a="bread"}, "item_2_draw_1"} },

out = { [0] = {"item_2_holster_0", {d="bread"}, "item_2_holster_1"} },

idle = { [0] = "item_2_aim_0" },

rnd = { [0] = { "item_2_prepare_0",

"item_2_attack_0" } }},

eat_vodka = { prop = { maxidle = 3,

sumidle = 3,

rnd = 80 },

into = { [0] = {"item_4_draw_0", {a="vodka"}, "item_4_draw_1"} },

out = { [0] = {"item_4_holster_0", {d="vodka"}, "item_4_holster_1"} },

idle = { [0] = "item_4_aim_0" },

rnd = { [0] = { "item_4_prepare_0",

"item_4_attack_0" } }},

eat_energy = { prop = { maxidle = 3,

sumidle = 3,

rnd = 80 },

into = { [0] = {"item_5_draw_0", {a="energy_drink"}, "item_5_draw_1"} },

out = { [0] = {"item_5_holster_0", {d="energy_drink"}, "item_5_holster_1"} },

idle = { [0] = "item_5_aim_0" },

rnd = { [0] = { "item_5_prepare_0",

"item_5_attack_0" } }},

eat_kolbasa = { prop = { maxidle = 3,

sumidle = 3,

rnd = 80 },

into = { [0] = {"item_1_draw_0", {a="kolbasa"}, "item_1_draw_1"}},

out = { [0] = {"item_1_holster_0", {d="kolbasa"}, "item_1_holster_1"} },

idle = { [0] = "item_1_idle_1" },

rnd = { [0] = { "item_1_attack_0",

"item_1_idle_0" } }},

 

 

 

 

стр. 64: animpoint_sit_ass = { prop = { maxidle = 5,

sumidle = 3,

rnd = 80,

moving = true },

into = nil,

out = nil,

idle = { [0] = "sit_2_idle_0",

[1] = "sit_2_idle_0" },

rnd = { [0] = { "sit_2_idle_1", "sit_2_idle_2", "sit_2_idle_3" },

[1] = { "sit_2_idle_1", "sit_2_idle_2", "sit_2_idle_3" }

}},

 

animpoint_sit_knee = { prop = { maxidle = 5,

sumidle = 3,

rnd = 80,

moving = true },

into = nil,

out = nil,

idle = { [0] = "sit_1_idle_0",

[1] = "sit_1_idle_0" },

rnd = { [0] = { "sit_1_idle_1", "sit_1_idle_2", "sit_1_idle_3" },

[1] = { "sit_1_idle_1", "sit_1_idle_2", "sit_1_idle_3" }

}},

 

стр. 219. animpoint_sit_ass_eat_bread = { prop = { maxidle = 3,

sumidle = 3,

rnd = 80 },

into = { [0] = {"item_2_draw_0", {a="bread"}, "item_2_draw_1"},

[1] = {"item_2_draw_0", {a="bread"}, "item_2_draw_1"} },

out = { [0] = {"item_2_holster_0", {d="bread"}, "item_2_holster_1"},

[1] = {"item_2_holster_0", {d="bread"}, "item_2_holster_1"} },

idle = { [0] = "item_2_aim_0",

[1] = "item_2_aim_0" },

rnd = { [0] = { "item_2_prepare_0", "item_2_attack_0" },

[1] = { "item_2_prepare_0", "item_2_attack_0" }

}},

animpoint_sit_ass_eat_kolbasa = { prop = { maxidle = 3,

sumidle = 3,

rnd = 80 },

into = { [0] = {"item_1_draw_0", {a="kolbasa"}, "item_1_draw_1"},

[1] = {"item_1_draw_0", {a="kolbasa"}, "item_1_draw_1"} },

out = { [0] = {"item_1_holster_0", {d="kolbasa"}, "item_1_holster_1"},

[1] = {"item_1_holster_0", {d="kolbasa"}, "item_1_holster_1"} },

idle = { [0] = "item_1_idle_1",

[1] = "item_1_idle_1" },

rnd = { [0] = { "item_1_attack_0", "item_1_idle_0" },

[1] = { "item_1_attack_0", "item_1_idle_0" }

}},

 

стр. 376: animpoint_sit_ass_drink_vodka = { prop = { maxidle = 3,

sumidle = 3,

rnd = 80 },

into = { [0] = {"item_4_draw_0", {a="vodka"}, "item_4_draw_1"},

[1] = {"item_4_draw_0", {a="vodka"}, "item_4_draw_1"} },

out = { [0] = {"item_4_holster_0", {d="vodka"}, "item_4_holster_1"},

[1] = {"item_4_holster_0", {d="vodka"}, "item_4_holster_1"} },

idle = { [0] = "item_4_aim_0",

[1] = "item_4_aim_0" },

rnd = { [0] = { "item_4_prepare_0", "item_4_attack_0" },

[1] = { "item_4_prepare_0", "item_4_attack_0" }

}},

animpoint_sit_ass_drink_energy = { prop = { maxidle = 3,

sumidle = 3,

rnd = 80 },

into = { [0] = {"item_5_draw_0", {a="energy_drink"}, "item_5_draw_1"},

[1] = {"item_5_draw_0", {a="energy_drink"}, "item_5_draw_1"} },

out = { [0] = {"item_5_holster_0", {d="energy_drink"}, "item_5_holster_1"},

[1] = {"item_5_holster_0", {d="energy_drink"}, "item_5_holster_1"} },

idle = { [0] = "item_5_aim_0",

[1] = "item_5_aim_0" },

rnd = { [0] = { "item_5_prepare_0", "item_5_attack_0" },

[1] = { "item_5_prepare_0", "item_5_attack_0" }

}},

 

стр. 456: animpoint_sit_ass_guitar = { prop = { maxidle = 3,

sumidle = 3,

rnd = 80 },

into = { [0] = {"sit_1_guitar_0_0", {a="guitar_a"}, {f=sr_camp.start_guitar}, "sit_1_guitar_0_1"},

[1] = {"sit_1_guitar_0_0", {a="guitar_a"}, {f=sr_camp.start_guitar}, "sit_1_guitar_0_1"} },

out = { [0] = {"guitar_0_sit_1_0", {d="guitar_a"}, "guitar_0_sit_1_1"},

[1] = {"guitar_0_sit_1_0", {d="guitar_a"}, "guitar_0_sit_1_1"} },

idle = { [0] = "guitar_0",

[1] = "guitar_0" },

rnd = nil },

 

стр. 536: rnd = nil }, (отличается наличием запятой)

 

animpoint_sit_ass_harmonica = { prop = { maxidle = 3,

sumidle = 3,

rnd = 80 },

into = { [0] = {"sit_2_harmonica_1_0", {a="harmonica_a"}, {f=sr_camp.start_harmonica}, "sit_2_harmonica_1_1"},

[1] = {"sit_2_harmonica_1_0", {a="harmonica_a"}, {f=sr_camp.start_harmonica}, "sit_2_harmonica_1_1"} },

out = { [0] = {"harmonica_1_sit_2_0", {d="harmonica_a"}, "harmonica_1_sit_2_1"},

[1] = {"harmonica_1_sit_2_0", {d="harmonica_a"}, "harmonica_1_sit_2_1"} },

idle = { [0] = "harmonica_0",

[1] = "harmonica_0" },

rnd = nil }

 

 

 

 

стр. 70: animpoint_sit_ass = { prop = { maxidle = 5,

sumidle = 3,

rnd = 80,

moving = true },

into = { [0] = { "idle_0_to_sit_2" },

[1] = { "idle_0_to_sit_2" }},

out = { [0] = { "sit_2_to_idle_0" },

[1] = { "sit_2_to_idle_0" }},

idle = { [0] = "sit_2_idle_0",

[1] = "sit_2_idle_0" },

rnd = nil},

 

animpoint_sit_knee = { prop = { maxidle = 5,

sumidle = 3,

rnd = 80,

moving = true },

into = { [0] = { "idle_0_to_sit_1" },

[1] = { "idle_0_to_sit_1" }},

out = { [0] = { "sit_1_to_idle_0" },

[1] = { "sit_1_to_idle_0" }},

idle = { [0] = "sit_1_idle_0",

[1] = "sit_1_idle_0" },

rnd = nil},

 

 

Здесь автор зачем то заменил строчки вида "["actors\\stalker_hero\\stalker_hero_1"] = true," на "stalker_hero_1 = true,"

А ещё:

стр. 252: animpoint_sit_ass = {

{name = "animpoint_sit_ass", predicate = xr_animpoint_predicates.const_predicate_true},

{name = "animpoint_sit_ass_eat_bread", predicate = xr_animpoint_predicates.animpoint_predicate_bread},

{name = "animpoint_sit_ass_eat_kolbasa", predicate = xr_animpoint_predicates.animpoint_predicate_kolbasa},

{name = "animpoint_sit_ass_drink_vodka", predicate = xr_animpoint_predicates.animpoint_predicate_vodka},

{name = "animpoint_sit_ass_drink_energy", predicate = xr_animpoint_predicates.animpoint_predicate_energy},

{name = "animpoint_sit_ass_guitar", predicate = xr_animpoint_predicates.animpoint_predicate_guitar},

{name = "animpoint_sit_ass_harmonica", predicate = xr_animpoint_predicates.animpoint_predicate_harmonica},

},

 

animpoint_sit_knee = {

{name = "animpoint_sit_knee", predicate = xr_animpoint_predicates.const_predicate_true},

{name = "animpoint_sit_knee_eat_bread", predicate = xr_animpoint_predicates.animpoint_predicate_bread},

{name = "animpoint_sit_knee_eat_kolbasa", predicate = xr_animpoint_predicates.animpoint_predicate_kolbasa},

{name = "animpoint_sit_knee_drink_vodka", predicate = xr_animpoint_predicates.animpoint_predicate_vodka},

{name = "animpoint_sit_knee_drink_energy", predicate = xr_animpoint_predicates.animpoint_predicate_energy},

{name = "animpoint_sit_knee_guitar", predicate = xr_animpoint_predicates.animpoint_predicate_guitar},

{name = "animpoint_sit_knee_harmonica", predicate = xr_animpoint_predicates.animpoint_predicate_harmonica},

},

 

 

Фух, всё...

Работы на Artstationhttps://www.artstation.com/artist/stalker_lom

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

Сталкер Лом, к чему этот "мусор"? Ведь было написано: "У тебя явно не оригинальный скрипт state_mgr.script задействован", и поэтому невозможно понять к чему конкретно относится строка указанная в логе ошибки. Именно строки из этого скрипта (state_mgr.script:502) ты так и не показал. Посоветую еще раз:

1. Включи отображение в логе технологических строк для вывода в лог-файл (расскомментируй и активируй printf).

2. Полученный лог-файл с ошибкой и сами скрипты state_mgr.script и state_lib.script заархивируй и выложи на шару, а в топик дай ссылку.

Вот тогда можно что-то будет понять поконкретнее и советовать дальше.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

http://rghost.ru/42495051 - Ссылка на state_mgr.script и state_lib.script

 

Artos, про то, как включать "отображение в логе технологических строк для вывода в лог-файл" я не знаю (если не трудно, дайте указания\ссылку как это делать), но знаю способ как выводить полную причину ЛОГа: раскомментировать в функции abort(fmt, ...), что в _g.script строку -- error_log(reason), так вот, я её раскомментировал, сел у костра и начал ждать... Ждал долго, картошка разогрелась, покрылась золотистой корочкой, начала скворчать, источать аромат... :) В общем, я пошёл поедать моё блюдо и к концу трапезы перед моим лицом всплыл рабочий стол, а вместе с ним и ЛОГ, подобным которому я ещё не видел:

! [LUA][ERROR] ERROR: ILLEGAL SET STATE CALLED!!! binicular fo sim_default_duty_111542

 

FATAL ERROR

 

[error]Expression : 0

[error]Function : ErrorLog

[error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp

[error]Line : 49

[error]Description : ERROR: ILLEGAL SET STATE CALLED!!! binicular fo sim_default_duty_111542

 

stack trace:

 

Что то говорит о "наборе состояний, связанным с биноклем", может такое быть из за использования анимации "binocular" для работ типа "patrool"?

Работы на Artstationhttps://www.artstation.com/artist/stalker_lom

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

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

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

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

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

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

Войти

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

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

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