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

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


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

2 минуты назад, varan сказал:

Попробуй в этом же файле поиграться со строкой <dragdrop_bag x="22" y="46" width="295" height="415". Конкретно со значением height="415"

Бесполезно. Максимум, чего я добился - инвентарь вылезает вниз за пределы текстуры.

Зато вроде как победил эту неизвестно откуда вылезшую "k". В файле gamedata\config\text\rus\string_table_tips.xml  Во всех строчках типа <text>Открыть дверь ($$ACTION_USE$$)</text> нафиг удаляем $$ACTION_USE$$ Получается <text>Открыть дверь ()</text> Что это такое, зачем нужно и почему мешало я без понятия. Но теперь и в игре, и в меню все действительно отображается как надо, а мой внутренний перфекционист удовлетворен)

Ну почти) Остался инвентарь и тогда будет совсем хорошо)

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

Рано обрадовался... Снова облом. Через несколько запусков игры снова выскакивает эта "k":dash2: Не понимаю откуда она берется. И самое главное, в файлах все без изменений. Т.е. $$ACTION_USE$$ в них не появилось. Несколько лет назад все было отлично, диск тот же самый.  Грешу на широкоформатный монитор, но пока не нашел, какие файлы могут быть виноваты.

  • Сочувствую 2
Ссылка на комментарий

Решила следовать примеру из тутора:

Скрытый текст

Создаете скрипт:

имя_файла.script туда пишете:


function use_snd(obj)
local obj_sect = obj:section()
local snd
if obj_sect == 'ваш предмет' then snd = [[Путь_до_звука_относительно_папки_sounds]]
elseif obj_sect == 'ваш предмет' then snd = [[Путь_до_звука_относительно_папки_sounds]]
elseif obj_sect == 'ваш предмет' then snd = [[Путь_до_звука_относительно_папки_sounds]]
elseif obj_sect == 'ваш предмет' then snd = [[Путь_до_звука_относительно_папки_sounds]]
end
if snd then
local snd_obj = xr_sound.get_safe_sound_object(snd)
snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
end
end

Сохраняем.

Открываем bind_stalker.script и в функцию function actor_binder:net_destroy() пишем:


self.object:set_callback(callback.use_object, nil)

и в функцию actor_binder:reinit() пишем:


self.object:set_callback(callback.use_object, self.use_object, self)

и в этом же файле создаем функцию:


function actor_binder:use_object(obj)
имя_вашего_скрипта.use_snd(obj)
end

Все теперь при использовании предмета будет проигрываться звук.
Автор скрипта: Gun12

Как только не пробовала вылет, даже на чистом ТЧ.

Вроде и пути до звука норм:

elseif obj_sect == 'bread' then snd = [[inv\inv_bread]]

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

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

Albeerchy.gif

Ссылка на комментарий
5 часов назад, Albeerchy сказал:

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

Есть!

  • Спасибо 1

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

Ссылка на комментарий
19 минут назад, Albeerchy сказал:

без_логовый

Лицензию ставь...

По ошибке в скрипте безлоговый получить проблематично имхо...

Может и не в нём дело. 

Да и вообще - раз ковыряешь - нужно иметь возможность хотя-бы логи вылетов почитать.

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

@Lethifold, а ты сделал так, как советовали в этом сообщении https://www.amk-team.ru/forum/topic/5525-soc-kovyryaemsya-v-faylah/?do=findComment&amp;comment=1176949 ? Если да, то лучше туда прописать ид-текста (ui_st_take_all), как в carbody_new.xml, и вернуть ориг.файлы в которых удалял kb и ($$ACTION_USE$$).

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

А как сделать чтобы монстры не на подали на ГГ когда он в группировке монолит ? То других монолитовцев они не трогают, а вот ГГ достается.......

1.png

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

Однако...

    local s = "[buy]\n"    -- цены на покупку

...

                    k1, k2 = string_match( v, "([%d%.]+)[%s%,]*([%d%.]+)" )
                    if not k2 then
                        abort( "invalid section: [%s], line: %s (%s)",
                            sect, k, npc:name() )
                    end
                    if tonumber( k1 ) < tonumber( k2 ) then k1, k2 = k2, k1 end
 

                    s = s .. k .. "=" .. k1 .. "," .. k2 .. "\n"

...

    ini = create_ini_file( s )
    data.ini = ini
    npc:buy_condition( ini, "buy" )

 

Друзья при продаже им шмоток начали давать денег больше.

С одной стороны - логично. "Раз ты мне друг, то отдавай бесплатно". С другой - таким друзьям если что дарить, то только тапки белые.

SoC 1.0006

Ссылка на комментарий
В 31.05.2018 в 17:15, КрИвОй БоБ сказал:

как сделать чтобы монстры не нападали

Очевидно прописать им в логике дружелюбность к ГГ при нахождении в монолите...Хотя костыль конечно))

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

@КрИвОй БоБ

В 16.05.2014 в 20:52, Dennis_Chikin сказал:

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

 

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

Табличка работает со species, ежели не путаю. У части монолитовцев там прописано "зомби". А вот подменять "на лету" конфиг актора, с нужной строчкой, чтобы на нужной локации монстры начинали воспринимать как своего - оригинальный движок не умеет.

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

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

Причем допустим friendly = true работает в mob_walker, но не работает в mob_home, поэтому не только дополнять, но по уму и переделывать что-то надо...Геморроя не оберешься.

А было-бы неплохо иметь возможно на лету заменить табличку с отношениями - да...

Изменено пользователем _Val_
Ссылка на комментарий
19 минут назад, _Val_ сказал:

А было-бы неплохо иметь возможно на лету заменить табличку с отношениями - да...

С учетом доступности исходников - не такая уж сложная задача...

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

Вроде есть останки от регулирования агрессивности "сытостью".

Ссылка на комментарий
2 hours ago, Dennis_Chikin said:

Однако...

 

А что именно однако? Коэффициенты торговли в зависимости от отношений регулируются в

;-----------------------------------------------------------------
; Trade
;-----------------------------------------------------------------
[trade]
;коэффициенты изменения цены при торговле в зависимости от отношения к персонажу
;линейно апроксимируются между значениями
buy_price_factor_hostile  = 0.05   ;коэффициент покупки при goodwill = -100
buy_price_factor_friendly = 0.1   ;коэффициент покупки при goodwill = 100
sell_price_factor_hostile = 3    ;коэффициент продажи при goodwill = -100
sell_price_factor_friendly  = 2  ;коэффициент продажи при goodwill = 100

При соотв. настройках друзья будут продавать дешевле, а покупать дороже.

 

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

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

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

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

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

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

Войти

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

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

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