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

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


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

@андрей дронав для определения группировки нпс, вместо таблиц типа:

Скрытый текст
local community = {
            ["stalker"] = "Одиночка",
            ["military"] = "Военные",
            ["bandit"] = "Бандит",
            ["killer"] = "Наемник",
            ["ecolog"] = "Эколог",
            ["dolg"] = "Долг",
            ["stranger"] = "Неизвестные",
            ["freedom"] = "Свобода",
            ["arena_enemy"] = "Участник арены",
            ["trader"] = "Торговец"}
        }

 

 

красивей проще и правильней использовать код:

killer_name = who:character_name().." "..game.translate_string(who:character_community())        -- Выдаёт имя и группировку киллера
victim_name = victim:character_name().." "..game.translate_string(victim:character_community())  -- тоже самое с жертвой

 

полный скрипт с определением кто погиб и от чего - там и нпс и монстры и аномалии:

 

Скрытый текст
-------------------------------------<<Сообшения о смерти НПС>>------------------------------------- 
function kill_npc(victim, who)
monstr_class = {
	[clsid.bloodsucker_s]		= "Кровосос",
	[clsid.boar_s]			= "Кабан",
	[clsid.dog_s]			= "Слепой пес",
	[clsid.flesh_s]			= "Псевдоплоть",
	[clsid.pseudodog_s]		= "Псевдособака",
	[clsid.poltergeist_s]		= "Полтергейст",
	[clsid.gigant_s]		= "Псевдогигант",
	[clsid.zombie_s]		= "Зомби",
	[clsid.snork_s]			= "Снорк",
	[clsid.psy_dog_s]		= "Псевдособака",
	[clsid.psy_dog_phantom_s]	= "Пси собака",
	[clsid.controller_s]		= "Контролёр",
	[clsid.tushkano_s]		= "Тушкан",
	[clsid.burer_s]			= "Бюрер",
	[clsid.cat_s]			= "Дикая кошка",
	[clsid.chimera_s]		= "Химера",
	[clsid.fracture_s]		= "Излом" 
}
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Суицид~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	if victim and IsStalker(victim) and IsStalker(who) and (victim:id() == who:id()) then
		killer_name = "Суицид"
	elseif victim and IsStalker(victim) and IsStalker(who) and (victim:id() ~= who:id()) then
		killer_name = who:character_name().." \""..game.translate_string(who:character_community())
	elseif victim and IsStalker(victim) and IsMonster(who) then
		local m_clsid = get_clsid(who)
		killer_name = monstr_class[m_clsid]
	elseif victim and (IsStalker(victim) and (who == nil or (not IsStalker(who) and not IsMonster(who)))) then
		local killer = who:section()
		if system_ini():line_exist(killer, "inv_name") then
			killer_name = game.translate_string(system_ini():r_string(who:section(), "inv_name"))
		elseif string.find(killer,"buzz")     then killer_name = "аномалия Холодец"
		elseif string.find(killer,"zharka")   then killer_name = "аномалия Жарка"
		elseif string.find(killer,"mosquito") then killer_name = "аномалия Воронка"
		elseif string.find(killer,"mincer")   then killer_name = "аномалия Мясорубка"
		elseif string.find(killer,"gravi")    then killer_name = "аномалия Грави"
		elseif string.find(killer,"witches")  then killer_name = "аномалия Электра"
		elseif string.find(killer,"hair")     then killer_name = "аномалия Жгучий пух"
		else
			killer_name = "DATA ERROR: "..game.translate_string(who:section()).." - "..get_clsid(who)
		end 
	end
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	local qas = math.random(2,5)
	local dead_news = "Погиб сталкер !!! \\n%c[255,255,160,160]Имя: %c[default]"..victim:character_name().." \""..game.translate_string(victim:character_community()).."\"\\n%c[255,160,160,160]Локация: %c[default]"..game.translate_string(level.name()).."\\n%c[255,225,100,100]Причина смерти: %c[default]\""..killer_name.."\""  
		db.actor:give_game_news(dead_news, "ui\\ui_iconsTotal", Frect():set(498,188,83,47), qas*1000, 13000)
		this.news_sound(qas)
end

function news_sound(qas)
	snd_obj_sos = xr_sound.get_safe_sound_object([[device\pda\pda_sos]]) 
	snd_obj_sos:play_no_feedback(db.actor, sound_object.s2d, qas, vector(), 0.5)
end

 

 

Изменено пользователем ted.80
  • Спасибо 1
  • Полезно 1
Ссылка на комментарий

@Hind level.get_time_minutes() / _hours() / _days() + проверка через какой-нибудь "естественный" триггер, вроде обращения к карте (проверка через апдейт будет слишком частой). Карту можно проверять через actor_binder:info_callback и там же выдавать свой инфо-поршень, если время пришло.

В ЧН примерно так работают ночные торговцы на барахолке.

  • Спасибо 1

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

@Hind уже было сказано, что непонятного?

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий
3 часа назад, Hind сказал:

непись стоит дуб дубом

А чё ему тута делать?

3 часа назад, Hind сказал:

[remark@base]
meet = meet

Немного расшевели:

Скрытый текст

[remark]
anim     = search 
target   = actor
meet     = meet
on_timer = 10000 | remark@sit

[remark@sit]
anim     = sit 
no_move  = true
target   = nil
on_timer = 10000 | remark@sit2

[remark@sit2]
anim     = sit_ass
no_move  = true
target   = nil
on_timer = 10000 | remark@sit3

[remark@sit3]
anim     = eat_kolbasa
no_move  = true
target   = nil
on_timer = 10000 | remark@sit4

[remark@sit4]
anim     = eat_energy
no_move  = true
target   = nil
on_timer = 10000 | remark

 

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

Здесь могла быть ваша реклама.

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

@ted.80 В таком виде сообщения не отображаются

Скрытый текст
-------------------------------------<<Сообшения о смерти НПС>>------------------------------------- 
function kill_npc(victim, who)
monstr_class = {
	[clsid.bloodsucker_s]		= "Кровосос",
	[clsid.boar_s]			= "Кабан",
	[clsid.dog_s]			= "Слепой пес",
	[clsid.flesh_s]			= "Псевдоплоть",
	[clsid.pseudodog_s]		= "Псевдособака",
	[clsid.poltergeist_s]		= "Полтергейст",
	[clsid.gigant_s]		= "Псевдогигант",
	[clsid.zombie_s]		= "Зомби",
	[clsid.snork_s]			= "Снорк",
	[clsid.psy_dog_s]		= "Псевдособака",
	[clsid.psy_dog_phantom_s]	= "Пси собака",
	[clsid.controller_s]		= "Контролёр",
	[clsid.tushkano_s]		= "Тушкан",
	[clsid.burer_s]			= "Бюрер",
	[clsid.cat_s]			= "Дикая кошка",
	[clsid.chimera_s]		= "Химера",
	[clsid.fracture_s]		= "Излом" 
}
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Суицид~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	if victim and IsStalker(victim) and IsStalker(who) and (victim:id() == who:id()) then
		killer_name = "Суицид"
	elseif victim and IsStalker(victim) and IsStalker(who) and (victim:id() ~= who:id()) then
		killer_name = who:character_name().." \""..game.translate_string(who:character_community())
	elseif victim and IsStalker(victim) and IsMonster(who) then
		local m_clsid = get_clsid(who)
		killer_name = monstr_class[m_clsid]
	elseif victim and (IsStalker(victim) and (who == nil or (not IsStalker(who) and not IsMonster(who)))) then
		local killer = who:section()
		if system_ini():line_exist(killer, "inv_name") then
			killer_name = game.translate_string(system_ini():r_string(who:section(), "inv_name"))
		elseif string.find(killer,"buzz")     then killer_name = "аномалия Холодец"
		elseif string.find(killer,"zharka")   then killer_name = "аномалия Жарка"
		elseif string.find(killer,"mosquito") then killer_name = "аномалия Воронка"
		elseif string.find(killer,"mincer")   then killer_name = "аномалия Мясорубка"
		elseif string.find(killer,"gravi")    then killer_name = "аномалия Грави"
		elseif string.find(killer,"witches")  then killer_name = "аномалия Электра"
		elseif string.find(killer,"hair")     then killer_name = "аномалия Жгучий пух"
		else
			killer_name = "DATA ERROR: "..game.translate_string(who:section()).." - "..get_clsid(who)
		end 
	end
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	local qas = math.random(2,5)
	local dead_news = "Погиб сталкер !!! \\n%c[255,255,160,160]Имя: %c[default]"..victim:character_name().." \""..game.translate_string(victim:character_community()).."\"\\n%c[255,160,160,160]Локация: %c[default]"..game.translate_string(level.name()).."\\n%c[255,225,100,100]Причина смерти: %c[default]\""..killer_name.."\""  
		db.actor:give_game_news(dead_news, "ui\\ui_iconsTotal", Frect():set(498,188,83,47), qas*1000, 13000)
		this.news_sound(qas)
end

function news_sound(qas)
	snd_obj_sos = xr_sound.get_safe_sound_object([[device\pda\pda_sos]]) 
	snd_obj_sos:play_no_feedback(db.actor, sound_object.s2d, qas, vector(), 0.5)
end

В таком виде такой вылет: scripts\bind_stalker.script:2: attempt to index global 'xr_motivator' (a nil value)

Скрытый текст

function kill_npc(victim, who)
monstr_class = {
    [clsid.bloodsucker_s]        = "Кровосос",
    [clsid.boar_s]            = "Кабан",
    [clsid.dog_s]            = "Слепой пес",
    [clsid.flesh_s]            = "Псевдоплоть",
    [clsid.pseudodog_s]        = "Псевдособака",
    [clsid.poltergeist_s]        = "Полтергейст",
    [clsid.gigant_s]        = "Псевдогигант",
    [clsid.zombie_s]        = "Зомби",
    [clsid.snork_s]            = "Снорк",
    [clsid.psy_dog_s]        = "Псевдособака",
    [clsid.psy_dog_phantom_s]    = "Пси собака",
    [clsid.controller_s]        = "Контролёр",
    [clsid.tushkano_s]        = "Тушкан",
    [clsid.burer_s]            = "Бюрер",
    [clsid.cat_s]            = "Дикая кошка",
    [clsid.chimera_s]        = "Химера",
    [clsid.fracture_s]        = "Излом" 
}

        local death_komment = {
            "Ещё один...",
            "Мдя, ни дня без этого.",
            "Одним больше, одним меньше...",
            "Все там будем",
            "Помянуть надо бы...",
            "Зона тебе пухом...",
            "Был пацан, не стало пацана"
        }

        --
        --
        -- victim_name - имя жертвы
        -- killer_name - имя убивайца
        -- killer_comm - групировка убивайца
        -- victim_comm - групировка жертвы
        --
        --

         local m_game_vertex = who:game_vertex_id()
        local lvert = game_graph():vertex(m_game_vertex)
        local lid = lvert:level_id()
        local mlevel = alife():level_name(lid)
        local m_s_level = mlevel
     if victim and IsStalker(victim) and IsStalker(who) and (victim:id() == who:id()) then
        killer_name = "Суицид"
     elseif victim and IsStalker(victim) and IsStalker(who) and (victim:id() ~= who:id()) then
        killer_name = who:character_name().." \""..game.translate_string(who:character_community())
     elseif victim and IsStalker(victim) and IsMonster(who) then
        local m_clsid = get_clsid(who)
        killer_name = monstr_class[m_clsid]
     elseif victim and (IsStalker(victim) and (who == nil or (not IsStalker(who) and not IsMonster(who)))) then
        local killer = who:section()
        if system_ini():line_exist(killer, "inv_name") then
        killer_name = game.translate_string(system_ini():r_string(who:section(), "inv_name"))
        elseif string.find(killer,"buzz")     then killer_name = "аномалия Холодец"
        elseif string.find(killer,"zharka")   then killer_name = "аномалия Жарка"
        elseif string.find(killer,"mosquito") then killer_name = "аномалия Воронка"
        elseif string.find(killer,"mincer")   then killer_name = "аномалия Мясорубка"
        elseif string.find(killer,"gravi")    then killer_name = "аномалия Грави"
        elseif string.find(killer,"witches")  then killer_name = "аномалия Электра"
        elseif string.find(killer,"hair")     then killer_name = "аномалия Жгучий пух"
        else
            killer_name = "DATA ERROR: "..game.translate_string(who:section()).." - "..get_clsid(who)
        end 
    end 
    local qas = math.random(2,5)
    local dead_news = "Погиб сталкер !!! \\n%c[255,255,160,160]Имя: %c[default]"..victim:character_name().." \""..game.translate_string(victim:character_community()).."\"\\n%c[255,160,160,160]Локация: %c[default]"..game.translate_string(level.name()).."\\n%c[255,225,100,100]Причина смерти: %c[default]\""..killer_name.."\""  
        db.actor:give_game_news(dead_news, "ui\\ui_iconsTotal", Frect():set(498,188,83,47), qas*1000, 13000)
        this.news_sound(qas)
end
             local shans = math.random(1,100)
        db.actor:give_game_news(news_text, task_texture, task_rect, 5*1000, 5*1000)
        if shans > 90 then
                local task_texture, task_rect = get_texture_info("ui_iconsTotal_shared_channel")
                 local dead_news = death_komment[math.random(table.getn(death_komment))]
                db.actor:give_game_news(dead_news, task_texture, task_rect, 5*1000, 5*1000)
             end
        end
    end

 

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

@mole venomous я непися приписал в гулаг esc_blokpost, и мне надо чтобы он ходил на работы, которые прописаны в скрипте. А он стоит, ничё не делает. вот и проблема.

Ссылка на комментарий
17 минут назад, Hind сказал:

непися приписал в гулаг

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

  • Согласен 1

Здесь могла быть ваша реклама.

Ссылка на комментарий
03.10.2022 в 17:15, alex5773 сказал:

А как исправить файлы ,в которых всё сплошником идёт?

Оказывается у меня всё на диске есть, вот только там очень много всего, искать нужно.

Вот случайно сейчас нашёл папку с плагинами для нотепада.

TextFX.v0.26.unicode.bin и Xml Tools 2.4.9.2 x64 Unicode, сейчас буду разбираться что к чему и для чего. И как этим пользоваться. А самое главное как и куда ставить.

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

Ссылка на комментарий
13 часов назад, Hind сказал:

Набросал следующую схему логики непися

Это всё в спавне прописано?

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@Hind ну и зачем ты прописал что он принадлежит к определённому смарту?
Смарт выше стоит приоритетом нежели логика, поэтому он её выполнять не будет.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@Hind если ты пишешь 

6 минут назад, Hind сказал:

[smart_terrains]
esc_blokpost = true 

в ltx файле, то оно НЕ будет читаться, он читается лишь в алл спавне.

Ну а в том примере, что ты кинул, то ты после этого ниже написал ещё и логику - оно не будет читаться, поскольку читается смарт, а одиночная логика игнорируется.
p.s. скорее всего он не читается ибо в ltx файле написан.

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

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@Hind , добавляя в смарт новые работы и НПС, не забывай соответственно увеличивать вместительность территории:

capacity = 10

 

Если добавляешь соседей, делай сразу это в all.spawn, т.к. всё равно настраивать сам смарт там же. И добавляя НПС, указывай в кастом дате принадлежность к нужному смарту, а [logic] там не нужен:

[smart_terrains]
esc_csky = true

 

Скрытый текст

В скрипте добавляешь новую работу и ссылку на её логику:

bYqTpbOi.jpg?download=1&name=%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%2014-10-2022%2017:59:00.jpg

 

Ну и саму логику в .ltx файл:

0W5YvxBl.jpg?download=1&name=%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%2014-10-2022%2018:00:29.jpg

И никогда не спеши сразу добавлять с десяток новых работ за раз. Особенно с кучей точек путей. Особенно, если только начинаешь этим заниматься. Больше времени потратишь, пока найдёшь ошибку, которую, скорее всего, допустишь.

 

Изменено пользователем mole venomous
  • Полезно 1

Здесь могла быть ваша реклама.

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

@mole venomous в общем, скидываю свои приколы сюда.. При зачислении непися в гулаг (esc_blokpost), он начинает идти куда хочет
 

Скрытый текст

--' Escape blockpost
    if type == "esc_blokpost" then
        -- 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)
        -- t = { section = "logic@esc_blockpost_commander_day",
        --     idle = 0,
        --     prior = 100, state = {0,2},
        --     position_threshold = 100,
        --     online = true,
        -- in_rest = "", out_rest = "escape_blockpost_zone",
        -- predicate = function(obj_info)
                        return obj_info.name == "esc_blokpost_commander"
           --          end
    -- }
    -- table.insert(sj, t)
    -- t = { section = "logic@esc_blockpost_post1",
    --     idle = 0,
    --     prior = 8, state = {0,1,2},
    --     position_threshold = 100,
    --         online = true,
    --     in_rest = "", out_rest = "escape_blockpost_zone"
    -- }
    -- table.insert(sj, t)
    -- t = { section = "logic@esc_blockpost_post2",
    --     idle = 0,
        prior = 8, state = {0,1,2},
    --     position_threshold = 100,
    --         online = true,
    --     in_rest = "", out_rest = "escape_blockpost_zone"
    -- }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_camper_day",
        idle = 0,
        prior = 6, state = {0,2},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    -- table.insert(sj, t)
    -- t = { section = "logic@esc_blockpost_patrol_yard",
    --     idle = 0,
    --     prior = 5, state = {0,1},
    --     position_threshold = 100,
    --         online = true,
    --     in_rest = "", out_rest = "escape_blockpost_zone"
    -- }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_watch_tv1",
        idle = 0,
        prior =5, state = {0},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_watch_tv2",
        idle = 0,
        prior = 4, state = {0},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_kamp1",
        idle = 0,
        prior = 3, state = {1},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_kamp1",
        idle = 0,
        prior = 2, state = {1},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_kamp2",
        idle = 0,
        prior = 1, state = {1},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone",
        predicate = function(obj_info)
                        return obj_info.name == "esc_blokpost_commander"
                    end
    -- }
    -- table.insert(sj, t)
    -- t = { section = "logic@esc_blockpost_sleep1",
    --     idle = 0,
    --     prior = 2, state = {1},
    --     position_threshold = 100,
    --         online = true,
    --     in_rest = "", out_rest = "escape_blockpost_zone"
    -- }
    -- table.insert(sj, t)
    -- t = { section = "logic@esc_blockpost_sleep2",
    --     idle = 0,
    --     prior = 2, state = {1},
    --     position_threshold = 100,
    --         online = true,
    --     in_rest = "", out_rest = "escape_blockpost_zone"
    -- }
    -- table.insert(sj, t)
    -- t = { section = "logic@esc_blockpost_sleep3",
    --     idle = 0,
    --     prior = 2, state = {1},
    --     position_threshold = 100,
    --         online = true,
    --     in_rest = "", out_rest = "escape_blockpost_zone"
    -- }
    -- table.insert(sj, t)
    -- t = { section = "logic@esc_blockpost_sleep4",
    --     idle = 0,
    --     prior = 2, state = {1},
    --     position_threshold = 100,
    --         online = true,
    --     in_rest = "", out_rest = "escape_blockpost_zone"
    -- }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_comander_guard1",
        idle = 0,
        prior = 6, state = {2},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_comander_guard2",
        idle = 0,
        prior = 6, state = {2},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_camper1",
        idle = 0,
        prior = 6, state = {2},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_camper2",
        idle = 0,
        prior = 6, state = {2},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_alarm_patrol1",
        idle = 0,
        prior = 6, state = {2},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_alarm_patrol2",
        idle = 0,
        prior = 6, state = {2},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.in
sert(sj, t)
end



Что мне не надо было - закоментил таким (--) образом. 

 

Ссылка на комментарий
18 минут назад, Hind сказал:

Что мне не надо было - закоментил таким (--) образом. 

Это так не работает, поскольку есть ещё куда НПС которые принадлежат данному смарту.

А зачем его ты в смарт и пихаешь собственно?

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

UPD: в общем, такой прикол - неписи не сидят у костра, не смотрят телек, и т.д. Они тупо следуют  по вейпойнтам.

Некоторые ошибки в коде я устранил. Логику прописал так:

В SDK в custom_data я вписал

[smart_terrains]
esc_blokpost = true

[logic]
cfg = scripts\dmb\esc_kobelcev.ltx

@Houdini_oneмне нужно их пихать в смарт, чтобы было ощущение живности. Чтобы пацаны стояли на посту, двигались, сидели у костра и тд. Проще говоря чтобы они не были статичными, и меняли свои позиции 
 

А как работает то? Просто убрать работу? Именно это и надо сделать, тк мне не нужно чтобы неписи спали и ходили в патруль.

Ссылка на комментарий
2 минуты назад, Hind сказал:

[logic]
cfg = scripts\dmb\esc_kobelcev.ltx

Что в файле находится?

2 минуты назад, Hind сказал:

Просто убрать работу?

Убрать работу и лишних НПС.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@Houdini_oneничего. Пустота.

По поводу лишних НПС - я не догоняю, как понять что они - лишние? :31:

Типа, если есть 10 работ, и 14 нпс, значит 4 из них - лишние, и их надо убрать?

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

@Hind , если нет опыта создания смартов, лучше начни с того, что создай свой первый смарт. Небольшой смарт с 2-3 несложными работами, что бы понимать, что ты делаешь. Поищи где-нибудь тутор.

Изменено пользователем mole venomous
  • Согласен 1
  • Полезно 1

Здесь могла быть ваша реклама.

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

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

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

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

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

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

Войти

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

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

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