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

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


Halford

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

Всем привет! Такой вопрос интересует. Добавляю новые стволы в Солянку. Соответственно прописываю их в файл mp_ranks.ltx, во всех строках, начинающихся на available_items. Добавил 11 стволов, никаких проблем не было. Но стоило добавить 12ый, как словил вылет Arguments : Dest string less than needed. Насколько я понимаю английский, "Меньше строк чем необходимо". Удалил этот ствол из файла - игра грузится, все окей! Вроде как ограничения по количеству вписываемых стволов нет. Или я ошибаюсь?

Кто-то может прояснить ситуацию? С чем это связано. Все делаю/прописываю как обычно, тщательно, проверяю по 10 раз.

Строгое предупреждение от модератора kokkai
2.3. Красным цветом имеют право писать только модераторы и авторы в шапке темы.

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


Ссылка на сообщение
Arhara, Спасибо большое! Теперь буду знать. Вот еще вопросик : добавил картечь в игру, но в тот же mp_ranks.ltx их не стал вписывать, как новый вид ammo_..., вроде никаких проблем по этому поводу не заметил. Чем-то это может грозить в будущем?

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


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

Привет всем! Кто то подскажет, отчего зависит (где прописывается) реальное отображение ТТХ ствола в этих 4х полосках? -

54377aab4cd5aee6dae3305237a435f13ef53282353737.jpg

Точность, надежность, повреждение и скорострельность. Просто не у всех стволов, почему то, в этих полосках отображаются их реальные ТТХ. А вот почему, понять так и не могу.

 

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

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


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

_Val_,

Да смотрел я уже его, Валера. Он ссылается на параметры, которые есть в конфиге у добавленных стволов, как и у всех остальных впрочем, понимаешь. Не могу закономерности понять. Причем, что интересно, некоторые из новых\добавленных стволов отображаются в этих 4х полосках объективно! А ведь я их дополнительно то никуда не прописывал. Т.е. и те из добавленных стволов, что объективно отображаются в полосках, и те, что НЕ объективно, прописаны в одни и те же файлы. Однако почему то одни реальные ТТХ показывают, а другие нет! Значит методом исключения можно предположить, что дело все-таки в каком то параметре в конфиге ствола, но вот в каком?

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


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

abramcumner,

Они сделаны, чтобы показывать какой ствол лучше, какой хуже

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

Там и логарифмы и квадраты используются и прочие шаманства...

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

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

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

Спасибо за ответ. :)

 

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


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

malandrinus,

Полоски рисует движок, их не убрать

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

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

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


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

Terrorist495,

Да, в ДМХ 5 или 6 видов водки, но вояки воспринимают только "Казаки". Сидор на Выверты меняет водяру. Вывертов много на Кордоне. А вообще, скачай шпору по ковырянию в файлах, от n6260, полезная вещь, и по твоему вопросу там тоже ответ найдется.

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


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

Новых, добавленных монстров нужно где-то дополнительно регистрировать/прописывать, кроме как прописать секцию этого монстра в папке creatures, в соответсвующем файле? Просто добавил 2 новых монстров в Солянку, в конфиге сослался на секции уже существующих в моде монстров (лишь иммунитеты "покрепче" сделал, ну и иконка своя). При спавне этого нового монстра в консоли краснота - Cannot build game path (["название секции монстра", координаты спавна] Вроде как жалуется на некорректный спавн. Вылета нет. Спавню по этим координатам 2ого нового монстра, ситуация такая же - Cannot build game path.... Но стОит заспавнить по этим самым же координатам "родного" монстра (любого) как красноты в консоли нет - все ОКей.

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

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


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

Realboy77,

В конфиге костюма добавь прибавление выносливости и восстановление силы -

=================================

sprint_allowed = true

additional_inventory_weight = 150

additional_inventory_weight2 = 150

power_restore_speed = 0.02

power_loss = 0.02

nightvision_sect = effector_nightvision_bast

=================================

 

У меня тоже вопрос по костюмам. Точнее не по самим костюмам, а по файлам, отвечающим за снятие костюма с трупа.

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

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


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

Realboy77,

Ты спросил "как бегать и не уставать, с весом более 100-ки" - я тебе ответил "что сделать, чтобы НЕ уставать именно в этом костюме". Чего же ты еще хочешь? Обвешайся артами ("Лунным светом" например), повышающими выносливость, как вариант.

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


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

Ulman,

Твоя проблема в файле weather_foggy.ltx в папке gamedata\config\weathers

Там нет значения 21:00:00 -

[sect_foggy_weather]

01:00:00 = foggy_weather_01

02:00:00 = foggy_weather_02

03:00:00 = foggy_weather_03

04:00:00 = foggy_weather_04

04:30:00 = foggy_weather_05

05:00:00 = foggy_weather_05_01

06:00:00 = foggy_weather_06

07:00:00 = foggy_weather_07

08:00:00 = foggy_weather_08

09:00:00 = foggy_weather_09

10:00:00 = foggy_weather_10

11:00:00 = foggy_weather_11

12:00:00 = foggy_weather_12

13:00:00 = foggy_weather_13

14:00:00 = foggy_weather_14

15:00:00 = foggy_weather_15

16:00:00 = foggy_weather_16

17:00:00 = foggy_weather_17

18:00:00 = foggy_weather_18

19:00:00 = foggy_weather_19

20:00:00 = foggy_weather_20

20:55:00 = foggy_weather_20_55

21:15:00 = foggy_weather_21

22:00:00 = foggy_weather_22

23:00:00 = foggy_weather_23

00:00:00 = foggy_weather_00

 

 

 

Совет выше - несколько сомнительный. Сделай лучше так: additional_inventory_weight = 60 и additional_inventory_weight2 = 60.

Да какая разница? Хоть 150, хоть 60 (я для примера просто привел, из первого попавшегося костюма), он и при весе в 101 кг будет задыхаться. Ему нужно писать скрипт именно для этого костюма, чтобы он просчитывал вес инвентаря и при весе >100 кг включал систему подпитки энергией (повышение выносливости).

 

Пардон, невнимательно разобрался... Думал он хочет при бегать при добавочных 60 кг.

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

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


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

Realboy77,

Проси какого-нибудь скриптера помочь. Я тоже в скриптах не силен, могу что-нибудь туда "добавить", но написать скрипт с ноля у меня знаний не хватит. В теме ("Школа моддинга") много есть статей по этому вопросу, поройся, почитай, поищи.

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


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

KubikRubik,

Ты из какого СГМ перетаскиваешь оружие - из СГМ на ЗП или из СГМ на ТЧ?

 

=======================

Народ, кто подскажет, где (в какой папке) и как называется звук, который издают сталкеры, бросающие гранаты, типа "Держи гостинчик!" ?

Скорее всего здесь - gamedata\sounds\characters_voice\human_01\stalker\fight... но дальше, где копать?

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


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

KitkaT.Net,

Точно! В Солянке тоже. Спасибо. А где путь к этому звуку прописывается, не в курсе? То есть, если папку назвать с названием группировки, то игра найдет сама путь к этому звуку? Мне просто нужно чтобы этот крик был на немецком языке.

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


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

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

function spawn_himik_sr()

local se_obj = alife():create("space_restrictor",vector():set(169.09851074219,-2.1591918468475,33.848369598389),324504,2885)

local custom = "[logic]\n"..

"active = sr_idle\n"..

"[sr_idle]\n"..

"on_actor_inside = {+sidor_stvol_start} nil %=buusty_dialog.himik_prygorshnya_spawn =spawn_restrictor.babuin_bratva_spawn_sr%"

rewrite_restrictor(se_obj, custom, 4.0)

end

 

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

----------

-- чтение формы из нет-пакета

----------

function r_shape(packet)

local s

local st = {}

st.count = packet:r_u8()

st.shapes = {}

for i=1, st.count do

s = {}

s.type = packet:r_u8()

if s.type == 0 then

s.center = packet:r_vec3()

s.radius = packet:r_float()

else

s.axis_x = packet:r_vec3()

s.axis_y = packet:r_vec3()

s.axis_z = packet:r_vec3()

s.offset = packet:r_vec3()

end

st.shapes = s

end

return st

end

 

----------

-- запись формы в нет-пакет

----------

function w_shape(packet, st)

local s

packet:w_u8(st.count)

for i=1, st.count do

s = st.shapes

packet:w_u8(s.type)

if s.type == 0 then

packet:w_vec3(s.center)

packet:w_float(s.radius)

else

packet:w_vec3(s.axis_x)

packet:w_vec3(s.axis_y)

packet:w_vec3(s.axis_z)

packet:w_vec3(s.offset)

end

end

end

 

----------

-- перепаковка нет-пакета созданного скриптом рестрикта

----------

function rewrite_restrictor(se_obj, custom, radius)

local packet = net_packet()

se_obj:STATE_Write(packet)

local game_vertex_id = packet:r_u16()

local distance = packet:r_float()

local direct_control = packet:r_s32()

local level_vertex_id = packet:r_s32()

local object_flags = packet:r_s32()

local custom_data = packet:r_stringZ()

local story_id = packet:r_s32()

local spawn_story_id = packet:r_s32()

local shape = r_shape(packet)

local restrictor_type = packet:r_u8()

 

custom_data = custom

shape = {}

shape.count = 1

shape.shapes = {}

shape.shapes[1] = {}

shape.shapes[1].type = 0

shape.shapes[1].center = vector():set(0,0,0)

shape.shapes[1].radius = radius

 

packet:w_u16(game_vertex_id)

packet:w_float(distance)

packet:w_s32(direct_control)

packet:w_s32(level_vertex_id)

packet:w_s32(object_flags)

packet:w_stringZ(custom_data)

packet:w_s32(story_id)

packet:w_s32(spawn_story_id)

w_shape(packet, shape)

packet:w_u8(restrictor_type)

se_obj:STATE_Read(packet, packet:w_tell() - packet:r_tell())

end

 

 

P.S. Знаю, такой вопрос уже задавался (тему поиском просканировал), но, к сожалению, предложенный ранее вариант лишь привел к вылету с руганью на этот скрипт. Просьба просто подсказать "где" и "что" нужно добавить (какие строки/строку).

P.S.S. Можно конечно и без метки обойтись (и ограничиться устным описанием места спавна), но не хочется флуда потом на форуме от игроков и шквала вопросов "А куда...", "А где..." :)

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


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

alkogolik,

Благодарю, все работает! :ok5:

54b194d873636283e39f658d25f99a72.jpeg

 

Спавн предмета через диалог и через этот же диалог функция на "повесить метку" на данный предмет.

 

Artos,

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

Для меня это "сложный вопрос". С метками, до сих пор не сталкивался, поэтому вот уже третий день мучаюсь (мучался) с вопросом "как же все-таки повесить эту чертову метку на рестриктор". Прежде чем задать здесь вопрос, я перелопатил кучу топиков (АМК, как назло, был недоступен), перечитал кучу постов, с абсолютно пустыми ответами - вопросами, и потратил кучу времени на это, правда. А вот мод не продвинулся ни на йоту, из-за такого, казалось бы, пустяка.

Мне просто в эти тонкости нет большой необходимости погружаться с головой. Можно обладать минимумом знаний в вопросах скриптования, и делать интересный сюжет. И дело не в том, что мне лень этим заниматься, вопрос в другом - сколько времени на это уйдет.... С одной меткой три дня выходных, а если дальше в таком же духе изучать/постигать азы скриптования? Релиз мода можно будет просто похоронить (примеров подобных ситуаций масса).

P.S. Так что, пусть даже метод alkogolikа спавна метки и через... "одно место", но зато он работает (проверено) и мне этого вполне достаточно, чтобы двигаться дальше.

С уважением. Buusty.

 

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


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

Ну зачем же так, ребята? Давайте жить дружно! :)

Даже немного неловко, что я стал косьвенной причиной этой небольшой перепалки.

 

 

----

По делу.

----

Ради объективности, нужно признать, что код Artosа тоже рабочий. После того, как он полностью привел пример (не с кусочком кода, а целиком полный код функции. I'm sorry, ну не понимаю я этих нюансов). Метка заспавнилась.

1f3665dd1329d87818bf10827a3c2099.jpeg

 

Исправление/добавление второй функции, на удаление метки, тоже сработал (ну, опыт есть опыт и его не пропьешь :)). Прогнал квест полностью - все работает, все спавнится/удаляется.

===

Вывод, который напрашивается :

Метод Artosа спавна метки безусловно проще (и скорее всего, правильнее), если нужно поставить метку точно на предмет/рестриктор/непися и т.д. Но метод alkogolikа тоже будет полезен в некоторых случаях. В каких? Когда нужно лишь примерно обозначить место, искомого предмета/непися, а не точно по центру груга. Сейчас же все идут тупо к центру круга и знают, что найдут то, что ищут. А заспавни вот так предмет, метрах в 80-100 от нужного по квесту и поставь на него метку - место приблизительно обозначено, но это совсем не по центру (как сейчас). Мне кажется, это гораздо интереснее для игрока будет. В итоге - без метки вобще - тяжко, с меткой "по центру" - слишком просто, а здесь, со спавном предмета где-нибудь "по периферии", будет золотая середина. Но это конечно лишь мое ИМХО, не более. :)

====

Artos и alkogolik спасибо за помощь (за реальную помощь), будет хороший, интересный квест (я надеюсь), так сказать "lege artis!"

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

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


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

Всем привет! Заспавнил костер через алл.спавн. Секция костра -

[15304]
; cse_abstract properties
section_name = zone_flame_small
name = zone_flame_small_shevchenko_02
position = -2.8069763183594,-0.2506074607377228,37.246280670166
direction = -9.31549948290922e-010,0,0

; cse_alife_object properties
game_vertex_id = 3677
distance = 3.5
level_vertex_id = 941212
object_flags = 0xffffff3e

; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 0.64168655872345

; cse_alife_space_restrictor properties
restrictor_type = 0

; cse_alife_custom_zone properties
max_power = 15

; cse_alife_anomalous_zone properties
offline_interactive_radius = 3
artefact_spawn_count = 32
artefact_position_offset = 0x1380

 

Секция "света от костра" -

[15305]
; cse_abstract properties
section_name = lights_hanging_lamp
name = lights_camp_fire_shevchenko_02
position = -2.8069763183594,-0.2506074607377228,37.246280670166
direction = -2.27373675443232e-013,0,0

; cse_alife_object properties
game_vertex_id = 3677
distance = 0
level_vertex_id = 941212
object_flags = 0xffffffba

; cse_visual properties

; cse_ph_skeleton properties

; cse_alife_object_hanging_lamp properties
main_color = 0xfffab807
main_brightness = 0.400000005960464
main_color_animator = koster
main_range = 6
light_flags = 0x2a
health = 100
main_virtual_size = 0.100000001490116
ambient_radius = 2
ambient_power = 0.400000005960464
main_cone_angle = 2.09439516067505
glow_radius = 0.699999988079071

 

В итоге получается такая картина -

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

Так вот, собственно, вопрос - подскажите, пожалуйста, какой параметр нужно подправить/подкорректировать в секции костра, либо в секции "света от костра", чтобы внутри помещения костер тоже горел "бесперебойно"?

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


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

harly9,

Попробуй в bind_stalker.script добавить нанокостюм, вот так -

game_stats.update (delta, self.object)

if db.actor:item_in_slot(6) and db.actor:item_in_slot(6):section() == "exo_doktor_outfit" or db.actor:item_in_slot(6):section() == "nano_outfit" then

if not det_suit_id then

if db.actor:object("detector_suit") then

det_suit_id = db.actor:object("detector_suit"):id()

else

det_suit_id = (alife():create("detector_suit",db.actor:position(),

db.actor:level_vertex_id(),db.actor:game_vertex_id(),

db.actor:id())).id

end

end

 

 

panzyuza, Думаешь из-за неудачного места такой глючок? И бесполезно "играть" с какими-нибудь параметрами?

 

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


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

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

Замучился я уже по 80 раз переписывать пути отлета в алл.спавн. Какие бы пути не выставлял (в основном, играл с координатами высоты), вертолет перед взлетом обязательно уходит под террейн!

Неужели высоты 86.5072298 для первого вэйпойнта мало?! На уровне земли значение - "26.00"

[upi_heli_baty_otlet_move]
points = p0,p1,p2
p0:name = wp00
p0:position = -153.445114,86.5072298,-459.451752
p0:game_vertex_id = 3714
p0:level_vertex_id = 459501
p0:links = p1(1)

p1:name = wp01
p1:position = -116.552254,102.800180,-477.721039
p1:game_vertex_id = 3714
p1:level_vertex_id = 523484
p1:links = p2(1)

p2:name = wp02
p2:position = -34.024799,264.659878,-778.659119
p2:game_vertex_id = 3714
p2:level_vertex_id = 470337

===

П.С. Прилет идеален - вертушка зависает в полуметре над землей, выход непися, разговор, сдача квеста, уход непися/посадка в вертушку, все нормально. А вот с отлетом такая трабла. Может и не в путях совсем дело, а я их перебрал около 3х десятков различных вариантов. Возможо ли сделать отлет вертолета корректным?

 

Пользуемся тегами!

ColR_iT

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

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


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

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