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

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


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

FANAT Посмотри вот это - http://www.playground.ru/files/s_t_a_l_k_e...obie_chn-56464/

 

Во-первых, принцип абсолютно тот же, что написан выше;

Во-вторых, то что ты предложил, для ЗП и в ТЧ нет того файла, что используется там.

ColR_iT

Изменено пользователем ColR_iT
ЗОНА ДОЛЖНА БЫТЬ НЕПРЕДСКАЗУЕМОЙ !!! НЕТ ТАМ ЛОГИКИ И НЕ НУЖНА ОНА ТАМ !!!
Ссылка на комментарий

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

 

Где бы посмотреть - как?

 

 

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

Поменял шейдеры на те, которые есть в моде АМК, пересчитал траекторию солнца в погоде (и стандартной и динамической), в результате получается такое:

1323d25bccfct.jpg

e597ace3f4a5t.jpg

 

 

На скринах отчётливо видно неправильное отображение теней. Солнца на небе ещё нет, а тени падают так, как будто солнце расположено как в Сахаре.

 

В чём заключается такая проблема - в шейдерах или это проблема движка?

 

И ещё вопрос - возможно ли при "поворачивании" скайбокса в настройках погоды, повернуть за одно и маленький скайбокс, отвечающий за цветовое отражение объектов под текстуру неба?

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

извиняюсь если не по теме но боюсь мне больше ни где не помогут вопрос вот в чём-в OGSE для ТЧ есть отличная система сохранений из главного меню хотел адаптировать её для ТТ2 в ui_main_menu.script для OGSE нашёл секцию отвечающую за эти сейвы и заменил ей анолагичную секцию в ui_main_menu.script для ТТ2 при нажатии f8-вылет с таким логом


* Game Администратор_quicksave.sav is successfully saved to file 'c:\documents and settings\all users\documents\stalker-shoc\savedgames\Администратор_quicksave.sav'

FATAL ERROR

[error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line : 73
[error]Description : <no expression>
[error]Arguments : LUA error: ...ow of chernobyl\gamedata\scripts\ui_main_menu.script:329: attempt to call global 'AddTextDigit' (a nil value)

может подскажите как правильно воплотить мной задуманное?

 

Рекомендую писать грамотно, используя и заглавные буквы и знаки препинания (о чем говорят правила форума). --/Artos

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

всё идёт по плану...

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

DrDen, вылет из-за отсутствия функции AddTextDigit.

function AddTextDigit(str, dig)
    if (dig > 9) then
        str = str .. dig
    else
        str = str .. "0" .. dig
    end
    return str    
end

Добавь её в свой файл главного меню.

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

Подскажите пожалуйста, в каком файле править начисление очков репутации за различные действия.

Ищу потерянные главы...

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

У меня есть проблема, когда я делаю ГУЛАГ мой НПС уйти

но это не дает сбоя или неисправности

 

my gualg in the all.spwan

[9764]
; cse_abstract properties
section_name = smart_terrain
name = mar_lager
position = -57.9094772338867,1.24590361118317,283.974090576172
direction = 0.062321275472641,0.00316426996141672,0.0140644172206521

; cse_alife_object properties
game_vertex_id = 3402
distance = 4.19999980926514
level_vertex_id = 109085
object_flags = 0xffffffbe
custom_data = <<END
[smart_terrain]
type = mar_lager
capacity = 3
squad = 1
groups = 5
END

; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 5.05180025100708,0,0
shape0:axis_y = 0,3.38140106201172,0
shape0:axis_z = 0,0,5.05180025100708
shape0:offset = 0,0,0

; cse_alife_space_restrictor properties
restrictor_type = 3

; se_smart_terrain properties

my npc´s

[9761]
; cse_abstract properties
section_name = stalker
name = mar_clear_sky_kamper_000
position = -61.9960556030273,0.920579314231873,293.677429199219
direction = -0.693360865116119,0,-0.608751595020294

; cse_alife_trader_abstract properties
character_profile = mar_clear_sky

; cse_alife_object properties
game_vertex_id = 3402
distance = 9.80000019073486
level_vertex_id = 106182
object_flags = 0xffffffbf
custom_data = <<END
[smart_terrains]
mar_lager = true
END

; cse_visual properties
visual_name = actors\neytral\stalker_neytral_balon_1

; cse_alife_creature_abstract properties
g_team = 0
g_squad = 0
g_group = 0
health = 1
dynamic_out_restrictions =
dynamic_in_restrictions =

upd:health = 1
upd:timestamp = 0
upd:creature_flags = 0
upd:position = -61.9960556030273,0.920579314231873,293.677429199219
upd:o_model = 0
upd:o_torso = -0.793360888957977,0,-0.608751595020294
upd:g_team = 0
upd:g_squad = 0
upd:g_group = 0

; 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 = 2,0,2,1,1
predicate4 = 2,2,2,0

; cse_ph_skeleton properties

upd:start_dialog =

; se_stalker properties


[9762]
; cse_abstract properties
section_name = stalker
name = mar_clear_sky_kamper_001
position = -51.3453941345215,1.1859278678894,296.545593261719
direction = -0.693360865116119,0,-0.608751595020294

; cse_alife_trader_abstract properties
character_profile = mar_clear_sky

; cse_alife_object properties
game_vertex_id = 3402
distance = 9.80000019073486
level_vertex_id = 114134
object_flags = 0xffffffbf
custom_data = <<END
[smart_terrains]
mar_lager = true
END

; cse_visual properties
visual_name = actors\neytral\stalker_neytral_balon_1

; cse_alife_creature_abstract properties
g_team = 0
g_squad = 0
g_group = 0
health = 1
dynamic_out_restrictions =
dynamic_in_restrictions =

upd:health = 1
upd:timestamp = 0
upd:creature_flags = 0
upd:position = -51.3453941345215,1.1859278678894,296.545593261719
upd:o_model = 0
upd:o_torso = -0.793360888957977,0,-0.608751595020294
upd:g_team = 0
upd:g_squad = 0
upd:g_group = 0

; 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 = 2,0,2,1,1
predicate4 = 2,2,2,0

; cse_ph_skeleton properties

upd:start_dialog =

; se_stalker properties


[9763]
; cse_abstract properties
section_name = stalker
name = mar_clear_sky_kamper_002
position = -57.9094772338867,1.24590361118317,283.974090576172
direction = -0.693360865116119,0,-0.608751595020294

; cse_alife_trader_abstract properties
character_profile = mar_clear_sky

; cse_alife_object properties
game_vertex_id = 3402
distance = 9.80000019073486
level_vertex_id = 109085
object_flags = 0xffffffbf
custom_data = <<END
[smart_terrains]
mar_lager = true
END

; cse_visual properties
visual_name = actors\neytral\stalker_neytral_balon_1

; cse_alife_creature_abstract properties
g_team = 0
g_squad = 0
g_group = 0
health = 1
dynamic_out_restrictions =
dynamic_in_restrictions =

upd:health = 1
upd:timestamp = 0
upd:creature_flags = 0
upd:position = -57.9094772338867,1.24590361118317,283.974090576172
upd:o_model = 0
upd:o_torso = -0.793360888957977,0,-0.608751595020294
upd:g_team = 0
upd:g_squad = 0
upd:g_group = 0

; 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 = 2,0,2,1,1
predicate4 = 2,2,2,0

; cse_ph_skeleton properties

upd:start_dialog =

; se_stalker properties

и это мой сценарий ГУЛАГа

if type == "mar_clear_sky_lager" then
    t = { section = "logic@mar_clear_sky_lager_kamper_001",
      idle = 0, prior = 5, state = {0},
      squad = squad, group = groups[1],
      in_rest = "", out_rest = ""
    }
    table.insert(sj, t)
    t = { section = "logic@mar_clear_sky_lager_kamper_002",
      idle = 0, prior = 5, state = {0},
      squad = squad, group = groups[1],
      in_rest = "", out_rest = ""
    }
    table.insert(sj, t)
    t = { section = "logic@mar_clear_sky_lager_kamper_003",
      idle = 0, prior = 5, state = {0},
      squad = squad, group = groups[1],
      in_rest = "", out_rest = ""
    }
    table.insert(sj, t)
  end


if type == "mar_clear_sky_lager" then
    return function(gulag)
        if level.get_time_hours() >= 7 and level.get_time_hours() <= 22 then
            return 0  -- day
        else
            return 1  -- night
        end
    end



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

и это моя точка Камп точку в ГУЛАГе LTX

[logic@mar_clear_sky_lager_kamper_001]
active = kamp@mar_clear_sky_lager_kamper_001

[kamp@mar_clear_sky_general_kamper_001]
center_point = kamp


[logic@mar_clear_sky_lager_kamper_002]
active = kamp@mar_clear_sky_lager_kamper_002

[kamp@mar_clear_sky_lager_kamper_002]
center_point = kamp

[logic@mar_clear_sky_lager_kamper_003]
active = kamp@mar_clear_sky_lager_kamper_003

[kamp@mar_clear_sky_lager_kamper_003]
center_point = kamp

и это моя точки all.spwan

[mar_clear_sky_general_kamper_001_kamp]
points = p0
p0:name = wp00
p0:position = -61.9960556030273,0.920579314231873,293.677429199219
p0:game_vertex_id = 3402
p0:level_vertex_id = 106182


[mar_clear_sky_general_kamper_002_kamp]
points = p0
p0:name = wp00
p0:position = -51.3453941345215,1.1859278678894,296.545593261719
p0:game_vertex_id = 3402
p0:level_vertex_id = 114134


[mar_clear_sky_general_kamper_003_kamp]
points = p0
p0:name = wp00
p0:position = -57.9094772338867,1.24590361118317,283.974090576172
p0:game_vertex_id = 3402
p0:level_vertex_id = 109085

 

Я надеюсь, что кто-нибудь может мне помочь, и могу сказать, что проблема в этом gualg

 

спасибо

 

Используй тэги спойлера (spoiler) для кодов игры. --/Artos

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

olaf1

1. Исправь имя смарта в all.spwan:

name = mar_lager -> mar_clear_sky_lager

и

type = mar_lager -> mar_clear_sky_lager

 

2. Для НПС измени:

[smart_terrains]

mar_lager = true -> mar_clear_sky_lager = true

 

3. Т.к. у тебя нет ночных работ в гулаге (для state = {1}), то следует (в load_states) оставить только:

if type == "mar_clear_sky_lager" then
    return function(gulag)
        return 0  -- day & night
    end
  end

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

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

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

Artos,

Я забыл, что изменения, но это то же самое он сделал, когда я изменил gebniss

 

кто-то может помочь мне тогда?

 

спасибо

 

Добавлено через 59 мин.:

но я получаю сообщение об ошибке после того, как я изменил

 

мой новый Gulag сценарий

if type == "mar_clear_sky_lager" then
    t = { section = "logic@mar_clear_sky_lager_kamper_001", 
       idle = 0,

        prior = 10, state = {0,1},

        in_rest = "", out_rest = ""
    }
    table.insert(sj, t)
    t = { section = "logic@mar_clear_sky_lager_kamper_002", 
       idle = 0,

        prior = 10, state = {0,1},

        in_rest = "", out_rest = ""
    }
    table.insert(sj, t)
    t = { section = "logic@mar_clear_sky_lager_kamper_003",
      idle = 0,

        prior = 10, state = {0,1},

        in_rest = "", out_rest = ""
    }
    table.insert(sj, t)
  end

 

и девять моих kampoints all.spawn

[mar_clear_sky_general_kamper_001_kamp]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -61.9960556030273,0.920579314231873,293.677429199219
p0:game_vertex_id = 3402
p0:level_vertex_id = 106182


[mar_clear_sky_general_kamper_002_kamp]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -51.3453941345215,1.1859278678894,296.545593261719
p0:game_vertex_id = 3402
p0:level_vertex_id = 114134


[mar_clear_sky_general_kamper_003_kamp]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -57.9094772338867,1.24590361118317,283.974090576172
p0:game_vertex_id = 3402
p0:level_vertex_id = 109085

 

Я получил эту ошибку примерно через минуту, чтобы получить здесь

FATAL ERROR

[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: ...adow of chernobyl\gamedata\scripts\se_stalker.script:11: C stack overflow


stack trace:

 

Вы можете помочь мне там?

спасибо

 

Прячь крупный текст с кодами под спойлер (spoiler)! Уже неоднократно писалось. Cyclone

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

Здравствуйте))) Хотел создать такой квэст, где после диалога квэстодатель пойдет вместе с тобой и к примеру вы дойдете до АТП и вместе будите убивать бандитов. Как это сделать? Или к примеру еще.... Чтобы он отвёл тебя на аномальное какое - нибудь место и проверил радиацию ( Как в ТТ2 квэст на болотах) Зарание спасибо

Изменено пользователем ***~GiVcHiK~***

GiVcHiK.gif

 

 

Ссылка на комментарий
***~GiVcHiK~***, чтобы сделать подобные квесты требуются достаточно глубокие познания в моддинге и в частности написания схем типа "Напарники". Если ты надеешься что тебе тут в паре строк кодов дадут готовое решение - то ошибаешься. Раз тебе захотелось, и тем более даже знаешь уже подобные квесты - ну так что мешает посмотреть как уже сделано и сделать по аналогии?

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

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

***~GiVcHiK~***, скажу проще...

Если не ошибаюсь, то в моде ТТ2 схемы напарников нет, поэтому не НПС идёт за актором, а актор за ним. Т.е. реализовано это действо аналогично поведению Круглова (Семёнова) на Янтаре в оригинальной игре, посредством обычных точек пути и схемы walker.

Если же требуется, чтобы НПС шёл за ГГ, то здесь действительно стандартными усилиями не реализуемо. Вот здесь есть похожая схема, можешь полюбопытствовать: Схема "Компаньоны".

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

как я могу скрипт logic NPC икры новой?

[smart_terrains]
none = true


[logic]
active = kamp
on_death = death

[kamp]
center_point = mar_clear_sky_general_kamper_001_kamp
meet = meet  
  

[death]
on_info = %-mar_csky_stalker_1% 
    
[meet]                     
use = true                
use_wpn = true

где я должен вставить то, что запись?

 

или мне нужно скрипт для этого?

Благодарю вас, прежде чем

 

Вам уже неоднократно делалось замечание: Hide your code under the spoiler (скрывайте коды за тегом спойлера)

Потрудитесь читать и выполнять правила форума!

Если Вы это не в состоянии прочитать, понять и выполнить - что же говорить про остальные вопросы/ответы ... --/Artos

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

olaf1, бессмысленно пытаться вставлять чего бы то ни было, и как бы то ни было если Ваши коды педставляют набор несвязанных кусков.

 

1. Пописать логику для НПС можно в all.spawn. Это можно сделать как напямую, так и ссылкою на файл логики типа: [logic] cfg = scripts\my_logiic.ltx

2. Без указания гулага ([smart_terrains] none = true) - схема xr_kamp НЕ работает!

3. Путаница с названиями гулагов/путей не даст вам ничего кроме ошибок.

Почему вы дали наименование center_point = mar_clear_sky_general_kamper_001_kamp?

Почитайте статьи по логике и правила для именования путей (ways).

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

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

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

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

 

Мне было просто интересно, если это возможно слишком respwanen NPC логики с помощью сценария?

 

или мне нужно сценарий?

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

Всем привет. Задам вопрос который уже не однократно поднимался - но ответа я так и не смог найти. Каким образом увеличить дальность прорисовки травы в ТЧ ? Не очень приятно когда трава "вырастает" прямо на глазах ГГ. На одном форуме нашел некую переписку:

---ЦИТАТА---

Так можно как-нибудь увеличить дальность прорисовки травы? Весь user.ltx перерыл...

---КОНЕЦ ЦИТАТЫ---

 

Нет, количество отрисовываемых на экране нодов (клеток сетки) с травой фиксировано в движке (оно равно, кажется, 64). Настроить можно только количество показываемых в ноде пучков травы.

 

Из этого, кстати, следует (так как ноды заполняются только в поле зрения), что чем меньше FOV, тем дальше будет отображаться трава.

Я сразу же решил провести эксперимент по изменению угла обзора - и выяснил что ни уменьшение ни увеличение fov, никоим образом не влияют на дальность отрисовки травы.

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

olaf1, не знаю, понял ли я Ваш вопос, но попобую в последний раз ответить:

Да, логику для НПС спавнящегося скриптом (тем же респавнером) можно задавать свою или изменять на другую. Для этого есть два способа:

1. Задавать логику ссылкой на файл с параметре custondata в секции спавна вашего НПС (см. аналоги в gamedata\config\creatures\spawn_sections.ltx).

2. Задавать логику прямым изменением параметра custondata используя скрипты для работы с нет-пакетами.

 

Т.о. можно и без скрипта (сценария) задавать логику своим НПС или же с помощью скрипта в нужное время изменять нет-пакетами логику для уже заспавненных НПС.

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

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

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

Artos,

У меня здесь в spawn_sections.ltx

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

----------mar----------------------------------------------

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

[mar_clear_sky_respawn_1]:stalker

$spawn = "respawn\mar_respawn_clear_sky"

character_profile = mar_clear_sky

spec_rank = novice

community = stalker

custom_data = scripts\mar\clear_sky_lager1\clear_sky_general_kamper_001.ltx

 

 

 

[mar_clear_sky_respawn_2]:stalker

$spawn = "respawn\mar_respawn_clear_sky"

character_profile = mar_clear_sky

spec_rank = novice

community = stalker

custom_data = scripts\mar\clear_sky_lager1\clear_sky_general_kamper_002.ltx

 

 

 

[mar_clear_sky_respawn_3]:stalker

$spawn = "respawn\mar_respawn_clear_sky"

character_profile = mar_clear_sky

spec_rank = novice

community = stalker

custom_data = scripts\mar\clear_sky_lager1\clear_sky_general_kamper_003.ltx

и у меня есть то соответствующие logic scripts

[smart_terrains]

none = true

 

 

[logic]

active = kamp

on_death = death

 

[kamp]

center_point = mar_clear_sky_general_kamper_001_kamp

meet = meet

 

 

[death]

on_info = %+mar_csky_stalker_1%

 

[meet]

use = true

use_wpn = true

 

 

 

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

 

Вы можете использовать это для него или не существует такой вещи?

[smart_terrains]

none = true

 

 

[logic]

active = kamp

on_death = death

 

[kamp]

center_point = mar_clear_sky_general_kamper_001_kamp

meet = meet

 

 

[death]

on_info = %-mar_csky_stalker_1% spawn_csky_stalker_1

 

[meet]

use = true

use_wpn = true

 

 

[spawn_csky_stalker_1]

on_game_timer = 2000 | on_info = %+mar_csky_stalker_1 =respawner_spawn(mar_clear_sky_respawn_1)%

 

спасибо

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

olaf1

1. В spawn_sections.ltx вполне допустимые записи. (+)

2. В файлах конфигов логики (clear_sky_general_kamper_00X.ltx), как уже писал ранее, ошибка(!), т.к. схема 'kamp' не может работать если для НПС не указан гулаг.

Т.е. запись [smart_terrains] none = true не может быть для [logic] active = kamp

Тебуется указать в каком же кампе должен сидеть ваш НПС, иначе строка из xr_kamp.script:

st.center_point = utils.cfg_get_string(ini, section, "center_point", npc, true, gulag_name)

- вам просто вызовет прерывание по ошибке (abort).

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

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

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

Artos,

может, но в моде вики, но я использовал его в качестве схемы книгу сейчас, или я ошибаюсь?

 

Камп просто означает, что он должен сидеть в таком месте, или нет?

Я буду заказывать сейчас, но больше не ГУЛАГ OK!

 

Я не могу ни [smart_terrains] = правда или я могу использовать его даже не беспокоиться?

 

или я должен предпочитать точки ходьбы nehem?

 

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

 

спасибо

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

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

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

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

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

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

Войти

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

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

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