S.T.A.L.K.E.R|Модостроение

Объявление

В общем, какие-то проблемы с загрузкой сайта.
Добавь в закладки
Будем постепенно решать...
БАННЕР САЙТА
Новички и бывалые найдут здесь себе пристанище


тестинг тестинг

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » S.T.A.L.K.E.R|Модостроение » SGM » По мелочам [SGM]


По мелочам [SGM]

Сообщений 1 страница 10 из 32

1

Изменение численности бойцов в сквадах Альфы

Открываем gamedata\configs\misc\squad_descr_sgm.ltx
Тут всё про Альфу. Николай заботливо дал все комменты и ввёл понятные идентификаторы. Собственно описаны все команды Альфы от новичка до мастера. Собственно главные для нас строчки типа:

npc = alfa_novice_commander,alfa_novice_specnaz1,alfa_novice_specnaz2,alfa_novice_sniper1,alfa_novice_sniper2,alfa_novice_shotgunner

Это значит, что команда состоит из новичков и включает командира, двух спецназовцев, двух снайперов и шотганера. Вот они - наши любимые шесть пар копыт!
Людям, утомлённым Альфой можно проредить сквад, оставив там тех, кто им нужен. Допустим:

npc = alfa_novice_commander,alfa_novice_specnaz1,alfa_novice_sniper1,alfa_novice_shotgunner

Вот уже сквад из 4 бойцов. И т.д.
Уменьшая сквад на малых рангах ГГ и оставляя исходное количество бойцов Альфы при "взрослом" ГГ можно добиться желаемого игрового комфорта, пощипывая пару Альф в начале игры и вступая в "мясные" бои ближе к концу.
Для кровожадных. Если можно уменьшить сквад, так, верно, можно и увеличить. Мало того - усилить! А добавьте к этой шестёрке пару опытный снайперов и одного ветерана спецназовца. Идентификаторы берите из этого же файла и не забывайте о запятых! В предыдущем примере сквад из 4 бойцов слабоват! Четыре новичка - да их собачки порвут! Давайте дадим им наставника, такого дядьку Черномора - спецназовца ветерана!

npc = alfa_novice_commander,alfa_novice_specnaz1,alfa_novice_sniper1,alfa_novice_shotgunner,alfa_veteran_specnaz2

0

2

Перевооружаем бойцов Альфы

Вновь привнесённые Николаем перцы описаны в gamedata\configs\gameplay\character_desc_sgm.xml
Файл с комментами, структурирован по локам, легко читаем. Наши любимцы в самом хвосте. У каждого есть секция:

[spawn] \n
device_torch \n
wpn_svd \n
ammo_7.62x54_7h1 = 1 \n
wpn_beretta \n
ammo_9x19_spp = 1 \n
wpn_binoc = 1 \n
#include "gameplay\character_items_3.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs_3.xml"

Вот чего дал Николай alfa_experienced_sniper1. Набор стандартный, в том числе основной ствол и один патрон к нему, пистолет и один патрон к нему. Почему один патрон. Это не последний патрон для себя. Неписи умеют клонировать патроны и одним патроном заряжают весь магазин!!! Нам бы так с деньгами
Так давайте нахулиганим и снабдим бойца гауссом вместо СВД ну и одной батарейкой!

[spawn] \n
device_torch \n
wpn_gauss \n
ammo_gauss = 1 \n
wpn_beretta \n
ammo_9x19_spp = 1 \n
wpn_binoc = 1 \n
#include "gameplay\character_items_3.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs_3.xml"

Ну вот, парень вооружён и очень опасен! Опять же учите ГГ быстро бегать и шустро ползать на брюхе.
Ещё. Можно дать неписю ствол с оптикой или глушаком. Тогда оружейная строчка выглядит так:

wpn_lr300 = 1, scope, silencer \n

Постоянно сверяйтесь с конфигами оружия, чего можно на него навешать! Не навешивайте подствольник на Форт - игра обхохочется!!! Удачи!

0

3

Где лежит музыка приемников?

gamedata\sounds\radio_music\

0

4

Как сделать чтобы Борода торговал частями от монстров?

Торговля с Бородой. Вот его файл: gamedata\configs\misc\trade\trade_zat_a2_barmen.ltx
Ищи коммент Трофеи. Трофеи могут быть в секциях покупки (buy) и продажи (supplies). Покупках всё прописано и Борода честно покупает сиськи, письки и хвосты. А трофеи в секции продажи закрыты конструкцией типа:

mutant_snork_booty ;НЕ ПРОДАЕТСЯ/ПОКУПАЕТСЯ

Открыть бойкую торговлю можно прописав количество товара и вероятность его появления в продаже:

mutant_snork_booty = 1, 2

Вот теперь Борода всегда будет иметь в продаже от 1 до 2 босоножек от снорка.
Примечание: Продажи пойдут после выполнения ряда квестов. Стартовые пордажи описаны в секции [supplies_start]. Если есть острое желание купить снорковскую босоножку сразу при старте игры надо прописать её в эту секцию.

0

5

Как отключить ограничение на сон?

открыть файл gamedata\configs\mod_parameters\mod_params.ltx
добавить в конец файла строку:

dream_limited_interval = 0

0

6

Спавн NPC рядом с ГГ

открываем файл: scripts\ui_main_menu.script
Ищем:

elseif db.actor~=nil and dik==DIK_keys.DIK_F5 then
self:mod_options()

После этого втыкаем:

elseif db.actor~=nil and dik==DIK_keys.DIK_F6 then
create("ID_PERSA",db.actor:position().x+10,db.actor:position().y,db.actor:position().z+1,db.actor:level_vertex_id() ,db.actor:game_vertex_id())

Где: F6 - кнопка на которую назначен спавн, ID_PERSA - идентификатор персонажа из character_desc_*.xml
Заходим в игру. Нажимаем Esc=>F6=>Esc. И перс заспавниться в 10 метрах от ГГ.

0

7

Функции для управления отношениями группировок

Николай сделал несколько удобных функций - "обёрток" для работы с отношениями между группировками. Найти их можно в файле \scripts\_g.script в разделе "Работа с отношениями"

-- 'Улучшить отношения между группировкой и ГГ.
function increase_faction_goodwill(community,value)
-- 'Ухудшить отношения между группировкой и ГГ.
function decrease_faction_goodwill(community,value)
-- 'Улучшить отношения между группировкой и обьектом.
function increase_faction_goodwill_to(obj_id,community,value)
-- 'Ухудшить отношения между группировкой и обьектом.
function decrease_faction_goodwill_to(obj_id,community,value)
-- 'Установка отношений одной группировки к другой.
function set_faction_to_faction_relation(from_faction,to_faction,type_relation)
-- 'Установка отношений одного обьекта к другому.
function set_relation_between(obj1,obj2,type)
-- 'Чтение отношений одного обьекта к другому.
function check_relation_between(obj1,obj2)

Очень удобно и понятно!

0

8

Создание ресриктора через скрипт

У Николая от старых версий остались функции создания и обработки рестрикторов, создаваемых при старте (новой???) игры. А вот создание рестрикторов с версии 1.5 он перенёс в all.spawn. Для нас главное, что функции не смахнул. Итак: файл _g.script
функция

function create_restrictor(custom_add,radius,x,y,z,lv,gv)
if z==nil and lv==nil and gv==nil then
se_obj=alife():create("space_restrictor",level.vertex_position(x),x,y)
else
se_obj=alife():create("space_restrictor",vector():set(x, y,z),lv,gv)
end
custom_pack="[logic]\n".."cfg = "..custom_add
sgm_packet.setup_restrictor(se_obj,custom_pack,radius,x,y,z,lv,gv)
end

Ну, вроде , ясно, что radius - радиус границы срабатывания, далее координаты??? рестриктора, и уровниевый и игровой вертексы. А вот первый параметр - ссылка на файл с описанием рестриктора. Вот вызов создания рестриктора из версии 1.3:

create_restrictor([[scripts\SGM\zaton\restrictors\zat_quest_line.ltx]],1.0,132.765,-3.634,-139.823,1192032,150)

Значит, для создания своего рестриктора надо создать файл какойторестриктор.ltx, положить в каталог \configs\scripts\SGM\лока\restrictors\какойторестриктор.ltx
А в какойторестриктор.ltx надо прописать логику рестриктора:

[logic]
active = sr_idle

[sr_idle]
on_actor_inside = {=имя_инфопоршня_выдачи_квеста} nil %+имя_инфопоршня_1%
END

т.е. при входе ГГ в зону действия рестриктора, он проверит наличие инфопоршня квеста. При наличии инфопоршня выдастся инфопрошень_1. Всё, застукали ГГ. А теперь всё просто. В логике выдачи квеста запускаем функцию, в котором есть спавн мобов или неписей.
По аналогичной схеме сделан квест на встречу с Глухарём: есть метка у соснодуба, ГГ приходит на это место, Глухарь зовёт на ВНЗ Круг.
Примечание: данный рестриктор, наверняка, сидит в all.spawn

0

9

Спавн патронов для Калаша, во время их отсутсвия

Открываем scripts\sgm_modules.script и дописываем после копирайта:

-------------------------------------//Copyright 2009-2010 GeJorge//-------------------------------------------------
function get_ammo_for_reload() --обработчик в xr_motivator.script
if not db.actor then return nil end
if db.actor:object("ammo_5.45x39_fmj") == nil then
create_ammo("ammo_5.45x39_fmj",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id(),30)
end
end

Открываем scripts\xr_motivator.script ,
ищем функцию: function motivator_binder:update(delta)
ищем блок:

if time_global() - self.last_update > 1000 then
sr_light.check_light(object)
sgm_modules.get_ammo_for_reload() --тест бесконечных патронов
self.last_update = time_global()
end

и добавляем туда строчку, выделенную синим. Всё. При отсутствии в рюкзаке 5.45*39 они там появятся. Ваше дело - перезаряжать и палить непереставая.

0

10

Как получить достижение, после нахождения 50 тайников

Открываем файл scripts\ui_mod_pda.script
В нем ищем

function achievements_pathfinder_update()
        local pre=sgm_functions.read_variable("stat_taynikov")
        if pre~=nil and pre>=90 and not has_alife_info("sgm_achievements_pathfinder") then
           give_info("sgm_achievements_pathfinder")
           sgm_functions.edit_counter("stat_dostigeniy",true)
           news_ma nag er. sen d_t ip(db.actor,"st_achievement_pathfinder_text",0,"sgm_achievement_pathfinder",10000,nil,"st_achievement_tip_title")
        end

и изменяете в этой строке 90 на 50:

if pre~=nil and pre>=50 and not has_alife_info("sgm_achievements_pathfinder") then

Другие SGM достижения тоже править в этом файле.
А в файле configs\text\rus\SGM_personal_pda.xml хранятся описания этих достижений

0


Вы здесь » S.T.A.L.K.E.R|Модостроение » SGM » По мелочам [SGM]


Создать форум © iboard.ws Видеочат kdovolalmi.cz