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

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


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

Привет всем! Ребята, подскажите что ковырять, чтоб нельзя было ставить на оружие улучшения, добавляющие ПНВ?

добавил напиток, а старый - переименовал и изменил характеристики. Дак взял его, а он как вылетит!

FATAL ERROR

[error]Expression    : error handler is invoked!
[error]Function      : invalid_parameter_handler
[error]File          : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp
[error]Line          : 815
[error]Description   : 


stack trace:

Подключил несколько локаций к зп. Настроил карту в пда и решил сделать, чтобы отображались переходы между уровнями (синяя стрелка при наведений на которую появляется надпись о переходе). Посмотрел как сделали разработчики amk 0.4 и добавил скрипт вот с такой командой:

function level_changer()

local obj = alife():object(a)

if obj and obj:name() == "red_level_changer_0001" then

level.map_add_object_spot_ser(obj.id,"level_changer_down_spot","Путь на Янтарь")

end

local obj = alife():object(a)

if obj and obj:name() == "red_level_changer_0000" then

level.map_add_object_spot_ser(obj.id,"level_changer_right_down_spot","Путь Армейские склады")

end

local obj = alife():object(a)

if obj and obj:name() == "yantar_level_changer_0001" then

level.map_add_object_spot_ser(obj.id,"level_changer_right_spot","Путь на Росток")

end

local obj = alife():object(a)

if obj and obj:name() == "yantar_level_changer_0002" then

level.map_add_object_spot_ser(obj.id,"level_changer_left_spot","Путь в Рыжий лес")

end

local obj = alife():object(a)

if obj and obj:name() == "rostok_level_changer_0000" then

level.map_add_object_spot_ser(obj.id,"level_changer_right_spot","Путь в Бар")

end

local obj = alife():object(a)

if obj and obj:name() == "rostok_level_changer_0001" then

level.map_add_object_spot_ser(obj.id,"level_changer_down_left_spot","Путь на Янтарь")

end

end

end

 

 

 

И переходы не отображаются подскажите в чем проблема.

lexanoise

Еще бы он у тебя работал. Я вообще удивляюсь как ты игру запустил:

1. Куда ты скрипт прописал? Что то мне подсказывает что он у тебя тупо не запускается

2. Что у тебя за переменная а в строке local obj = alife():object(a)?

3. Зачем ты поставил аж 3 энда вместо 2? Чтоб уж наверняка функция окончилась? Нет, движок не человек, он с первого раза понимает

Правильный скрипт такой:

function level_changer()
for 1,65635 do
local obj = alife():object(a)
if obj then
if obj:name() == "red_level_changer_0001" then
level.map_add_object_spot_ser(obj.id,"level_changer_down_spot","Путь на Янтарь")
end
if obj:name() == "red_level_changer_0000" then
level.map_add_object_spot_ser(obj.id,"level_changer_right_down_spot","Путь Армейские склады")
end
if obj:name() == "yantar_level_changer_0001" then
level.map_add_object_spot_ser(obj.id,"level_changer_right_spot","Путь на Росток")
end
if obj:name() == "yantar_level_changer_0002" then
level.map_add_object_spot_ser(obj.id,"level_changer_left_spot","Путь в Рыжий лес")
end
if obj:name() == "rostok_level_changer_0000" then
level.map_add_object_spot_ser(obj.id,"level_changer_right_spot","Путь в Бар")
end
if obj:name() == "rostok_level_changer_0001" then
level.map_add_object_spot_ser(obj.id,"level_changer_down_left_spot","Путь на Янтарь")
end
end
end

 

Но так как перебирать все предметы игры не рационально, прошу мастеров подсказать более действенный способ

Тупо добавить в db таблицу level_changers = {}. После этого в se_level_changer в on_register() поставить db.level_changers[self:name()] = self и соответственно на on_unregister() ставим db.level_changers[self.id] = nil.

 

После этого можно вот таким циклом

 

for k,v in pairs(db.level_changers) do
if k == "имя объекта, для которого создаём отметку на карте" then
   level.map_add_object_spot_ser(v.id,"имя отметки на карте","Текст, которым метка подписывается в PDA")
end
end

 

Хотя можно и без цикла обойтись - просто запрашивать значение (так быстрее):

 local name = "имя объекта, для которого создаём отметку на карте"
if db.level_changers[name] ~= nil then
   level.map_add_object_spot_ser(db.level_changers[name].id,"имя отметки на карте","Текст, которым метка подписывается в PDA")
end

После создания скриптовой кнопки перестают работать каллбеки на нажатие. Создал дефолтную кнопку

local oScrollButton = CUIButton()

self:AttachChild(oScrollButton)

Даже после этого перестают работать каллбеки

Разобрался я более менее со спавном артов, но некоторые настройки в LTX-х аномальных зон не до конца понял:

respawn_tries = это я так понимаю время респавна а не количество попыток? В чем оно меряется?

coeff = число, число... какой-то коэффициент по типам списка спавнящихся артов..хз что-это?

field_name = zat_b14_zone_field_radioactive_weak имя поля, я его вообще не создавал (поле) оно и так работает

И еще непонятка с лэерами (уровнями) Там есть конструкции вида:

layers_count = 3

 

[mines_core]

zat_b14_zone_mine_gravitational_weak

 

[layer_1]

mines_section = mines_layer_1

 

[mines_layer_1]:mines_core

zat_b14_zone_mine_gravitational_weak_0018

zat_b14_zone_mine_gravitational_weak_0019

zat_b14_zone_mine_gravitational_weak_0020

..и так-же другие layer...

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

Может кто объяснить как эти лееры работают? Вобщем по любой инфе о настройках аномалий буду благодарен.

RvP, спасибо конечно, но я прежде чем задать какой-то вопрос всегда в первую очередь просматриваю хелпы от сдк и инфу на сталкерине. Так вот в том что ты предлагаешь нет ни одного слова по layers. Я так понял в хелпе с сдк к сожалению болшинство доков относится к ЧН а не к ЗП.
Clayman, если я не ошибаюсь, лееры это варианты расстановок аномалий(одиночных) в поле

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

У меня вопрос интересный. :ny_happy:

Можно ли на Юпитере отключить стартовую сцену?

Которая активируется при спавне Гг.

Если да, то подскажите пожалуйста, как это сделать. :ny_unsure:

От оно че, Михалыч... :D Именно это и было нужно, спс.

Ну и на закуску вопросик: а есть в смарте работа на сбор артефактов неписями? Ну там путь прописал до аномального поля с именем нужным?

Люди, извиняюсь если было, поиск ничего не дал.

есть такая вещь, как "перепакованный в сдк зов припяти с локациями из чистого неба" я на его основе сдуру сделал солянку, немного поправил, присоеденил новых локаций, всё бы ничего, да вот при переходе на ориинальные локации или загрузке после убийства происходит вылет

Function : CVirtualFileReader::CVirtualFileReader

File : D:\prog_repository\sources\trunk\xrCore\FS.cpp

Line : 545

Description : c:\program files\gsc world publishing\s.t.a.l.k.e.r. - Зов Припяти\gamedata\spawns\all.spawn

Arguments : Not enough storage is available to process this command.

 

как видно, проблема в алл.спавне, если кто знает, как с этим бороться? подскажите пожалуйста.

 

Как вырвать аи сетку Для отдельной локи из CoP?

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

Кстати, layers в аномалиях не меняют положение мин а включают и выключают их. Но закономерность какай-то непонятная, не после каждого выброса и как-то рандомно что ли. И я так понял есть ядро аномального поля mines_core, которое включено всегда, а леерс со списком аномалий-мин включ. и выкл.

 

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

Про создание сквада сто раз уже обсуждалось, даже не сталкерине вики уже тутор есть. Чтобы респавнился сквад в смарте нужно прописать в ltx-е смарта примерно такое:

 

respawn_params = respawn@твойсмарт_a1_smart

 

[respawn@твойсмарт_a1_smart]

spawn_твойсмарт@novice

 

[spawn_твойсмарт@novice]

spawn_squads = нужный_сквад

spawn_num = 2

 

Смотри как в затоновских файлах (\gamedata\configs\scripts\zaton\smart\) например все прописывается, многие вопросы отпадут.

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

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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