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

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


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

@J.A.A., Во первых, если ты прописываешь combat_ignore = combat_ignore

то нажо прописать пустую секцию [combat_ignore]

Это вообще лишнее

on_combat = combat

combat_type = camper

т.к. это установлено по умолчанию.

В on_signal = end|

переводи нпс на следующую логику.

П.С. Почитай настройку логики.

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

Если нужно в кат-сцене создать видимость боя, то через анимацию - все анимки с окончанием fire "стреляющие".

Ну а если реально чтобы по врагам палил, то логику снайпера (сканирует сектор между точками путей look и стреляет во все что движется). Правда есть нюанс - снайпер более меткий, но долго целится и стреляет одиночными. Можно просто запретить НПС уходить с точки no_move=true к примеру, но тогда он легкая мишень.

П,С сам я эту команду не применял, возможно она запрещает НПС двигаться вообще, а не просто уходить с места. Но судя по тому, что она используется в логике засады "Долга", расстреливающих "свободовский" патруль, то стрелять должны все же.

Изменено пользователем gruber
Ссылка на комментарий
J.A.A.

Если ты не хочешь заморачивать себе голову - используй схему xr_shooter. Все предельно просто: указываем вертекс где стоять, и вертекс куда стрелять. Стрелять он будет обычно, поэтому будет отклонение пуль небольшое от этой точки. Можно указать несколько вертексов. Схема гибкая: указывается, сколько магазинов нужно отстрелять, анимация перемещения, стрельбы, что сделать потом и т.д.

 

Если же хочешь сделать сам, то делай по такому алгоритму:

1. Любая схема, с игнорированием боя, причем взгляд НПС лучше сразу направить на какого-то врага.

2. При начале боя(инфа, время) просто убираем игнор боя.

 

Пример, можешь глянуть видео, как в OldStory происходит убийство Клыка Призраком.

Логика Убийцы:

[logic]
active = camper
relation = friend; Друг для актора(если не надо - убирай)



[camper]
path_walk = mil_prizrak_way
path_look = mil_klik_way
sniper = true; (стреляет одиночными)
invulnerable = true
meet = no_meet
combat_ignore_cond = {-mil_kill_klik} true;(пока не получим инфу, только держим НПС на прицеле, а как получим - стреляем)
on_info = {+mil_klik_dead} %=destroy_object%; (проверка на смерь НПС, ведь с первого раза может и не убить)

А вот уж как сделать, чтобы НПС стоял, это надо поковырять)

 

P.S. Если мне не изменяет память - засада Долга на Свободу, именно на campere сделана.

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

no_move=true

Эта ф-ия не работает, попробуй написать так: no_move= abrwalk и посмотри, что будет.

 

@Старлей, А где ты нашёл xr_shooter.script? В ТЧ его нет. Поделись, плзю этим скриптом, и всем что с ним связано (регистрация. modules.script и все скрипты, где он упоминается)

Спасибо.

 

@J.A.A., Вот пример снайпера на милитари:

[camper1@mil_freedom_sniper1]
path_walk = camp_walk4
path_look = camp_look4
sniper = true ; стреляет точнее. Одиночными.
enemy_idle = 60000 ; время забывания врага
radius = 20 ; если враг биже 20 метров, то нпс перейдёт в универсальный комбат.
combat_ignore_cond = {-mil_sniper_get_job}
Изменено пользователем ins33
Ссылка на комментарий
ins33

Возьми его из Sigerous Mod. Однако, забыл упомянуть: по-моему, эта схема основана на xr_move. Поэтому регистрировать лучше сразу 2 этих схемы. А может это только xr_defender не может без xr_move. Вообщем сами гляньте)

 

P.S. не забудьте про sgm_flags.script

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

Есть такой фрагмент в работах гулага блок-поста на Кордоне, он для трех вояк, что патрулируют на дороге перед самим блок-постом:

 t = { section = "logic@esc_blockpost_patrol1",
  idle = 0,
  prior = 8, state = {0},
  position_threshold = 100,
  online = true,
  in_rest = "", out_rest = "esc_blockpost_patrol_restrictor"
 }
 table.insert(sj, t)
 t = { section = "logic@esc_blockpost_follower1",
  idle = 0,
  prior = 7, state = {0},
  position_threshold = 100,
  online = true,
  in_rest = "", out_rest = "esc_blockpost_patrol_restrictor"
 }
 table.insert(sj, t)
 t = { section = "logic@esc_blockpost_follower2",
  idle = 0,
  prior = 7, state = {0},
  position_threshold = 100,
  online = true,
  in_rest = "", out_rest = "esc_blockpost_patrol_restrictor"
 }
 table.insert(sj, t)

 

 

В load_states прописано следующее:

    if level.get_time_hours() >= 6 and level.get_time_hours() <= 22 then
    ...............
     return 0  -- день
    else
     return 1  -- ночь
    end

Но наблюдая за этой группой НПСов в момент наступления 22:00 игрового времени увидел, что они как ходили патрулем, так и ходят. И только в 23:00 игрового времени они снимаются с патрулирования и уходят на территорию блок-поста на другие работы.

Почему так происходит ? В чем может быть косяк ?

 

<= 22 - это, в том числе, и 22:59:59 ;) dc

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

Мины, на двух минных полях возле блок-поста вояк на Кордоне, отмечены некими вертикальными палочками, а так-же если попасть болтом в мину раздается щелчек. Как убрать щелчек я нашел - закомментил параметр entrance_sound в zone_minefield.ltx. А вот с палочками не могу разобраться, подскажите как их убрать, сделав мины полностью невидимыми ?

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

Мины, на двух минных полях возле блок-поста вояк на Кордоне, отмечены некими вертикальными палочками, а так-же если попасть болтом в мину раздается щелчек. Как убрать щелчек я нашел - закомментил параметр entrance_sound в zone_minefield.ltx. А вот с палочками не могу разобраться, подскажите как их убрать, сделав мины полностью невидимыми ?

А заккоментить также и привязку к текстуре палки? :)

Проще говоря, idle_particles  и всё будет ок

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

Поспешил с регистрацией.

36363 

  :rtfm:

 

Просто новичек который нашел на Свалке Мамины бусы.

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

Добавил для теста инфо-порцию в info_l01escape.xml

 <info_portion id="test_proceed"></info_portion>
 <info_portion id="test_complete"> <disable>test_proceed</disable> </info_portion>

Далее сваял такой вот код:

local flag = false
function test()
 local npc = db.actor
 

 if not flag then
  npc:give_info_portion("test_proceed")

  flag = true
 else
  npc:give_info_portion("test_complete")
 end

 

 local text = ""
 if npc:has_info("test_proceed") and npc:has_info("test_complete") then
  text = "test_proceed - вкл, test_complete - вкл"
 elseif npc:has_info("test_proceed") and npc:dont_has_info("test_complete") then
  text = "test_proceed - вкл, test_complete - выкл"
 elseif npc:dont_has_info("test_proceed") and npc:has_info("test_complete") then
  text = "test_proceed - выкл, test_complete - вкл"
 elseif npc:dont_has_info("test_proceed") and npc:dont_has_info("test_complete") then
  text = "test_proceed - выкл, test_complete - выкл"
 end
 news_manager.send_tip(db.actor, text, nil, nil, 30000)

end

 

 

запускаю код по нажатию кнопочки в инвентаре актора(ГГ).

При первом вызове вижу:

"test_proceed - вкл, test_complete - выкл"

при втором:

"test_proceed - вкл, test_complete - вкл"

Получается, что тег <disable>test_proceed</disable> не срабатывает ? Или я чет не понял в этой системе ? Просветите...

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

Помоги те понять, в чём проблема. На предбаннике, сбились все гулаги. В примере который покажу 10 работ, сейчас по какой то причине, половина логики сбилась. Выглядит это следующим образом: к примеру есть три работы на посту, на неё приходит всегда 2 нпс, и на оду работу, это всегда predbannik_citi_post_one "Стоят толкаются". Остальные две работы просто игнорятся, logic@predbannik_citi_post_two  logic@predbannik_citi_post_three, а нпс занимают другие работы, и вместо одного нпс на работе три.

Тоже самое происходит и на других гулагах на предбаннике. На других локах, такой беды нет.

Подскажите, в какую сторону копать?

if type == "predbannik_citi" then



-- 1) --------------- Дневной охранник Барыша -----------------

t = { section = "logic@predbannik_citi_walker_day_1_walk", -- день, Дневной охранник Барыша.
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@predbannik_citi_kamper_night", --ночь, ночь охранника.
idle = 0,
prior = 5, state = {1},
in_rest = "", out_rest = ""
}
table.insert(sj, t)

-- 2) --------------- Снайпер -----------------

t = { section = "logic@predbannik_citi_sniper", -- день/ночь
idle = 0,
prior = 5, state = {0,1},
in_rest = "", out_rest = ""
}
table.insert(sj, t)

-- 3) --------------- Лидер -----------------

t = { section = "logic@predbannik_citi_leeder", -- день/ночь
idle = 0,
prior = 5, state = {0,1},
in_rest = "", out_rest = ""
}
table.insert(sj, t)

-- 4) --------------- Постовой день -----------------

--[[ t = { section = "logic@predbannik_citi_post_three", -- день, постовой.
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@predbannik_citi_kamper_night", -- ночь, постовой.
idle = 0,
prior = 5, state = {1},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
]]
-- 5) --------------- постовой 1 -----------------

t = { section = "logic@predbannik_citi_post_two", -- день/ночь
idle = 0,
prior = 5, state = {0,1},
in_rest = "", out_rest = ""
}
table.insert(sj, t)

-- 6) --------------- постовой 2 -----------------

t = { section = "logic@predbannik_citi_post_one", -- день/ночь
idle = 0,
prior = 5, state = {0,1},
in_rest = "", out_rest = ""
}
table.insert(sj, t)

-- 7) --------------- охранник всей територии -----------------


t = { section = "logic@predbannik_citi_walker_day_2_walk", -- день
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)

t = { section = "logic@predbannik_citi_kamper_night", -- ночь
idle = 0,
prior = 5, state = {1},
in_rest = "", out_rest = ""
}
table.insert(sj, t)

-- 8) --------------- охранник круглосуточный -----------------

t = { section = "logic@predbannik_citi_walker_always_walk", -- день/ночь
idle = 0,
prior = 5, state = {0,1},
in_rest = "", out_rest = ""
}
table.insert(sj, t)

-- 9) --------------- охранник круглосуточный Командир -----------------


t = { section = "logic@predbannik_citi_walker_night_walk_commander", -- ночь
idle = 0,
prior = 5, state = {1},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@predbannik_citi_kamper_day", -- день
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)

-- 10) --------------- охранник круглосуточный -----------------

t = { section = "logic@predbannik_citi_walker_night_walk", -- ночь
idle = 0,
prior = 5, state = {1},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@predbannik_citi_kamper_day", -- день
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
end

--- Гулаг предбанник ---
if type == "predbannik_citi" then
return function(gulag)
if not db.actor then
return gulag.state
end
if level.get_time_hours() > 5 and level.get_time_hours() < 22 then
return 0 -- день
else
return 1 -- ночь
end
end
end

if gulag_type == "predbannik_citi" then
return npc_community == "stalker"
end

 

[logic@predbannik_citi_walker_day_1_walk] ;Дневной охранник Барыша.
active = walker@predbannik_citi_walker_day_1_walk

[walker@predbannik_citi_walker_day_1_walk]
path_walk = walker_day_1_walk
;path_look = day_1_look
on_actor_dist_le = 40 | {+may_be_band} %+set_band =join_bandit%, {+may_be_band_door} %+set_band =join_bandit%



[logic@predbannik_citi_walker_day_2_walk] ;волкер по всей територии. 2 варианта пути.
active = walker@predbannik_citi_walker_day_2_walk

[walker@predbannik_citi_walker_day_2_walk]
path_walk = walker_day_2_walk
path_look = walker_day_2_walk
on_actor_dist_le = 40 | {+may_be_band} %+set_band =join_bandit%, {+may_be_band_door} %+set_band =join_bandit%



[logic@predbannik_citi_walker_always_walk] ;волкер всегда
active = walker@predbannik_citi_walker_always_walk

[walker@predbannik_citi_walker_always_walk]
path_walk = walker_always_walk
path_look = walker_always_walk
on_actor_dist_le = 40 | {+may_be_band} %+set_band =join_bandit%, {+may_be_band_door} %+set_band =join_bandit%


[logic@predbannik_citi_walker_night_walk_commander] ;волкер по всей територии. Ночь. Командир.
active = patrol@predbannik_citi_walker_night_walk_commander

[patrol@predbannik_citi_walker_night_walk_commander]
path_walk = walker_night_walk
path_look = walker_night_walk
commander = true
formation = line
on_actor_dist_le = 40 | {+may_be_band} %+set_band =join_bandit%, {+may_be_band_door} %+set_band =join_bandit%


[logic@predbannik_citi_walker_night_walk] ;волкер по всей територии. Ночь.
active = patrol@predbannik_citi_walker_night_walk

[patrol@predbannik_citi_walker_night_walk]
path_walk = walker_night_walk
path_look = walker_night_walk
formation = line
on_actor_dist_le = 40 | {+may_be_band} %+set_band =join_bandit%, {+may_be_band_door} %+set_band =join_bandit%


[logic@predbannik_citi_kamper_night]
active = kamp@predbannik_citi_kamper_night

[kamp@predbannik_citi_kamper_night]
center_point = kamper_night
radius = 2
on_actor_dist_le = 40 | {+may_be_band} %+set_band =join_bandit%, {+may_be_band_door} %+set_band =join_bandit%


[logic@predbannik_citi_post_one]
active = walker@predbannik_citi_post_one

[walker@predbannik_citi_post_one]
path_walk = post_one_walk
path_look = post_one_look
on_actor_dist_le = 40 | {+may_be_band} %+set_band =join_bandit%, {+may_be_band_door} %+set_band =join_bandit%


[logic@predbannik_citi_post_two]
active = walker@predbannik_citi_post_two

[walker@predbannik_citi_post_two]
path_walk = post_two_walk
path_look = post_two_look
on_actor_dist_le = 40 | {+may_be_band} %+set_band =join_bandit%, {+may_be_band_door} %+set_band =join_bandit%


[logic@predbannik_citi_post_three]
active = walker@predbannik_citi_post_three

[walker@predbannik_citi_post_three]
path_walk = post_three_walk
path_look = post_three_look
on_actor_dist_le = 40 | {+may_be_band} %+set_band =join_bandit%, {+may_be_band_door} %+set_band =join_bandit%


[logic@predbannik_citi_kamper_day]
active = kamp@predbannik_citi_kamper_day

[kamp@predbannik_citi_kamper_day]
center_point = kamper_day
radius = 2
on_actor_dist_le = 40 | {+may_be_band} %+set_band =join_bandit%, {+may_be_band_door} %+set_band =join_bandit%


[logic@predbannik_citi_leeder]
active = walker@predbannik_citi_leeder

[walker@predbannik_citi_leeder]
path_walk = leeder
path_look = kamper_day
on_actor_dist_le = 40 | {+may_be_band} %+set_band =join_bandit%, {+may_be_band_door} %+set_band =join_bandit%

[logic@predbannik_citi_sniper]
active = camper@predbannik_citi_sniper

[camper@predbannik_citi_sniper]
path_walk = sniper_walk
path_look = sniper_look
on_actor_dist_le = 100 | {+may_be_band} %+set_band =join_bandit%, {+may_be_band_door} %+set_band =join_bandit%

 

[predbannik_citi_kamper_night]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -440.036834716797,-5.74072980880737,-152.900497436523
p0:game_vertex_id = 3906
p0:level_vertex_id = 268431


[predbannik_citi_post_one_walk]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -450.006408691406,1.84742939472198,-115.372749328613
p0:game_vertex_id = 3901
p0:level_vertex_id = 253094


[predbannik_citi_post_one_look]
points = p0,p1
p0:name = wp01
p0:flags = 0x1
p0:position = -469.045593261719,2.40962147712708,-92.9580383300781
p0:game_vertex_id = 3904
p0:level_vertex_id = 225520
p0:links = p1(1)

p1:name = wp01
p1:flags = 0x1
p1:position = -451.635009765625,11.7696390151978,-55.4326705932617
p1:game_vertex_id = 3897
p1:level_vertex_id = 250989


[predbannik_citi_post_two_walk]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -446.506011962891,1.82168114185333,-115.332809448242
p0:game_vertex_id = 3901
p0:level_vertex_id = 258595


[predbannik_citi_post_two_look]
points = p0,p1
p0:name = wp00
p0:flags = 0x1
p0:position = -456.472473144531,11.9997978210449,-55.5462799072266
p0:game_vertex_id = 3897
p0:level_vertex_id = 243663
p0:links = p1(1)

p1:name = wp01
p1:flags = 0x1
p1:position = -410.542755126953,2.4316623210907,-107.741317749023
p1:game_vertex_id = 3914
p1:level_vertex_id = 313322


[predbannik_citi_post_three_walk]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -448.216766357422,1.7386668920517,-117.712203979492
p0:game_vertex_id = 3901
p0:level_vertex_id = 256382


[predbannik_citi_post_three_look]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -452.264587402344,11.6966533660889,-55.9087104797363
p0:game_vertex_id = 3897
p0:level_vertex_id = 249889


[predbannik_citi_kamper_day]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -537.15625,9.74334812164307,-127.206741333008
p0:game_vertex_id = 3884
p0:level_vertex_id = 123474


[predbannik_citi_leeder]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -537.452087402344,9.7432165145874,-122.252532958984
p0:game_vertex_id = 3884
p0:level_vertex_id = 122523


[predbannik_citi_sniper_walk]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -502.194580078125,17.5852832794189,-146.481338500977
p0:game_vertex_id = 3889
p0:level_vertex_id = 174034


[predbannik_citi_sniper_look]
points = p0,p1
p0:name = wp01
p0:flags = 0x1
p0:position = -434.891906738281,1.91644632816315,-108.675445556641
p0:game_vertex_id = 3903
p0:level_vertex_id = 276877
p0:links = p1(1)

p1:name = wp01
p1:flags = 0x1
p1:position = -416.380767822266,2.17772483825684,-107.097053527832
p1:game_vertex_id = 3914
p1:level_vertex_id = 303644


[predbannik_citi_walker_day_1_walk]
points = p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14
p0:name = wp00
p0:position = -436.051666259766,-5.7418851852417,-148.229156494141
p0:game_vertex_id = 3906
p0:level_vertex_id = 274841
p0:links = p1(1)

p1:name = wp01
p1:position = -444.472747802734,-5.74100828170776,-149.072540283203
p1:game_vertex_id = 3906
p1:level_vertex_id = 261860
p1:links = p2(1)

p2:name = wp02
p2:position = -455.466125488281,-3.96812415122986,-172.763931274414
p2:game_vertex_id = 3905
p2:level_vertex_id = 244551
p2:links = p3(1)

p3:name = wp03
p3:position = -455.996612548828,-3.59855079650879,-174.705154418945
p3:game_vertex_id = 3905
p3:level_vertex_id = 244546
p3:links = p4(1)

p4:name = wp04
p4:position = -465.744384765625,-0.878204345703125,-173.983596801758
p4:game_vertex_id = 3905
p4:level_vertex_id = 230477
p4:links = p5(1)

p5:name = wp05
p5:position = -467.058898925781,-0.855111956596375,-170.893844604492
p5:game_vertex_id = 3905
p5:level_vertex_id = 228457
p5:links = p6(1)

p6:name = wp06
p6:position = -460.862823486328,-0.884268522262573,-166.096633911133
p6:game_vertex_id = 3905
p6:level_vertex_id = 237544
p6:links = p7(1)

p7:name = wp07
p7:position = -452.716522216797,-0.823424100875854,-162.269424438477
p7:game_vertex_id = 3905
p7:level_vertex_id = 248645
p7:links = p8(1)

p8:name = wp08
p8:position = -450.803741455078,-0.254834443330765,-151.758392333984
p8:game_vertex_id = 3901
p8:level_vertex_id = 251924
p8:links = p9(1)

p9:name = wp09
p9:position = -451.661499023438,0.125983327627182,-147.802658081055
p9:game_vertex_id = 3896
p9:level_vertex_id = 250847
p9:links = p10(1)

p10:name = wp10
p10:position = -453.684020996094,0.174919098615646,-146.628387451172
p10:game_vertex_id = 3896
p10:level_vertex_id = 247646
p10:links = p11(1)

p11:name = wp11
p11:position = -465.247314453125,-0.70114529132843,-148.098251342773
p11:game_vertex_id = 3896
p11:level_vertex_id = 230507
p11:links = p12(1)

p12:name = wp12
p12:position = -466.767730712891,-0.68031370639801,-146.607284545898
p12:game_vertex_id = 3896
p12:level_vertex_id = 228489
p12:links = p13(1)

p13:name = wp13
p13:position = -464.991607666016,-0.680699348449707,-145.480712890625
p13:game_vertex_id = 3902
p13:level_vertex_id = 231519
p13:links = p14(1)

p14:name = wp14
p14:flags = 0x1
p14:position = -454.328186035156,-5.74044036865234,-146.648574829102
p14:game_vertex_id = 3902
p14:level_vertex_id = 246630
p14:links = p0(1)


[predbannik_citi_walker_day_1_look]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -434.294219970703,-5.7428092956543,-148.252380371094
p0:game_vertex_id = 3906
p0:level_vertex_id = 277886


[predbannik_citi_walker_day_2_walk]
points = p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34
p0:name = wp00
p0:position = -443.855163574219,-5.74097156524658,-153.78759765625
p0:game_vertex_id = 3906
p0:level_vertex_id = 262943
p0:links = p1(1)

p1:name = wp01
p1:position = -448.364593505859,-5.74124431610107,-156.002166748047
p1:game_vertex_id = 3902
p1:level_vertex_id = 255216
p1:links = p2(1)

p2:name = wp02
p2:position = -454.018768310547,-5.10143327713013,-166.100677490234
p2:game_vertex_id = 3902
p2:level_vertex_id = 246598
p2:links = p3(1)

p3:name = wp03
p3:position = -455.616943359375,-3.91208148002625,-173.062286376953
p3:game_vertex_id = 3905
p3:level_vertex_id = 244551
p3:links = p4(1)

p4:name = wp04
p4:position = -456.001434326172,-3.59841203689575,-174.625274658203
p4:game_vertex_id = 3905
p4:level_vertex_id = 244547
p4:links = p5(1)

p5:name = wp05
p5:position = -464.898986816406,-0.884075880050659,-174.373474121094
p5:game_vertex_id = 3905
p5:level_vertex_id = 231482
p5:links = p6(1)

p6:name = wp06
p6:position = -475.920349121094,-0.770156860351563,-165.399230957031
p6:game_vertex_id = 3905
p6:level_vertex_id = 215176
p6:links = p7(1)

p7:name = wp07
p7:position = -477.575073242188,1.48061501979828,-132.657653808594
p7:game_vertex_id = 3901
p7:level_vertex_id = 213152
p7:links = p8(1),p24(1)

p8:name = wp08
p8:position = -481.548400878906,1.51271343231201,-127.900665283203
p8:game_vertex_id = 3901
p8:level_vertex_id = 206811
p8:links = p9(1)

p9:name = wp09
p9:position = -502.287536621094,1.51999747753143,-128.263809204102
p9:game_vertex_id = 3886
p9:level_vertex_id = 174078
p9:links = p10(1)

p10:name = wp10
p10:position = -513.228759765625,1.24965476989746,-138.256988525391
p10:game_vertex_id = 3886
p10:level_vertex_id = 157963
p10:links = p11(1)

p11:name = wp11
p11:position = -513.627990722656,0.214974135160446,-153.784118652344
p11:game_vertex_id = 3886
p11:level_vertex_id = 156884
p11:links = p12(1)

p12:name = wp12
p12:position = -507.599182128906,-0.301309615373611,-157.110565185547
p12:game_vertex_id = 3892
p12:level_vertex_id = 166330
p12:links = p13(1)

p13:name = wp13
p13:position = -505.511840820313,-0.538066267967224,-160.831390380859
p13:game_vertex_id = 3892
p13:level_vertex_id = 169617
p13:links = p14(1)

p14:name = wp14
p14:position = -505.440032958984,-0.67751944065094,-175.802490234375
p14:game_vertex_id = 3887
p14:level_vertex_id = 169596
p14:links = p15(1)

p15:name = wp15
p15:position = -506.127807617188,-0.689478754997253,-177.896408081055
p15:game_vertex_id = 3887
p15:level_vertex_id = 168497
p15:links = p16(1)

p16:name = wp16
p16:position = -508.204406738281,-0.703956961631775,-178.764831542969
p16:game_vertex_id = 3887
p16:level_vertex_id = 165251
p16:links = p17(1)

p17:name = wp17
p17:position = -515.668640136719,-0.701613962650299,-178.03239440918
p17:game_vertex_id = 3887
p17:level_vertex_id = 153722
p17:links = p18(1)

p18:name = wp18
p18:position = -519.93994140625,-0.700187087059021,-175.413375854492
p18:game_vertex_id = 3887
p18:level_vertex_id = 147615
p18:links = p19(1)

p19:name = wp19
p19:position = -519.396606445313,-0.669650197029114,-167.190338134766
p19:game_vertex_id = 3887
p19:level_vertex_id = 148644
p19:links = p20(1)

p20:name = wp20
p20:position = -516.18505859375,-0.458065003156662,-161.035507202148
p20:game_vertex_id = 3885
p20:level_vertex_id = 153746
p20:links = p21(1)

p21:name = wp21
p21:position = -516.445251464844,1.15891993045807,-141.593765258789
p21:game_vertex_id = 3886
p21:level_vertex_id = 152743
p21:links = p22(1)

p22:name = wp22
p22:position = -506.576263427734,1.40151238441467,-130.935684204102
p22:game_vertex_id = 3886
p22:level_vertex_id = 167492
p22:links = p23(1)

p23:name = wp23
p23:position = -498.272125244141,1.52938342094421,-127.567016601563
p23:game_vertex_id = 3886
p23:level_vertex_id = 180470
p23:links = p24(1)

p24:name = wp24
p24:position = -471.872253417969,1.50686943531036,-127.743698120117
p24:game_vertex_id = 3901
p24:level_vertex_id = 221480
p24:links = p25(1)

p25:name = wp25
p25:position = -454.6884765625,1.67378151416779,-128.863647460938
p25:game_vertex_id = 3901
p25:level_vertex_id = 245642
p25:links = p26(1)

p26:name = wp26
p26:position = -449.491424560547,1.32974827289581,-135.646026611328
p26:game_vertex_id = 3901
p26:level_vertex_id = 254168
p26:links = p27(1)

p27:name = wp27
p27:position = -450.349426269531,0.34479883313179,-144.973556518555
p27:game_vertex_id = 3901
p27:level_vertex_id = 253046
p27:links = p28(1)

p28:name = wp28
p28:position = -453.679443359375,0.171046167612076,-146.816864013672
p28:game_vertex_id = 3896
p28:level_vertex_id = 247644
p28:links = p29(1)

p29:name = wp29
p29:position = -465.15869140625,-0.694386839866638,-147.93327331543
p29:game_vertex_id = 3896
p29:level_vertex_id = 230509
p29:links = p30(1)

p30:name = wp30
p30:position = -466.808776855469,-0.680242300033569,-146.518920898438
p30:game_vertex_id = 3896
p30:level_vertex_id = 228489
p30:links = p31(1)

p31:name = wp31
p31:position = -464.996276855469,-0.681370854377747,-145.363311767578
p31:game_vertex_id = 3902
p31:level_vertex_id = 231519
p31:links = p32(1)

p32:name = wp32
p32:position = -445.574035644531,-5.74058151245117,-147.737640380859
p32:game_vertex_id = 3902
p32:level_vertex_id = 259660
p32:links = p33(1)

p33:name = wp33
p33:position = -442.346984863281,-5.74108791351318,-149.473190307617
p33:game_vertex_id = 3906
p33:level_vertex_id = 265161
p33:links = p34(1)

p34:name = wp34
p34:position = -442.572143554688,-5.74129772186279,-151.356628417969
p34:game_vertex_id = 3906
p34:level_vertex_id = 265157
p34:links = p1(1)


[predbannik_citi_walker_always_walk]
points = p0,p1,p2,p3,p4,p5,p6,p7,p8,p9
p0:name = wp00
p0:position = -446.434204101563,-5.74056720733643,-155.747589111328
p0:game_vertex_id = 3906
p0:level_vertex_id = 258516
p0:links = p1(1)

p1:name = wp01
p1:position = -448.827301025391,-5.74067068099976,-157.072555541992
p1:game_vertex_id = 3902
p1:level_vertex_id = 255214
p1:links = p2(1)

p2:name = wp02
p2:position = -454.607849121094,-5.09789323806763,-167.355422973633
p2:game_vertex_id = 3902
p2:level_vertex_id = 246594
p2:links = p3(1)

p3:name = wp03
p3:position = -455.514587402344,-3.90496301651001,-172.984924316406
p3:game_vertex_id = 3905
p3:level_vertex_id = 244551
p3:links = p4(1)

p4:name = wp04
p4:position = -456.127624511719,-3.59591341018677,-174.893615722656
p4:game_vertex_id = 3905
p4:level_vertex_id = 243535
p4:links = p5(1)

p5:name = wp05
p5:position = -465.536529541016,-0.882874488830566,-174.563751220703
p5:game_vertex_id = 3905
p5:level_vertex_id = 230477
p5:links = p6(1)

p6:name = wp06
p6:position = -469.221740722656,-0.816472828388214,-171.020294189453
p6:game_vertex_id = 3905
p6:level_vertex_id = 225472
p6:links = p7(1)

p7:name = wp07
p7:position = -466.231872558594,-0.853235006332397,-168.136672973633
p7:game_vertex_id = 3905
p7:level_vertex_id = 229470
p7:links = p8(1)

p8:name = wp08
p8:position = -452.954284667969,-0.810699999332428,-162.243942260742
p8:game_vertex_id = 3905
p8:level_vertex_id = 248645
p8:links = p9(1)

p9:name = wp09
p9:position = -449.76025390625,-0.672163188457489,-155.824966430664
p9:game_vertex_id = 3905
p9:level_vertex_id = 253014
p9:links = p1(1)


[predbannik_citi_walker_night_walk]
points = p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16
p0:name = wp00
p0:position = -534.0224609375,9.74296188354492,-131.380447387695
p0:game_vertex_id = 3884
p0:level_vertex_id = 127330
p0:links = p1(1)

p1:name = wp01
p1:position = -540.343811035156,5.77480792999268,-131.501831054688
p1:game_vertex_id = 3884
p1:level_vertex_id = 118713
p1:links = p2(1)

p2:name = wp02
p2:position = -539.925964355469,5.77296733856201,-138.072174072266
p2:game_vertex_id = 3886
p2:level_vertex_id = 119654
p2:links = p3(1)

p3:name = wp03
p3:position = -538.524291992188,5.36723470687866,-139.012649536133
p3:game_vertex_id = 3886
p3:level_vertex_id = 121533
p3:links = p4(1)

p4:name = wp04
p4:position = -517.754577636719,1.32199203968048,-138.269393920898
p4:game_vertex_id = 3886
p4:level_vertex_id = 150700
p4:links = p5(1)

p5:name = wp05
p5:position = -500.982971191406,1.51652896404266,-127.694396972656
p5:game_vertex_id = 3886
p5:level_vertex_id = 176202
p5:links = p6(1)

p6:name = wp06
p6:position = -457.151489257813,1.66824495792389,-128.599472045898
p6:game_vertex_id = 3901
p6:level_vertex_id = 242576
p6:links = p7(1)

p7:name = wp07
p7:position = -449.893157958984,1.51528763771057,-132.489562988281
p7:game_vertex_id = 3901
p7:level_vertex_id = 253070
p7:links = p8(1)

p8:name = wp08
p8:position = -447.714050292969,1.16103684902191,-137.429992675781
p8:game_vertex_id = 3901
p8:level_vertex_id = 256354
p8:links = p9(1)

p9:name = wp09
p9:position = -449.816162109375,-0.915029406547546,-159.932739257813
p9:game_vertex_id = 3905
p9:level_vertex_id = 253004
p9:links = p10(1)

p10:name = wp10
p10:position = -451.616333007813,-0.917693495750427,-163.964797973633
p10:game_vertex_id = 3905
p10:level_vertex_id = 250805
p10:links = p11(1)

p11:name = wp11
p11:position = -455.967254638672,-0.890778303146362,-164.945526123047
p11:game_vertex_id = 3905
p11:level_vertex_id = 244569
p11:links = p12(1)

p12:name = wp12
p12:position = -470.474517822266,-0.822344899177551,-164.564956665039
p12:game_vertex_id = 3905
p12:level_vertex_id = 223463
p12:links = p13(1)

p13:name = wp13
p13:position = -475.133270263672,-0.82819676399231,-161.327713012695
p13:game_vertex_id = 3905
p13:level_vertex_id = 216206
p13:links = p14(1)

p14:name = wp14
p14:position = -476.872283935547,-0.808163523674011,-156.275909423828
p14:game_vertex_id = 3905
p14:level_vertex_id = 214157
p14:links = p15(1)

p15:name = wp15
p15:position = -476.911499023438,1.35434317588806,-135.761962890625
p15:game_vertex_id = 3901
p15:level_vertex_id = 214186
p15:links = p16(1)

p16:name = wp16
p16:position = -471.664581298828,1.53077149391174,-129.057647705078
p16:game_vertex_id = 3901
p16:level_vertex_id = 221478
p16:links = p7(1)

 

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

При беглом просмотре увидел как минимум 3 "logic@predbannik_citi_kamper_night"

upd: "Да, ночью я их отправляю в камп." - но проблема не в них ?

 

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

 

Ну а дальше - ставить лог на что нибудь, с выводом: кто какую работу в данный момент занимает.

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

@AndreySol, ОК. Сейчас проверю.

@Dennis_Chikin, Да, ночью я их отправляю в камп.

   t = { section = "logic@predbannik_citi_kamper_night", -- ночь
   idle = 0,
   prior = 5, state = {1},
   in_rest = "", out_rest = ""
  } 
  table.insert(sj, t)  


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

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

 

 


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

А что тут непонятного? Всё это работает как положено.

Поршни выдаются, переход на другую секцию логики срабатывает.

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

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

 

Кстати,

--[[ t = { section = "logic@predbannik_citi_post_three", -- день, постовой.

 

- это действительно то, что имелось в виду ?

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

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

 

Как несколько нпс занимали одну и ту-же работу, так и занимают

 

Ну так подсказали-ж, что у тебя несколоко раз загружаются одинаковые работы - logic@predbannik_citi_kamper_night, вот у тебя несколько НПСов и трутся по одному маршруту или на одной точке.

 

 

Как игнорировались работы, так и игнорируются

Если у тебя кол-во НПС соответствует кол-ву работ, то поробуй упростить логику в тех работах которые как ты думаешь не занимаются. К примеру сделай минимальную логику типа кампа, чтоб заняв ее, НПС просто уселся на точке. Сразу станет понятнее что занимается а что нет.

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

Так смотрю тут по спавну спрашивают?) Вот и я спрошу: я попытался сделать респавнер зомби 

[12003]


; cse_abstract properties
section_name = respawn
name = gar_zombie_respawner001
position = -178.553604,-0.232405,180.832764
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 343
distance = 20
level_vertex_id = 44946
object_flags = 0xffffff3e
custom_data = <[respawn]
respawn_section = zombie_weak
;max_count = 9
;min_count = 6
max_spawn = 3
idle_spawn = medium
;conditions = 90
END

; cse_shape properties
shapes = 1
shape_0:type = sphere
shape_0:offset = 0,0,0
shape_0:radius = 1

; cse_alife_space_restrictor properties
restrictor_type = 0

; se_respawn properties
spawned_obj =


Этот спавнер находится недалеко от спавнера кабанов в кустах. В итоге кабаны уже раз 7 спавнились при мне, а зомби не разу. Что не так?

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

 

 


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

 

 

 


Ну так подсказали-ж, что у тебя несколоко раз загружаются одинаковые работы - logic@predbannik_citi_kamper_night, вот у тебя несколько НПСов и трутся по одному маршруту или на одной точке.
А в чём тут может быть трабла? Ночью, они садятся у костра, трут байки поют песни. Если каждому прописать свой камп то они будут базарить одновременно.

 

 

 


Если у тебя кол-во НПС соответствует ...
Не занимаемые работы и так видно. Это logic@predbannik_citi_post_three и logic@predbannik_citi_post_one

Сейчас проверю с кампами.



Миллион извинений! Я случайно продублировал gulag_predbannik в xr_gulag.script

От этого и была вся трабла.

Всем спасибо за помощь!

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

Насчет ф-ции best_enemy() хочу спросить. Она возвращает так скажем "худшего врага", если таковой имеется для НПСа ?

Если да, то предусмотренно ли какое-то "забывание" НПСом этого врага. Если такое возможно - что за ф-ции, или параметры или как это делается\настраивается ?



in и out растрикторы, прописанные в работах гулага, будут действовать на НПСа при переходе последнего в комбат-состояние ?

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

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

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

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

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

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

Войти

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

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

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