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

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

@Fenrir02 

Если допустим тебе нужно спавнить не только одного монстра, то попробуй так.

if level.name()=="predbannik" and not has_alife_info("info") then db.actor:give_info_portion("info")

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

 

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

Как это в логике реализуется?

on_info = {~nn} myval ... бла-бла..., на сколько помню.

 

47 минут назад, _Val_ сказал:

А из поршня спавнишь все что душе угодно

Жуть какая... Доктор, а может, все-же ограничимся тонзиллэктомией трансректально ? Пусть бы даже и автогеном ?

 

if ... then

  for i, v in ipairs( { "mysect", mylvid, mygvid }, ... } ) do

   alife():object( v[1], level.vertex_position( v[2] ), v[2], v[3] )

  end

end

 

upd: единственно что, трюк с level.vertex_position() работает только для текущей локации. Для спавна произвольных объектов на произвольной локации координаты все-же придется снять, до одного знака после точки.

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

Жуть какая...

Сам боюсь - но было же когда-то и так))

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

upd))

И да - "mysect" - это только секция непися или предмета? А как тогда насчет кастом даты?

Плодить мутантов без логики как-то не комильфо...

Изменено пользователем _Val_
  • Согласен 1
Ссылка на комментарий

Тогда ещё вопросик.

    if level.name() == "l04_darkvalley" then
    get_console():execute("start_my_script_level_name_=_"..level.name())
    alife():create("m_boodsucker_e",vector():set(27.416481018066,1.3818007707596,-476.2585144043),207244,950)
    end

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

Важнейшая задача цивилизации - научить человека мыслить.

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

and not has_alife_info("info")

@Fenrir02 

Ну вот - а мой ужос заодно и проверяет, происходило ли это когда-нибудь))

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

Значит вот так:

if level.name()=="l04_darkvalley" and not has_alife_info("info") then

alife():create("m_boodsucker_e",vector():set(27.416481018066,1.3818007707596,-476.2585144043),207244,950)

db.actor:give_info_portion("info")

end

???

И функцию эту вешать на net_spawn?

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

Важнейшая задача цивилизации - научить человека мыслить.

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

В общем, народ, я ничего не понимаю. Как мне правильно подключить скрипты этих новостей, чтобы они работали? Потому что я не понимаю, как это делать((

Все зовут меня Пришедший из Ниоткуда...Почему?Потому что я пришел из ниоткуда и иду в никуда...

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

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

Смотрите имеющиеся моды, и разбирайтесь, как оно там работает.

 

has_alife_info("info")  - дожно быть прописано это самое инфо, причем не использующееся где-то еще. И, да, можно в net_spawn(), но сначала определиться, что именно надо. И, да, как правило, все нужное уже где-то сделано.

 

Про "как подключить скрипты" - тоже, понять, что именно надо, и написать в соответствующем месте код для подключения. При этом понимая, что скопированный откуда-то скрипт вполне может потребовать еще чего-то оттуда же. Новости из amk требуют код из amk.script, и тот в свою очередь ссылается еще на десяток скриптов.

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

Да, уже разобрался. Просто побольше хочется узнать. Если что прошу прощение за флуд и "глупые вопросы".

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

Важнейшая задача цивилизации - научить человека мыслить.

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

И да - "mysect" - это только секция непися или предмета? А как тогда насчет кастом даты?

Плодить мутантов без логики как-то не комильфо...

Любого объекта. cd - добавить строку в туда же, и прописывать при создании. Иили скриптом же и генерить.

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

С одноразовыми - тем более - извращение: с НИ их в офлайне держать.

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

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

Смотрите имеющиеся моды, и разбирайтесь, как оно там работает.

 

has_alife_info("info")  - дожно быть прописано это самое инфо, причем не использующееся где-то еще. И, да, можно в net_spawn(), но сначала определиться, что именно надо. И, да, как правило, все нужное уже где-то сделано.

 

Про "как подключить скрипты" - тоже, понять, что именно надо, и написать в соответствующем месте код для подключения. При этом понимая, что скопированный откуда-то скрипт вполне может потребовать еще чего-то оттуда же. Новости из amk требуют код из amk.script, и тот в свою очередь ссылается еще на десяток скриптов.

Да я это понимаю, я просто не понимаю, где конкретно подключаются скрипты. В патче уже есть сильно урезанный набор скриптов от АМК, т.е. все нужные файлы там есть, а вот где подключать скрипты - не понимаю. Совсем. Можешь какой-то пример привести, что именно надо прописывать(я про код)? Потому что в скриптах не шарю совсем, никогда ими не занимался - только редактировал конфиги.

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

Все зовут меня Пришедший из Ниоткуда...Почему?Потому что я пришел из ниоткуда и иду в никуда...

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

Мне сюда весь код амк-мода запостить ? Поиск дает пересечение по 40 файлам, причем параметр для поиска учитывает явно не все варианты, которые там есть.

 

Ну пропишете Вы в _g.script

function start_game_callback()
...
  amk.on_game_start(obj)
 

- и получите вылет прямо при запуске.

 

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

@Dennis_Chikin obj, кстати, в выше приведенном примере совсем не нужен. Только движок лишний раз дёргает, пытаясь найти obj.script

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

Не подскажите как сделать убор оружия при обыске мёртвых неписей/монстров/тайников? Не могу понять каким скриптом вызвать действия при обыске перечисленных предметов.

Важнейшая задача цивилизации - научить человека мыслить.

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

Не подскажите как сделать убор оружия при обыске мёртвых неписей/монстров/тайников? Не могу понять каким скриптом вызвать действия при обыске перечисленных предметов.

ИМХО, нужно отслеживать выдачу/забирание инфопоршенов при обыске трупа/тайника. Не помню, как они правильно называются.

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

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

Господа модмейкеры, возникла трабла:

При спавне сквада вылетает с таким логом:

Expression : abstract 
Function : CALifeSimulatorBase::spawn_item 
File : alife_simulator_base.cpp 
Line : 113 
Description : Cannot find item with section 
Arguments : jup_squad_monolit_on_jupiter 

Сам конфиг сквада:

[jup_squad_monolit_on_jupiter]:online_offline_group
relationship = neutral
npc = sim_default_stalker_2
target_smart = jup_sim_18
spawn_point = monolit_on_jup_mon_spawn
story_id = jup_squad_monolit_on_jupiter

Конфиг сквада в simulation_objects_props.ltx:

[jup_squad_monolit_on_jupiter]:default_squad
sim_avail = false 

Вызов из логики (смарт этот остался еще от ПЫСов, так что проблема явно не в нем):

on_info = {+test1213} nil %=create_squad(jup_squad_monolit_on_jupiter:jup_sim_18)%

 

Где накосячил? Сам уже не знаю.

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

А где приблизительно нужно копать, чтобы найти эти инфопоршни? Может в bind_monster.script?

Важнейшая задача цивилизации - научить человека мыслить.

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

"ui_inventory",  "ui_trade", "ui_car_body"

и  "ui_inventory_hide", "ui_trade_hide", "ui_car_body_hide" на закрытие.

 

Выбирать нужные.

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

Да с поршнями всё работает. Но вот ещё одна проблема: чёрт меня дернул - повесил на скрипт взятия предмета вот такое условие 
          if time_global() > userObj[1] + userObj[2] then
          end
end

Теперь время в игре замедлилось. То есть всё движется медленно: перезарядка оружия, бег, другие объекты. Пробовал переустанавливать все - не помогло. Не подскажите что делать?

 

Прошу прощения за флуд. Проблему решил - перезапуском компа):blush:

Важнейшая задача цивилизации - научить человека мыслить.

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

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

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

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

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

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

Войти

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

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

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