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

Ковыряем ОП-2


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

если проделать эти манипуляции в игре, как ты описал, я правильно понимаю - Ахтунги исчезнут.

Ахтунги исчезнут, потому как вновь заспавненные объекты окажутся на положенных местах, согласно отработанной логики(наверное)...

С поправкой на:

Традиционно это делается в netspawn(),там где --[[local bad_object_names...Можно удаление даже готовое оставить, и по аналогии слепить создание.

на тех же вертухах:

 

- сделать сейв перед Агро.

- в bind_stalker.script в код по удалению глючных объектов вписываем имена(name) и сразу рас комментировать само условие, т.е.:

local bad_object_names = {"agro_final_vert1", "agro_final_vert2", "agr_nii_heli", "agr_helicopter1", "agr_helicopter2", "agr_helicopter3", "agr_helicopter4" }  
local i, se_name, se_obj

for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
   if se_obj then
    news_manager.send_tip(db.actor,"Удалили глючный объект:"..se_name,nil,nil,1000)
    alife():release(se_obj, true)  
  end
end
где сработает удаление перечисленных объектов при загр. сейва до Агро.

- в вашем скрипте:

function perespawn()
local zaglushka = false
if level.name() == "l03_agroprom" then -- условие на каком уровне сработает, в данном случае Агропром, можно и без него, тогда спавн сработает при загр. сейва до Агро. и нужно убрать последнее end...
alife():create(4421) -- сам спавн объектов
alife():create(4422)
alife():create(4662)
alife():create(4727)
alife():create(4731)
alife():create(4733)
alife():create(4732)
zaglushka = true
end
end
end
- по аналогии с пред. постом: добавляем в bind_stalker.script, в function actor_binder:update(delta)(можно сразу под ним)

название вашего скрипта.perespawn()
Загружаете послед. сейв - переход на Агро. - делаете сейв( только не сразу, 2 мин достаточно) - ахтунгов нет..?

Выходим из игры и проделываем манипуляции в bind_stalker.script по каментированию запущенных условий...

 

 

Изменено пользователем alen_fantom
  • Нравится 1
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

Как будто, после сдачи кейса С Агро.(по ориг. сюжету), эти ("agr_nii_heli", "agr_helicopter1", "agr_helicopter2", "agr_helicopter3", "agr_helicopter4") не нужны..?

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

Поделиться этим сообщением


Ссылка на сообщение

Dennis_Chikin, это опять же к последнему абзацу из предыдущего твоего поста...
В ситуации с magamed, с его ахтунгами на Агро., если не переспавнить кодами выше "agro_final_vert1", "agro_final_vert2" - а это "Сходка авторитетов...", то потом нужно спавнить как минимум из диалогов..? И кто ему это сделает..?

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

Поделиться этим сообщением


Ссылка на сообщение

Подскажите, если это не секрет - как можно убрать радиацию из автотранспорта в ОП-2 и вообще в Солянке? У Шадовса ведь получилось это сделать в ДМХ...

https://yadi.sk/d/W1-iBItNd8YzC

Выдрал из ДМХ. В архиве под соль 03.09.10 и Оп-2(патч 2.06\фикс 1).

З.Ы. Скорее всего в кодах не всё путём, но работает...

  • Спасибо 2

Поделиться этим сообщением


Ссылка на сообщение

MaxSE, благо что в ОП-2 только добавляются объекты, без изменения spawn_id и story_id. В противном случае играли бы только тестеры...

Как уже писал Dennis_Chikin, если в секции объ. что-то менялось( section_name -- кстати о бесмертии, логика, пути и т.д.), то чтобы изменения вступили в силу необходима НИ, но (здесь можно отметить разрабов ОП-2) можно и переспавнить объект(!), где вновь созданный на основе правленой секции. За что и отвечает all_spawn_fix.script, что и дало возможность продолжать игру без НИ, независимо от патчей...

Про заевшее вас бесмертие: даю на виртуальное отсечение виртуальную голову, если начать НИ на чистом ОП-2(без патче\фиксов) с правленым all.spawn на "кащейство", сделать сейв, вернуть оригинал all.spawn, и продолжать игру накатывая по выходу патчи\фиксы до 2-06-1, ваши "кащеи" так и останутся "кащеями"(если не попали под переспавн в 2-06-1)...Про глюки и вылеты по этому поводу: не встречал, наверное от сюда и моё мнение...

 

Он вообще распаковывается на данный момент общедоступными средствами?

С лёту...Если всё делаешь по инструкции и знаешь "волшебную" строчку

О волшебстве: когда соберёшь ВСЮ папку конфигов, в конфиге w_val:

class = WP_AK74 -- меняешь на должный: WP_VAL

Меня заел переход на неправленную актуальную версию без начала новой игры.

Переспавн!!! И не нужно в all_spawn_fix.script - там через поршни. При след патче, если добавлен переспавн, придётся подгонять...Как переспавнить, здесь было, поищи...

-----------------------

Вру! Можно и через all_spawn_fix.script: добавить в таблицу(по аналогии) всех "кощеев". Только придётся откатываться на сейв до "официального" переспавна...

---------------------

А ещё можно всех пострелять, а потом "оживить". Пришлось, на днях, выправлять чужой затык таким методом...

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

Поделиться этим сообщением


Ссылка на сообщение

Ещё был телепортатор с отметками на карте, может кто вспомнит?

Не понимаю зачем Вам тот раритет, когда предложенный romale "Mobile Manager" весьма прекрасно работает на ОП-2(в плане телепортации). Так ли нужны отметки на карте локаций..? 

fe29a32fb2c767225fde2a4c8a3f21cc53952920 be71e079959406430e4c81247452eaae53952920 64e6cc5b97df522e04ef330f237fe25c53952920 f3ab24625ec3490aeaeb35cb6b4a3cc753952920 939d935d2d09332e49feff959b19658653952920 939d935d2d09332e49feff959b19658653952920

 

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

Поделиться этим сообщением


Ссылка на сообщение

Arguments : Can't open section 'identity_immunities'

[mobile]:identity_immunities - зашит в gamedata.dbmm - в папку с игрой устанавливали? Адаптация весьма не сложная...

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

Сложно и баговано. Что будет с точкой перехода если объект по каким то причинам исчезнет..?

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

===================

Проверяй:

"system.ltx" добавить: #include "mobile\mobile.ltx"

"localization.ltx" в список xml файлов, добавить: ui_st_mobile,

"ui/ui_custom_msgs.xml" в теле основного тэга <header>, втавить: #include "ui\mobile\_ui_msgs.xml"

"ui/map_spots.xml" в список инклудов, добавить: #include "ui\mobile\map_spots_mobile.xml"

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

Поделиться этим сообщением


Ссылка на сообщение

Ссори за офтоп.

sv reject. id_parent [46902][wpn_svd:wpn_svd46902] id_entity [46902][wpn_svd:wpn_svd46902] [37255] ~ ERROR: can't detach independant object. entity[wpn_svd46902:46902], parent[wpn_svd46902:46902], section[wpn_svd] sv ownership id_parent [12936][stalker_sakharov:bar_dolg_petrenko] id_entity [46902][wpn_svd:wpn_svd46902] [37255]

Просто интересно, как относятся НПС к изменению слота для ствола..?

У неписей НЕТ инвентаря. Поэтому ко всему, что касается этого самого инвентаря, они относятся НИ КАК. dc

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

Поделиться этим сообщением


Ссылка на сообщение

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

Нельзя ставить amk.script поздней версии фикса(2.06-ф2). Если установлено 2.06-ф3\ф4, то вытаскивать и править оный...

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

Сомнительно...Собственно, на кой комментировать всё подряд в function on_part_take(obj)(monster_parts.script) если не вырубать вызовы в других скриптах..? В той функции достаточно изменить:

if actor_has_knife() or not actor_has_knife() then -- есть или нет холодного;
		local difficulty = level.get_game_difficulty()
		if difficulty > 3 then -- и на реализме не будет работать всё что ниже;
====================

Наверное в bind_stalker даже можно без последствий вырубить эти все проверки на ножи?

Можно..,там же: --monster_parts.on_part_take(obj) Изменено пользователем alen_fantom
  • Полезно 2

Поделиться этим сообщением


Ссылка на сообщение

но на практике у меня ни разу не выпадала аптечка или артефакт

С такими значениями (в  death_items_by_communities.ltx):

af_medusa    = 0.02
af_cristall_flower  = 0.01
af_night_star   = 0.01
... и т.д.
точно не увидите...

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

Чем меньше барахла в игре - тем лучше...
  • Нравится 2

Поделиться этим сообщением


Ссылка на сообщение

Юзал инет так ни чего и не понял

Э-э-х...

При заходе на экран главного меня муз. заставка будет выбираться случайно из добавленных вами.

1. В директорию gamedata\sounds\music\ положить два канальных ogg-файла с нужной музыкой, например: my_music_l.ogg (левый канал) и my_music_r.ogg (правый канал)

2. В текстовом редакторе открыть файл gamedata\config\ui\ui_mm_main.xml, найти в нем строку:

<menu_sound random="0" >

и заменить на:

<menu_sound random="1" >

3. В этом же файле найти строку:

<menu_music>music\wasteland2</menu_music>

и ниже нее выставить следующую строку:

<menu_music>music\my_music</menu_music>

4. Сохранить файл.

5. Если требуется вставить больше муз. заставок, то в параметре random укажите их количество.

 

Изменено пользователем alen_fantom
  • Спасибо 2
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

А что, до сегодняшнего дня ни кто не замечал,... убрали проверку опций... ?

Проверка как бы вырублена изначально. У xxxDJxxx скорее всего, по игре, работает: 

db.actor:has_info("haker_soft_pda")
несколько сюжетных моментов, где "глушится" lootmoney. А так работает нормально.

archievements.acv_count_event("acv_mar", 50000, "Мародёр", deadmoney)
Одна из многочисленных "очивок"(блин, словарём не проверишь) - достижение.
  • Согласен 2

Поделиться этим сообщением


Ссылка на сообщение

Arguments : LUA error: ...a\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:72: attempt to index global 'fly' (a nil value)

Ошибка при редактировании скрипта. По сему: выкладываете код(где, что и как правили).

 

Собственно: в том же скрипте

function actor_is_in_danger()
...
if difficulty < 2 then -- не реагирует на "разминке и экстрим"? выставить 3(оставить для реалистов)...
		return false
	else
		return danger.actor_in_danger(danger_text, danger_text, difficulty == 2) -- тоже самое...
	end
end
Аналогично с телепортацией - meceniy_intellectual.script, spawn_level_changer.script... Изменено пользователем alen_fantom

Поделиться этим сообщением


Ссылка на сообщение

Ссори за офтоп.

Про mobile: оригинал плюшки(Mobile Manager v1.1.004.04a) прекрасно удаляется, сохраняется, и грузиться после.

Возможно(не уверен), что-то не то в адаптации под ОП-2, и да, перед удалением необходимо почистить всё, что создавалось вне актора...

ЗЫ: данная плюшка как и чит-спавнер, для юзеров со стажем+голова...

============================

Изменено пользователем Eugen81
Выделил.
  • Нравится 1
  • Согласен 3

Поделиться этим сообщением


Ссылка на сообщение

mafic, мне особо не когда, как вижу и многим...
Сейв не скидываю, всё просто:

можно ориентироваться по координатам

14c8749c337cd56bc30b81df1b7ab50b2ee58c20, опция "контролёр" - в первой закладке выбрать "зоны" и смотрим level_changer(их несколько, я с ориентировался по координатам. Можно поочерёдно ставить метки, чтобы найти нужный, но не забывать удалять не нужный, как и необходимый  1956571102d1b0d2e6d6e92026ea05be2ee58c20, b9ab448c1c5605ee61995e1c579c6a422ee58c20,6e0d9b0fe47c7d8040b06dcda51a1f572ee58c20

 

  • Нравится 2
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

Dennis_Chikin, да всё там нормально, если с оф. ссылок. Нет никакой доп.защиты.

Dennis_Chikin, для актора - да. А проверка по холодному появилась ещё в 2.06\3 - function get_item_params(sobj)
function set_item_params(t,sobj)
Тут у многих косяк, с накатыванием правок, а не редактированием из соответствующего...

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

Поделиться этим сообщением


Ссылка на сообщение

но таймер на ЧАЭС показывает 0:30:00. Может что то еще надо править?

В виду:

function switch_timer_stancia()
	for a=2000,2100,1 do
		local obj=alife():object(a)
		if (obj and obj.name and obj:name() == "aes_space_restrictor_timer") then
		local params=get_restrictor_data(obj)
		--dbglog("Entered: "..obj:name().." id-"..a.." sid-"..obj.m_story_id) --id~2031
		params.custom="[logic]\ncfg = scripts\\aes\\aes_space_timer.ltx"
		set_restrictor_data(params,obj)
		end
	end
end

можно править не ковыряя all. Только действия логики никто не отменял:

[sr_idle]
on_info = {+aes_actor_road} sr_timer1
on_info2 = {+strelok_pda_have} nil
...

т.е. изменения вступят в силу, если ещё не было этой инфы...Как вариант: скриптово удалить инфу(aes_actor_road), сохранить игру, переспавнить рестриктор, выдать инфу и проверять...

Таймер ЧАЭС

Изменено пользователем alen_fantom
  • Нравится 1
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

Если и делать, то место этому в net_spawn(data), например:

function actor_binder:net_spawn(data)
...
...
spawn_level_changer.remove_old_teleport()
sak.add_new_bar_to_atp() -- переход "Бар - АТП"
Будет и метка и переход... Изменено пользователем alen_fantom
  • Нравится 1
  • Согласен 1
  • Полезно 1

Поделиться этим сообщением


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

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