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

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

Мужики выручайте застрял по полной! Проблема такова, я сделал смарт-террейн по статье на инсайде, вот что у меня получаеться в коде:

[logic@esc_bandits_smart_terrain_bandit1_walker]

active = walker@esc_bandits_smart_terrain_bandit1

 

[walker@esc_bandits_smart_terrain_bandit1]

path_walk = bandit1_walk

danger = danger_condition@esc_bandits_smart_terrain

def_state_moving1 = patrol

def_state_moving2 = patrol

def_state_moving3 = patrol

meet = no_meet

 

 

[logic@esc_bandits_smart_terrain_bandit1_kamp]

active = kamp@esc_bandits_smart_terrain_bandit1

 

[kamp@esc_bandits_smart_terrain_bandit1]

center_point = bandit_kamp

path_walk = bandit_kamp_task

 

 

[logic@esc_bandits_smart_terrain_bandit2_walker]

active = walker@esc_bandits_smart_terrain_bandit2

 

[walker@esc_bandits_smart_terrain_bandit2]

path_walk = bandit2_walk

path_look = bandit2_look

danger = danger_condition@esc_bandits_smart_terrain

 

 

[logic@esc_bandits_smart_terrain_bandit2_sleeper]

active = sleeper@esc_bandits_smart_terrain_bandit2

 

[sleeper@esc_bandits_smart_terrain_bandit2]

path_main = bandit2_sleep

wakeable = false

 

 

[logic@esc_bandits_smart_terrain_bandit3_walker]

active = walker@esc_bandits_smart_terrain_bandit3

 

[walker@esc_bandits_smart_terrain_bandit3]

path_walk = bandit3_walk

path_look = bandit3_look

 

[danger_condition@esc_bandits_smart_terrain]

ignore_distance_corpse = 0

ignore_distance = 0

 

 

[871]; сам смарт

; cse_abstract properties

section_name = smart_terrain

name = esc_bandits_smart_terrain

position = -179.694000,-2.288012,-53.680004

direction = 0.062321275472641,0.00316426996141672,0.0140644172206521

 

; cse_alife_object properties

game_vertex_id = 68

distance = 4.19999980926514

level_vertex_id = 70925

object_flags = 0xffffffbe

custom_data = <<END

[smart_terrain]

type = esc_bandits_smart_terrain

capacity = 3

squad = 1

groups = 5

respawn = esc_respawn_inventory_box_0000

END

 

; cse_shape properties

shapes = shape0

shape0:type = sphere

shape0:offset = 0,0,0

shape0:radius = 4.5480751991272

 

; cse_alife_space_restrictor properties

restrictor_type = 3

 

; se_smart_terrain properties

 

 

[872];НПСы для смарта

; cse_abstract properties

section_name = stalker

name = esc_kancler

position = -179.694000,-2.288012,-53.680004

direction = 0,0,0

 

; cse_alife_trader_abstract properties

money = 5000

character_profile = esc_senya

 

; cse_alife_object properties

game_vertex_id = 68

distance = 0

level_vertex_id = 70925

object_flags = 0xffffffbf

custom_data = <<END

[smart_terrains]

esc_bandits_smart_terrain = true

END

story_id = 10020

 

; cse_visual properties

visual_name = actors\soldier\soldier_beret_1

 

; cse_alife_creature_abstract properties

g_team = 0

g_squad = 1

g_group = 5

health = 1

dynamic_out_restrictions =

dynamic_in_restrictions =

 

upd:health = 1

upd:timestamp = 0

upd:creature_flags = 0

upd:position = -179.694000,-2.288012,-53.680004

upd:o_model = 0

upd:o_torso = 0.0280130300670862,0,0.999607563018799

upd:g_team = 0

upd:g_squad = 1

upd:g_group = 5

 

; cse_alife_monster_abstract properties

 

upd:next_game_vertex_id = 65535

upd:prev_game_vertex_id = 65535

upd:distance_from_point = 0

upd:distance_to_point = 0

 

; cse_alife_human_abstract properties

predicate5 = 1,2,2,1,2

predicate4 = 0,1,1,1

 

; cse_ph_skeleton properties

 

upd:start_dialog =

 

; se_stalker properties

 

 

[873]

; cse_abstract properties

section_name = stalker

name = esc_kancler

position = -179.694000,-2.288012,-53.680004

direction = 0,0,0

 

; cse_alife_trader_abstract properties

money = 5000

character_profile = esc_senya

 

; cse_alife_object properties

game_vertex_id = 68

distance = 0

level_vertex_id = 70925

object_flags = 0xffffffbf

custom_data = <<END

 

[smart_terrains]

esc_bandits_smart_terrain = true

END

story_id = 10021

 

 

; cse_visual properties

visual_name = actors\soldier\soldier_beret_1

 

; cse_alife_creature_abstract properties

g_team = 0

g_squad = 1

g_group = 5

health = 1

dynamic_out_restrictions =

dynamic_in_restrictions =

 

upd:health = 1

upd:timestamp = 0

upd:creature_flags = 0

upd:position = -179.694000,-2.288012,-53.680004

upd:o_model = 0

upd:o_torso = 0.0280130300670862,0,0.999607563018799

upd:g_team = 0

upd:g_squad = 1

upd:g_group = 5

 

; cse_alife_monster_abstract properties

 

upd:next_game_vertex_id = 65535

upd:prev_game_vertex_id = 65535

upd:distance_from_point = 0

upd:distance_to_point = 0

 

; cse_alife_human_abstract properties

predicate5 = 1,2,2,1,2

predicate4 = 0,1,1,1

 

; cse_ph_skeleton properties

 

upd:start_dialog =

 

; se_stalker properties

 

 

 

[874]

; cse_abstract properties

section_name = stalker

name = esc_kancler

position = -179.694000,-2.288012,-53.680004

direction = 0,0,0

 

; cse_alife_trader_abstract properties

money = 5000

character_profile = esc_senya

 

; cse_alife_object properties

game_vertex_id = 68

distance = 0

level_vertex_id = 70925

object_flags = 0xffffffbf

custom_data = <<END

 

[smart_terrains]

esc_bandits_smart_terrain = true

END

story_id = 10022

 

 

; cse_visual properties

visual_name = actors\soldier\soldier_beret_1

 

; cse_alife_creature_abstract properties

g_team = 0

g_squad = 1

g_group = 5

health = 1

dynamic_out_restrictions =

dynamic_in_restrictions =

 

upd:health = 1

upd:timestamp = 0

upd:creature_flags = 0

upd:position = -179.694000,-2.288012,-53.680004

upd:o_model = 0

upd:o_torso = 0.0280130300670862,0,0.999607563018799

upd:g_team = 0

upd:g_squad = 1

upd:g_group = 5

 

; cse_alife_monster_abstract properties

 

upd:next_game_vertex_id = 65535

upd:prev_game_vertex_id = 65535

upd:distance_from_point = 0

upd:distance_to_point = 0

 

; cse_alife_human_abstract properties

predicate5 = 1,2,2,1,2

predicate4 = 0,1,1,1

 

; cse_ph_skeleton properties

 

upd:start_dialog =

 

; se_stalker properties

 

 

 

 

[bandit1_walk]

points = p0,p1

p0:name = name00

p0:position = -175.667084,-4.136031,-47.569859

p0:game_vertex_id = 71

p0:level_vertex_id = 74841

p0:links = p1(1)

 

p1:name = name01

p1:position = -168.147858,-4.774074,-45.499973

p1:game_vertex_id = 68

p1:level_vertex_id = 65072

p1:links = p0(1)

 

 

 

[bandit_kamp]

points = p0

p0:name = name00

p0:position = -179.694000,-2.288012,-53.680004

p0:game_vertex_id = 68

p0:level_vertex_id = 70925

 

 

 

[bandit_kamp_task]

points = p0

p0:name = name00

p0:position = -175.667084,-4.136031,-47.569859

p0:game_vertex_id = 71

p0:level_vertex_id = 74841

 

 

 

[bandit2_walk]

points = p0,p1

p0:name = name00

p0:position = -175.667084,-4.136031,-47.569859

p0:game_vertex_id = 71

p0:level_vertex_id = 74841

p0:links = p1(1)

 

p1:name = name01

p1:position = -180.488449,-1.720561,-3-62.376045

p1:game_vertex_id = 68

p1:level_vertex_id = 70256

p1:links = p0(1)

 

 

[bandit2_look]

points = p0

p0:name = name00

p0:position = -179.694000,-2.288012,-53.680004

p0:game_vertex_id = 68

p0:level_vertex_id = 70925

 

 

[bandit2_sleep]

points = p0

p0:name = name00

p0:position = -180.488449,-1.720561,-3-62.376045

p0:game_vertex_id = 68

p0:level_vertex_id = 70256

 

[bandit3_walk]

points = p0,p1

p0:name = name00

p0:position = -180.488449,-1.720561,-3-62.376045

p0:game_vertex_id = 68

p0:level_vertex_id = 70256

p0:links = p1(1)

 

p1:name = name01

p1:position = -175.667084,-4.136031,-47.569859

p1:game_vertex_id = 71

p1:level_vertex_id = 74841

p1:links = p0(1)

 

 

[bandit3_look]

points = p0

p0:name = name00

p0:position = -179.694000,-2.288012,-53.680004

p0:game_vertex_id = 68

p0:level_vertex_id = 70925

 

 

 

function load_job(sj, gname, type, squad, groups)

...

if type == "esc_bandits_smart_terrain" then

t = {section = "logic@esc_bandits_smart_terrain_bandit1_walker",

idle = 0,

timeout = 0,

prior = 100,

state = {0},

squad = squad,

group = groups[1],

position_threshold = 100,

online = true,

in_rest = "",

out_rest = ""}

table.insert(sj, t)

 

t = {section = "logic@esc_bandits_smart_terrain_bandit1_kamp",

idle = 0, timeout = 0, prior = 100, state = {1},squad = squad,

group = groups[1], position_threshold = 100, online = true, in_rest = "",

out_rest = ""}

table.insert(sj, t)

 

 

t = {section = "logic@esc_bandits_smart_terrain_bandit2_walker",

idle = 0, prior = 5, state = {0}, squad = squad, group = groups[1],

in_rest = "", out_rest = ""}

table.insert(sj, t)

 

 

t = {section = "logic@esc_bandits_smart_terrain_bandit2_sleeper",

idle = 0, prior = 5, state = {1}, squad = squad, group = groups[1],

in_rest = "", out_rest = ""}

table.insert(sj, t)

 

 

t = {section = "logic@esc_bandits_smart_terrain_bandit3_walker",

idle = 0, prior = 5, state = {0, 1}, squad = squad, group = groups[1],

in_rest = "", out_rest = ""}

table.insert(sj, t)

end

...

...

function load_states(gname, type)

...

 

if type == "esc_bandits_smart_terrain" 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

 

...

...

function checkStalker(npc_community, gulag_type, npc_rank, se_obj)

 

 

if gulag_type == "esc_bandits_smart_terrain" then

return npc_community == "dolg"

end

...

 

 

 

 

 

И НПС спавняться прям на месте смарта и стоят а потом уходят в сторону лагеря новичков и вылет с логм:

 

Expression : fatal error

Function : CScriptEngine::lua_error

File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp

Line : 73

Description : <no expression>

Arguments : LUA error: c:\s.t.a.l.k.e.r\gamedata\scripts\state_mgr.script:145: C stack overflow

 

 

 

 

Я понял что эта ошибка значит переполнение стека в скрипте (указанном) на 145 строке, как я понял подробнее это НПС переходят в смарт и не могут найти там работу либо смарт принимает их но число выше указанного (кол-ва людей)! И не могут они никак принять это смарт либо он их, помогите пожалуйста разобраться мне с этой проблемой!

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

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

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

Может быть детский вопрос, для тех кто хорошо знает скрипты.

Суть вопроса.

Имеется функция:

local fov = device().fov

local wpn

if fov < 35 and xr_logic.pstor_retrieve(db.actor, "use_scope", 0) == 0 then

wpn = db.actor:item_in_slot(db.actor:active_slot())

if wpn and wpn:section() == "wpn_crossbow" then

level.add_pp_effector("bast.ppe", 1034, true)

get_console():execute ("r2_sun_lumscale_amb 3")

get_console():execute ("r2_mblur 0.6")

xr_logic.pstor_store(db.actor, "use_scope", 1)

 

wpn_crossbow - это пушка.

Мне надо в этой строке сделать так чтобы было ДВЕ пушки.

пробовал сделать так:

if wpn and wpn:section() == "wpn_crossbow" and "wpn_arm_binoc" then

Но ничего не вышло.

Как добавить в функцию вторую пушку?

 

Kirag, сработало! Большое спасибо! :)

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

Shadows,

 

if wpn and (wpn:section() == "wpn_crossbow" or wpn:section() == "wpn_arm_binoc") then

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

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

Добрый день!

Вопрос по вэйпойнтам walker_а:

Есть walker, который перемещается в точку №1, в которой отрабатывается анимация a=binocular (сотрит 5 секунд в бинокль в заданную точку look), затем он бежит по маршруту, состоящему из 3 точек, две просто пробегает, а в третьей точке ещё раз отыгрывается анимация a=binocular. Затем, продолжает свой маршрут ещё по трём точкам, две из который просто пробегает, а в третьей останавливается и смотрит в заданную точку look - это конец его маршрута, там он и должен остаться. Вот вэйпойнты данной схемы движения НПС:

[lesnik_look]

points = p0,p1,p2

p0:name = wp00|a=binocular

p0:flags = 0x1

p0:position = -165.067993164063,1.29299998283386,-54.8950004577637

p0:game_vertex_id = 3033

p0:level_vertex_id = 171004

 

p1:name = wp01|a=binocular

p1:flags = 0x2

p1:position = 132.341003417969,1.22800004482269,-127.251998901367

p1:game_vertex_id = 3085

p1:level_vertex_id = 472831

 

p2:name = wp02

p2:flags = 0x3

p2:position = 132.341003417969,1.22800004482269,-127.251998901367

p2:game_vertex_id = 3085

p2:level_vertex_id = 472831

 

 

[lesnik_walk]

points = p0,p1,p2,p3,p4,p5,p6

p0:name = wp00|a=run

p0:flags = 0x1

p0:position = -186.158004760742,0.848999977111816,-76.2170028686523

p0:game_vertex_id = 3033

p0:level_vertex_id = 149064

p0:links = p1(1)

 

p1:name = wp01|a=run

p1:position = -165.067993164063,1.29299998283386,-54.8950004577637

p1:game_vertex_id = 3033

p1:level_vertex_id = 171004

p1:links = p2(1)

 

p2:name = wp02|a=run

p2:position = -145.369003295898,2.41100001335144,-40.298999786377

p2:game_vertex_id = 3033

p2:level_vertex_id = 191929

p2:links = p3(1)

 

p3:name = wp03|a=run

p3:flags = 0x2

p3:position = -116.537002563477,1.24600005149841,-4.30299997329712

p3:game_vertex_id = 3046

p3:level_vertex_id = 224003

p3:links = p4(1)

 

p4:name = wp04|a=run

p4:position = -96.9739990234375,1.08000004291534,-1.39699995517731

p4:game_vertex_id = 3046

p4:level_vertex_id = 246426

p4:links = p5(1)

 

p5:name = wp05|a=run

p5:position = -26.0919990539551,1.08000004291534,54.3880004882813

p5:game_vertex_id = 3065

p5:level_vertex_id = 327759

p5:links = p6(1)

 

p6:name = wp06|a=run

p6:flags = 0x3

p6:position = 48.5219993591309,1.06900000572205,-28.6609992980957

p6:game_vertex_id = 3076

p6:level_vertex_id = 405556

 

 

Такая схема работает, но случается вылет, если во время пути сохраниться, а потом попытаться загрузить сохранение. В логе указывается на пути этого НПС, он как бы "теряется" при загрузке сэйва. Это первое. И второе, если НПС с такой схемой движения оказывается в оффлайне (ГГ от него уходит на расстояние алайфа), а потом снова переходит в онлайн при приближении актёра, то этот НПС заново отрабатывает весь путь от первой точки, ну, по крайней мере он оказывается в процессе перемещения к конечной точке. Понятно, что можно в логике НПС перевести его под [remark] или вначале под [remark], а потом опять под логику [walker], но с двумя новыми точками walk1 и look1 с теми же координатами, что были у последних точек walk и look предыдущего пути. Тогда этот НПС будет стоять на месте точно. Но хочется сделать более грамотно, в одной схеме.

Вопросы такие:

1) Вопрос №1: В конечной точке пути [lesnik_walk] (wp6 которая) прописана анимка |a=run. Возможно, это не совсем корректно. Что должно быть там? И ещё: в некоторых примерах путей "волкеров" в конечной точке прописаны такие анимки:

wp06|sig=final или

wp06|sig=return или

wp06|arrive

Что это за анимки и как они работают на финальной точке и на что влияют? Просто разницы большой не наблюдается.

2) Вопрос №2: Точек walk 7 штук, а точек look три. Эти три точки look флажками привязаны к трём точкам walk, которые не друг за другом идут. Надо ли в этом случае "связывать" точки look друг с другом линком, так же, как связаны точки walk?

Например, после первой и второй точки look будет так:

[lesnik_look]

points = p0,p1,p2

p0:name = wp00|a=binocular

p0:flags = 0x1

p0:position = -165.067993164063,1.29299998283386,-54.8950004577637

p0:game_vertex_id = 3033

p0:level_vertex_id = 171004

p0:links = p1(1)

 

p1:name = wp01|a=binocular

p1:flags = 0x12

p1:position = 132.341003417969,1.22800004482269,-127.251998901367

p1:game_vertex_id = 3085

p1:level_vertex_id = 472831

p1:links = p2(1)

 

p2:name = wp02

p2:flags = 0x22

p2:position = 132.341003417969,1.22800004482269,-127.251998901367

p2:game_vertex_id = 3085

p2:level_vertex_id = 472831

 

 

Предполагаю, что связывать в этом случае точки look не надо, но правильно ли это?

3) Вопрос №3: в точках walk флажки стоят только у тех точек, которые привязаны к точкам look, в которых отыгрывается анимация или в которой остановка и направление взгляда задаётся. У остальных точек walk pх:flags = не проставлены. Это правильно? Или же всё-таки надо проставлять флажки (с последовательными номерами) у всех точек walk?

Информации по таким тонкостям в сети практически нет, поэтому, думаю многим такая схема движения может быть интересна.

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

Подскажите, как в обьекте типа "оружие" (isWeapon(obj) == true) узнать список установленных у техников апгрейдов?

Не предустановленных в конфигах, а именно в процессе игры?

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

antreg,

В шапке даны ссылки на цикл статей. Собственно ответы на твои вопросы там есть.

 

1) Вопрос №1: В конечной точке пути [lesnik_walk] (wp6 которая) прописана анимка |a=run. Возможно, это не совсем корректно. Что должно быть там? И ещё: в некоторых примерах путей "волкеров" в конечной точке прописаны такие анимки:

wp06|sig=final или

wp06|sig=return или

wp06|arrive

Что это за анимки и как они работают на финальной точке и на что влияют? Просто разницы большой не наблюдается.

Это не анимки, а сигналы. По ним можно переключать логику. Подробней здесь

 

2) Вопрос №2: Точек walk 7 штук, а точек look три. Эти три точки look флажками привязаны к трём точкам walk, которые не друг за другом идут. Надо ли в этом случае "связывать" точки look друг с другом линком, так же, как связаны точки walk?

Точки path_look связывать не надо - связи в этих путях игнорируются.

 

3) Вопрос №3: в точках walk флажки стоят только у тех точек, которые привязаны к точкам look, в которых отыгрывается анимация или в которой остановка и направление взгляда задаётся. У остальных точек walk pх:flags = не проставлены. Это правильно? Или же всё-таки надо проставлять флажки (с последовательными номерами) у всех точек walk?

Информации по таким тонкостям в сети практически нет, поэтому, думаю многим такая схема движения может быть интересна.

Этими флажками связываются точки path_walk и path_look, то есть в точке path_walk c заданным флажом НПЦ посмотрит в точку из path_look с таким же флажком. Цитат из доки по ссылке:

В точках path_walk, которым соответствуют точки пути path_look (стоят одинаковые флажки) персонаж останавливается и смотрит в определенную точку, при этом отыгрывая (или не отыгрывая) определенную анимацию.

 

 

Byurrer,

возможно ошибка в

function checkStalker(npc_community, gulag_type, npc_rank, se_obj)


if gulag_type == "esc_bandits_smart_terrain" then
        return npc_community == "dolg"
    end
...

Здесь написано что твоему смарт-террейну подходят только долговцы, а у тебя насколько я понял из алл.спавна там сталкеры.

Напиши так:

function checkStalker(npc_community, gulag_type, npc_rank, se_obj)


if gulag_type == "esc_bandits_smart_terrain" then
        return npc_community == "stalker"
    end
...

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

Просьба объяснить цикл(как он работает, откуда берутся значения):

for k,v in pairs(self.aLauncher)

 

Спасибо, но об этом я как-то не подумал :(

 

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

Real Wolf,

Функция pairs, возвращает итератор - функцию, которая возвращает два значения на каждый вызов: очередные ключ и значение из указанной таблицы. При каждой итерации оператор for вызывает этот итератор и присваивает то, что он возвращает, переменным k и v. Когда значения заканчиваются, итератор возвращает nil и цикл заканчивается.

 

P.S.: А вообще слабо почитать мануал Lua?

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

malandrinus, готов поспорить, слабо....

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

Scarabay, ещё один.. Возьми скрипты арены, там есть такое, только копайся....

Shadows, ещё один кому слабо книги по Луа полистать.....

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

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

Unnamed Black Wolf, ты не умничай давай. Со спавном света столкнулся впервые, вот и спрашиваю.

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

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

Scarabay,

телепортируй актора постоянно (скорее всего на каждый апдейт, если этого не хватит - поставь fastcall) в одну и ту-же точку.

 

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

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

Scarabay

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

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

 

----------------------------------------------------

malandrinus

А ну да.Не внимательно вопрос проячел.

Изменено пользователем Stalk15
Ссылка на комментарий
Kolmogor спасибо конечно, но я уж разобрался ... тупанул и задавал обычные вейпоинты, указывая поинты путей ... а надо было имя_смарта..поинт! А долговцев я прописал в комьюнити профилей созданных НПС!
Ссылка на комментарий

Stalk15,

тогда не сможет "крутить камерой и стрелять"

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий
Люди, можно ли заспавнить источник света скриптом?
Не совсем уверен, но
function spawn_svet()
alife():create("svet",vector():set(4.5661993026733,4.5522308349609,36.743591308594),953834,19)
end

Где svet то секция в спавн_секшенс.лтх, обращающаяся к секции из system.ltx например lights_signal_light.

[svet]:lights_signal_light
visual = путь\до\твоего\визуала

Извращение конечно, но попробовать стоит).

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

Всем привет!

Такая проблемка...

У меня в диалоге NPC и ГГ должны дёрныть по бутылочке , мне друг посоветовал сделать таким скриптом

function buhaem()
   local item = db.actor:object("vodka")
   if vodka then
      db.actor:eat(item)
   end
end

 

И сказал вставь в диалог,что я и сделал

        <phrase id="10">
            <text>Давай брат,помяним.</text>
            <give_info>buhaem</give_info>
                <action>pal.buhaem</action>
            <next>11</next>
        </phrase>

 

 

Но сей скрипт не работает,тоесть ГГ не пьянеет,даже если есть водка в рюкзаке.

Что делаю не правильно?

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

Министр,

:)) жестоко себя ведешь

 

SDR-team, попробуй так:

function buhaem()
   local item = db.actor:object("vodka")
   if item then
      db.actor:eat(item)
   end
end

надеюсь у тебя хоть скрипт, где эта функция лежит, называется pal.script?

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

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

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

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

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

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

Войти

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

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

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