Экспериментируя в создании новых схем для рестрикторов, создал новую аномалию, которая создаётся пропиской схемы sr_main в логике любого рестриктора. Данный способ создания аномалий даёт не ограниченные возможности. Новую схему для рестриктора можно скачать здесь: _http://ifolder.ru/14452655
Распаковываем в папку с игрой, и в логике любого рестриктора прописываем вызов схемы:
[logic]
active = sr_main
[sr_main]
Это пробный вариант (но вполне рабочий). Планирую разработать универсальную схему, в которой можно будет настраивать все параметры аномалий, не выходя из логики рестриктора. Включая партиклы, постэффекты и озвучку соответственно.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
singapur22
получается что создается новый конфиг аномалии? А дефолтные , в которых все эффекты уже прописаны, к этой своей аномалии уже не будут иметь отношения?
Кстати насчет зоны torrid - ты не пробовал его спавнить? там надо как то цикл вписать - то ли в конфиг, то ли еще куда - точно не помню, просто в статье по созданию аномалий через активацию артов именно так делалось, чтобы избежать вылета из-за отсутствия цикла. А с torrid именно это и происходит.
Вот одно наблюдение - точно так же как и при активации аномалий через арты, через скрипт происходит вот что: если в аномалии угодит нейтрал к ГГ, то все (или почти все) кто рядом с ГГ или те кто типа видел как непись угодил в аномалию становятся врагами ГГ.
из-за это не получается сделать скриптовые аномалии скрытым оружием ГГ - так как идет непонятная привязка создания аномалий к ГГ.
Я это помню еще по одному моду, где арты активируют аномалии - хотел таким способом грохать неугодых неписей без ущерба для репутации - ан нет, не вышло :-)
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
получается что создается новый конфиг аномалии? А дефолтные , в которых все эффекты уже прописаны, к этой своей аномалии уже не будут иметь отношения?
Нет. Это не новый конфиг аномалии, а новая схема рестриктора. Просто схема создана по принципу аномалии, и при этом к аномалиям не имеет прямых отношений, только косвенные. Ты попробуй поюзай. И сам в этом убедишся. На данный момент вывел в конфиг, установку силы хита по здоровью, и установку силы хита по выносливости. Протестил, пашет отлично. Продолжаю выводить остальные установки.
С torrid не связывался. Поэтому ничего вразумительного сказать не смогу.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
karavan Просто использовал билдовые партиклы. Звуки (атака от электры, идловый от эмми). Хит электра. Ну а остальное, просто набор операторов и постэффектов.
В настоящий момент работаю над возможностью настройки аномалии из конфига (логики). Что позволит на основе одной схемы создавать всеразличные аномалии.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
нда, в скриптах я не шарю ваще- и мало что понял из того как сделать само_лось_цу....НАВЕРНОЕ Я ТУПОЙ!!!иил только в мапперстве рублю...Я ВАЩЕ НЕ ВЪЕХАЛ ЧТО КУДА ПРОПИСАТЬ:-(
добавлено спустя 21 секунд
никогда таких проблемм небыло
добавлено спустя 1 минуту
erlik наверное я тебя достал, но давай еще раз= ) что куда прописать под что, и как что вызвать.если получится- попадешь в титры мода за особую ценную помощ= )
отредактировал(а) Ст.№14: 12-11-2012 11:57 GMT3 час. создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
новиков сергей
поршень региш в файле info_portions
вот так
выдаешь его в диалоге вот так: --\ в нужном тебе месте suicide
логику ложишь в файл с расширением ltx в папку congif\scripts
только нужно еще в файле spawn_sections (папка creatures)
там где секция спавна твоего непися (если она там, а не оллспаване)
вписать строчку custom_data со ссылкой на этот файл логики
секция спавна - пример (надеюсь объяснять как создавать профили неписей не надо)
[adolf_gitler]:stalker
$spawn = "respawn\adolf_gitler"
character_profile = adolf_gitler
spec_rank = regular
community = vervolf
сustom_data = scripts\npc_customdata.ltx --\ вот так это делается - (имя файла может быть любое)
а если у тебя чувак заспавнен чрез аллспавн то там -в секции твоего непися - делай ссылку на файл логики через строчку
cfg = scripts\npc_customdata.ltx - вроде так - я просто в аллспавне чуваков не спавнил.
скрипт само_няшки_ва ложишь в файл с раширением script в главную папку scripts - там где все скрипты.
вроде все. проверяй.
добавлено спустя 2 минут
тьфу ты блин - забыл - скрипт ложишь тока в xr_effects - и никуда больше.
отредактировал(а) Ст.№14: 12-11-2012 11:57 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
#erlik : новиков сергей
поршень региш в файле info_portions
вот так
выдаешь его в диалоге вот так: --\ в нужном тебе месте suicide
логику ложишь в файл с расширением ltx в папку congif\scripts
только нужно еще в файле spawn_sections (папка creatures)
там где секция спавна твоего непися (если она там, а не оллспаване)
вписать строчку custom_data со ссылкой на этот файл логики
секция спавна - пример (надеюсь объяснять как создавать профили неписей не надо)
[adolf_gitler]:stalker
$spawn = "respawn\adolf_gitler"
character_profile = adolf_gitler
spec_rank = regular
community = vervolf
сustom_data = scripts\npc_customdata.ltx --\ вот так это делается - (имя файла может быть любое)
а если у тебя чувак заспавнен чрез аллспавн то там -в секции твоего непися - делай ссылку на файл логики через строчку
cfg = scripts\npc_customdata.ltx - вроде так - я просто в аллспавне чуваков не спавнил.
скрипт само_уточки_ва ложишь в файл с раширением script в главную папку scripts - там где все скрипты.
вроде все. проверяй.
добавлено спустя 2 минут
тьфу ты блин - забыл - скрипт ложишь тока в xr_effects - и никуда больше.
а куда в xr_effects?? или не важно?? а логику- это ту что ты написал на 31?? всю-всю??
добавлено спустя 54 секунд
karavan не въехал, в смысле объединить??
добавлено спустя 1 минуту
erlik эээ, скрипт-тоесть сам скрипт??? его содержание??
отредактировал(а) Ст.№14: 12-11-2012 11:58 GMT3 час. создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
новиков сергей
скрипт - значит функцию make_suicide() - тот вариант где надо вписывать имя - (айди непися) из строчки
функцию ложишь в конец файла - так то без разницы, просто удобнее.
логику - всю - сначала попробуй один вариант с двумя ремарками, если че то не то будет - там есть доп. вариант - заменяешь вторую ремарку на дополнительную.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Кто нибудь как сделать чтобы у меченого в начале было нормальное оружие,и еще этот вопрос задавали но найти в прошлых темах несогу как зделать чтобы дверь у Сидора в коморке открывалась,и как зделать чтобы Сидоровичь не довал задания,а прописать новые ему.
ЕСЛИ В ЗОНУ ПОТЯНУЛО,НЕ ТЯНИ БЕГИ СКОРЕЕ!!!!
А в уме только одно: МОДЫ,МОДЫ,МОДЫ...
Влад-Счастливчик нормальное оружие- это надо all.spawn переделывать- xrspawner тебе в помощ
чтобы была уже открыта?? это в скрипте помоему прописано, но можно вроде про другому. она открывается кажется по выдачу порщня о конце курса обучения.
чтобы сидор не давал задания надо строку диалога о заданиях закоментировать или удалить из его профиля.
добавлено спустя 32 секунд
erlik брбрбрбр.... нифига не понял))
добавлено спустя 51 секунд
erlik короче я попробую с этим- с самосозданым неписем. только чтото последнее время он у меня не создается
отредактировал(а) новиков сергей: 12-10-2009 11:51 GMT3 час. создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
Влад-Счастливчик, я раньше писал, как сделать открытой дверь Сидора, так что полистай станицы темы. Если всё-таки не найдешь, то вечером напишу еще раз.
новиков сергей
Сам_ашот_ца действительно не работает.
Инфопоршень через диалог выдаваться не хочет.
Убрал инфопоршень - анимация само_йелопукки_ци включилась но НПС просто сидит с пистолетом у виска и нечего не произошло.
karavan
скрипт я не проверял - кстати это ты говорил, что он рабочий
function make_suicide()
local obj = alife():object("esc_wolf")
if obj then
obj:kill(obj)
end
end
- только у тебя там труп волка удалялся, а я туда метод kill подставил но он я думаю на самом деле рабочий, просто запускать его не так наверно надо.
и переходить во вторую ремарку он должен после поршня - в других схемах это все работает - например у волка
on_info = {+esc_kill_bandits_quest_have} remark@esc_lager_volk2
есть подозрение не срабатывает вызов функции из секции логики %=suicide% на конец анимации.
но можно пойти обходным путем.
изменить вторую ремарку
[remark@2]
anim = suicide
snd = mil_crazy --\ базар сумасшедшего вояки
snd_anim_sinc = true
no_move = true
target = actor
meet = no_meet
вместо этого
on_signal = action_end| %=make_suicide%
пишем это
on_signal = sound_end| %=make_suicide% --\ вызов после окончания реплики
либо эту функцию самоубийства надо апдейтить
тогда пишем так во второй ремарке
в функцию function actor_binder:update(delta)
пишем в любое место
xr_effects.make_suicide()
а это в xr_effects
function make_suicide()
if not has_alife_info("kill") then
return
else
local obj = alife():object("айди непися по профилю")
if obj and obj:alive() == true then
obj:kill(obj)
end
end
end
после поршня функция должна сработать - если она вообще рабочая.
новиков сергей
коли назвался модмейкером - не перекладывай на других свою работу - тебе дали варианты - так хотя бы проверь их, а не жди когда это другие сделают.
отредактировал(а) erlik: 12-10-2009 13:26 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Влад-Счастливчик, открой файд trade_trader.ltx и добавь в ассортимент название своего товара, который хочешь увидить у Сидора. Только не забудь цену товара указать.
erlikВ файле инфо поршионс прописал таким образом :
PER - имя скрипта , sss_to_sss2 имя функции. Прочитал что так в каком то сообщение .Я подозреваю что именно изза этого ошибка , переходы заспаунились , вылет был без ошибки.
sss and sss2 - обе локации ущелье , только измененные . Не думаю что изза имен оно должно не канать
отредактировал(а) PsyXo: 12-10-2009 14:28 GMT3 час.
новиков сергей
ты NPC умеешь создавать? профиль им делать и т.д. если нет - сначала освой это, а потом уже за более сложные вещи возьмешься - статьи как создать нового NPC есть на вики.
потом - ну почитай ты статьи по логике - ведь никто же не буду тебе объяснять все с нуля как та же логика пишется - а без знания этого далеко не уйдешь в моддинге.
насчет скрипта.
в общем погоди пока - я проверил функцию убийства на волке.
Не сработало - выдал поршень kil, функцию ставил на апдейт - итог - вылет - игра ругается на метод kill
Вывод - убить непися этим методом (и используя его имя в профиле ) - без числового айди непися или его сида почему то нельзя.
Через сид или айди можно - но сид есть только у квестовых персон, а айди надо узнавать при спавне - как это делать долго объяснять.
А убивать просто через диалог будет глупо - хотя это и просто (я делал уже) - но тогда анимки суицида не будет.
Так что надо искать другой путь для убийства NPC.
Даже смешно - знаю как убить всех без разбору через скрипт, а как одного - не получается :-)
добавлено спустя 1 минуту
и спрячь эту портянку (свой пост) под спойлер - не надо цитировать каждый пост - это мешает другим пользователям читать форум.
отредактировал(а) erlik: 12-10-2009 14:30 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
PsyXo
а лог вылета где?
и вообще у тебя карта твоя AI переходы имеет? то есть геймграф и оллспавн пересобраны в один общеигровой - чтобы и геймграф и оллспавн были общими для всех лок.
(Как это делается я на практике не знаю - так как уровни не подключал. )
Иначе перехода и не будет - он у тебя заспавнился раз надпись появилась - а куда переходить игра не знает - потому как читай выше.
либо где то ошибся - и поэтому нужен лог, чтобы попробовать через него понять где.
с дефолтными уровнями проблем заспавнить левел чейджер никаких - у меня вместе работают телепорт и переход - первый бросает эктора в точку перехода, а тот его сразу на другую карту.
добавлено спустя 1 час 2 минут
Все кто хочет научиться получать айди непися при спавне - чтобы потом можно было с ним че-нить сделать через скрипт - читаем здесь.
вот это пишем в свой скриптовый файл
local id_npc = 0 --\ переменная которая сохранит для нас айди заспавненного непися
--\ функция спавна непися
function spawn_npc()
local obj = alife():create("имя_непися",vector():set(-218.20,-20.2,-145.63),35362,47) -\ координаты конечно пишем свои
id_npc = obj.id -- \id объекта после создания
end
--\\теперь сохраним это айди, для чего создадим две функции - сохранения и загрузки переменных
--\ функции сохранения значений переменных - их вызов нужно нужно вписать в файл bind_stalker
--\\сами функции должны находиться там же где и функция спавна - под ней
function save_id(p)
p:w_u32(id_npc)
end
function load_id(r)
id_npc = r:r_u32()
end
шаг второй
--\ находим в bind_stalker функцию function actor_binder:save(packet)
и туда пишем
имя_файла.save_id (packet) --\ имя файла где находится эта функция и функция спавна
также находим там функцию function actor_binder:load(reader)
и туда пишем это
имя_файла.load_id(reader)
вписывать и то и другое нужно в одинаковых местах
пример:
видим это в функции сохранения
xr_logic.pstor_save_all(self.object, packet)
self.weather_manager:save(packet)
и здесь пишем
имя_файла.save_id (packet)
видим это же в функции чтения\загрузки
xr_logic.pstor_load_all(self.object, reader)
self.weather_manager:load(reader)
и здесь пишем
имя_файла.load_id(reader)
--\\ теперь сохранив айди непися мы можем с ним делать, что захотим. Например убъем его.
function make_suicide()
local obj = level.object_by_id(id_npc)
if obj then
obj:kill(obj)
local snd = xr_sound.get_safe_sound_object([[weapons\t_desert_eagle_shot]]) --\ добавим озвучку - выстрел из пустынного орла
snd:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
end
end
отредактировал(а) erlik: 12-10-2009 16:32 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Братва, кто-нибудь знает где прописываются вещи лежащие в сундуках(постоянных) или коробках (разбивающихся)? Например у Сидора перед дверью или на крыше последнего дома в лагере новичков(там где ещё костюм наймита лежит).
добавлено спустя 5 минут
Да кстати, никто не знает где скачать мелодии для губной гармошки? Всё утро сегодня в поисковике просидел. Ни муя не нашёл.
Хотелось бы сталкерам прописать, а то гитары уже задолбали.
отредактировал(а) -AGGRESSOR-: 12-10-2009 18:51 GMT3 час. Пожалеть слабого - значит совершить предательство по отношению к природе
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.