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

Скриптование


Svoboда

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

54 минуты назад, Rietmon сказал:

что такое meet

Ну в зависимости от того, как его применять.

Если просто - meet = no_meet, то это запрет на разговор с ГГ.

Если в отдельных секциях пишешь допустим - meet = meet@stalk, meet = meet@kamp - то это дает возможность прописывать разные диалоги и\или разную реакцию непися на действия ГГ.

Чтобы ГГ не промогал раненым и т.д...Никакая схема не поможет. Это в мозгу у игрока. Не - ну можно забацать конечно логику - когда непись начнет материть ГГ после получения аптечки. А оно надо?

 

 

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение
30 минут назад, Dennis_Chikin сказал:

и ага

В смысле? Тогда нужно вообще запретить неписю быть раненым))

Там кстати еще интересный пунктик был.

Цитата

что-бы ГГ ... не брал вещи

А это как сделать? Убрать вещи из игры, сделать их неберущимися...Чёт у меня фантазия разыгралась вплоть до запрета ГГ играть в Сталкера, чё уж.

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

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение

Так тогда все раненые перестанут орать))

Имелось в виду очевидно вот это:
Имеем

hp_state = HP|anim@sound|HP|anim@sound

  Преобразуем в молчащего раненого

hp_state = HP|anim|HP|anim

Хотя можно сделать проще:

[wounded]
hp_state = 0|wounded_heavy@help_heavy
hp_state_see = 0|wounded_heavy@help_heavy
hp_victim = 0|nil
hp_fight = 0|false
hp_cover = 0|false

 

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение
5 часов назад, Graff46 сказал:

"отключении" лодов под объектами и тд

Под объектами не должно быть нодов аи-сетки. Правится вручную при помощи СДК. Причём тут скриптование?

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

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

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение

@HellRatz 

Говорилось - физические предметы. Что хочешь, то и понимай))

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение

Кстати приблизительно о том же...

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

 

 

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение

Всякого рода сюжетные персонажи которые должны быть пустыми после смерти (например раненные или пленные) оказываются не пустыми. Чтобы это исправить необходимо в кастом дате персонажа прописать секцию [dont_spawn_loot]

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение

Саму функцию удаления не подскажу...ибо пользуюсь отличными от стандартных ТЧ.

А так:

[logic]

on_death = death

[death]
on_info =  %=удалить нафиг предмет%

 

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение

@Fenrir02 

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

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

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

 

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение
2 часа назад, Dennis_Chikin сказал:

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

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

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

upd))

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

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

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

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение
3 часа назад, _Val_ сказал:

and not has_alife_info("info")

@Fenrir02 

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

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение

Столкнулся тут с такой проблемой. Хм...Решил что лучше здесь спросить, а не в ковырялке.

Имеем такую логику персонажа. Сразу оговорюсь - val - это Темная Долина, а не мания величия.

[logic]
active = {-val_barman_1_sleep}walker@val_bar_sleep,sleeper@val_barmen

[walker@val_bar_sleep]
path_walk = val_barman_go_sleep_walk
path_look = val_barman_go_sleep_look
on_signal = val_sleep_bar | sleeper@val_barmen %+val_barman_1_sleep%

[sleeper@val_barmen]
path_main = val_bar_1_sleep_walk

Согласно логике НПС должен подойти к диванчику, по сигналу из точки пути перейти в следующую схему(выдав поршень) и завалиться спать на этот диванчик.

В действительности происходит следующее. По логу:

on_signal___(c.v1___=___val_sleep_bar)___signalled___[val_barman_1] ----сигнал есть.
 npc = 'single_player' give_info_portion id = 'val_barman_1_sleep'             ----выдан поршень

Далее.

object___'val_barman_1':___activate_by_section:___looking___for___section___'sleeper@val_barmen'
reset_generic_schemes_on_scheme_switch:___npc:name()='val_barman_1'
calling___module('xr_sleeper')

Ну - судя по всему - в следующую схему он перешел. И тут начинается самое интересное.

Scheduler tried to update object val_barman_1

Перец раскорячивается в точке пути и не идет на диванчик. При этом с ним можно разговаривать да и видно, что он находится под логикой sleeper@

а не в nil допустим.

Путь для секции sleeper@ абсолютно рабочий. Проверено удалением предыдущей секции.

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

Взрыв мозга уже. Подумываю обойтись без Бармена))

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение

@Dennis_Chikin 

А без перехода я не пробовал.

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

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение

А вот кстати еще один животрепещущий вопрос. Что за гадская схема kamp? 

Какой раз уже сталкиваюсь - если непись идет с пути патрулирования к костру...уже находится под схемой kamp...то если его в момент передвижения(до того - как он уселся) - дернуть в другую схему, то сразу срабатывает Scheduler. 

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

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение

Ыыы..И тут Петрович радостно побежал писать скрипт для своей задумки))

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение

@power-cat 

Хм..На мой непросвещенный взгляд - вылет связан с проверкой инфо-поршней. Восстанавливай значит все удаленные файлы с поршнями.

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение

Не фига оне не привязаны. Я как-то на Болотах утомился мертвого непися находить. Чего только не делал, даже думал уже ему профиль Сахарова прописать. Подойду - труп. Потом чухнулся в спавне глянуть координаты, а он в ста метрах выше земли спавнится))

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение

@_Sk8_AsTeR_

1. К скриптованию никаким боком. Это конфиги.

2.

3 минуты назад, _Sk8_AsTeR_ сказал:

Но вот где...

В принципе тебе ответили, но - если сделать так:

забиваешь marsh_musics в поиск и ищешь, а где же оно прописано. И находишь САМ! именно этот файл))

 

  • Согласен 2

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение

@Egor4ikModMaker,  забитый диск, это еще не повод для таких действий.

Тем более что ты собираешься подменять скриптовым спавном олл_спавн без очистки последнего...

По сабжу.

zip.add_npc("uchen_10", 26.068271636963,-11.718555450439,-272.28005981445,51614,1480, "[logic]\ncfg = scripts\\terra_npc\\yantar\\yan_uchen_1.ltx", 12505

Пример спавна при помощи нет_пакетов с указанием логики и сида объекта...

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение

Не дальше, а сначала...

Поставить и подключить модули нет_пакетов.

Сделать свой скрипт(у нас это zip).

Прописать там собственно саму функцию спавна.

-- спавн НПС, возвращает серверный объект 
-- custom и sid - опциональные параметры.
-- пример вызова zip.add_npc("bar_leha", x, y, z, lv, gv, "[logic]\ncfg = scripts\\foto\\bar\\leha.ltx", 30334)
function add_npc(section, pos_x, pos_y, pos_z, lvid, gvid, custom, sid)
    local sim = alife()
    local sobj = sim:create(section, vector():set(pos_x,pos_y,pos_z), lvid, gvid)
    if sobj and (custom or sid) then
        local pk = get_netpk(sobj,1) 
        if pk:isOk() then
            local data = pk:get()
            if custom then data.custom_data:setString(custom) end
            if sid then 
                dct.store_sid(sid,sobj.id)    -- сохраним сид
            end
            pk:set(data)
        end
    end
    --printd("create %s ID = %d",section,sobj.id)
    return sobj
end

 

   УРАГАН.png

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

                                      ПАРТИКЛЫ TERRA

 

 

 

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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