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

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

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

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

 

Только править надо upd:position, правка простого position ничего толкового не даст. Может вообще за карту выбросить :)

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

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

Labus, Kirag, спс :)

 

________________________________________________________________________________

 

Народ, подскажите, пожалуйста, из-за чего вылет и можно ли как-нибудь исправить??

Expression : fatal error

Function : CScriptEngine::lua_error

File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp

Line : 73

Description : <no expression>

Arguments : LUA error: ...s.t.a.l.k.e.r\gamedata\scripts\dialog_manager.script:287: attempt to index local 'tbl' (a nil value)

 

 

 

Поставил Freeplay Mod, и такой вылет появляется после того, как у сталкеров спрашиваешь: " что интересного можешь рассказать?"

Изменено пользователем shooting unicorn
Ссылка на комментарий
Monnoroch, будь добр, подскажи, какие значения отличные от nil. А то я в скриптах не очень разбираюсь
Ссылка на комментарий

Labus, спасибо! :) получилось :)

Строгое предупреждение от модератора n6260
"Спасибы" пишите в ЛС или в репутацию.
Изменено пользователем n6260
Ссылка на комментарий

а можно ли совместить фотозону с амк, просто замещением файлов? для панорамик мода то есть адаптация. но без фотозоны он не очень(

Сообщение от модератора n6260
Там совмещать всего один файл - текстурес. И разные адаптации давно есть в теме фотозоны. Учитесь не только спрашивать - но и читать темы.

Забанен навечно за непрекращающееся хамство. - Shader

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

при запуске игры, проигрывается заставка и вылет. я думаю это связано с тем, что в папке геймдата/саундз/мюзик/ музыка называется wasteland2_l/r. как эта музыка должна называться? или как вообще убрать дурацкий новый саундтрэк?

Забанен навечно за непрекращающееся хамство. - Shader

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

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

лог:

Expression    : wave&&wave->length()
Function      : CSoundRender_Source::LoadWave
File          : E:\stalker\patch_1_0004\xrSound\SoundRender_Source_loader.cpp
Line          : 65
Description   : Can't open wave file:
Arguments     : d:\games\s.t.a.l.k.e.r\gamedata\sounds\music\terrapack-empty_noise_l.ogg

Забанен навечно за непрекращающееся хамство. - Shader

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

Безголовый вылет, хз почему:

<dialog id="eda_end">

<dont_has_info>tema_eda_done</dont_has_info>

<phrase_list>

<phrase id="3">

<text>Ух молодчага! Теперь хоть продать есть что. Держи. Заслужил вполне.</text>

<precondition>iDreD_addon.have_tema_eda1</precondition>

<precondition>iDreD_addon.have_tema_eda</precondition>

<action>iDreD_addon.gonorar_from_tema_bread</action>

<action>iDreD_addon.gonorar_from_tema_konserva</action>

<action>iDreD_addon.gonorar_from_tema_all</action>

<action>iDreD_addon.tema_timer</action>

</phrase>

<phrase id="2">

<text>Круто. Теперь хоть до выяснения обстоятельств денежку заработать смогу нармально... А гонорар вот.</text>

<precondition>iDreD_addon.have_tema_eda1</precondition>

<action>iDreD_addon.gonorar_from_tema_bread</action>

<action>iDreD_addon.gonorar_from_tema_bread1</action>

<action>iDreD_addon.tema_timer</action>

</phrase>

<phrase id="1">

<text>Круто. Теперь хоть до выяснения обстоятельств денежку заработать смогу нармально... А гонорар вот.</text>

<precondition>iDreD_addon.have_tema_eda</precondition>

<action>iDreD_addon.gonorar_from_tema_konserva</action>

<action>iDreD_addon.gonorar_from_tema_konserva1</action>

<action>iDreD_addon.tema_timer</action>

</phrase>

<phrase id="0">

<text>Нашёл я твою еду... Забирай.</text>

<give_info>tema_eda_done</give_info>

<next>1</next>

<next>2</next>

<next>3</next>

</phrase>

</phrase_list>

</dialog>

 

--Квест Артёма с едой

function have_tema_eda()

return sak.have_item_namber("konserva",10) ~= false

end

 

function have_tema_eda1()

return sak.have_item_namber("bread",20) ~= false

end

 

function have_tema_eda2()

return sak.have_item_namber("bread",20) ~= false or sak.have_item_namber("konserva",10) ~= false

end

 

function gonorar_from_tema_konserva(first_speaker, second_speaker)

sak.out_item_namber("konserva",10)

end

 

function gonorar_from_tema_konserva1(first_speaker, second_speaker)

dialogs.relocate_item_section(second_speaker, "wpn_saiga12c","in")

end

 

function gonorar_from_tema_bread(first_speaker, second_speaker)

sak.out_item_namber("bread",20)

end

 

function gonorar_from_tema_bread1(first_speaker, second_speaker)

dialogs.relocate_item_section(second_speaker, "af_electra_sparkler","in")

end

 

function gonorar_from_tema_all2(first_speaker, second_speaker)

dialogs.relocate_item_section(second_speaker, "specops_outfit","in")

end

 

--Стартуем таймер расследования дела...

function tema_timer() --при запуске этой функции запуститься таймер игровово времени

amk.g_start_timer("delo",2,1,0) --время дни, часы, минуты

end

 

if select_string=="delo" then

iDreD_addon.tema_sms()

end

 

<!--iDreD infos-->

<info_portion id="tema_eda_start">

<task>tema_quest1</task>

</info_portion>

<info_portion id="tema_eda_done">

</info_portion>

<info_portion id="unlock">

</info_portion>

<info_portion id="tema_killer_start">

<task>tema_quest2</task>

</info_portion>

<info_portion id="tema_qs1">

</info_portion>

<info_portion id="tema_qs2">

</info_portion>

<info_portion id="tema_qs3">

</info_portion>

<info_portion id="kosoi_search">

<task>kosoi</task>

</info_portion>

<info_portion id="petrenko">

<task>petrenko</task>

</info_portion>

<info_portion id="petrenko_speak">

</info_portion>

 

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

Подскажите как сделать чтоб граната взрывалась с визуальными эффектами как от взрыва красной бочки и урон больше был.строчки помогите найти которые за эти параметры отвечают а то я в конфигах гранаты путаюсь((

 

Сообщение от модератора n6260
А чего там путаться? Берешь переводчик и вперед...

blast = 5 - хит взрыва

blast_r = 25 - радиус взрыва

blast_impulse = 350 - импульс от взрыва

 

frags = 24 - кол-во осколков

frags_r = 50 - радиус разлета осколков

frag_hit = 1.50 - хит от осколка

frag_hit_impulse = 240 - импульс от осколка

 

explode_particles = explosions\explosion_01 - строка внешнего эффекта взрыва (впиши от бочки)

 

Строгое предупреждение от модератора n6260
И опять у тебя с пробелами и заглавными буквами проблемы - последнее устное предупреждение.

Замедляю полураспад души стержнями музыки

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

ААА! Товарищи!

Есть ли функция для сохранения переменной в ltx(ini) или же в файл(лучше всего)?

Очень надо, есть одна идея чумовая...

Вообщем идея такова:

Сделать кооператив прохождения сталкера онлайн)))

Задумка вот в чём:

На одном компе создаём нового НПС с любым именем(Пускай будет Вася Сивый), и прописать ему логику, по типу: Иди очень медленно, я сам тебя буду направлять))).

На другом компе создаём нового НПС с любым именем(Пускай будет Серёга Златов(или оставить Меченый, пусть хоть кто то рулит).

Имеем скрипт для обработки позиции актора, то бишь получаем координаты актора, записываем их по пути gamedata\config\buffer_out.txt

А так же имеем скрипт получения позиции НПС на другом компе, получаем по принципу, что описан ниже, прога отправляет мне текст из файла на другом компе buffer_in.txt.

Нужна программа, что бы каждые 2 секунды(сделать опционально время обновления), она отправляла текст из файла buffer_out.txt на другой компьютер, в ту же папку, а уже там скрипт получает чтением функцией из ini(ltx) файла, задаёт позицию НПС у него, тобишь -->> ИМЕЕМ КООПЕРАТИВ!

Теперь, создаём ещё один буфер файл, и делаем апдейт, кто кого убил.

По аналогии делаем ещё клиентский апдейт предметов, а также, по возможности заданий(лучше не надо, а то будет скучно играть), ну и самое такое: ЧАТ!

Как чат сделать я в непонятках, ну ясен пень создать ещё буфер файл, но какой надо интернет для такого, хотя...

Вот не могу понять, а может сделать буфер позиции и остальных параметров в ini файл?

Всё же текст лучше отправлять через канал интернета, чем весь файл грузить.

Так, чё то я разбушевался, ага вот значит... Ну а дальше сделать переход в оффлайн нпс, если выходим из игры, то грузим нас в оффлайн, пишем в ini файл: actor_one_offline = 1. При заходе в зону, пишется сообщение: Вы вошли в онлайн зоны. Текущее количество игроков онлайн: *. Ваш друг: Вася Сивый из группировки Чистое небо(например) находится на болоте.

Ну и т.д... Ну вы меня поняли...

Статья написана by TREWKO. Кто стырит идею, потом кой чё оторву.

Вся проблема сейчас в программе синхронизации между компами(ВНИМАНИЕ!!! Постоянной синхронизации!!!), и функции записи в ini(ltx) файл.

Ага, ещё нагрянуло:

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

Данный режим будет через чур глючный, так как позицию мы будем задавать, а пока она не задана, НПС будет стараться идти в другую сторону, будет блуждать, поэтому: задаём не координаты НПС, куда ему надо ступить, а точку, куда ему бежать.

Но, тут так сказать ещё не всё, а вдруг клиент №1 убил нпс клиента №2(или наоборот), тогда надо сбацать пакет kill, тупо буфер и функцию смерти того или иного нпс. Так... А... Всё так, смерть происходит только раз, поэтому пакет будет отправляться только один(не факт).

Вроде всё, всем спасибо, простите за малый размер размышления!

 

Изменено пользователем TREWKO
Ссылка на комментарий
Кх... В Тенях Чернобыля I/O, в скриптах, заблокировано. И потом - как ты собираешься сделать синхронизацию всего остального игрового мира? Каждые две секунды = тормоза. Интенсивная работа с файлами = тормоза. Да и вообще как-то бредово, имхо... Изменено пользователем Atempad

628e0.jpg

e2bc8.jpg

Suum cuique…

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

I/O - это что?

Я думаю, что хотя бы с двумя НПС это можно замутить.

Синхронизацию всего остального мира... а нахрен оно надо, главное кто кого убил, скоко артов, позиция, состояние здровья.

Помню когда то гредили во сне аж о кооперативе...

Изменено пользователем TREWKO
Ссылка на комментарий

Это ввод/вывод.

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

 

628e0.jpg

e2bc8.jpg

Suum cuique…

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

Ага! По скайпу говорите! Ну сказал я: Я убил Сеню Кривого, а тут БАЦ! Игра сгенерировала нпс с именем: Сеня Кривой.

И чо, иду я и вижу живого. Жесть. Я в статье написал, что должна быть синхронизация смертей, то бишь создаём список того, кого убили, и если игра находит нпс в списке, а он живой ходит, то убиваем его. Да! Задержки будут! Но главное то, кооперативное прохождение.

Ладно, надо только функцию записи в ini(ltx) файл, а сервер сам попробую написать на c++.

Изменено пользователем TREWKO
Ссылка на комментарий

Я же сказал, в скриптах ТЧ не работает вывод (запись) в файлы. Для этого используй ЧН или ЗП.

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

 

P.S. Про скайп я не шутил... Оно того не стоит. А вообще - дерзай.

628e0.jpg

e2bc8.jpg

Suum cuique…

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

А что нибудь из этого может записывать?

C++ class ini_file {
    ini_file (string);

    function line_count(string);
    function r_bool(string, string);
    function section_exist(string);
    function r_float(string, string);
    function r_clsid(string, string);
    function r_s32(string, string);
    function r_line(ini_file*, string, number, string&, string&);
    function r_token(string, string, const token_list&);
    function r_vector(string, string);
    function r_u32(string, string);
    function r_string_wq(string, string);
    function r_string(string, string);
    function line_exist(string, string);
};

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

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

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

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

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

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

Войти

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

Войти

AMK-Team.ru

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