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

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


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

@Dennis_Chikin, да причем тут это? Мы говорим о ключе тега в xml файле таска, а не о ключе в секции таска. Значение строки приоритета в секции таска разрабы русским по белому описали, для тех, кто функцию не поймет, тут действительно все очевидно, я согласен.

 

А к ним отношение менеджер регулярных заданий никак иметь не может

 

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

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

 

 

все очевидно из task_manager.script

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

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

@Карлан, вот лазил всё, искал - не нашёл чего то подробного про direction. Можешь объяснить сам 101 раз?

... А наше дело маленькое - с ружьём да по болотам. (с)

Ссылка на комментарий
Э-эээ... Тогда я совсем не понял, о каком именно ключе, и при чем здесь приоритет.

 

Гляди, мы об этом:

<game_task id="bar_resque_information" prio="365">

Конкретно мы о ключе prio  :)

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

Плюс удобство перелопачивания десятка файлов - крайне сомнительно.

 

Полностью согласен, что для подобных целей оригинальный tm не пригоден. Но его можно переписать (н-р в АМК пример хороший), ну и расширить до нужного тебе функционала тоже всегда можно.
Ссылка на комментарий

о ключе prio

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

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

Подскажите пожалуйста. 

FATAL ERROR


[error]Expression : assertion failed
[error]Function : CSafeFixedRotationState::create
[error]File : e:\stalker\patch_1_0004\xr_3da\xrgame\phvalidevalues.h
[error]Line : 81
[error]Description : dBodyStateValide( B)
stack trace:

 

Не могу разобраться от чего такая ошибка. Кратко опишу, что делал:

Заменил в одном из модов ствол АПС с Арсенал мода на АПБ- поделка одного из одиночек. Проверял и экспериментировал с кодом и так, и этак. Выдавал разным НПС. Все работает до момента взятия этого ствола ГГ. Выдает тот лог, что выше описал.
Также вылет происходит, когда ствол выпадает у НПС на землю. В mp_ranks ствол прописан, как АПС по коду (название секции не менял), а по худу и другим настройкам, как АПБ (характеристика пистолета, описание и положения в руках)

 

Погуглил по ошибке этой. Но то, что было связано с этой ошибкой в других модах, не подходит. Прошу помощи.

Вот код ствола:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[wpn_aps]:identity_immunities
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "weapons\aps" ; name and section in level editor
$npc = on
$prefetch = 8
scheduled = off ;[] option for ALife Simulator
cform = skeleton
class = WP_LR300 ; class of the weapon that corresponding to CPP class
min_radius = 30 ; [] for AI
max_radius = 100 ; [] for AI
description = "Российский автоматический пистолет, разработанный в начале 1970х годов по армейскому заказу в качестве бесшумной альтернативы АПС. Нужно особо отметить, что благодаря большой массе оружия в сочетании с относительно слабым патроном, глушителем и прикладом пистолет АПБ позволяет вести из него автоматический огонь короткими очередями с достаточно высокой кучностью и точностью, надежно поражая цели на дистанции 25 - 50 метров. В Зоне встречается исключительно в руках ветеранов, хорошо умеющих обращаться с оружием."

ef_main_weapon_type = 2
ef_weapon_type = 6

;-----------------------------------------------------------------------------------
holder_range_modifier = 1.0 ; во сколько раз увеличивается eye_range
holder_fov_modifier = 1.0 ; во сколько раз увеличивается eye_fov
;-----------------------------------------------------------------------------------

cost = 2500 ; the price of the item
weapon_class = assault_rifle ; the type of the box that will be used in buy-menu in multiplayer mode

ammo_limit = 210 ; obsolete
ammo_elapsed = 30 ; obsolete

ammo_mag_size = 1;20 ; clip (magazine) size
fire_modes = 1, -1
f_mode = 2
ammo_class = clip_20_9x18_fmj, clip_20_9x18_pmm ; name of the ltx-section of used ammo

hand_dependence = 1 ; how many hands (1 or 2) we used to hold weapon in
single_handed = 0

slot = 1 ; number of slot in inventory we put weapon in (1 - knife slot, 2 - pistol, 3 - rifle, 4 - grenade, 5 - apparatus)
animation_slot = 1 ; type of the animation that will be used

inv_name = АПБ ; name in inventory
inv_name_short = АПБ
inv_weight = 1.22 ; weight in inventory

inv_grid_width = 3
inv_grid_height = 2
inv_grid_x = 38;5
inv_grid_y = 34;33

kill_msg_x = 161
kill_msg_y = 153
kill_msg_width = 37
kill_msg_height = 24

;-----------------------------------------------------------------------------------
;базовая дисперсия
fire_dispersion_base = 0.35 ;угол (в градусах) базовой дисперсии оружия (оружия зажатого в тисках)
disp_rate = 1.85

;отдача
cam_relax_speed = 0 ;скорость возврата в исходное положение
cam_relax_speed_ai = 6
cam_dispersion = 1.0 ;увеличения угла (в градусах) с каждым выстрелом
cam_dispersion_inc = 0.0 ;увеличениe cam_dispersion с каждым выстрелом
cam_dispertion_frac = 1.0 ;ствол будет подыматься на cam_dispersion*cam_dispertion_frac +- cam_dispersion*(1-cam_dispertion_frac)
cam_max_angle = 20.0 ;максимальный угол отдачи
cam_max_angle_horz = 10.0 ;(degree) maximum shot horizontal degree
cam_step_angle_horz = 0.6 ;(degree) size of step camera moved in horizontal position while shooting

fire_dispersion_condition_factor = 5 ;увеличение дисперсии в процентах при максимальном износе
misfire_probability = 0.003 ;вероятность осечки при максимальном износе
misfire_condition_k = 0.05
condition_shot_dec = 0.0002 ;увеличение износа при каждом выстреле
;--------------------------------------------------------------------------------

flame_particles = weapons\generic_weapon05 ; particles for shooting effects
smoke_particles = weapons\generic_shoot_00

shell_point = 0,0.234,0.026 ; position (3rd person view) for shell to throw out
shell_particles = weapons\generic_shells

rpm_empty_click = 100

PDM_disp_base = 1.0
PDM_disp_vel_factor = 0.9
PDM_disp_accel_factor = 0.9
PDM_crouch = 1.0
PDM_crouch_no_acc = 1.0

; ttc
hit_power = 0.916
hit_impulse = 14
hit_type = fire_wound
hit_rate = 1.88
fire_distance = 800 ; maximum fire distance that bullet can fly
bullet_speed = 340 ; starting bullet speed
rpm = 600 ; max round per minute

use_aim_bullet = true ;Поддерживается ли первая суппер пуля
time_to_aim = 1.0

;params when silencer is attached
;similar to corresponding params without prefix silencer_

silencer_hit_power = 0.874
silencer_hit_impulse = 12
silencer_fire_distance = 500
silencer_bullet_speed = 220

hud = wpn_apb_hud ; name of the section of the hud
normal = 0, 1, 0
position = -0.021, -0.09, 0.0
orientation = 0, 0, 1 ; (3rd person view)

direction = 0, 0, 1
fire_point = 0,0.226,0.162 ; position (3rd person view) for particles of fire

;--STRAP PARAMETERS-----------------------------------------------------------------
strap_position = -0.16,-0.40,0.15 ; position (offset) and orientation of the weapon when it is strapped
strap_orientation = -10,-5,10 ; (3rd person view in degrees)
strap_bone0 = bip01_spine2
strap_bone1 = bip01_spine1

visual = weapons\apb\wpn_apb.ogf ; name of the model for 3rd person view

light_color = 0.6,0.5,0.3 ; params for light during the fire
light_range = 5 ; radius
light_var_color = 0.05
light_var_range = 0.5
light_time = 0.2

ph_mass = 3 ; physic mass (kg)

;addons
scope_status = 0 ; 0 - no addon
silencer_status = 0 ; 1 - permanent
grenade_launcher_status = 0 ; 2 - attachable
collimator_factor = 0
collimator_target = 0

zoom_enabled = true ; (on,off)zoom mode (right mouse button)
scope_zoom_factor = 90 ; fov for zoom mode

silencer_name = wpn_addon_silencer ; section name for the attachable silencer
silencer_x = 119 ; offset in inventory icon
silencer_y = -6

;sounds (name of the sound, volume (0.0 - 1.0), delay (sec))
snd_draw = weapons\generic_draw
snd_holster = weapons\generic_holster
snd_shoot = weapons\aps_shot
snd_empty = weapons\pistol_empty
snd_reload = weapons\p_reload2, 0.8
snd_close = weapons\generic_holster

;params when silencer is attached
;similar to corresponding params without prefix silencer_

;silencer_flame_particles = weapons\generic_weapon01
silencer_smoke_particles = weapons\generic_shoot_00
snd_silncer_shot = weapons\p_silent2, 0.4
silencer_light_color = 0.6,0.5,0.3
silencer_light_range = 0.01
silencer_light_var_color = 0.05
silencer_light_var_range = 0.5
silencer_light_time = 0.2

;-----------------------------------------------------------------------------
;-- HUD DESCRIPTION
;-----------------------------------------------------------------------------

[wpn_apb_hud]

shell_point = 0.05, 0.00, -0.1
shell_dir = 0.0, 0.0, 0.0

fire_point = 0.0000,0.0150,-0.2900
fire_bone = wpn_body
position = -0.050,-0.145,-0.0500
orientation = 0,0,0
visual = weapons\apb\wpn_apb_hud.ogf

anim_idle = idle
anim_idle_aim = idle_aim
anim_reload = reload
anim_draw = draw
anim_holster = holster
anim_shoot = shoot
anim_idle_sprint = idle_sprint

zoom_offset = -0.068000,0.030800,-0.000100
zoom_rotate_x = -0.014800
zoom_rotate_y = -0.005600

zoom_hide_crosshair = true ;to hide crosshair in zoom

 

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

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

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

@AndreySol, проверить-то никак? Ты вообще сделал, что я тебе вчера говорил? Гадать так можно сколько угодно, иди да попробуй сделать че я советовал, потом это попробуй, и выясни че за ключ, и нам расскажешь, и флудить не будешь.

 

@ed_rez, херово гуглил, кости кривые, переделывай худ модель. Непонятно только для кого справочник вылетов делался... 

 

 

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

 

Свят-свят-свят. Там и так вот только что очередной не-читатель отметился.

А посты с вопросами без малейших признаков попытки воспользоваться поиском вообще-то называются флудом. dc

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

Max124tipaciferki1, в direction координаты прописываются в виде (x, y, z). Ты вращаешь аномалию по игреку, по вертикальной оси. Я же тебе писал - вращай по икс или зет.

 

Возникла проблема.

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

<dialog id="german_first_dialog">

<has_info>go_to_german</has_info>

<dont_has_info>german_first_talk</dont_has_info>

<phrase_list>

<phrase id="0">

<text>german_first_dialog_0</text>

<next>1</next>

</phrase>

<phrase id="1">

<text>german_first_dialog_1</text>

<next>2</next>

</phrase>

<phrase id="2">

<text>german_first_dialog_2</text>

<next>3</next>

</phrase>

<phrase id="3">

<text>german_first_dialog_3</text>

<next>4</next>

</phrase>

<phrase id="4">

<text>german_first_dialog_4</text>

<next>5</next>

</phrase>

<phrase id="5">

<text>german_first_dialog_5</text>

<next>6</next>

</phrase>

<phrase id="6">

<text>german_first_dialog_6</text>

<next>7</next>

</phrase>

<phrase id="7">

<text>german_first_dialog_7</text>

<next>8</next>

</phrase>

<phrase id="8">

<text>german_first_dialog_8</text>

<next>9</next>

</phrase>

<phrase id="9">

<text>german_first_dialog_9</text>

<next>10</next>

</phrase>

<phrase id="10">

<text>german_first_dialog_10</text>

<next>101</next>

<next>102</next>

</phrase>

<phrase id="101">

<text>german_first_dialog_101</text>

<next>11</next>

</phrase>

<phrase id="11">

<text>german_first_dialog_11</text>

<action>jupiter_dialog.german_give_equipment</action>

<next>12</next>

</phrase>

<phrase id="12">

<text>german_first_dialog_12</text>

<give_info>german_first_talk</give_info>

<action>dialogs.break_dialog</action>

</phrase>

<phrase id="102">

<text>german_first_dialog_102</text>

<action>dialogs.break_dialog</action>

</phrase>

</phrase_list>

</dialog>

 

Функция из jupiter_dialog.script

function german_give_equipment(first_speaker, second_speaker)

dialogs.relocate_item_section(first_speaker, "ammo_5.45x39_ap", "in")

dialogs.relocate_item_section(first_speaker, "ammo_5.45x39_ap", "in")

dialogs.relocate_item_section(first_speaker, "ammo_5.45x39_ap", "in")

dialogs.relocate_item_section(first_speaker, "ammo_5.56x45_ap", "in")

dialogs.relocate_item_section(first_speaker, "ammo_5.56x45_ap", "in")

dialogs.relocate_item_section(first_speaker, "ammo_5.56x45_ap", "in")

dialogs.relocate_item_section(first_speaker, "ammo_9x39_ap", "in")

dialogs.relocate_item_section(first_speaker, "ammo_9x39_ap", "in")

dialogs.relocate_item_section(first_speaker, "ammo_9x39_ap", "in")

dialogs.relocate_item_section(first_speaker, "medkit_scientic", "in")

dialogs.relocate_item_section(first_speaker, "medkit_scientic", "in")

dialogs.relocate_item_section(first_speaker, "medkit_scientic", "in")

end

 

Также не работает и другая, если ее прописать в эту функцию

first_speaker:set_relation(game_object.friend, second_speaker)

 

Сразу повторю, что поначалу они РАБОТАЛИ. Отчего такое молго быть?

 

 

Проблема с невызовом функций из диалогов решилась. Оказывается, в имени функции нужно было убрать дефис.

 

О, опять старые древние заслуженные грабли ! Минусы, плюсы и прочая псевдографика вообще ни где не должны быть, кроме как в файлах, лежащих в config\text\*, ну, максимум, в строках, которые выводятся непосредственно из скриптов без всяких преобразований. Имен файлов это тоже касается. dc

 

Еще вопрос ко всем, может, не в тему, а всё же: никто не в курсах, нет ли в каком моде к Сталкеру гаусс-пушки с измененным визуалом, не родным из чистой ТЧ?

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

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

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

... к Сталкеру гаусс-пушки с измененным визуалом, не родным из чистой ТЧ?

http://www.amk-team.ru/forum/index.php?showtopic=8216&page=8#entry831139

Карлан,

я чуть выше описал все, что ты написал из справочника... С нетпакетом нет никаких проблем! 

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

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

Есть такое задание:

<game_task id="val_prisoner_help">
 <title>val_prisoner_help</title>
 <objective key="0">
  <article>val_prisoner_help_art</article>
  <icon>ui_iconsTotal_val_prisoner_help</icon>
  <infoportion_complete>val_prisoner_scene_end</infoportion_complete>
  <infoportion_fail>val_prisoner_dead</infoportion_fail>
 </objective>
 <objective key="1">
  <text>val_prisoner_help_1</text>
  <infoportion_complete>val_prisoner_give_info</infoportion_complete>
  <infoportion_fail>val_prisoner_dead</infoportion_fail>
 </objective>
 <objective key="2">
  <text>val_prisoner_help_2</text>
  <map_location_type hint="val_prisoner_help_main_hint">green_location</map_location_type>
  <object_story_id>val_prisoner</object_story_id>
  <infoportion_complete>val_prisoner_free</infoportion_complete>
  <infoportion_set_complete>val_prisoner_scene_end</infoportion_set_complete>
  <infoportion_fail>val_prisoner_dead</infoportion_fail>
 </objective>
</game_task>

 

 

выдается в диалоге. Проблема - после выдачи, на объекте задания сразу стоит зеленая метка. Ошибок с инфо-порциями нет. Что не так ? Она ведь должна, по идее, появляться только после выполнения первого подзадания ?

 

И еще по заданиям вопрос - в кодах исходных заданий сплошь и рядом встречается строка:

<icon height="50" width="50" x="100" y="50">ui\ui_icons_task</icon>

с разными циферками для х и у. Она движком обрабатывается ? А то чет иконок, указанных по этим координатам из указанного файла текстур, я в описаниях заданий в ПДА не вижу ни где ?

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

Иногда при выходе из игры возникает вылет:

stack trace:

 

001B:7C812FD3 kernel32.dll

001B:78158E89 MSVCR80.dll, EH_prolog()

001B:02BC6DA8 xrGame.dll

001B:02DE79DD xrGame.dll

 

 

 

С чем такое едят? И отчего возникает?

 

А выше показать ? dc

dc, лог стер, но выше было что-то типа cl destroy [какие-то цифры]. В меню нажимаешь "Выход в Windows" и на рабочем столе вдруг появляется окошко с жуком. Заметил только на одной локации и в момент, когда возле ГГ куча народу (31 чел). Если отойти от них подальше - никакого окна с жуком не появляется.

dc, вот приблизительно это

cl setDestroy [48869][37115]

cl setDestroy [48870][37115]

cl setDestroy [48871][37115]

cl setDestroy [48872][37115]

 

 

только числа другие наверно были.

 

@Dennis_Chikin, в общем, да. Раз на раз не приходится. Но ситуация с жуком возникла-то всего дважды...

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

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

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

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

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

Проблема - после выдачи, на объекте задания сразу стоит зеленая метка. Ошибок с инфо-порциями нет. Что не так ? Она ведь должна, по идее, появляться только после выполнения первого подзадания ?

Попробуй добавить

<map_location_hidden>1</map_location_hidden>

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

Приветствую всех! Нужна помощь! Как создать квест нападение, на какой-нибудь лагерь ? Например: На блокпост военных нападают сталкеры, перебили всех, далее встали в их гулаг, но чтобы военные больше не заспаунились. Помогите!

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

 

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

 

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

Имеется три НПСа под гулагом. Все трое по выдаче инфо-порции переходят в схему patrol. Схемы построены так:

ведущий

[remark@val_escort_npc1]anim  = waittarget  = actoron_game_timer = 1800 | patrol@val_escort_npc1_leave %+val_escort_scene_end% - эта инфо-порция переводит в patrol[patrol@val_escort_npc1_leave]path_walk   = leave_walkpath_look   = leave_lookcommander   = trueformation   = lineon_signal   = arrived | nil %+val_escort_on_blokpost%

ведомые, первый (в схему не переходит, гад...)

[walker@val_escort_npc2]path_walk = wait_to_prisoner_walk1path_look = wait_to_prisoner_look1on_info  = {+val_escort_scene_end} | patrol@val_escort_npc2_leave[patrol@val_escort_npc2_leave]path_walk = leave_walkpath_look = leave_lookformation = lineon_info  = {+val_escort_on_blokpost} | nilon_signal = arrived | nil

второй

[remark@val_escort_npc3]anim = wait_naon_info = {+val_escort_scene_end} patrol@val_escort_npc3_leave[patrol@val_escort_npc3_leave]path_walk = leave_walkpath_look = leave_lookformation = lineon_info  = {+val_escort_on_blokpost} | nilon_signal = arrived | nil

 



Проблема - один из ведомых НПСов категорически не желает идти в патруле. Ведущий и второй ведомый НПС исправно переходят в схему и начинают движение по прописанному пути, а первый ведомый НПС не переходит в схему и все. Но под гулагом остается.

Что это может быть ? Что и где я упустил ?

 

кошмар какой-то....

Переделал схему первого ведомого НПСа так, чтоб он в patrol переходил тоже из remark, как и два других - и все заработало !!! Это-то как понимать ????

 

 

я вот например заметил косяк в приведенной тобою логике

В чем он ?
Изменено пользователем Dennis_Chikin
убрал код под спойлеры
Ссылка на комментарий

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

 

Это-то как понимать ???? 

 

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

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

@AndreySol

on_info = {+val_escort_scene_end} | patrol@val_escort_npc2_leave

следует писать так:

on_info = {+val_escort_scene_end} patrol@val_escort_npc2_leave

Разделитель «|» лишний.

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

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

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

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

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

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

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

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

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

Войти

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

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

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