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

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

 

 


Но, считайте что я спрашивал с целью разобраться именно в том способе что я описал.
Тогда стоит вернуться на 3 года назад:   http://www.amk-team.ru/forum/index.php?showtopic=9682&page=5 И там начиная с 85 поста.
  • Нравится 1
Ссылка на комментарий

По поводу гитарных композиций у костра. Может ли быть такое, что если в параметре файла Game Type вместо NPC talking стоит undefined (у гитарных композиций таких файлов 4 шт., у балалаечных и гармошек все), то этот звук может проигрываться игрой параллельно с другим звуком из этой папки? Может быть так работает озвучка реакции на шутки и рассказы, когда сколько сталкеров сидит рядом столько и говорит?
 
Нет. Подробости позже распишу. Но кривые файлы в любом случае надо либо править, либо сносить. dc

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

В общем так: чтобы неписи не говорили одновременно, и не устраивали адские групповые коцерты типа "окуджава под аккомпанимент балалайки в сопровождениии милого августина на губной гармошке" - этим делом рулит xr_kamp.script.

 

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

 

 

Группы задаются в логике, типа:

[logic@esc_lager_kamp1] ; сидящие днём у костра
active = kamp1@esc_lager

[kamp1@esc_lager]
center_point = camp_center
path_walk = camp_center_task
soundgroup = esc_lager
meet = meet@lager
Да, а кривые комментарии в звуках приводят к тому, что либо неписи возбуждаются, и начинают воевать, либо к тому, что сам звук проигрывается странно.

 

P.S. И по ходу еще ни кто так и не проверил, как формат звука влияет на тормоза с лагами. Вполне может быть такая же фигня, как с кривыми текстурами.

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

...чтобы неписи не говорили одновременно ... - этим делом рулит xr_kamp.script.

Кстати интересные там есть параметры, например:

--на все гулянки в сторону трупа дается 30 секунд, если не успел, то да ну нафиг заморачиваться :)

т.е. если подрегулировать этот параметр, например секунд 10 прописать вместо 30, то Неписи не так истово мертвяков около стоянок шмонать должны.. Если я изменю в этом файле что-нибудь новая игра нужна?

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

Нет, это не шмон, а оттаскивание.

Шмон - в wather_act.

 

НИ не нужна, но менять там (в обоих) что-либо надо крайне аккуратно. Все на соплях и при помощи "какой-то матери" .

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

Парни, такой вот вопрос. Ааз на Юпитере дает задание на уничтожение логова химер-вульфов. Вожак стаи (белая химера) должен остаться живой и его нужно сфотографировать. Задача такова: убрать задание на фотографию вульфа.

.

Есть 2 файла - gamedata\config\gameplay\tasks_akill.xml

 

	<!-- ОХОТА НА ОБОРОТНЕЙ -->
	<game_task id="ohota_wolf">
        <title>Волчье логово</title>
        <objective>
            <text>Волчье логово</text>
            <icon>ui_iconsTotal_oboroten</icon>
            <infoportion_complete>ohota_wolf_done</infoportion_complete>
			<infoportion_fail>ohota_wolf_fail</infoportion_fail>
			<article>ohota_wolf</article>
        </objective>
        <objective>
            <text>Уничтожить логово химер-вульф</text>
			<function_complete>akill.ohota_wolf_have</function_complete>
            <infoportion_set_complete>ohota_wolf_have</infoportion_set_complete>
        </objective>
		<!-- <objective>
            <text>Сделать фото вожака стаи</text>
            <infoportion_complete>foto_ohota_white_wolf</infoportion_complete> 
        </objective> -->  Закомментировал, задания на фото нет, но Ааз не хочет говорить и принимать задание на 
                          уничтожения логова
        <objective>
            <text>Вернуться к Аазу</text>
            <infoportion_complete>ohota_wolf_done</infoportion_complete> 
        </objective>
    </game_task>

 

 

 

и gamedata\scripts\akill.script  ( здесь не знаю что нужно править)

 


-- ОХОТА НА ОБОРОТНЕЙ
function ohota_wolf_spawn()
	sak.create_items_actor("ammo_7.62x54r",1)
	alife():create("chertez_keis",vector():set(-380.8268737793,7.398063659668,404.12860107422),87748,3703)
end
function checking_taken_item77(obj)
 	if not has_alife_info("keis_oruzeinik_find") and obj:section()=="chertez_keis" then
	level.set_weather ("rain")
	local snd_obj = xr_sound.get_safe_sound_object([[monsters\sound_wolf]])
	snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
	news_manager.send_tip(db.actor, "%c[255,160,160,160]".."МЕЧЕНЫЙ:".."\\n".."%c[255,255,128,128]Ааз, ты что-то перепутал. Здесь нет никого...".."".."\n", nil, nil, 30000)
	amk.start_timer("battle", 0, {"jupiter", 30, 1})
	local se_obj = alife():create("chimera_wolf",vector():set(-323.72576904297,17.113107681274,430.48370361328),168873,3703)
		   se_obj = alife():create("chimera_wolf",vector():set(-265.06134033203,-0.8081442117691,443.29257202148),267006,3711)
		   se_obj = alife():create("chimera_wolf",vector():set(-270.30285644531,-0.4198077917099,442.90960693359),258780,3711)
		   se_obj = alife():create("chimera_wolf",vector():set(-256.65518188477,3.4395008087158,411.7629699707),280964,3703)
		   se_obj = alife():create("chimera_wolf",vector():set(-246.47827148438,0.82017338275909,441.82043457031),299334,3711)
		   se_obj = alife():create("chimera_wolf",vector():set(-239.65963745117,2.5905842781067,428.95098876953),311478,3711)
		   se_obj = alife():create("white_wolf",vector():set(-251.99440002441,4.6567387580872,369.94879150391),289425,3703)
		db.actor:give_info_portion("keis_oruzeinik_find")
	end
end
function ohota_wolf_done()
    sak.create_items_actor("keis_key",1)
    sak.create_items_actor("ammo_12x70_kart",5)
    sak.create_items_actor("af_armor_3",1)
    sak.create_items_actor("af_kol_3",1)
    for a=10,65535,1 do
		local obj=alife():object(a)
		if obj and string.find(obj:name(),"white_wolf") then
			alife():release(obj,true)
			break
		end
    end
end
function ohota_wolf_have(task, info)
     if db.actor:has_info("ohota_wolf1_dead") and db.actor:has_info("ohota_wolf2_dead") then 
		return db.actor:give_info_portion("ohota_wolf_have")
     end
		return false
end
function on_monster_hit(obj, amount, local_direction, who, bone_index)
	if who and who:id()==db.actor:id() then
     	if obj:section() =="white_wolf" then 
		db.actor:give_info_portion("ohota_wolf_fail")
	end
	end
end

 

Подскажите пожалуйста, что нужно поменять чтобы Ааз принял задание на уничтожение логова без фотографирования вожака.

AMK 1.4.1+НС 19.04.2010+допа 14.08.10+патч 03.09.10+ООП

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

Bricklayer, менять нужно файлы диалогов, откуда это вызывается.

В akill.script максимум убрать строки 3482-3486, чтобы не мешало фиксам по "тихой/дикой/еще какой попало фотоохоте".

 

поиск в config\gameplay по "ohota_wolf_have" и т.д.

Ну вот конкретно по "foto_ohota_white_wolf".

Только не в tasks_akill.xml, а где-то еще должно быть.

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

поиск в config\gameplay по "ohota_wolf_have" и т.д. Ну вот конкретно по "foto_ohota_white_wolf". Только не в tasks_akill.xml, а где-то еще должно быть.

Нашел в файле dialogs_amk.xml.
<!-- Возвращаемся к Аазу -->
<dialog id="ohota_wolf_done">
	<has_info>ohota_wolf_have</has_info>
	<has_info>ohota_wolf_start</has_info>
	<!--<has_info>foto_ohota_white_wolf</has_info>-->  Закомментировал и все получилось. Диалог состоялся.
	<dont_has_info>ohota_wolf_done</dont_has_info>

 

Спасибо за участие и помощь.

 

Правка по фото белого Химеро-вульфа.

Изменено пользователем Eugen81
  • Спасибо 2
  • Нравится 1

AMK 1.4.1+НС 19.04.2010+допа 14.08.10+патч 03.09.10+ООП

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

Всем привет. Ребята, а в каких "попугаях" измеряются характеристики артефактов ??? А то у "Снежка " выносливость +1000, а ГГ всё равно устаёт при беге ....

Именно что в попугаях. dc

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

Не становись на пути десантника, ты рискуешь стать загадкой для хирурга !!! В.Ф. Маргелов.

Что нужно сталкеру, чтобы добраться до Монолита ? Кусок колбасы, бутылка водки, нож ... и знание конфигов.

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

@vdv5549,

gamedata/config/misc/artefacts.ltx находим нужный артефакт
смотрим его характеристики и меняем health_restore_speed скорость восстановления здоровья 0.0001 = +100%
radiation_restore_speed скорость накопления радиации 0.0004 = 4 если
поставить отрицательное число будет ускорять выведение радиации
иммунитеты например 0.7 = +30% 0.2 = +80% больше единицы пойдет
наоборот в минус 1.3 это -30%
strike_immunity - удар
shock_immunity - электрошок
chemical_burn_immunity - химический ожог
telepatic_immunity - телепатия
radiation_immunity - радиация
wound_immunity - разрыв
explosion_immunity - взрыв
fire_wound_immunity - огнестрел

P.S. еще есть наведенная радиация (inventory radiation), актуально к смене, когда много артов (порядка 100 шт) нужно перенести в рюкзаке.

P.S.2 Чтобы его характеристики правильно отображались в энциклопедии надо еще где-то менять.

 

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

Смотри в папке gamedata/config/misc/ файлы zone_.....

zone_ameba.ltx
zone_burningfuzz.ltx
zone_buzz.ltx
zone_fountain.ltx
zone_gravi.ltx
zone_ice.ltx
zone_mincer.ltx
zone_monolith.ltx
zone_mosquitobald.ltx
zone_ogon.ltx
zone_radioactive.ltx
zone_rustyhair.ltx
zone_sakbuzz.ltx
zone_smallrain.ltx
zone_sphere.ltx
zone_torrid.ltx
zone_witchesgalantine.ltx
zone_zavesa.ltx
zone_zharka_static.ltx

Вот из файла zone_gravi
[zone_gravi_zone_weak]:zone_gravi_zone
$spawn = "zones\gravi_zone_weak"
hit_impulse_scale = 0.1
effective_radius = 0.7
BirthProbability = 0.2 это вероятность появления
artefacts = af_vyvert,0.8, af_gravi, 0.2, af_gold_fish, 0.0 это вероятность того какой артефакт появиться.

 

 

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

@prjnik, я не спрашиваю, как и где оно меняется. Интересует в чём (каких единицах) это всё измеряется.

У "Маминых бус" идёт

+5 к пулестойкости. Так вот +5 чего ??? Каких "попугаев" ???

 

Не становись на пути десантника, ты рискуешь стать загадкой для хирурга !!! В.Ф. Маргелов.

Что нужно сталкеру, чтобы добраться до Монолита ? Кусок колбасы, бутылка водки, нож ... и знание конфигов.

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

В процентах от собственной скорости восстановления голого Меченого.

 

К примеру, начальная скорость восстановления здоровья = 0.0001 , то есть 1% здоровья восстановится за 100 секунд. "Душа" даёт +300 здоровья, то есть +0.0003, то есть с "душой" у героя будет уже 0.0004, а это равно 1% здоровья за 25 секунд.

 

То же самое с радиоактивностью, усталостью и сытостью. 

 

 

С сопротивлениями всё ещё проще.

 

Процент получаемого урона = %сложности * (100% - %защиты костюма) * (100% - %суммы защиты артов)

 

То есть на мастере в экзе военных и 1 мамиными бусами имеем:

 

Урон = 100% * (100% - 50%) * (100% - 5%) = 50% * 95% = 47.5% урона от номинальной величины

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

 

 

% урона от номинальной величины
Я так понимаю, что этот % складывается из хита оружия * на хит патрона ?

Не становись на пути десантника, ты рискуешь стать загадкой для хирурга !!! В.Ф. Маргелов.

Что нужно сталкеру, чтобы добраться до Монолита ? Кусок колбасы, бутылка водки, нож ... и знание конфигов.

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

К пулестойкости - это именно проценты. Из рассчета, что 100% - полная имунность к повреждениям от пуль как ГГ, так и костюма. 0% - Костюм огребает от пули полностью, ГГ - в зависимости от защитных свойств костюма.

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

 

Про здоровье/выносливость - см. выше. Радиаций, на самом деле, 3 разных (2 оригинальные, имунность в процентах и выведение в +процентах к процентам + рюкзачная скриптовая). dc

 

Heretic, нет, защита не плюсуется. 50% от артов + 50% от костюма - это не 100% защиты.

Кроме того, защита костюмов именно от пулевых - это отдельный конфиг, с раскладкой по костям.

Ссылка на комментарий
Ежели кто попробует, и отпишется о результатах - будет хорошо.

Попробовал, значения уменьшил на 2 (примерно) - вроде стали мазать :russian_ru:

Спасибо...

 

На вский случай, на сайте "Игро-Программный Сайт" - нашёл инфу

hit_probability_gd_novice
hit_probability_gd_stalker
hit_probability_gd_veteran
hit_probability_gd_master
Эти строчки отвечают за вероятность попадания по вам, при разных уровнях сложности. Хотите чтобы враги стреляли не очень метко, уменьшайте значения.

 

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

И да поможет тебе F1, и да сохранит тебя F2, во имя Control-а, Alt-а, и Святого Del-а!

Да будет так, ENTER

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

Попробовал, значения уменьшил на 2 (примерно) - вроде стали мазать...

Я у себя поменял во всех файлах типа bandit.ltx параметры на соляночные или близкие к ним, относящиеся к дальности видимости, скорости передвижения, времени стрельбы, реакции, дисперсии стрельбы и пр. Кусок текста из фалй bandit.ltx для примера привожу в спойлере. На Свалке когда воевал с этими пармаетрами, переигрывал несколько раз, т.к. убивали неоднократно, когда находишься при выходе из ворот  с ангара в сторону Агропрома, то бандос стреляют от труб за тунелем издали не очень метко, а вот на средних дистанциях попадают очень даже ощутимо.

MinSpeed             = 1.2 (было 3.0)            ; option for ALife Simulator

MaxSpeed             = 5.0            ; option for ALife Simulator

 

going_speed          = 1.8 (было 3.5)                     ; option for ALife Simulator

search_speed         = 0.7 (было 2.5)

going_item_detect_probability = 0.3 (было 0.9)

search_item_detect_probability = 0.9 (было 0.9)

 

 

 

;-------VISIBILITY----------------------------------------------------

eye_fov                        = 140    

eye_range                    = 80    

min_view_distance_danger     = 0.2 (было 1.0)                ; коэффициент, который множится на eye_range, в зависимости от угла

max_view_distance_danger     = 1.0                ; коэффициент, который множится на eye_range, в зависимости от угла

min_view_distance_free       = 0.1 (было 0.8)                ; коэффициент, который множится на eye_range, в зависимости от угла

max_view_distance_free         = 0.8 (было 1.0)                ; коэффициент, который множится на eye_range, в зависимости от угла

visibility_threshold         = 20.0 (было 1.0)                ; значение, при достижении суммой которого объект считается видимым

always_visible_distance_danger     = 0.3 (было 0.2)

always_visible_distance_free     = 0.3 (было 0.2)

time_quant            = 0.05 (было 0.001)

decrease_value            = 0.1                ; значение, на которое уменьшается вес, если объект попал в фрустум, но отсёкся по каким-то причинам

velocity_factor                 = 0.5 (было 1.0)

transparency_threshold         = 0.25

;---------------------------------------------------------------------

 

; fire params

disp_walk_stand             = 18 (было 2)     ;12.0    ;6.0    ;4.0    ;2.0

disp_walk_crouch         = 17 (было 1)     ;8.0    ;4.0    ;3.0    ;1.5    

disp_run_stand             = 18 (было 4)   ;20.0    ;10.0    ;8.0    ;4.0

disp_run_crouch             = 17 (было 2)     ;12.0    ;6.0    ;4.0    ;2.0

disp_stand_stand         = 18 (было 1)     ;6.0    ;3.0    ;2.0    ;1.0

disp_stand_crouch         = 17 (было 0.5) ;4.0    ;2.0    ;1.0    ;0.5

; end of fire params

 

FireRandomMin = 1

FireRandomMax = 5

NoFireTimeMin = 120 (было 50)

NoFireTimeMax = 750 (было 500)

MinMissDistance = 5.0 (было 1.0)

MinMissFactor = 0.0

MaxMissDistance = 50.0 (было 80.0)

MaxMissFactor = 0.0

 

sound_threshold         = 0.05

self_sound_factor     = 1.0    ;1.0

 

 

 

burn_immunity = 0.0                ;коэффициенты иммунитета

strike_immunity = 1.0

shock_immunity = 1.0

wound_immunity = 1.0 (было 0.75)        ;1.0        

radiation_immunity = 0.01    ;1.0

telepatic_immunity = 1.0

chemical_burn_immunity = 1.0

explosion_immunity = 1.0

fire_wound_immunity  = 1.0 (было 0.9)

 

;дисперсия во время ходьбы и бега

disp_vel_factor         = 0.08 (было 0.01)

disp_crouch_factor     = 0.07

disp_jump_factor     = 3

destroyed_vis_name     = physics\Dead_Body\trupik_crash

 

 

 

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

По поводу меткости НПС :

 

Мне вчера один умный человек подсказал, где эта гадость прописана: в файле m_stalker параметры FIRE DISPERSIONS. Я посмотрел и немного ... охренел. Вот они в чистой Солянке:

 

disp_walk_stand         = 8 ;6

disp_walk_crouch        = 4 ;3

disp_run_stand          = 14 ;12;8

disp_run_crouch         = 6  ;4

disp_stand_stand        = 4

disp_stand_crouch       = 2

disp_stand_stand_zoom     = 1.5 ;1

disp_stand_crouch_zoom      = 1.25;1

 

 А вот они же в ОП-2 :

 

disp_walk_stand         = 4 ;;;;2 ;6

disp_walk_crouch        = 2 ;;;;1 ;3

disp_run_stand          = 6 ;;;;4 ;12;8

disp_run_crouch         = 3 ;;;;2  ;4

disp_stand_stand        = 2 ;;;;1

disp_stand_crouch       = 1 ;;;;0.5

disp_stand_stand_zoom     = 0.75 ;;;;0.5 ;1

disp_stand_crouch_zoom      = 0.5 ;;;;0.25;1

 

 

Т.е. по сравнению с Солянкой неписи стали стрелять в два раза метче.

Изменено пользователем Eugen81
убрал под спойлер

Не становись на пути десантника, ты рискуешь стать загадкой для хирурга !!! В.Ф. Маргелов.

Что нужно сталкеру, чтобы добраться до Монолита ? Кусок колбасы, бутылка водки, нож ... и знание конфигов.

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

 По поводу меткости НПС

Я файлы m_army.ltx, m_bandit.ltx, m_stalker.ltx и m_stalker_zombied.ltx заменил на соляночные. Вот сейчас все стало на свои места, играть намного приятней.

  • Спасибо 1

AMK 1.4.1+НС 19.04.2010+допа 14.08.10+патч 03.09.10+ООП

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

romale, да там этих проверок столько "наоптимизировали"...

Micha_Pulemiot, да, и так будет с каждым "патчем". Почему я сразу с самого начала и написал, что предпочтительно выкладывать описание, как и что изменяли, а не измененные файлы.
Ну или наоборот, нужно смотреть, что там наменяли в "патчах", и переносить только реально нужное.

Alfa2012, нарушаем ? Тема не для погадалок.
Есть предположение - показываем код/конфиг/success story. А что касается "по памяти" - вообще идем в "справочник вылетов", и читаем.

 

P.S. Всем: таки просьба не путать темы, и "где найти", "как пройти", "а мне не нравится" - постить в более соответствующую. Здесь и так уже ориентироваться сложно становится.
 

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

Ivan_USER,

function check_armor()
	local armor = db.actor:item_in_slot(6)
	local weapon = db.actor:item_in_slot(2)
	
	if db.actor:active_slot()==2 and weapon then
		local tmp
		if armor then tmp = armor:section()
		else tmp = "none"
		end

		if (not string_find(tmp, "exo")) and weapon:section()=="wpn_m_134" then 
			db.actor:drop_item(weapon)
			local tmpw = amk.spawn_item_in_inv("wpn_m_134")
			db.actor:transfer_item(weapon,db.actor)
			alife():release(tmpw)
              amk.send_tip(game.translate_string("wpn-m_134-no_exo_message"),"Minigun",0,8,"gen_info")
		end
	end

 

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

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

AMK-Team.ru

×
×
  • Создать...