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

[CoP] Ковыряемся в файлах


Halford

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

Простите за офф-топик, как сделать чтобы в ЗП переходы отображались на карте?

А также у меня при попытке заспавнить "метку на карте" (простите за мой простонародный слэнг) батник отказиваеться собирать алл спавн(

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

47.gif

LXTwrBW.png
ukgXKMe.png

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


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

Вопрос - при переносе уровня на ЗП еногда игра в последствии выдает такой лог

 

FATAL ERROR

 

[error]Expression : fatal error

[error]Function : CResourceManager::_GetBlender

[error]File : D:\prog_repository\sources\trunk\Layers\xrRender\ResourceManager.cpp

[error]Line : 60

[error]Description : <no expression>

[error]Arguments : Shader 'бла-бла-бла' not found in library.

 

stack trace:

:russian_ru:

как с этим боротся (обойти)????

 

Добавлено через 19 мин.:

*иногда B)

 

Добавить недостающий шейдер.

ColR_iT

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

47.gif

LXTwrBW.png
ukgXKMe.png

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


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

Вопрос по ЗП.

Есть куча уроков как добавить и прописать уровень в скриптах. А может кто объяснить как убрать уровень из мода и при этом не нарваться на вылеты?

Какие секции и из каких файлов удалять? И если уровень останется в section4.bin - это как нибуть повлияет на стабильность? (спавн чистый - нету даже переходов)

47.gif

LXTwrBW.png
ukgXKMe.png

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


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

Когда то спрашивал про то как в пда включить метки переходов, сейчас при попытке сделать это ловлю вылет "бла-бла-бла? attempt to index 'obj' (a nill value)"

 

 

 

 
Простите за офф-топик, как сделать чтобы в ЗП переходы отображались на карте?

А также у меня при попытке заспавнить "метку на карте" (простите за мой простонародный слэнг) батник отказиваеться собирать алл спавн(

 

 

 

Outlaw, привожу способ, когда-то, кем-то в этой теме описанный:

 

Делаешь скрипт,например, lev_ch.script, в него пишешь:

 

 

Clayman, конечно это "кому-то", кто написал процитированное тобою нужно бы адресовать:"А головою кто будет думать?", но и тебе стОит более критично цитировать ...

Цитата

Далее, в bind_stalker.script после function actor_binder:update(delta) надо написать lev_ch.level_changer()

Это для того, чтобы один раз в самом начале игры поставить метки дается совет ставить проверку и выдачу каждые 20ms на потяжении все игры? wub.gif

Ну посмтотите тот саму функцию actor_binder:update(delta)!

Ведь все уже есть готовое:

 

 

 

if self.bCheckStart then

printf("SET DEFAULT INFOS")

if not has_alife_info("global_dialogs") then

self.object:give_info_portion("global_dialogs")

end

if not has_alife_info("level_changer_icons") then

self.object:give_info_portion("level_changer_icons")

end

self.bCheckStart = false

end

- и инфопоршень ("level_changer_icons") именно для отображения иконок переходов и именно только один раз при первом апдейте ...

 

Всего то нужно вставить сюда (при выдаче инфопоршня) вызов lev_ch.put_spots() или даже саму функцию.

 

 

Подскажите что за бабуйня и как с ней бороться?

Код

function level_changer()

if not has_alife_info("info_new_level") then

put_spots()

db.actor:give_info_portion("info_new_level")

end

end

 

function put_spots()

for i=1,65534 do

local obj = alife():object(i)

if obj then

if obj:name() == "Название 1-го левел чэнджера" then

level.map_add_object_spot_ser(obj.id,"level_changer_up","Подпись 1")

elseif obj:name() == "Название 2-го левел чэнджера" then

level.map_add_object_spot_ser(obj.id,"level_changer_up","Подпись 2")

elseif .....

end

end

end

Название берётся из поля name level_changer'а в all.spawn;

Подпись - например, "На Кордон".

Далее, в bind_stalker.script после function actor_binder:update(delta) надо написать lev_ch.level_changer()

и в файл info_portions.xml вставить строку

<info_portion id="info_new_level"></info_portion>

 

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

47.gif

LXTwrBW.png
ukgXKMe.png

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


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

Когда то спрашивал про то как в пда включить метки переходов, сейчас при попытке сделать это ловлю вылет "бла-бла-бла? attempt to index 'obj' (a nill value)"

 

 

 

Простите за офф-топик, как сделать чтобы в ЗП переходы отображались на карте?

А также у меня при попытке заспавнить "метку на карте" (простите за мой простонародный слэнг) батник отказиваеться собирать алл спавн(

 

 

 

Outlaw, привожу способ, когда-то, кем-то в этой теме описанный:

 

Делаешь скрипт,например, lev_ch.script, в него пишешь:

 

Clayman, конечно это "кому-то", кто написал процитированное тобою нужно бы адресовать:"А головою кто будет думать?", но и тебе стОит более критично цитировать ...

Цитата

Далее, в bind_stalker.script после function actor_binder:update(delta) надо написать lev_ch.level_changer()

Это для того, чтобы один раз в самом начале игры поставить метки дается совет ставить проверку и выдачу каждые 20ms на потяжении все игры? wub.gif

Ну посмтотите тот саму функцию actor_binder:update(delta)!

Ведь все уже есть готовое:

 

 

 

if self.bCheckStart then

printf("SET DEFAULT INFOS")

if not has_alife_info("global_dialogs") then

self.object:give_info_portion("global_dialogs")

end

if not has_alife_info("level_changer_icons") then

self.object:give_info_portion("level_changer_icons")

end

self.bCheckStart = false

end

- и инфопоршень ("level_changer_icons") именно для отображения иконок переходов и именно только один раз при первом апдейте ...

 

Всего то нужно вставить сюда (при выдаче инфопоршня) вызов lev_ch.put_spots() или даже саму функцию.

 

 

Подскажите что за "ерунда" и как с ней бороться?

 

Поменьше "жаргона" в постах.

ColR_iT

Код

function level_changer()

if not has_alife_info("info_new_level") then

put_spots()

db.actor:give_info_portion("info_new_level")

end

end

 

function put_spots()

for i=1,65534 do

local obj = alife():object(i)

if obj then

if obj:name() == "Название 1-го левел чэнджера" then

level.map_add_object_spot_ser(obj.id,"level_changer_up","Подпись 1")

elseif obj:name() == "Название 2-го левел чэнджера" then

level.map_add_object_spot_ser(obj.id,"level_changer_up","Подпись 2")

elseif .....

end

end

end

Название берётся из поля name level_changer'а в all.spawn;

Подпись - например, "На Кордон".

Далее, в bind_stalker.script после function actor_binder:update(delta) надо написать lev_ch.level_changer()

и в файл info_portions.xml вставить строку

<info_portion id="info_new_level"></info_portion>

 

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

47.gif

LXTwrBW.png
ukgXKMe.png

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


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

По поводу меток переходов. Помогло немного другое построение скрипта. Может кому пригодится.

function upd_level_changer()

for a=1,65534 do

local obj = alife():object(a)

if obj then

if obj and obj:name() == "имя_перехода_в_allspawn_1" then

level.map_add_object_spot_ser(obj.id,"level_changer_up","Название метки на карте 1")

end

end

if obj then

if obj and obj:name() == "имя_перехода_в_allspawn_2" then

level.map_add_object_spot_ser(obj.id,"level_changer_up","Название метки на карте 2")

end

end

...

end

end

 

 

В ЗП когда заспаунишь переход он действует сразу при попадании игрока в него, без вопросов. Никто не подскажет как этот "Вопрос типа вы действительно хотите перейти на другую локацию? Да/Нет" восстановить? А то даже проверить границы перехода проще будет)

47.gif

LXTwrBW.png
ukgXKMe.png

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


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

Перенес Мертвый Город на ЗП. Все работает, но вот проблема - террейн отображается размытым. Добавление .thm файлов к текстурам террейна не помогло(использовал и от готовых лок и новые создавал в СДК).

без thm


909222e09b14t.jpg
3c40eeb0c67et.jpg
c thm
ac775e031330t.jpg
aec64ce29eeet.jpg
85ab651a2f1dt.jpg

 

47.gif

LXTwrBW.png
ukgXKMe.png

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


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

Ты перенос текстуры из textures/terrain/terrain_название_локи.dds

Да, текстуры террейна скопировал в первую очередь. Все остальные текстуры тоже на месте. Первый раз такое, вон "Даркскейп" и "росток" перенес - все нормально, а МГ наибольш нравится - и фигушки((( Обидно....

Заметил что данный баг проявляется только на динамическом. На статике и полном динамическом - все нормально...

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

47.gif

LXTwrBW.png
ukgXKMe.png

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


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

]snork[
Р.М.А. мод 1.1.5.

Привила цитирования обходят всех.

Не нужно цитировать полностью слова из предыдущего поста, достаточно указать ник того, к кому обращаешься.
ColR_iT

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

47.gif

LXTwrBW.png
ukgXKMe.png

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


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

При спавне определённых объектов через алл.спавн есть такой кусок в секции:

position = a,b,c

...

shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = R
Ну это понятно - будет иметь форму шара с центром в точке с координатами a,b,c и радиусом R. 
Вопрос - как быть с таким вариантом:
position = a,b,c

...

shapes = shape0

shape0:type = box

shape0:axis_x = X
shape0:axis_y = Y
shape0:axis_z = Z
shape0:offset = 0,0,0

 

Понятно что это прямоугольный параллелепипед, но что такое  значения X, Y, Z. И что обозначают координаты a,b,c? (Угол, центр масс?)

 

47.gif

LXTwrBW.png
ukgXKMe.png

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


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

 

 

в конфиге бинокля для отрубления рамки vision_present = false

А как их включить в другой пушке, например в СВД? Прописал в конфиге:

 

vision_present = true
vis_frame_speed = 4
vis_frame_color = 0.7,0.7,0.7,1.0
found_snd = detectors\DA-2_beep1
catch_snd = detectors\DA-2_beep1
 
Толку - ноль  :(

47.gif

LXTwrBW.png
ukgXKMe.png

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


Ссылка на сообщение
Для вас что бинокль, что свд - это одно и то же.

Я сюда за советом пришел, а не за твоим мнением. Технически бинокль - оружие.

СВД - это я для примера сказал, а мне нужно для гаусс-пушки, так как я адаптировал прицел гаусса из OGSE для ЗП. Вот и решил также сделать переменную кратность и захват цели.

Если поставить "class = WP_BINOC" тогда захват работает, но нельзя выстрелить.

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

47.gif

LXTwrBW.png
ukgXKMe.png

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


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

Может не в классе дело? СВД после апгрейда тоже может захватывать цель. А судя по конфигам апгрейд добавляет только это "scope_alive_detector = scope_detector". Хотя если просто так прописать - не работает.

47.gif

LXTwrBW.png
ukgXKMe.png

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


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

Довольно нубский вопрос, но вот если добавил или восстановил монстра (например зомби), где и что подприваить для его отображения в ПДА в разделе "самый сильный убитый монстр"? Интересуют только скрипты и конфиги которые надо править - текстурку перерисовать смогу сам. Спасибо.

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

47.gif

LXTwrBW.png
ukgXKMe.png

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


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

Немного разобрался. Но нужна помощь/совет.

Через bind_stalker.script с помощью функции "function actor_binder:use_inventory_item(obj)" запускаю скрипт.

Скрытый текст

        if(s_obj) and (s_obj:section_name()=="medkit") then
            anm_use_item.use_inventory_item(s_obj) end
        end

Далее в отдельном скрипте anm_use_item.script по идее надо:

Скрытый текст

 

1. Запустить функцию

function use_inventory_item(s_obj) 
    if s_obj:section_name()=="medkit" then

2. Отобрать у игрока управление

        level.disable_input()

3. Спрятать оружие
        db.actor:hide_weapon()

4. Удалить бинокль из слота в инвентаре

        -- ??? --

5. Создать фейк обьект с анимацией 
        alife():create("anm_medkit", vector(), 0, 0, db.actor:id())  -- как добавить сразу в слот бинокля? а то иногда с первого раза не срабатывает.

6. Достать фейк-обьект
        db.actor:activate_slot(5) -- хотя тут по идее db.actor:hide_weapon() будет мешать?

7. Одновременно с предыдущим пунктом запустить  нужный звук и эффект камеры

        -- ??? --
        level.add_cam_effector("itemuse_anm_effects\\aptechka_use.anm", 4350, false)
8. После задержки в t секунд спрятать фейк обьект, удалить его из слота и заспавнить бинокль

        db.actor:hide_weapon()

        -- ??? --

        alife():create("wpn_binoc", vector(), 0, 0, db.actor:id())

9. Достать оружие и можно добавить снова небольшую задержку, а потом вернуть управление игроку

        db.actor:activate_slot(2)) -- db.actor:hide_weapon() все также будет мешать?

        -- ??? --
        level.enable_input()
   end 
end 

 

Хотел сначала просто с аптечкой разобратся, а потом попробовать сделать в отдельный скрипт таблицу с данными (исп.предмет\фейк-предмет\задержка t) для разных аптечек и медикаментов, чтобы не копировать постоянно, а просто можно было бы если добавил новые таблетки дописать в таблицу строчку и все))). Если кто поможет - заранее спасибо.

Админам - удалите два моих предыдущих поста.

  • Полезно 1

47.gif

LXTwrBW.png
ukgXKMe.png

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


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

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