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

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


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

@AndrewMor, проще и надежнее всего в секции непися указать файл с custom_data. А в этом файле уже писать все, что нужно. Так, как было показано выше, smart_terrains прописать проблематично. У себя я наблюдал ситуации, когда немедленно после выполнения :create() смарт террейн уже был назначен. А это значит, что последующее переписывание нетпакета уже никакого смысла не имеет.

 

 

проще и надежнее всего в секции непися указать файл с custom_data. А в этом файле уже писать все, что нужно.

А как конкретно? Ну или где такое подсмотреть?

 

А если придется много разных НПС заспавнить с разными смартами - для каждого свою секцию создавать нужно, так выходит?

Сталкер - наше всё!

@AndrewMor,

[my_new_stalker]:stalker
...
custom_data = scripts\my_file.ltx
Посмотреть пример можно в config\creatures\spawn_sections.ltx
  • Спасибо 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

В свете прочитанного выше...

А он вообще нужен именно для этой кучи неписей - смарт-террейн? Они все будут путешествовать между локациями?

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

   УРАГАН.png

                 Краткий гид по моду Тайные Тропы 2

                                      ПАРТИКЛЫ TERRA

 

 

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

Уже не раз отвечали, что это настраивается в SDK.

Уже не раз отвечали, что это настраивается в SDK.

 

Что "это"? Как настраивается?

 

Вот именно такие ответы - это и есть "шевеление бровями".

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

www.amk-zone.de

 

 

А если придется много разных НПС заспавнить с разными смартами - для каждого свою секцию создавать нужно, так выходит?

 

Да, нужны будут разные секции. Т.к. ты не программист, это будет самое лучшее решение. Что бы через нетпакет указать смарт, нужно "врезаться" в se_monster или se_stalker.script, в 

function se_monster:on_before_register()

И там уже либо вызывать что-то свое, либо генерировать сигнал, если используется сигнальная система. На этот этапе еще можно переписать нетпакет и указать там свою custom_data. Оно будет прочитано позже.

  • Спасибо 1

 

 

Т.к. ты не программист

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

 

Сорри за оффтоп.


naxac, dsh: огромное вам спасибо за участие, камрады, всё получилось!!! Вроде мелочь, а приятно, что что-то смог, пусть и с вашей помощью.

 

Модераторы, не сочтите за сильный оффтоп, но даже с read-only я согласен.

  • Спасибо 1

Сталкер - наше всё!

Решил вспомнить молодость. Установил АМК 1.4.1, запустил и при первом же разговоре с НПС увидел это:

c7efe2489d49d9100bad73e4031b2001b07d6c24

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

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

                                           С.Я. Маршак

 

 

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

В чистой игре

В state_mgr.script

--' Если мы переключаемся из идущего положения в стоящее - надо задизаблить перемещение
if state_lib.states[self.target_state].movement ~= move.stand and
  state_lib.states[state_name].movement == move.stand
then
self.npc:movement_enabled(false)
end
Сделать вот так
--' Если мы переключаемся из идущего положения в стоящее - надо задизаблить перемещение
 if state_lib.states[self.target_state].movement ~= move.stand and
 state_lib.states[self.target_state].animation ~= nil and
 state_lib.states[state_name].movement == move.stand
 then
 self.npc:movement_enabled(false)
 end

 

т.е добавить

state_lib.states[self.target_state].animation ~= nil and

  • Спасибо 1
  • Полезно 1

@monk, оффтоп...

Ну от тебя я подобного не ожидал.

Вот такой скрин был-бы в тему...

4fe280dad89499e95e9d58862bc09e66d5578a24

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

   УРАГАН.png

                 Краткий гид по моду Тайные Тропы 2

                                      ПАРТИКЛЫ TERRA

 

 

 

Опять прошу помощи. Появляюсь на локации, запрашиваю xr_gulag.getGulagPopulation("pred_flesh_plant") - выдает 0. Подхожу ближе к смарту, опять запрашиваю - выдает 5, как и должно быть.

 

Собственно, вопрос: как, появившись на локации, узнать количество населения смарта, даже если он далеко и находится в оффлайне?

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

Сталкер - наше всё!

Такой вот вопрос: в чем разница между if not has_info(....) then и if dont_has_info(....) then ?

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

@AndrewMor, попробуй вот так:

local strn = alife():object( "pred_flesh_plant" )
if strn then
  strn:initialize_if_needed()
  local population = strn.gulag:get_population_comed()
end

Подскажите пожалуйста, если я создам в all.spawn новый файл "alife..." зарегистрирую в all, можно ли будет вносить в него все новые секции которые я создам рестрикторы, сталкеров и т. д. со всех локаций или нет, необходимо использовать именно те, на локакции которых будет происходить спавн???

Спасибо!

  • Спасибо 1

Жизнь следует измерять поступками, а не временем...

@losiara, Это вообще зачем такие желания ? Чтобы не легко и не радостно что-ли ?

Новые секции "чего угодно", ты можешь прописывать в абсолютно любом файле alife_, любой локации, ничего для этого не надо создавать и регистрировать нигде. 

 

Просто №№ добавленных секции обязаны быть больше, чем самый последний № секции в данном alife_ ДО добавления.

ACDC, всё равно при упаковке спавна запихнёт твои секции в нужный alife_ локации согласно game_vertex.

  • Согласен 1

"Кругом зомби.....у меня кончаются патроны...."

 

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

 

Жизнь следует измерять поступками, а не временем...

@dsh, если написать

local population = strn.gulag:get_population()

news_manager.send_tip(db.actor, population, nil, nil, 30000)

 

то ничего не возвращает, сообщение не выдается.

 

А если написать

 

if population == 0 then

news_manager.send_tip(db.actor, "любой текст", nil, nil, 30000)

end

 

то как раз "любой текст" и выдается на экран в теле сообщения.
 

Сталкер - наше всё!

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

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

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

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

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

Войти

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

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

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