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

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


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

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

Жду ли я Сталкер 2? Хм...
Ссылка на комментарий

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

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:

Выводы модмейкера:

1)Вылетает - это хорошо. Значит, работает :)

2) Если хочешь сделать что-то хорошо, делай сам!

3) Если падёшь духом, падёт и мод.

4) Он живой... :o

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

Подключил несколько локаций к зп. Настроил карту в пда и решил сделать, чтобы отображались переходы между уровнями (синяя стрелка при наведений на которую появляется надпись о переходе). Посмотрел как сделали разработчики 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

 

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

Freedom

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

Тупо добавить в 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)

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

Freedom

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

Разобрался я более менее со спавном артов, но некоторые настройки в 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. Я так понял в хелпе с сдк к сожалению болшинство доков относится к ЧН а не к ЗП.
Ссылка на комментарий

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

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

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

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

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

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

Срочно ищу опытного скриптёра и модельера, нужна помощь в создании мода.

Готовность мода Новый мир 85%.

Мод Огнемёт для ЗП v1.0 Скачать

 

 

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

От оно че, Михалыч... :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.

 

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

 

Сюжетное продолжение чистого неба
Зона обр.2010г.
S.T.A.L.K.E.R.-Расширение территорий

 

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

Кстати, 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 пользователей

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