В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга.
Не флудить
Предварительно просматривайте раздел. Ответ на ваш вопрос может быть там.
В своем вопросе указывайте платформу моддинга - Тень Чернобыля, Чистое небо или Зов Припяти.
1. Какая стоит игра, с каким патчем? 2. Какой мод, версия мода? 3. Что правили своими ручками? 4. Конфиг компа. 5. Лог вылета и последние 25 строк (помещать под спойлер).
Структура папок и файлов в корневом каталоге игры:
...\S.T.A.L.K.E.R\gamedata\anims – папка содержит исполнительные файлы эффектов (например от ПНВ).
...\S.T.A.L.K.E.R\gamedata\config – папка содержит основные конфигурационные файлы (т. е. большинство настроек игры)
...\S.T.A.L.K.E.R\gamedata\meshes – содержит модели игровых предметов и персонажей...
...\S.T.A.L.K.E.R\gamedata\scripts – папка со скриптами (рабочими файлами содержащими в себе наборы функций) – основная папка, отвечающая за ответные действия игры и действия производимых игроком в игре.
...\S.T.A.L.K.E.R\gamedata\shaders – папка содержит в себе конфигурационные файлы шейдеров.
...\S.T.A.L.K.E.R\gamedata\sounds – здесь находятся все звуки игры (разложены по своим каталогам и папкам)
...\S.T.A.L.K.E.R\gamedata\spawns – содержит файл спавна – очень важный файл – не трогать без нужды!!!
...\S.T.A.L.K.E.R\gamedata\textures – содержит разложенные по каталогам и папкам текстуры используемые в игре.
Теперь разберем папки в каталоге «config»
...\S.T.A.L.K.E.R\gamedata\config\creatures - содержит массу конфигурационных файлов, в основном отвечающих за взаимодействие Главного героя игры (в дальнейшем ГГ) и прочего окружения в игре и ТТХ самого ГГ.
...\S.T.A.L.K.E.R\gamedata\config\gameplay – содержит конфиг. файлы персонажей игры (НПС) отвечающие за внешний вид, статус, снаряжение. Файлы: character_desc_ххх (где ххх – название локации) и character_desc_general (отвечает за зомбированного персонажа). Также содержит файлы диалогов и профилей НПС.
…\S.T.A.L.K.E.R\gamedata\config\misc – конфиг.файлы торговцев (папки с именами торговцев), артефактов, брони, квестовых предметов, уникальных предметов, файл отвечающий за награды за автозадания, файл эффектов (алкоголизма, ранения, ПНВ и прочих)...
…\S.T.A.L.K.E.R\gamedata\config\mp – среди прочих содержит важный файл mp_ranks – отвечающий за выпадение оружия и патронов из рук ГГ и НПС – без прописывания добавляемого в игру оружия в этот файл при выпадении нового оружия из рук ГГ\НПС будут следовать вылеты.
…\S.T.A.L.K.E.R\gamedata\config\text\rus – содержит файлы описаний всего и вся находящегося в игре (брони, артефактов, оружия, предметов и прочего).
…\S.T.A.L.K.E.R\gamedata\config\weapons – содержит конфиг.файлы оружия и боеприпасов используемых в игре.
…\S.T.A.L.K.E.R\gamedata\config\weathers – содержит конфиг.файлы настройки погоды на локациях.
Теперь немного подробнее о файлах.
...\S.T.A.L.K.E.R\gamedata\config\misc:
Папка shop_ххх (ххх – имя торговца) – содержит конфиг.файлы ассортимента торговца.
outfits – содержит секции конфигов костюмов.
artefacts - содержит секции конфигов артефактов.
items - содержит секции конфигов предметов.
monster_items - содержит секции конфигов частей монстров
postprocess - содержит секции конфигов пост. процессов (например: ПНВ).
quest_items - содержит секции конфигов квестовых предметов.
task_manager - содержит секции наград за автоквесты.
unique_items - содержит секции конфигов уникального оружия и костюмов.
У кого есть желание, создать FAQ по основным вопросам моддинга - обращаемся в ЛС.
ins33, я не просто так тебе эту функцию дал. Именно поэтому твоя самодеятельность ничего не дала. Ты можешь запустить несколько раз тот вариант функции, что дал я? какие сообщение тебе будут выданы?
Lex2013, скачал. Посмотрел. Да, заменяет. Переименуй *.ltx конфиг, например в w_bm16_full, затем открой его, и первую строку, секцию в квадратных [] скобках переименуй так же. Затем впиши свое оружие в weapons.ltx , на выходе получаем и обрез и ружье.
FantomICW, HellRatz, а сори. там все вещи(кроме бинокля ножа и детектора с пда) уходят другому сталкеру по сиду сопровождающаяся эффектом типо удар, темнота, потом все мутит, короч он вроде deadcity_wake.ppe называецо
В тч в файле weather_default я копирую из [weather_defaul_02] все параметры в [weather_default_09] и в 9 часов дня наступает темная ночь ,но когда я делаю тоже самое в ЗП то ничего не получается ,небо всегда остается одинаковым что бы я не прописывл
МонолитИК, в папке config/gameplay ищеш файл с локацией на которой персонаж нужный тебе. например нужен бармен, открываеш character_desc_bar.xml, ищеш секцию бармена в этом файле и удали нужные строки <actor_dialog>тратататата</actor_dialog>
Всем доброго вечера. Интересует такой вопрос: Например, я хочу сделать, чтобы функцию можно было запускать через консольную команду, а уж саму команду привязать к кнопке в меню, чтобы можно было легко включить/выключить нужный параметр. Возможно ли как-то скриптом создать новую консольную команду к нужной функции, или можно только движком?
Платформа: ТЧ.
Сообщение отредактировал Streels - Четверг, 13.02.2014, 22:12
Может подойдёт: <action>escape_dialog.esc_mill_teleport</action> escape_dialog.script
local next_time = 0 local effects_time = 0 function esc_mill_teleport(npc, actor) local point = patrol("actor_mill_walk") local look = patrol("actor_mill_look") db.actor:set_actor_position(point:point(0)) local dir = look:point(0):sub(point:point(0)) db.actor:set_actor_direction(-dir:getH()) if next_time < time_global() then next_time = time_global() + 5000 effects_time = time_global() + 5000 level.add_call(time_on, time_off) level.add_pp_effector("agr_u_fade.ppe", 1875, true) local snd_obj = xr_sound.get_safe_sound_object([[affects\hit_fist]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) level.add_cam_effector("camera_effects\\fusker.anm", 999, false, "") level.add_cam_effector("camera_effects\\prison_1.anm", 2001, false, "") local snd_obj = xr_sound.get_safe_sound_object([[characters_voice\scenario\agroprom\mill_snd_pda]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) xr_effects.mill_items_teleport(actor) db.actor:give_info_portion("vp_elevator_enemy") end end
function time_on() return time_global() > effects_time end
function time_off() level.remove_pp_effector(1875) end
actor_mill_walk -- точка в all.spawn'e, где герой очухается actor_mill_look -- куда будет смотреть -- characters_voice\scenario\agroprom\mill_snd_pda -- путь к звуковому файлу свой
xr_effects.script
function mill_items_teleport(actor) inv_box_1 = level_object_by_sid(33) out_object = actor in_object = inv_box_1 actor:inventory_for_each(transfer_object_item) end
level_object_by_sid(33) -- стори_ид ящика, куда отправятся вещи героя.Помню, что срабатывало в xr_effects, а в простом файле не срабатывало. Попробуй.
db.actor:give_info_portion("vp_elevator_enemy") -- это инфопоршень для перехода в логике НПС, при получении которого, они меняют отношение к Актору.
Сообщение отредактировал Arist - Четверг, 13.02.2014, 22:18
Если точнее, то смс вообще не приходят, менял сид, приходили смска: "НЕКУДА СПАВНИТЬ. Либо нет такого ящика, либо он оффлайн!" Спавн, пользуясь этим кодом:
Код
local toz = alife():create("hunters_toz37", vector():set(), 0, 0, invBox:id()) if toz then news_manager.send_tip(db.actor, "СПАВН НЕ ПРОИЗОШЕЛ!", 0, "trader", 3000) return end
Молчит Т.Е. смс нге приходят. 3 варианта не было!
Sanjaaa, Помести все эти ф-ции в один скрипт. И попробуй запустить ф-ию kidok1, если будет вылет, надо разнести вызов функций ограбление вещей и денег в разные места.
function kidok1() -- ограбление вещей local inv_box_1 = level_object_by_sid(номер) -- сид рюкзака, кстати если задумаешся вернуть вещи диалом, то рюкзак хабар не вернёт out_object = db.actor in_object = inv_box_1 db.actor:inventory_for_each(transfer_object_items) this.virubaem() -- вроде позволит избежать конфликт ф-ий. this.money_out(t1,t2) -- вроде позволит избежать конфликт ф-ий. end
function transfer_object_items(item) -- исключения пропиши тут local sect = item:section() if sect == "вещь_1" or sect == "вещь_2" then return end out_object:transfer_item(item, in_object) end
function virubaem() -- Эффект вырубания. Можешь взять и другие. local actor = db.actor sound = sound_object("affects\\hit_fist") sound:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d) level.add_pp_effector ("fire_hit.ppe", 1234, false) level.add_pp_effector ("agr_u_fade.ppe", 1235, false) level.add_pp_effector ("duality_circle.ppe", 1236, false) actor.power = -1.0 end
function money_out(t1,t2) local npc=t1 if npc:id()==db.actor:id() then npc=t2 end this.relocate_moneys(npc,db.actor:money(),"out") end
function relocate_moneys(victim, num, type) if db.actor and victim then if type == "in" then db.actor:give_money(num) game_stats.money_quest_update (num) elseif type == "out" then db.actor:transfer_money(num, victim) game_stats.money_quest_update (-num) end --news_manager.relocate_money(db.actor, type, num) Расскоментируй, если нужна смска, типав тебя кинули на столько-то денег. end end
И главное, как ты планируешь запускать ограбление. Диалог или ...
Добавлено (13.02.2014, 23:18) --------------------------------------------- Заберёт все вещи и деньги, оставив на месте. Arist,
ЦитатаArist ()
Помню, что срабатывало в xr_effects, а в простом файле не срабатывало.
Можно использовать xr_logic.script от АМК, тогда вызывать ф-ию из логики, можно из любого скрипта.
ins33, я вот решил сначала попробовать вариант Arist, и там непонятно куда и как вставить actor_mill_walk -- точка в all.spawn'e, где герой очухается actor_mill_look -- куда будет смотреть