Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: denis2000, FantomICW  
Модостроение. Общие вопросы и ответы
denis2000Дата: Сб, 15.06.2013, 11:51 | Сообщение # 1
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Помощь тем кто хочет знать больше о игре и модах

Если у вас появились вопросы по модостроению в игре S.T.A.L.K.E.R. Задавайте их в этой теме - умные головы,
модосторители и просто разбирающиеся в программировании люди вам ответят.


Много интересного материала здесь (wiki), Lua_help.script, Help из SDK 0.7

Сборник модостроения ЗП v10.10.11 (автор: XOBAH): *.CHM, *.HTML
[cut noguest=Если у вас не открывается файл CHM]Если у вас не открывается файл:
1. Запустите [Пуск]=>[Выполнить] (либо хот-кей [WIN]+[R])
2. Введите команду (без кавычек) "regsvr32 %windir%\system32\hhctrl.ocx"
3. Если вылезло окно об успешном завершении вы все сделали правильно и можете перезагружать компьютер (а может и не надо)
Также: файлы МОГУТ не открываться если в пути к файлу есть: символы кириллицы, "_", "#"
Также: есть не стандартные программы-просмоторщики CHM файлов. Например: FBReader[/cut]
[cut=Где найти лог игры после вылета]Что такое LOG ошибки, и как мне его найти?
Это система отладки происходивших вылетов, которая подается игрой в форме текста, хотя не всегда.
Для того чтоб найти LOG необходимо зайти вот сюда:

В Win хр лог находится:

C:\Documents and Settings\All Users\Документы\S.T.A.L.K.E.R. - Зов Припяти\logs

Затем открываете первый файл в формате TXT, и в нем отбираете с низу 25 строчек. После кидаете эти 25 строчек в сообщение на форум.

В Win7 лог находится C:\Users\Public\Documents\S.T.A.L.K.E.R. - Зов Припяти\logs

Путь к папке с логом можно найти открыв файл fsgame.ltx который находится в корневой директории ЗП, за это отвечает строка:
...
$app_data_root$ = true | false| $fs_root$| users\
(тут мы указываем что папка пользователя, будет хранится рядом с Fsgame.ltx)
...
$logs$ = true| false| $app_data_root$| logs\
(а тут мы указываем что в папке пользователя, в подпапке Logs будут храниться наши логи)
...
[/cut][cut=Получение более подробной информации о вылете (ХОВАН)]
Открываем файл _g.script и ищем такую функцию: function abort(fmt, ...)
Там есть заккомментированная строчка "--error_log(reason)", ее и надо расскомментировать, должно получиться вот так:
Код
function abort(fmt, ...)
                     local reason = string.format(fmt, ...)
                     error_log(reason)
end

Вот для примера два одинаковых вылета, первый с функцией по умолчанию, второй - с поправленной функцией

Первый:
Код
Expression    : !m_error_code
Function      : raii_guard::~raii_guard
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line          : 748
Description   : ....a.l.k.e.r. - Зов Припяти\gamedata\scripts\_g.script:478: bad argument #2 to 'format' (string expected, got nil)

Второй:
Код
Expression    : 0
Function      : ErrorLog
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp
Line          : 49
Description   : 'Attempt to read a non-existant string field 'path_walk' in section 'walker@mechanic'

[/cut]


Перед тем, как задать вопрос в этой теме, прочтите все предыдущие страницы,
статьи в wiki по ссылке из шапки и соседнюю тему "Курс молодого бойца",
возможно Ваш вопрос уже рассматривался.


Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки.
Помните чем подробнее вопрос, тем точнее ответ.


Посты, для которых есть свои категории, из этой темы будут удаляться или перемещаться в соответсвующую тему. Персональных извещений в ЛС о переносе\удалении поста не будет, ищите сами. Учитывайте, что в системах Ucoz тема не обновляется в статистике при переносе поста.
Посты, написанные здесь-же после переноса, будут расцениваться как кросспостинг, со всеми вытекающими


[cut noguest=Первый юбилей нашей темы]

Здравствуйте господа модостроители, и все так или иначе причастные к этому.
Нашей теме исполнился 1 год.
От души поздравляю Всех Вас дорогие друзья, творческих успехов.
Хочу так же выразить отдельную благодарность denis2000 и ХОВАН.

tracker 23.06.11



[/cut]
 
denis2000Дата: Чт, 29.06.2017, 17:44 | Сообщение # 2491
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата Наблюдатель ()
Подскажите плиз, уважаемые Мастера, где ещё автор мог прописать эти новые аномалии, если не в папках spawns и аnomaly?

В скрипте динамического спавна аномалий.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
НаблюдательДата: Чт, 29.06.2017, 21:03 | Сообщение # 2492
Ветеран
Пользователи
Сообщений: 400
Награды: 1
Репутация: [ 59 ]

Цитата denis2000 ()
В скрипте динамического спавна аномалий.

Здравствуйте Всем! Благодарю, уважаемый denis2000! А подскажите, плиз, название файла.
 
denis2000Дата: Чт, 29.06.2017, 22:00 | Сообщение # 2493
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Наблюдатель, Имя только автор знает, тем кто не знает придется анализировать по содержимому, какой скрипт чем занят. Пробуйте искать функцию типа create_anom.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
НаблюдательДата: Чт, 29.06.2017, 23:32 | Сообщение # 2494
Ветеран
Пользователи
Сообщений: 400
Награды: 1
Репутация: [ 59 ]

Цитата denis2000 ()
Пробуйте искать функцию типа create_anom.

Снова благодарю, уважаемый denis2000! С Вашего позволения уточню, новые аномалии могут быть прописаны в любом файле по адресу: gamedata\scripts ?
 
asd123Дата: Чт, 29.06.2017, 23:34 | Сообщение # 2495
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
Награды: 10
Репутация: [ 423 ]

Наблюдатель, попробуйте проверить в файлах(если имеются):
xr_effects.script, xr_conditions.script


У мутантов тоже есть группировки. © Движок X-Ray




Сообщение отредактировал asd123 - Чт, 29.06.2017, 23:34
 
denis2000Дата: Пт, 30.06.2017, 18:22 | Сообщение # 2496
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

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


asd123, А вот в этих файлах скорее всего ее нет.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
НаблюдательДата: Пт, 30.06.2017, 23:31 | Сообщение # 2497
Ветеран
Пользователи
Сообщений: 400
Награды: 1
Репутация: [ 59 ]

Цитата asd123 ()
Наблюдатель, попробуйте проверить в файлах

Цитата denis2000 ()
А вот в этих файлах скорее всего ее нет.

Приветствую Всех! Огромное спасибо за наводку, уважаемые denis2000 и asd! По вашей наводке нашёл в папке scripts файл мода brodiaga, когда удалил в нём все прописанные новые аномалии на локациях, в НИ они исчезли! Но я не понял ещё одного. В моде фонарик с батарейками, в том же файле он прописан в виде:
[cut=Тыц]--********************************************************************
--************ Фонарик, который со временем "разряжается" ************
--********************************************************************
--переменная-индикатор щелчка включения
local onoff = 0

--*** "замена" батарейки ***
--вызывается из bind_stalker.script
function replacebatt()
if (emergency == 1) then
local settingFileName = "gamedata\\configs\\misc\\torch.ltx"
local file = io.open( settingFileName, "w" )
if file ~= nil then
file:write( "[torch]".."\n".."charge = 100000" )
file:close()
end
end
end

--*** биндер фонарика ***
function fonar()
if (emergency == 1) then
local zard
--**** чтение данных как с ini-файла (LTX) ****
local ini = ini_file("misc\\torch.ltx")
zard = tonumber(ini:r_string("torch", "charge"))
--*********************************************
local torch = db.actor:object("device_torch")
if zard <= 0 then
zard = 0
torch:enable_attachable_item(false)
else
torch:enable_attachable_item(true)
end
if torch:torch_enabled() then
if onoff == 0 then
--щелчок включения
local snd_obj
snd_obj = sound_object([[weapons\groza_switch]])
snd_obj:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
onoff = 1
end
--*** отображение заряда на экране (текстом) ***
local mesaga = "Заряд фонарика: "..string.format("%2d", zard/1000).."%"
local hud = get_hud()
local cs_text = hud:GetCustomStatic("cs_debug")
if cs_text then
hud:RemoveCustomStatic("cs_debug")
end
hud:AddCustomStatic("cs_debug", true)
cs_text = hud:GetCustomStatic("cs_debug")
cs_text:wnd():TextControl():SetText(game.translate_string(mesaga))
--***** степень разряда *****
zard = zard - 2
--***************************
if zard == 50000 then
local text = "Батарейки в Вашем фонарике наполовину разрядились."
local texture = "ui_inGame2_D_gonets_pravosudiya"
local news_text = "%c[255,255,255,60]"..text
local news_caption = game.translate_string("st_tip")
db.actor:give_game_news(news_caption, news_text, texture, 0, 12*1000)
local snd_obj
snd_obj = sound_object([[torch\torch_att]])
snd_obj:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
end
if zard == 10000 then
local text = "Батарейки в Вашем фонарике почти сели. Замените их на новые либо выключите фонарик."
local texture = "ui_inGame2_D_gonets_pravosudiya"
local news_text = "%c[255,255,60,60]"..text
local news_caption = game.translate_string("st_tip")
db.actor:give_game_news(news_caption, news_text, texture, 0, 12*1000)
local snd_obj
snd_obj = sound_object([[torch\torch_att]])
snd_obj:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
end
if zard == 100 then
local snd_obj
snd_obj = sound_object([[torch\torch_off]])
snd_obj:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
end
--**** запись данных о заряде в файл ****
local settingFileName = "gamedata\\configs\\misc\\torch.ltx"
local file = io.open( settingFileName, "w" )
if file ~= nil then
file:write( "[torch]".."\n".."charge = "..string.format("%6d", zard) )
file:close()
end
--****************************************
else
onoff = 0
--*** убираем надписи о заряде ***
local hud = get_hud()
local custom_static = hud:GetCustomStatic("cs_debug")
if custom_static ~= nil then
hud:RemoveCustomStatic("cs_debug")
end
end
end
end

--[[ недопиленный progressbar, блеать! -_-
local cntr = 0
function hbar()
local time = time_global()
if cntr < time then
cntr = time + 500
local hud = get_hud()
--hud:RemoveCustomStatic("cs_heli_health")
hud:AddCustomStatic("cs_heli_health", true)
local cst = hud:GetCustomStatic("cs_heli_health")
local xml = CScriptXmlInit()
xml:ParseFile("heli_progress.xml")
local w = cst:wnd()
heli_progress = xml:InitProgressBar ("heli_health", w )
local _progr = tonumber(string.format("%2d", zaryad/1000))
heli_progress:SetProgressPos(_progr)
if _progr > 0 then
heli_progress:Show(true)
else
heli_progress:Show(false)
hud:RemoveCustomStatic("cs_heli_health")
end
end
end
]]--

--****************** фонарик END ********************[/cut]
Я убираю из файла эту запись, но фонарик всё равно остаётся с батарейка. Я так понял, что батарейки прописаны ещё в каком-то файле. Не подскажите, плиз, по описанию скрипта, где ещё могут быть прописаны батарейки?
 
denis2000Дата: Сб, 01.07.2017, 18:07 | Сообщение # 2498
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Наблюдатель, попробуйте в начале представленного файла прописать строку:
Код
local emergency = 0


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
Korvin_MelarskyДата: Вс, 02.07.2017, 17:43 | Сообщение # 2499
Боец штурмового отряда
Военные сталкеры
Сообщений: 80
Награды: 1
Репутация: [ 45 ]

стоит CoP + Sigerous 2.2

#1.
вопросец - как увеличить хп (живучесть) Химере?

в файлах химеры есть
health = 1000
Max HealthValue = 1000

(для сравнения - у Псевдогиганта) эти параметры 400 и 600.

так вот - при этом из снайперки (баррет) я Химеру могу завалить с 1-3 ввыстрелов, а псевдогиганта с 5-10 не всегда могу завалить. хотелось бы сделать химеру более живучей. но я как-то не понимаю - по конфигам химера вдвое живучее псевдогиганта, а фактически дохнет как кровосос. как сделать чтобы она жила на пару выстрелов больше? а то жирная прыгучая плоть получается.

#2.
хочу понерфить тушканов. и все здорово бы, но в папке creatures НЕТ (!!) файла m_tuskano.
в чем прикол? как тогда в игре вообще бегают тушканы?


Сталкер: Зов Припяти 1602 + SGM 2.2 + оружейная сборка Енота
 
Voland-777Дата: Вс, 02.07.2017, 18:12 | Сообщение # 2500
Эмиссар
Пользователи
Сообщений: 1702
Награды: 9
Репутация: [ 474 ]

Цитата Melarsky ()
хочу понерфить тушканов. и все здорово бы, но в папке creatures НЕТ (!!) файла m_tuskano.
в чем прикол? как тогда в игре вообще бегают тушканы?

Все очень просто: тушканы работают на базе конфигов из чистой ЗП, которые запакованы в db-архивах. Вот, держите файл, у меня на всякий случай всегда лежат распакованные архивы, пользуйтесь на здоровье.


Сообщение отредактировал Voland-777 - Вс, 02.07.2017, 18:12
 
Korvin_MelarskyДата: Вс, 02.07.2017, 22:47 | Сообщение # 2501
Боец штурмового отряда
Военные сталкеры
Сообщений: 80
Награды: 1
Репутация: [ 45 ]

как называются файлы торговцев на Кордоне и на Болотах в моде СГМ 2.2 + сборка Енота?
хочу отредактировать ассортимент


Сталкер: Зов Припяти 1602 + SGM 2.2 + оружейная сборка Енота
 
НаблюдательДата: Пн, 03.07.2017, 02:52 | Сообщение # 2502
Ветеран
Пользователи
Сообщений: 400
Награды: 1
Репутация: [ 59 ]

Цитата denis2000 ()
Наблюдатель, попробуйте в начале представленного файла прописать строку:
Код
local emergency = 0

Приветствую Всех! Уважаемый denis2000, если я Вас правильно понял, указанную Вами строку надо было прописать после строки: --переменная-индикатор щелчка включения, перед строкой local onoff = 0 ? Пробовал прописать строку local emergency = 0 между этими двумя строками, увы не сработало. Фонарь продолжает цинично жрать батарейки. Пробовал и перезагружаться и тратить батарею до конца, в надежде, что после зажжотца без новой батареи - ни в какую! Снова требует вставить батарейку. sad


Сообщение отредактировал Наблюдатель - Пн, 03.07.2017, 03:24
 
sergej5500Дата: Пн, 03.07.2017, 09:22 | Сообщение # 2503
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Наблюдатель,

Попробуй убрать вызов этой функции из bind_stalker
 
napalm777Дата: Пн, 03.07.2017, 09:31 | Сообщение # 2504
Удаленные



Ребята, играю в ЧН "Doppelganger" не работает счётчик контактов, что делать? или я не в эту тему зашёл? Просто я новенький
 
НаблюдательДата: Пн, 03.07.2017, 12:25 | Сообщение # 2505
Ветеран
Пользователи
Сообщений: 400
Награды: 1
Репутация: [ 59 ]

Цитата sergej5500 ()
Попробуй убрать вызов этой функции из bind_stalker

Приветствую Всех! Уважаемый sergej5500, а не подскажите, плиз, как это сделать?
 
Поиск: