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

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


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

Всем здоровья. Ибо у меня сейчас похоже кончится.

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

Подробненько...Сам непись.

8c5f888bf97608ecafc114db055364e5d5578119

Спокойно стоит у крыльца. Значит как-бы в волкере(то бишь не сидит и бренчит на гитаре...) Но при этом у него на башке надпись kamp@patrul_1, то есть он находится именно в той секции, в которую и должен перейти. Точка по координатам полностью соответствует точке, прописанной для волкера.

Кусочек логики, относящийся к этому переходу.

[walker@patrul_1]
path_walk = agro_patrul_1_walk
path_look = agro_patrul_1_look
.................
on_info2 = {=hour_in_interval(23:7)}kamp@patrul_1 ;ночью переходим к костру


[kamp@patrul_1]
center_point = agro_stalk_center
path_walk = agro_stalk_near
radius = 2.2

Народ может кто подскажет. Есть логика гулага, она работает нормально у меня в моде. Переношу ее в другой мод, никак не хочет работать. Если выношу в отдельный скрипт, не работает, если вписываю в оригинал, вылетает без лога. Может быть дело в том, что я секции спавна из алспавна одного мода перекинул в другой? Просо alife_marsh из одного спавна перекинул в другой, алспавн собирается и разбирается нормально. Может так нельзя, просто не охота было по одной секции копировать.

И еще почему-то никак не хочет спавнится аномалия "Амёба", другие аномалии спамятся, а эти - ни звезда ни хваталка ни в какую, вообще не пойму что происходит.

@Хемуль36рус, для амёбы надо задавать свойства idle_animation и attack_animation.

Например, если спавнишь скриптом и используешь модуль нетпакетов Артоса (я выкладывал недавно ссылку на модуль с исправлением найденных ошибок в Скриптовании), это может выглядеть так:

local sobj = alife():create('zone_ameba', pos, lvid, gvid)
local pk = get_netpk(sobj,1)
if pk:isOk() then
  local data = pk:get()
  data.shapes:addSphere(5, vector():set(0,0,0))
  data.idle_animation = 'idle'
  data.attack_animation = 'blast'
  pk:set(data)
end
Изменено пользователем Kirgudu

 @Kirgudu, в том то и дело, все есть

; cse_abstract properties
section_name = zone_ameba1
name = esc_zone_piz1
position = -245.018005371094,-14.1840000152588,-15.2170000076294
direction = 0,0,0
version = 118
script_version = 6

; cse_alife_object properties
game_vertex_id = 67
distance = 5.59999990463257
level_vertex_id = 12580
object_flags = 0xffffff3e

; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 3

; cse_alife_space_restrictor properties
restrictor_type = 0

; cse_alife_custom_zone properties
max_power = 90

; cse_alife_anomalous_zone properties
offline_interactive_radius = 30
artefact_spawn_count = 32
artefact_position_offset = 0xb350

; cse_visual properties
visual_name = physics\anomaly\anomaly_hvatalka

; cse_alife_zone_visual properties
idle_animation = idle
attack_animation = blast

а аномалии нет. Говорят это глюк такой. Хотя я эти же локации использую  в своем моде, и все нормально, такое первый раз вижу. Сейчас используется база АМК, там аномалии динамические, может её куда закидывает. Я когда заспамил, был вылет , звук забыл, но после загрузки и новой игры, аномалии  не было. И так она там и не появилась, не на Кордоне, не на Болотах. Бред какой-то.

Изменено пользователем Хемуль36рус

@Kirgudu, второй аргумент addSphere в данном случае можно опустить. Скоро постараюсь собрать хелперы+таймеры+нет-пакеты+ивенты+правленный _g. 

Согласен, добавил исключительно для полноты картины. :) Kirgudu

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

Опять же когда то давно делал свое сохранение всего и вся "с таблицами и таймерами". В принципе, я могу выложить, но т.к. у меня там достаточно много стороннего (опять же моего) то нужно описывать вообще все. ИМХО в Скриптование это пихать не надо, тут вроде типа вопрос - ответ. И снова я не понимаю, зачем эта тема? Наверное как раз для этого?

PS: "велосипед", но у меня там идет запись не в пакет актора, а в пакеты физ. объектов, а это весьма много места, речь идет о мегабайтах, но это так, для затравки.

 

 

К слову о логике, вы помните, что ее 2 "вида"? Собственно придуманный ПЫСами язык(1 тип), который они парсят в скриптах и уже там все делают(2 вид). А гулаги куда прикажете девать?

Все это различается как минимум сложностью. Сначала введите строгое определение "логика", а там уж и будет понятно, нужна тема или нет.

PS: это именно 2 вида логики, т.к. можно вполне написать свою "дефолтную" схему, не думая о конфигах, и наоборот, о скриптах можно вообще не знать, и запилить новых неписей со штатными схемами (kamp walk etc.)

 

@_Val_, ну это же конфиги, ПЫСовское творение - конечно первый. А вот что за ними стоит в скриптах - мотиваторы эвалуаторы, экшены - другая, более интересная вещь, и описана она в одной статье на вики, больше я не видел.

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

А гулаги куда прикажете девать?

А я их вообще выпилил)))

строгое определение "логика"

Ну наверное что-то типа этого...

 

[logic]active = {=hour_in_interval(7:11)}mob_home@agro_blood,{=hour_in_interval(11:16)}mob_walker@agro_blood, {=hour_in_interval(16:7)}mob_walker@agro_blood_1

Или этого...

 

on_info2 = {=hour_in_interval(20:8)} kamp@agro_stalk_post_7on_info3 = {=now_weather(groza:rain)} walker@agro_stalk_post_71

В какой подраздел из двух это попадает?

 

это же конфиги

Да кто ж сомневается. Однако при некоторой работе со скриптами эти конфиги могут принимать довольно причудливый вид...не описанный в статьях)))

Хотя и статья на ВИКИ - тоже довольно сумбурна и местами противоречива.

Но вообще разговор то был не об этом.

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

Я вообще к тому, что вопрос о логике всё-таки достаточно серьезен. Допустим я считаю, что для неё неплохо было-бы иметь другую тему. Хотя-бы для того, чтобы не искать нужный пост среди вопросов  типа - а как сделать нож помощнее...

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

1. Действительно иметь именно такую тему.

2. Хоть как-то выманить скриптера из каморки. Ибо утомил он уже))

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

Вопрос: реализовывал ли кто-нибудь противогазы отдельно от брони, как в ЗП, но не на параметрах артефакта, на поясе, а в другом слоте инвентаря?
Если да, то можно ли пойти дальше и привязать к таким противогазам, если их сделать, динамический худ?


Алсо, каким вообще образом снимаются координаты, при вычислении положения камеры в параметрах оружия? Допустим, мне не нравится, что камера очень близко к рукам ГГ, я хочу ее подвинуть. Каким образом мне снять верные координаты для вставки в конфиг, чтобы в игре камера отодвинулась на нужное мне расстояние по всем трем осям?
Или народ это делает "на глаз" или "методом научного тыка"?

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

@Korpiklaani,

 

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

2. Ага, "на глаз", иначе никак, но уже есть куча готовых конфигов где руки далеко (типа как в билдах), можешь поискать, ну или сам сделай,  оно-ж не долго.

 

@Dennis_Chikin, можно еще из темы всякие "заезженные" вопросы вычищать под корень, тут вроде на форуме много тех, кто горит желанием "помануалить", почему бы не обратится?;)

  • Спасибо 1

"противогазы отдельно от брони" - вроде NLC, нет ?

Заготовка - вполне универсальная есть: amk- / солянко- / nlc- худ. amk_mod.script.

Так и искать: -- Dynamic HUD Gift from ATT, Arharа and Kolmogor --

 

Про мануалы и тотальную зачистку - надо бы. Вот как добровольцы найдутся - так и сразу.

 

 

ЗЫ..А куда Артос то делся?

Сменил (временно) Москву на глухую провинцию... , да и хобби уже более приземленные (в буквальном смысле). ;)

Интернет тут (в моей тверской деревеньке) как в 80-ые прошлого века, но вероятно потихоньку вновь влезу в кодинг... вот только комп из Москвы нужно будет привезти, т.к. на ноуте не развернуться...

А вообще... привет всем(!). Смотрю у вас тут похоже жизнь (моддинг) все еще "булькает". ;)

  • Нравится 1
Сделал квест, но идёт вылет

Тебе почти по русски написано, что проблема в XML-файле. Внимательно проверь синтакс файла в котором прописал свое задание(task).

И на будущее: используй правильные определения ! Квест - это комплексная вещь, которая может\должна состоять из диалоговой части, выдачи задания(task), завершения задания, завершения квеста через диалог\еще как-то, с получением награды\поощрения. А задание(task) - это не квест.

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

@AndreySol, я не согласен, квест абсолютно не должен (но может) обязательно состоять из диалога, таска и награды. Квест - манипуляция с инфопоршнями, не более. Я могу выдать инфопоршень в рестрикторе, и забрать по, допустим, окончанию выброса. Типа какое-нибудь задание "переживи свой первый выброс", вот тебе безнаградовый, бездиалоговый, и даже безтасковый квест. Взгляни на NLC7, там вообще нет такого понятия, как таск. Так что не путай человека. С тасками конечно все нагляднее, но и их можно выдавать в любой момент на любой срок.

 

 

Так что не путай человека

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

безнаградовый, бездиалоговый, и даже безтасковый

то не надо пытаться такое понимание выдавать за аксиому.

За нагрубить - сразу извиняюсь...

<game_task id="escape_quest">
    <title>escape_quest</title>
    <objective>
        <text>escape_start0</text>
        <icon>ui_iconsTotal_weapons</icon>
        <infoportion_complete>escape_start_completed</infoportion_complete>
        <article>escape_quest</article>
    </objective>
    <objective>
        <text>escape_start1</text>
        <function_complete>new_life.escape_have</function_complete>
        <infoportion_set_complete>escape_have</infoportion_set_complete>
    </objective>
    <objective>
        <text>escape_start2</text>
        <map_location_type hint="esc_wolf">blue_location</map_location_type>
        <object_story_id>Escape_novice_lager_volk</object_story_id>
        <infoportion_complete>escape_start_completed</infoportion_complete>
    </objective>
</game_task>

Вот сам task, вроде ошибок нет.

Изменено пользователем Fireball.Stalker

Сделал квест, но идёт вылет:

File : E:\stalker\patch_1_0004\xrXMLParser\xrXMLParser.cpp

Line : 97

Description : NavigateToNode failed in XML file

Arguments : gameplay\game_tasks.xml

Ну, ты разобрался хоть, что у тебя в 97-й строке? Что толку приводить "цитаты" из xml? Мож, просто случайная ошибка синтаксиса.

 

Вообще мимо про строку 97. Хотя, да, NavigateToNode failed наводит на мысль о банальной опечатке.

Да, кстати, посты со всякими извращенными шрифтами обычно сразу отправляются за Блокпост.

dc

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

Есть логика:

 

[logic]
active = walker@stay_at_position,
danger = danger_ignore

[danger_ignore]
ignore_distance = 5

[walker@stay_at_position]
path_walk = esc_shuba_walk
path_look = esc_shuba_look
on_timer = 1000| remark@work2

[remark@work2]
anim = search
no_move = true
snd = mil_collect_phrase3
target = actor
meet = no_meet
danger = danger_condition
on_timer = 1000| walker@stay_at_position - Как сделать так что-бы таймер был безконечен? Или есть другой способ перехода с одной схемы на другую?

Как-то не совсем понятно, что в данном случае понимается под бесконечностью, и чем приведенный вариант "небесконечен".

 

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

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

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

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

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

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

Войти

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

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

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