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

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

Если я ставлю "Тайника Коллекционера. Одно место спавна" и уже взял несколько тайников Коллекционера, новая игра нужна?

Ответили, но добавлю: правка начинает действовать со следующего тайника. dc

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

@delafly, Если туман нужно убрать только на болоте, то смотри файл gamedata\config\game_maps_single.ltx (находится в db7) там прописаны установки погоды на локациях.

[marsh]


texture         = map\map_marsh
global_rect     = 22.0, 2113.0, 352.0, 2443.000000              
bound_rect      = -445.000000,-445.000000,755.000000,755.000000  
weathers        = boloto
music_tracks        = marsh_musics

 

Меняешь там строчку weathers = boloto  на weathers = default или на weathers = cordon, соответственно погода в последнем случае будет как на Кордоне.

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

Вот еще по туману может пригодится:

Открываешь эту правку (файл amk_anoms.script), находишь строки -
....
level_anoms={
l01_escape={50,75,400,{electra=12, zavesa=2, smallrain=26, fountain=17, gravi=0, mincer=0, buzz=0, sakbuzz=2, mosquito_bald=0, sphere=4}},
....
Это аномалии на Кордоне.
smallrain=26 - Это и есть туман. Меняешь на smallrain=2 и туманов на Кордоне у тебя будет в 13 раз меньше. Можешь вообще 0 поставить.
И так нужно поправить на каждой локе.

 

 

разблокировка клавиш F3-F4 (чтоб в меню настройки управления можно было назначить на них нужные действия самому)
в \gamedata\scripts\hotkeys.script
удалить или закомментировать:

У меня почему-то для внешнего вида только F2 работает (при этом в user.ltx строчки bind cam_1 kF1, bind cam_2 kF2, bind cam_3 kF3 есть), а F3 не работает. F4 для чего можно использовать?

function dik_f3()
if db.debug then
run_file("..\\gamedata\\scripts\\test.script")
end
end
function dik_f4()
if db.debug then
run_file("..\\gamedata\\scripts\\test2.script")
end
end

 

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

Был бы благодарен за правленую папку weathers если у кого имеется оная.

http://yadi.sk/d/b_X_MCiYRKdgs

ОП-2. Без дождя и тумана на всех локациях

http://yadi.sk/d/Yuh0A5a8Rrtqi

ОП-2. Без звуков грома

  • Спасибо 1
  • Нравится 1

Не делайте мне больно, господа...

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

Ребята, а можно сделать, чтобы арты светились ?

Постоянно мимо пробегаешь...

 

lights_enabled        = true    
trail_light_color    = 2.5, 2.4, 0  -- подобрать цвет по вкусу,  здесь - желтый,  2.5, 2.5, 2.5 - будет белый

trail_light_range    = 3.0  -- или больше (до 5 имеет смысл)

 

Для каждого так поправить. dc

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

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

в config\weathers\* во всех фалах, где есть строчки
fog_density =
- меняем значения на 0.01

Особенно актуально для отключения слайд-шоу в X16.

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

far_plane = - дальность отрисовки - вообще не трогаем, либо не уменьшаем ниже 280, иначе полезут глюки с отрисовкой рельефа (глючные карты: болото, АТП, бар, ЧАЭС)

  • Полезно 1
Ссылка на комментарий

Правка к Спавнеру от Karavan150.
закинуть по пути:папка с игрой/gamedata/script и подтвердить замену,новая игра не нужна.
Ссыль:http://rghost.ru/56064441
По мере возникновения багов пишите буду исправлять дальше.
Удалил несколько стволов из оп 1,которые отсутствовали,
и оружие из оп 2 перенёс из раздела предметы в раздел оружие.

Уже неактуально, но оставил для истории. dc
 

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

Мужики, в каких папках или файлах, лежат названия с ручными телепортами стрелка, ну там на АС и тп. ? Как они хоть примерно называются? Рылся в gamedata но ничего подобного не смог найти :(

 

arhara_items

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

Здаров народ, сильно камнями не закидывайте вопрос собственно, а не вот этот ли скрипт в ответе за постоянные проверки на вес и прыжок drrr.script

 

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

 

function next_vbr()

return time_global()+120000+math.random(-60000,60000)

end

Мужики, в каких папках

Как раз таки щас их и правлю, цена стала 5 руб но зараза ещё и по весу ограниченье в 350кг+износ брони.

 

Кстате античит на прыжок как и думал вместе с проверкой на вес идёт

function next_vbr()

return time_global()+120000+math.random(-60000,60000)

end

изменил до 120000000 и за 15 минут при прыжке 27 не одного упрёка в читерстве :crazy:

Достаточно было +300000

Ну в офицальном фиксе так и есть, а так сейчас пробежал АС, Бар, Свалку и подвисаний практически небыло.

Поправьте если ошибаюсь но если эту проверку отключить то прощай античит по прыжку раз и на всегда .По деньгам вроде тоже нашёл щас буду пробовать.

Изменено пользователем Dennis_Chikin
Ты должен сделать добро из зла, потому что его больше не из чего сделать
Аркадий и Борис Стругацкие. Пикник на обочине
 

 

 

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

если эту проверку отключить то прощай античит по прыжку раз и на всегда

ограничений по весу нет

Чего хоть велосипед-то изобретаем? :)

Все давно поправлено, отключено (и по "дырявому рюкзаку" и по прыжку) и прекрасно работает, читай посты №№ 3, 4, 18

Вы ленивы, следовательно - вы изобретательны. © граф Де Гиш

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

Чего хоть велосипед-то изобретаем?

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

 

А по ограничению веса стоит на ручных телепортах

elseif not drrr.weight_ok() then

news_manager.send_tip(db.actor, "Телепортация перегруженного человека невозможна по техническим причинам. Снизьте вес или отремонтируйте бронекостюм.", nil, "nano", 20000)

return

 

 

Таки что мешает взять правленный скрипт, где в drrr.weight_ok() вместо танцев с бубном прописано return true ?

Ну или снести проверку в телепортах совсем ? dc

Изменено пользователем Dennis_Chikin
Ты должен сделать добро из зла, потому что его больше не из чего сделать
Аркадий и Борис Стругацкие. Пикник на обочине
 

 

 

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

Вот скрипт откомментированный. Опять плакал.

local weight_normal = 90
local weight_max = 0
local items_dropped_max = 10

local kolco = {from = 0.5, to = 1.5}
local visota = {from = 0.5, to = 1.5}

local sim
local actor
local weight_rukzak
local weight_item
local ini
local items = {}
local items_dropped = {}
local slot0_id, slot1_id, slot2_id -- предмет в слотах игнорируется, но вес его учитывается
local slot6_id -- одетый бронежилет игнорируется, но вес его учитывается

function do_vbr()	-- выбрасывание предметов, удалить все нафиг, оставив саму функцию
			-- и последний end
	sim = alife()
	actor = db.actor
	weight_max = weight_normal+add_weight()	-- 90 кг. (см. выше + погода на марсе)
	if weight_max > 350 then weight_max = 350 end	-- максимальное значение веса
	if sim and actor then	-- проверка ни о чем вообще, по тому как в любом случае вылетит раньше
		calc_inventory_weight()	-- делается странное
		-- get_console():execute("load ~~~ вес всего, что на и у ГГ: "..weight_rukzak.." от "..weight_max)

		-- сравнивается громкость чихания тушкана на ЧАЭС с погодой на марсе
		if weight_rukzak > weight_max then
			-- выбрасываем предметы рандомно
			local items_count = #items
			local iterations = 0
			local items_dropped_count = 0
			local i
			
			db.actor:give_info_portion("biznes_remove_special_item")
			while weight_rukzak > weight_max
				and iterations < items_count
				and items_dropped_count < items_dropped_max
			do
				i = math.random(items_count) -- случайный предмет
				if not items_dropped[i] then -- если он еще не был выброшен
					items_dropped[i] = true
					items_dropped_count = items_dropped_count + 1
					actor:drop_item_and_teleport(items[i][1], actor:position():add(calc_vector_add()))
					weight_rukzak = weight_rukzak - items[i][2]
					iterations = iterations + 1
				end
			end
			db.actor:disable_info_portion("biznes_remove_special_item")
			
			news_manager.send_tip(db.actor, "Из-за перегруза порвался рюкзак.", nil, "nano", 30000)
		end
	end
end


function calc_inventory_weight()	-- делается странное, удалить до последнего end
	items = {}
	items_dropped = {}
	weight_rukzak = 0
	ini = system_ini()

	-- сохраняются id предметов в слотах
	slot0_id = (db.actor:item_in_slot(0) and db.actor:item_in_slot(0):id()) or -1
	slot1_id = (db.actor:item_in_slot(1) and db.actor:item_in_slot(1):id()) or -1
	slot2_id = (db.actor:item_in_slot(2) and db.actor:item_in_slot(2):id()) or -1
	slot6_id = (db.actor:item_in_slot(6) and db.actor:item_in_slot(6):id()) or -1

	db.actor:inventory_for_each(process_calc) -- перебираются предметы в инвентаре,
	-- медленно и печально. Кстати, функция работает на самом деле странно, и ни кто не знает
	-- что она делает на самом деле.
end


function process_calc( item, npc )	-- перебор предметов в инвентаре, можно удалять.
	if item then
		local section = item:section()
		if section ~= "arc_ballast"	-- очередная дурная проверка. все, что могло
			-- повиснуть и вылететь - уже повисло и вылетело.
			and ini:section_exist(section)
			and ini:line_exist(section, "inv_weight")
		then
			weight_item = ini:r_float(section, "inv_weight")
			--get_console():execute("load ~~~ в рюкзаке: "..section.." весом: "..weight_item)
			if weight_item > 0 then
				local item_id = item:id()
				-- игнорируем предмет в слотах, на поясе, одетый бронежилет или "защищённый" предмет
				if  slot0_id ~= item_id
					and slot1_id ~= item_id
					and slot2_id ~= item_id
					and slot6_id ~= item_id
					and not inventory.on_belt(section)
					and protected_items.actor_items_keep(section) == false
				then 
					table.insert(items, {item, weight_item})
					table.insert(items_dropped, false)
				end
				-- но вес его учитываем
				weight_rukzak = weight_rukzak + weight_item
			end
		end
	end
end


function calc_vector_add()	-- как бы, случайный вектор. Не трогаем.
	local a = math.random() * 2 * math.pi
	local r = kolco.from + math.random() * math.abs(kolco.to - kolco.from)
	local x = math.cos(a) * r
	local z = math.sin(a) * r
	local y = visota.from + math.random() * math.abs(visota.to - visota.from)
	return vector():set(x, y, z)
end


function add_weight()	-- вычисление погоды на марсе, якобы связанное с надетым на ГГ костюмом
	-- не трогаем, по тому как мало ли где еще это случайное число требуется.
	local item = db.actor:item_in_slot(6)
	if not item then return 0 end

	local ini = system_ini()
	local section = item:section()
	if not (ini:section_exist(section) and ini:line_exist(section, "additional_inventory_weight")) then return 0 end

	local diff = level.get_game_difficulty()
	local cond = item:condition()
	return ini:r_float(section, "additional_inventory_weight")*(cond+(1-cond)*(3-diff)/3)
end


function vbr()	-- выбрасывание предметов в случайные промежуки времени
	if  db.vbr > time_global() or	-- классическая ошибка: люто, бешено, производим странные
		-- проверки в КАЖДОМ апдейте !
		db.actor:is_talking() or	-- а это - чтобы не вылетало, если копаемся
		has_alife_info("ui_car_body") or	-- в тайнике, разговариваем или
		has_alife_info("actor_fly") or		-- сработал телепорт
		has_alife_info("teleport_started") or
		db.no_cheat or
		not db.actor:alive() or
		(db.actor:active_slot() == 4 and device().fov < 60)
	then return end

	db.vbr = next_vbr()	-- вычисляется как бы время следующего срабатывания, но
				-- см. комментарий первой строки
	do_vbr()	-- выбросить случайный предмет

	-- итого, все сносим и вставляем строку	db.vbr = time_global() + 120000
	-- или db.vbr = time_global() + 300000  -- или еще больше. Без разницы.
end


function weight_ok()	-- танцы с бубном.
	weight_max = weight_normal+add_weight()
	if weight_max > 350 then weight_max = 350 end
	calc_inventory_weight()
	return weight_rukzak <= weight_max
	-- снести все, и вставить return true
end


function next_vbr()	-- как бы вычисление случайного времени. Можно оставить.
	return time_global()+300000+math.random(-60000,60000)
end


function vibros()
end

 

Не рвущийся рюкзак. Инструкция.

Изменено пользователем Eugen81
  • Полезно 1
Ссылка на комментарий

Вопрос к экспертам касательно ковыряния лута с трупов.

 

В гиде по ковырянию пишут, что минимальная распознаваемая вероятность спавна предмета - это 1%, то есть 0.01.

Однако даже при выставленном значении в 0.001 эти предметы спавнятся.

Что это - округление до 1% или же игра умеет распознавать и меньшие вероятности?

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

В оригинальном скрипте была ошибка. Я ее в свое время правил.

Попала ли правка в оп2 - не смотрел. Если спавнится - слава слонопотаму.

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

Правка цены на ручные телепорты стрелка, как то может повлиять на игру в целом? Баги и тп?
Например вот - -- для следующих телепортов обязательно должны быть указаны keep, pay и autosave
["arhara_obman1"] = {keep = true, pay = 35000, autosave = "l12u_sarcofag", goto_func = {"exit_ao1"}},
Если место 35000 поставить ну допустим 3500.

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

Обычно при изменении чего-либо теряют запятые, скобки и тому подобное. Потом найти довольно сложно. Так что вот с этим аккуратно, и не менять сразу много. dc

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

Опять плакал.

Несколько не понял - в процессе телепортации тырятся рандомные предметы?

 

Как бы, идея такая, что момент телепортации - единственный, когда НЕ тырятся. ;) Что, впрочем, не избавляет от слайд-шоу. dc

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

Поставил правку на отключение ограничения обмена у торговцев - не работает, ну по крайней мере у Ворона.
Может это быть из-за того, что я к моменту установки правки у него уже все выменял?

Поздно, да. Там была, на сколько я помню, "универсальная". А теперь надо еще проверку непосредственно в диалоге затыкать. dc

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

Мой ПК: i7-2600K (4000), Gigabyte Z68-B3, DDR3-16Gb, GeForce GTX 780 3Gb, Win7 64bit, широкоформат 16:9
Игровой набор: Сталкер ТЧ + патч 10006

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

У меня снова вопросы по луту с трупов:

 

1) Играл в игру и на мастере и на новичке. Зачистил блок-пост вояк и Агропром: на новичке выпало экзы 4 и 5 скатов, на мастере - ни одной экзы и ни одного ската. Вероятность выпадания броников всё же зависит от сложности? В каких файлах она зашита?

 

2) В каких файлах зашит ассортимент с трупов, кроме тех что мы уже разобрали? Там ведь неполный список. К примеру, в тех файлах не прописано выпадение пива и сникерсов, хотя они упорно выпадают.

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

...Вероятность выпадания броников всё же зависит от сложности? В каких файлах она зашита?

Как влияет сложность не знаю ,т.к. играю на разминке, но в файле gamedata/scripts/death_manager.script

-- вероятность выпадения бронежилетов и диапазон состояний выпавших бронежилетов и оружия

-- condition - диапазон состояний выпавших бронежилетов и оружия

-- probability_outfit - вероятность выпадения бронежилетов

local data_by_community = {

    default = { -- значения по-умолчанию для неизвестной группировки

        condition = {min = 45, max = 99},

        probability_outfit = 70

    },

    communities = {

        ["military"]    = {

            condition            = {min = 45, max = 99},

            probability_outfit    = 70

        },

        ["killer"]        = {

            condition            = {min = 45, max = 99},

            probability_outfit    = 70

        },

        ["monolith"]    = {

            condition            = {min =  45, max = 99},

            probability_outfit    = 75

        },

        ["zombied"]        = {

            condition            = {min =  45, max = 99},

            probability_outfit    = 75

        },

        ["bandit"]        = {

            condition            = {min = 45, max = 99},

            probability_outfit    = 70

        },

        ["stalker"]        = {

            condition            = {min = 45, max = 99},

            probability_outfit    = 70

        },

        ["dolg"]        = {

            condition            = {min = 45, max = 99},

            probability_outfit    = 70

        },

        ["freedom"]        = {

            condition            = {min = 45, max = 99},

            probability_outfit    = 70

        },

        ["ecolog"]        = {

            condition            = {min = 45, max = 99},

            probability_outfit    = 70

        },

        ["sniper"]        = {

            condition            = {min = 55, max = 99},

            probability_outfit    = 75

        },

        ["green"]        = {

            condition            = {min = 45, max = 99},

            probability_outfit    = 75

        },

        ["nebo"]        = {

            condition            = {min = 45, max = 99},

            probability_outfit    = 70

        },

        ["lastday"]        = {

            condition            = {min = 45, max = 99},

            probability_outfit    = 70

        }

    }

}

 

--' Предметы, относящиеся к патронам. Их надо спаунить другим методом.

 

 

 

Насчет выпадения патронов и пр. в этом сообщении смотри пункт 4.

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

Таки да, непонятно, к тому же - мимо. dc

Спавн на землю, и спавн в инвентарь - два разных спавна.

Ремнаборы с чужим визуалом - гм, а есть нормальный ?

 

Если решили доводить до ума, вот Вам в помощь: http://rusfolder.com/40878854

 

В каких файлах зашит ассортимент с трупов, кроме тех что мы уже разобрали?

В профиле НПС: 

#include "gameplay\character_items.xml"

#include "gameplay\character_food.xml" 

#include "gameplay\character_drugs.xml"

===========

Спавн на землю, и спавн в инвентарь - два разных спавна.

Так никто и не оспаривал...

Относительно "мимо": где?

 

function spawner:spawn(text,whre)

local type = text

local gde = tostring(whre)

local vid, gvid

local a = vector()

a = db.actor:position()

a.z = a.z + 2

a.y = a.y + 0.5

vid = db.actor:level_vertex_id()

gvid = db.actor:game_vertex_id()

--  local repiout =amk.load_variable("repair_item_outfit", 0)            -- определение по рем.наборам для загрузки переменной

--  local repiweap =amk.load_variable("repair_item_weapon", 0)    -- (загнул?) пофиг: более не нужно

  local n = 1

local sf = string.find(text,",")

if sf then

   n = string.sub(text,sf+1)+0

   if n==nil then

     n = 0

   elseif n>999 then

     n = 999

   end

   type = string.sub(text,1,sf-1)

end

if not system_ini():section_exist(type) then

   amk.send_tip("Секция "..type.." не существует!","Cheat: Spawner",0,10,"gen_info")

   return false

end

  for i=1,n do

   if gde=="1" then

    alife():create(type,vector():set(a.x-1+math.random()*2,a.y,a.z-1+math.random()*2),vid,gvid,65535) -- спавн вне актора(инвентаря)

 

   elseif gde=="2" then  

--[[ if string.find(type,"repair_item_outfit")then      -- тут просто: добавляем в некий сундук, прописанный 

repiout = repiout + 1                                             -- ранее в sak скрипте. Теперь его нет, 

amk.save_variable("repair_item_outfit", repiout)  -- и более это не нужно...

        

    elseif string.find(type,"repair_item_weapon")then

repiweap = repiweap + 1

amk.save_variable("repair_item_weapon", repiweap) ]]

         

alife():create(type,db.actor:position(),vid,gvid,db.actor:id())  -- спавн в инвентарь актора

    end

   end

  -- end -- будет лишнее...

 

 

Подобное так же прописано в ui_si.script, действия аналогичные...

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

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