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

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


Halford

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

@naxac,  - scrollview x,y контрола внутри вообще игнорирует, просто по вертикали в один столбец всё выстраивает. каким образом заставить его в несколько столбов помещать контролы?

Поделиться этим сообщением


Ссылка на сообщение

@Zander_driver, в связи с тем что GSC в ogg user_comment впихнули данные своего формата - то, например, ogginfo их просто не видит (а то было совсем уж просто... Warning: Comment 0 in stream 1 is invalidly formatted, does not contain '=': "♥").

способ проверки кучи файлов скорее всего состоит в написании своего парсера заголовков. либо воспользоваться http://tervel.livejournal.com/6331.html - ссылка на исходники программы вроде живая. вывод ее немножко не удобный, но приспособиться можно. вот так например, батник

@echo off
setlocal enabledelayedexpansion
for %%i In (E:\stalker_unpack\dmx\sounds\music\*.ogg) DO (
    D:\Downloads\Downloads_Install\ogg\oggcommentfix.exe -I %%i
)

file:E:\stalker_unpack\dmx\sounds\music\shadows_music_4_l.ogg size: 2327127


vendor: Xiph.Org libVorbis I 20050304
Q: 3 MinD: 1.00 MaxD: 300.00 MaxAID: 1.00 BsVl: 1.00 | undefined
file:E:\stalker_unpack\dmx\sounds\music\shadows_music_4_r.ogg size: 2327127
vendor: Xiph.Org libVorbis I 20050304
Q: 3 MinD: 1.00 MaxD: 300.00 MaxAID: 1.00 BsVl: 1.00 | undefined
file:E:\stalker_unpack\dmx\sounds\music\shadows_music_5_l.ogg size: 648406
vendor: Xiph.Org libVorbis I 20050304
Q: 3 MinD: 1.00 MaxD: 300.00 MaxAID: 1.00 BsVl: 1.00 | undefined
file:E:\stalker_unpack\dmx\sounds\music\shadows_music_5_r.ogg size: 648406
vendor: Xiph.Org libVorbis I 20050304
Q: 3 MinD: 1.00 MaxD: 300.00 MaxAID: 1.00 BsVl: 1.00 | undefined

 

Изменено пользователем Winsor
  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение

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

[my_obj]:identity_immunities
class  = ???? O_PHYS_S|P_SKELET - все можно двигать в присяде актором...
remove_time = ????? 999999 - тоже конечное время...

Поделиться этим сообщением


Ссылка на сообщение

 

 

Имя главной кости можно увидеть в СДК
- есть способ узнать это имя не ставя сдк? утилитой типа converter?

Как реализовать панель быстрого доступа к предметам а-ля ЗП, или Фотограф, или ТТ-2 ?

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

Поделиться этим сообщением


Ссылка на сообщение

@UnLoaded, еще кастом дату надо написать, что-бы не гудел. К тому же есть экспортированный класс для работы с фиксацией костей, только там тоже есть свои тонкости, но всеже лучше работать с ним.

что Вы имеете в виду? Расскажите подробнее, пожалуйста.

Поделиться этим сообщением


Ссылка на сообщение

@_Val_, нет, из скрипта спавн. хекс эдитором искать кость не зная ее названия тяжело. по поводу milkshape - это самый простой для меня способ оказался . но спасибо за совет.

 

Уважаемые знающие, модель зафиксировать удалось. Но при толкании она издает звуки (трещит,гудит, фонтанирует пылью) :) Форумчане рекомендовали изменить custom_data, что это такое - я в курсе, но не имею представления, какие именно параметры отвечают за физическое взаимодействие с объектом. Буду благодарен за подсказку!

Поделиться этим сообщением


Ссылка на сообщение

 

 

Это значит, чтоб ни один из элементов объекта не соприкасался с окружающей реальностью...
- коллизия происходит с ГГ :) в связи с тем что ГГ должен взаимодействовать с объектом - тут только один вариант - заспавнить выше роста ГГ:)

Поделиться этим сообщением


Ссылка на сообщение

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

вот пример из конфига power_restore_speed=0.1375 - в информации об арте - Выносливость +2500... как оно посчитано?

Поделиться этим сообщением


Ссылка на сообщение

расчет выводимых значений параметров артефактов:

для модификаторов:

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

health_restore_speed              satiety_health_v
radiation_restore_speed          radiation_v
satiety_restore_speed             satiety_v
power_restore_speed              satiety_power_v
bleeding_restore_speed          wound_incarnation_v
формула:   
displayValue=art_param/actor_param*100
для radiation_restore_speed и power_restore_speed
displayValue=displayValue/100
для bleeding_restore_speed
displayValue=displayValue*-1
для bleeding_restore_speed и radiation_restore_speed положительные значения хуже чем отрицательные.
для все значений кроме radiation_restore_speed и power_restore_speed - значение в %.
 

для резистов:

формула (значения из секции с именем из значения параметра hit_absorbation_sect артефакта)

displayValue= (1 - art_param)*100;

все в процентах.
 
P.S. зачем? у ПЫС есть класс CUIArtefactParams, который возвращает набор CUIStatic параметров выбранного артефакта, который, в свою очередь , присоединяется к аналогичному набору иконок типов резистов и модификаторов в классе CUIItemInfo, что мы и видим в интерфейсе инвентаря. Но! CUIArtefactParams, как и CUIItemInfo забыли экспортировать для lua, так что эта информация пригодиться для желающих самому вывести параметры.
 
P.S.S. и да, не забывайте о арифметике пысовского lua, вернее результаты деления дробей, пригодится функция math.modf
Изменено пользователем Winsor

Поделиться этим сообщением


Ссылка на сообщение

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

local sobj=sim:create(section,db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
local tbl=get_weapon_packet(sobj)
tbl.ammo_elapsed=0
tbl.updammo_elapsed=0
set_weapon_packet(tbl,sobj)

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

Благодарю!

Поделиться этим сообщением


Ссылка на сообщение

Карлан, может я немного не понимаю...

sim:create возвращает серверный объект, а set_ammo_elapsed вызывается у клиентского объекта. 

local sobj=sim:create(section,db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())

sobj:set_ammo_elapsed(0) приведет к вылету.

Поделиться этим сообщением


Ссылка на сообщение

ТЧ 1.0006 + НС 

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

В том же пресловутом watcher_act.script есть проверка по npc:memory_visible_objects() , по которой сталкеры движутся к выброшенному объекту из инвентаря. но физические объекты не попадают в этот список. 

Т.е. я хочу, чтобы сталкер подошел к "брошенному" (заспавненному ящику) и, например, попытался сделать "use" на него. само собой, ящик спавниться абсолютно произвольно. Эти объекты можно "увидеть" в amk_offline_alife.script но как то странно срабатывает , т.е. сталкер может "заметить" ящик за 400 метров от себя, игнорируя тот что лежит под ногами...

Благодарю за информацию!

Поделиться этим сообщением


Ссылка на сообщение

 

А откуда это известно? вы весь список в лог выводили? Если нет, то советую с этого и начать. Посмотреть, что непись вообще видит а что нет. И уже исходя из этого размышлять дальше.

Да . Выводил. O_PHYS_S в этот список не попадает... 

Поделиться этим сообщением


Ссылка на сообщение

Спасибо всем кто откликнулся и за Ваши идеи.

Пока копался в поиске стандартного подхода к определению видимых объектов, нашел итератор not_yet_visible_objects() (кстати, рабочий). название как бы намекает, но вот зачем? осталось найти not_anymore_visible_object()... и картина мира сложится воедино.

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

Поделиться этим сообщением


Ссылка на сообщение

Если никто не подскажет по поводу xr_kamp - то может кто ,пожалуйста, поделиться инфой о том каким образом можно переключить активную схему у НПС? xr_logic.try_switch_to_another_section не подходит.

Благодарю за любую информацию!

Поделиться этим сообщением


Ссылка на сообщение

По поводу кампов - извините, ссылка не вставилась. вот.

активную схему необходимо переключить из action:execute, либо action:initialize дабы избежать борьбы схем. по эвалуаторам - не переключается, вернее переключается, но постоянно друг между другом, в посте про xr_kamp я описал что именно происходит.

 

p.s. в связи с тем что я не очень в них разбираюсь - не могу дать полностью всю информацию. Спасибо что хотя бы задаете вопросы.

Поделиться этим сообщением


Ссылка на сообщение

  BoBaH_671

Юзание тайника можно "увидеть" если написать к ним свой биндер, а у него отлавливать калбек callback.use_object. Причем Вы можете сделать свою секцию для предмета O_INVBOX своего тайника со своим биндером, не затрагивая уже существующие тайники, ибо задача перецепляния Вашего биндера в конфигах игры к существующим долгая и для внимательных людей.

 

Собственно вопрос - в биндере сталкера есть callback.take_item_from_box и есть callback.on_item_take, но первый не вызывается на взятие предметов из трупа, а второй как бы не того плана калбек. Как отловить каллбек на взятие преметов именно из трупа, вот чтобы можно было прицепить на него function takeItemFromCorpse(corpse,item).

Благодарю!

Изменено пользователем Winsor
  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение

 

В том же use_object только файл xr_motivator - в оригинале биндер неписей, там проверяешь жив ли (эта проверка уже есть), и если мертв, то вызываешь свою функцию, без всяких мучений все работает :).

 

Хм. это получится калбек на юзание трупа, а не калбек на извлечение итема из трупа. т.е. нужно типа take_item_from_corpse.

Поделиться этим сообщением


Ссылка на сообщение

ТЧ 1.0006 + НС

Уважаемые знающие, столкнулся с такой проблемой - для оружия с установленным подствольником не сохраняется при сейв/лоад апдейт часть нетпакета. В чем это выражается и алгоритм действий:

цепляем подствол с поддержкой ВОГ 25 и ВОГ 25п

делаю активным подствол , заряжаю ВОГ 25п (update_packet.ammo_type=1)

деактивирую подствол (update_packet.ammo_type=1)

сейв/лоад

делаю активным подствол , в подстволе ВОГ 25 (update_packet.ammo_type=0)

если делать сейв лоад с активным подстволом - тип гранаты (соответственно update packet сохраняется)

Сталкивался кто либо с подобным? виноват биндер или конфиг ствола?

Благодарю за информацию!

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

Поделиться этим сообщением


Ссылка на сообщение

А почему у меня не вылетает? :)

Наверное , у Вас эта таблица заменена на универсальную функцию :) типа такой:

function ammo_section(section)
	return system_ini():r_string(section, "class") == "AMMO"
end

Ну или еще один вариант - Вы используете metatable c __index с функцией подобной выше выше.

Третий вариант - Вы используете конфиг для загрузки в этот массив... :):ph34r:

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   1 пользователь

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