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

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


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

Ну просто в чистом ТЧ они переключаются клавишей Y как патроны, а  сейчас не работает переключение, в OGSE скриптовое переключение сделано


Кто знает где в ТЧ прописываются коды калбекков, на подобии как в OGSE? вот пример

 

 

-- коды дополнительных колбеков
callback_ex = {
["on_key_press"] = 123,
["on_key_release"] = 124,
["on_key_hold"] = 125,
["on_mouse_wheel"] = 126,
["on_mouse_move"] = 127,

 


Или в ТЧ такого нет?


Переключение гранат заработало, но когда я поставил мод "Патроны на поясе" происходит вылет без лога после того как я пытаюсь переключить вид гранат, которые уже есть на поясе. Попробовал сделать следующее, взял файл bind_stalker на котором переключение заработало, но там нет мода на пояс и стал из другого bind_stalker который у меня в моде (там есть пояс) перекидывать недостающие строчки сравнивая оба файла в программе WinMerge, удалось выявить что после добавления строки  inventory.update() происходит вылет при попытке переключения гранат уже на поясе.


Поставил "Гранаты на поясе" получил такой вылет

 

Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: ...íîáûëÿ\gamedata\scripts\ogse_grenade_switcher.script:19: attempt to perform arithmetic on local 'start_pos' (a nil value)

 

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

GROM_27. Могу только предположить, что не отрабатывает код:

 

local grenades_sequence = {"grenade_f1", "grenade_rgd5", "grenade_light", "grenade_gd-05", "grenade_gas"}

local sect2key = {}
for i,sec in ipairs(grenades_sequence) do sect2key[sec] = i end
 
полагаю он вызывается из файла ogse_signals_addons_list.script, откуда работает сам этот скрипт, к сожалению не знаю. В наличии есть только не полная папка скриптов OGSE.
Изменено пользователем gam
  • Спасибо 1
Ссылка на комментарий

Ну буду пытаться разбираться) 


Народ, кто-нибудь знает как реализовать транспорт, с багажником и необходимостью заправки, как в ОГСЕ, Лост Альфа, Новый Арсенал и ещё в некоторых модах, может есть отдельный мини мод на это или статья какая-то по созданию такого транспорта?

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

Помогите с нерабочей функцией:

 

local table_sidr_nagrad_for_flash = {
level_1 = { --- если 60% и более
{"conserva", 1},
{"ammo_9x18_fmj", 3}
},
level_2 = { --- если 50%
{"conserva", 2},
{"ammo_9x18_pmm", 2}
},
level_3 = { --- если 40%
{"vodka", 1},
{"ammo_5.45x39_fmj", 1}
},
level_4 = { --- если 30%
{"vodka", 1},
{"ammo_5.45x39_fmj", 2}
},
level_5 = { --- если 20% и менее
{"vodka", 2},
{"ammo_5.45x39_fmj", 2}
}
}
function sidor_give_award_for_flash()
local percent = lua_random(1, 10)
if percent < 5 then
local award = table_sidr_nagrad_for_flash.level_1(table.getn(table_sidr_nagrad_for_flash.level_1))
elseif percent <= 6 then
local award = table_sidr_nagrad_for_flash.level_2(table.getn(table_sidr_nagrad_for_flash.level_2))
elseif percent <= 7 then
local award = table_sidr_nagrad_for_flash.level_3(table.getn(table_sidr_nagrad_for_flash.level_3))
elseif percent <= 8 then
local award = table_sidr_nagrad_for_flash.level_4(table.getn(table_sidr_nagrad_for_flash.level_4))
elseif percent >= 9 then
local award = table_sidr_nagrad_for_flash.level_5(table.getn(table_sidr_nagrad_for_flash.level_5))
end
end 

 

 

 

Вылета нет, просто срабатывает диалог без выдачи предметов...

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

CiBrAKeR. Зачем так сложно, попробуй так:

 

function sidor_give_award_for_flash()
local actor, sim, percent = db.actor, alife(), lua_random(100)
if percent >= 0 and percent < 60 then
sim:create("conserva", actor:position(), actor:level_vertex_id(), actor:game_vertex_id(), actor:id())
se_respawn.create_ammo("ammo_9x18_fmj", position, lvi, gvi, pid, 60)
elseif percent >= 60 and percent < 70 then
sim:create("conserva", actor:position(), actor:level_vertex_id(), actor:game_vertex_id(), actor:id())
sim:create("conserva", actor:position(), actor:level_vertex_id(), actor:game_vertex_id(), actor:id())
se_respawn.create_ammo("ammo_9x18_fmj", position, lvi, gvi, pid, 40)
elseif percent >= 70 and percent < 80 then
sim:create("vodka", actor:position(), actor:level_vertex_id(), actor:game_vertex_id(), actor:id())
se_respawn.create_ammo("ammo_5.45x39_fmj", position, lvi, gvi, pid, 30)
elseif percent >= 80 and percent < 90 then
sim:create("vodka", actor:position(), actor:level_vertex_id(), actor:game_vertex_id(), actor:id())
se_respawn.create_ammo("ammo_5.45x39_fmj", position, lvi, gvi, pid, 60)
elseif percent >= 90 then
sim:create("vodka", actor:position(), actor:level_vertex_id(), actor:game_vertex_id(), actor:id())
sim:create("vodka", actor:position(), actor:level_vertex_id(), actor:game_vertex_id(), actor:id())
se_respawn.create_ammo("ammo_5.45x39_fmj", position, lvi, gvi, pid, 60)
end
end

:)


там ошибка. Вот:

 


function sidor_give_award_for_flash()
local actor, sim, percent = db.actor, alife(), lua_random(100)
if percent >= 0 and percent < 60 then
sim:create("conserva", actor:position(), actor:level_vertex_id(), actor:game_vertex_id(), actor:id())
se_respawn.create_ammo("ammo_9x18_fmj", position, lvi, gvi, pid, 60)
elseif percent >= 60 and percent < 70 then
sim:create("conserva", actor:position(), actor:level_vertex_id(), actor:game_vertex_id(), actor:id())
sim:create("conserva", actor:position(), actor:level_vertex_id(), actor:game_vertex_id(), actor:id())
se_respawn.create_ammo("ammo_9x18_fmj", actor:level_vertex_id(), actor:game_vertex_id(), actor:id(), 40)
elseif percent >= 70 and percent < 80 then
sim:create("vodka", actor:position(), actor:level_vertex_id(), actor:game_vertex_id(), actor:id())
se_respawn.create_ammo("ammo_5.45x39_fmj", actor:level_vertex_id(), actor:game_vertex_id(), actor:id(), 30)
elseif percent >= 80 and percent < 90 then
sim:create("vodka", actor:position(), actor:level_vertex_id(), actor:game_vertex_id(), actor:id())
se_respawn.create_ammo("ammo_5.45x39_fmj", actor:level_vertex_id(), actor:game_vertex_id(), actor:id(), 60)
elseif percent >= 90 then
sim:create("vodka", actor:position(), actor:level_vertex_id(), actor:game_vertex_id(), actor:id())
sim:create("vodka", actor:position(), actor:level_vertex_id(), actor:game_vertex_id(), actor:id())
se_respawn.create_ammo("ammo_5.45x39_fmj", actor:level_vertex_id(), actor:game_vertex_id(), actor:id(), 60)
end
end

 

Изменено пользователем gam
  • Спасибо 1
Ссылка на комментарий

 

 

Зачем так сложно
Ну мне через массив нужно, что как я написал нельзя делать?

 

 

 

там ошибка. Вот:
Благодарю, обязательно опробую...
Ссылка на комментарий

Видимо мороз добрался и до меня. :P

 

там еще ошибка в 1-ом условии.

 

se_respawn.create_ammo("ammo_9x18_fmj", position, lvi, gvi, pid, 60) надо поменять на

 

se_respawn.create_ammo("ammo_9x18_fmj", actor:position(), actor:level_vertex_id(), actor:game_vertex_id(), actor:id(), 60)

Изменено пользователем gam
  • Спасибо 1
Ссылка на комментарий

Можно ли реализовать диалог с мутантом? Не с моделью на костях нпс а конкретно с кабаном/псом и т.п. Мутант при этом может перемещаться.

Самый некомпетентный на форуме.

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

@dPlayer

Стесняюсь спросить: а это зачем? Как тебе кабан ответит, он же русского не знает. Мягко говоря, это как-то неподходяще выглядит: разговаривать с кабаном.

 

А реализовать думаю,все можно было бы желание.

 

П.С Сорри за флуд

Сталкер - наше всё!

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

С изломами делали еще году, этак, в 2008-ом. Жратву на тайники меняли.

use() у него работает, так что можно и диалог привесить.

 

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

  • Спасибо 1
  • Сомнительно 1
Ссылка на комментарий

Здравствуйте ВАМ. Кто подскажет как правильно удалить не нужные квесты. Попробовал закоментить в таск менеджере лтх, строку в начале файла и само описание где время, награды и т.д. Словил вылет с указанием на таск менеджер скрипт строка 208. И еще, оружие на классе бинокля, может стрелять очередью?

Одна голова хорошо, а две лучше. А вот три, это уже змей Горыныч.

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

Для начала, если без правок, то любая манипуляция с task_manager.ltx -> новая игра.

Там загрука сохранений так сделана, что хоть и нафиг не нужно, но контроль соответствия такой, что NSA, CIA, все департаменты MI, Моссад и ФАПСИ нервно курят в углу.

  • Не нравится 1
Ссылка на комментарий

 

 

я его то из OGSE взял, сейчас вспомнил, в чистом ТЧ наверно другой

Так ты пытаешься на чистом ТЧ это сделать? Само собой не получится - нужен движок ОГСЕ или X-Ray Extensions, этот каллбэк и функция set_extensions_flags есть только там.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

Здравствуйте, помогите пожалуйста как в тень чернобыля 1.0005 добавить локацию миротворческий корпус без никаких программ или легкими программами ,а то компьютер слабый

  • Не нравится 1
Ссылка на комментарий

Кстати, по поводу добавления локаций в ТЧ, есть какой-нибудь материал, в котором всё достаточно подробно и понятно описано, для новичка в этом деле?)

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

Какой командой в консоли можно добавить <precondition>***</precondition> и <has_info>***</has_info> ?

Добавлено Dennis_Chikin,

echo "<precondition>***</precondition>" >> myfile.txt

echo "<has_info>***</has_info>" >> myfile.txt

 

Если unix, то echo \<precondition\>\*\*\*\<\/precondition\> >> myfile.txt

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

@AndrewMor,таскать в кармане кусок камушка, который отворачивает летящие пули выглядит подходяще, а поговорить с животинкой - нет? :-)

@Dennis_Chikin,а можно по подробнее? Или хоть пример.

  • Согласен 1

Самый некомпетентный на форуме.

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

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

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

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

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

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

Войти

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

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

×
×
  • Создать...