Ищу напарников для развития проекта! Программисты Delphi, мододелы-консультанты
мой скайп
edifier751
(Начало)
Разработка "скелета" программы.
(prepreAlfa)
Создать основные редакторы для создания полноценного квеста (диалоги, НПС, квесты, поршни, функции) То есть, реализовать базовые и минимальные функциональные возможности соответствующих редакторов.
(preAlfa)
Адаптация базового функционала к "Зов Припяти" => (preAlfa_CoP)
Адаптация базового функционала к "Чистое Небо" => (preAlfa_CoP_CS)
Рефакторинг и оптимизация.
(Alfa)
Добавление уникальных редакторов во все версии трилогии.
[alife] schedule_min = milliseconds schedule_max = milliseconds process_time = microseconds update_monster_factor = time_factor = скорость для демонстрации смены дня и ночи, 1 = реальное время normal_time_factor = животные в оффлайне перемещаются со скоростью, делённой на этот фактор (чтобы не бегали очень быстро) max_combat_iteration_count = 5maximum combat iteration count switch_distance = Лучше не трогать! Отвечает за радиус загрузки локации в метрах switch_factor = start_time = время начала игры (16:30:00) start_date = дата начала игры autosave_interval = отвечает за промежуток между автоматическим сохранением игры. delay_autosave_interval = objects_per_update = start_game_callback = on starting new game or loading saved one
[Оружие] ;----------------- GroupControlSection = discovery_dependency = $spawn = name and section in level editor $npc =Может ли НПС использовать оружие (секцию) (?) $prefetch = scheduled =Опция для ALife Simulator cform = class = class of the weapon that corresponding to CPP class min_radius =Минимальный радиус на котором стреляет НПС или начинает стрелять (?) max_radius =Максимальный радиус на котором стреляет НПС или начинает стрелять (?) max_zoom_factor = description = ссылка на файл "string_table_enc_weapons.xml" с описанием оружия ef_main_weapon_type = основной тип, к которому принадлежит оружие ef_weapon_type = подтип, к которому принадлежит оружие attach_angle_offset = attach_position_offset = attach_bone_name = auto_attach = holder_range_modifier = во сколько раз увеличивается eye_range holder_fov_modifier = во сколько раз увеличивается eye_fov tri_state_reload = cost =Базовая цена (торговцы умножают её на некоторый коэффициент) weapon_class = класс оружия show_ammo = startup_ammo = ammo_limit = (obsolete) в игре не используется, наверно задумывалось как ограничение ношения ссобой патронов ammo_current = ammo_elapsed = obsolete ammo_mag_size =Размер магазина fire_modes = режимы ведения огня ammo_class =Имена ltx-секций с названиями патронов, которыми может стрелять оружие grenade_class = name of the ltx-section of used grenades launch_speed = hand_dependence = (возможно, речь идет о качании ствола) how many hands (1 or 2) we used to hold weapon in single_handed = держится ли только в одной руке slot = слот в инвентаре(1 - knife slot, 2 - pistol, 3 - rifle, 4 - grenade, 5 - apparatus) animation_slot = вид анимации (для пистолета/для винтовки) inv_name = name in inventory inv_name_short = ссылка на файл "string_table_enc_weapons.xml" с коротким названием оружия inv_weight = вес в инвентаре inv_grid_width = координаты первого угла иконки по x inv_grid_height = координаты первого угла иконки по y inv_grid_x = координаты второго угла иконки по x inv_grid_y = координаты второго угла иконки по y kill_msg_x = kill_msg_y = kill_msg_width = kill_msg_height = dispersion_start = fire_dispersion_base = угол (в градусах) базовой дисперсии оружия (оружия зажатого в тисках) control_inertion_factor = sprint_allowed = определяет, в состоянии ли бежать персонаж с этой пушкой (true — да, false — нет). ;отдача cam_relax_speed = скорость возврата в исходное положение cam_relax_speed_ai = cam_dispersion = увеличения угла (в градусах) с каждым выстрелом cam_dispersion_inc = увеличениe cam_dispersion с каждым выстрелом cam_dispertion_frac = ствол будет подыматься на cam_dispersion*cam_dispertion_frac +- cam_dispersion*(1-cam_dispertion_frac) cam_max_angle = максимальный угол отдачи cam_max_angle_horz = (degree) maximum shot horizontal degree cam_step_angle_horz = (degree) size of step camera moved in horizontal position while shooting cam_horz_factor = cam_horz_prob = disp_vel_factor = disp_crouch_factor = disp_jump_factor = fire_dispersion_condition_factor = увеличение дисперсии в процентах при максимальном износе misfire_probability = вероятность осечки при максимальном износе misfire_condition_k = порог, после которого оружие может заклинивать (0.01=1 <img src="/.s/sm/23/wacko.gif" border="0" align="absmiddle" alt="wacko" /> condition_shot_dec = увеличение износа при каждом выстреле fire_point = точка выстрела fire_point2 = точка выстрела 2 (when shooting with secondary fire) flame_particles = particles for shooting effects smoke_particles = grenade_flame_particles = shell_point = точка вылета гильз shell_particles = модель гильз, отлетающих в разные стороны при стрельбе. PDM_disp_base = PDM_disp_vel_factor = PDM_disp_accel_factor = PDM_crouch = PDM_crouch_no_acc = ; ttc hit_power = урон от оружия. Четыре числа: первое минимальный ущерб, последнее — максимальный, средние два, промежуточный. hit_impulse = сила пули, которая передается жертве hit_type = тип повреждения, наносимого оружием. Огнестрельное ранение — fire_wound, ножевое — wound и wound_2, взрыв — explosion. fire_distance = дальнобойность bullet_speed = начальная скорость пули rpm = Скорострельность rpm_empty_click = use_aim_bullet = Поддерживается ли первая суппер пуля time_to_aim = silencer_hit_power = урон от оружия с глушителем silencer_hit_impulse = сила пули с глушителем silencer_fire_distance = дальнобойность с глушителем silencer_bullet_speed = начальная скорость пули с глушителем hud = внешний вид оружия normal = position = позиция по отношению к игроку (?) orientation = направление, в которое смотрит ствол (?) direction = shell_dir = grenade_vel = weapon_min_queue_size_far = минимальная очередь на дальние дистанции. Одиночные. weapon_max_queue_size_far = Максимум -6 патронов в очереди. В принципе, здесь можно и поменьше, но практика показывает, что такой огонь довольно эффективен. weapon_min_queue_interval_far = Периодичность выстрелов. Как я понял, в миллисекундах. weapon_max_queue_interval_far = Секунда на прицеливание их же устроит? Но дальше уж надо жать на курок. weapon_min_queue_size_close = вблизи (почти в упор) им надо шмалять не щадя обоймы. Пока сталкер Меченый не опомнился. weapon_max_queue_size_close = при удаче они даже всадят всю обойму <img src="/.s/sm/23/smile.gif" border="0" align="absmiddle" alt="smile" /> weapon_min_queue_interval_close = интервал на ближних дистанциях также минимальный: с такого расстояния нужно стрелять не думая. weapon_max_queue_interval_close = ;--STRAP PARAMETERS----------------------------------------------------------------- strap_position = position (offset) and orientation of the weapon when it is strapped strap_orientation = (3rd person view in degrees) strap_bone0 = strap_bone1 = visual = модель оружия, используемая NPC, а также игроком при виде от третьего лица fragment_speed = explode_duration = light_color = params for light during the fire light_range = radius light_var_color = light_var_range = light_time = light_disabled = ph_mass = физическая масса, используемая при расчетах ;addons zoom_enabled = (on,off)Вкл/выкл возможность зума zoom_hide_crosshair = scope_texture = текстура прицельной сетки scope_zoom_factor = значение зума (fov), зависимость здесь обратно пропорциональна scope_status = снайперский прицел, 0 - no addon, 1 - permanent, 2 - attachable scope_name = название прицепляемого прицела scope_x = положение прицела на картинке в инвентаре, x scope_y = положение прицела на картинке в инвентаре, y weapon_remove_time = silencer_status = глушитель, 0 - no addon, 1 - permanent, 2 - attachable silencer_name = название прицепляемого глушителя silencer_x = положение глушителя на картинке в инвентаре, x silencer_y = положение глушителя на картинке в инвентаре, y grenade_launcher_status = подствольник, 0 - no addon, 1 - permanent, 2 - attachable grenade_launcher_name = название прицепляемого подствольника grenade_launcher_x = положение подствольника на картинке в инвентаре, x grenade_launcher_y = положение подствольника на картинке в инвентаре, y ;sounds (name of the sound, volume (0.0 - 1.0), delay (sec)) snd_draw = sounds (name of the sound, volume (0.0 - 1.0), delay (sec)) snd_holster = sounds (name of the sound, volume (0.0 - 1.0), delay (sec)) snd_gyro = snd_zoomin = snd_zoomout = snd_shoot = sounds (name of the sound, volume (0.0 - 1.0), delay (sec)) snd_shoot1 = sounds (name of the sound, volume (0.0 - 1.0), delay (sec)) snd_shoot2 = sounds (name of the sound, volume (0.0 - 1.0), delay (sec)) snd_shoot3 = sounds (name of the sound, volume (0.0 - 1.0), delay (sec)) snd_shoot_duplet = snd_shoot_1 = snd_reload_1 = snd_empty = sounds (name of the sound, volume (0.0 - 1.0), delay (sec)) snd_reload = sounds (name of the sound, volume (0.0 - 1.0), delay (sec)) snd_close = snd_shoot_grenade = sounds (name of the sound, volume (0.0 - 1.0), delay (sec)) snd_reload_grenade = sounds (name of the sound, volume (0.0 - 1.0), delay (sec)) snd_switch = sounds (name of the sound, volume (0.0 - 1.0), delay (sec)) snd_explode = snd_open_weapon = snd_add_cartridge = snd_close_weapon = grenade_bone = rocket_class = wallmark_section = auto_spawn_ammo = vision_present = vis_frame_speed = vis_frame_color = found_snd = lens_texture = lens_texture_x = lens_texture_y = lens_texture_w = lens_texture_h = ;params when silencer is attached ;similar to corresponding params without prefix silencer_ ;silencer_flame_particles= weapons\generic_weapon01 silencer_smoke_particles= snd_silncer_shot = silencer_light_color = silencer_light_range = silencer_light_var_color= silencer_light_var_range= silencer_light_time =
Сообщение отредактировал KomeR - Четверг, 19.01.2017, 17:21
Graff46, трабл исправил... Заодно внёс небольшие изменения (касаемо РКвестов в ТЧ): 1. Исправил ошибку, возникающая при ПЕРЕсохранении квеста. Лишний раз подставлялся путь к файлу (в пред. посте это видно). При создании и сохранении, ошибок не возникало (пути формировались правильно), однако (смотри пункт 2) 2. После удачного сохранения появлялись дубликаты квестов в дереве квестов. Вызывалось чтение файлов с квестами в память, но старые записи не удалялись. Было решено лишний раз с диска не читать, а просто удалить из памяти и диска удаляемый квест. 3. Было замечено ещё пара недочетов, но они пока остаются без изменений (не критичны).
Пы.Сы.: ехе-шник выложу в течении дня (29.07).
Добавлено (29.07.2016, 20:49) --------------------------------------------- Видео о новых возможностях в новой версии проги.
Ссылка на папку в Я.Диск Как работать в проге можно узнать из видео, а ехе-шник кидать в папку с последней версией SRTP_Stalker_world. Для работы ей нужны те же файлы из игры, что и для SRTP_Stalker_world.
Пы.Сы.: Приветствуются любые предложения по развитию проекта. Будут вопросы задавайте. Повторюсь, SRTP_Stalker_world я не забросил, есть ошибки? сообщайте, буду исправлять. Спасибо!
Добавлено (29.07.2016, 20:58) --------------------------------------------- SRTP_STALKER_world (1.1.0.4) Исправлены косяки в РКвестов для ТЧ. (смотри посты выше)
Сообщение отредактировал KomeR - Пятница, 29.07.2016, 20:49
Я понял что это за файлы изображений. Не лучше было бы сделать чтение программой текстуры с иконками предметов из файлов игры, очень часто она изменяется при добавлении новых предметов игру. Вот скрин ошибки с памятью. Ведет себя очень странно, когда появляется, когда нет, может появиться вообще через некоторое время сама собой
Может из-за отсутствия картинки Я взял текстуру с инвентарными иконками, переконвертировал и переименовал как надо, добавил рядом с прогой, все нормально работает
Сообщение отредактировал Graff46 - Пятница, 29.07.2016, 22:47
Стандартные библиотеки работают с BMP и JPG форматами, это я про VCL. В FMX я еще не смотрел, но у меня возникли проблемы даже при выборке части картинки из БМП формата в FMX. Короче графика для меня темнейший лес А что на счет сторонних, то я где-то видел ДЛЛ-ки от НВИДИА для работы с графикой... С другой стороны картинки это же не критично в проге? Или я ошибаюсь?
С другой стороны картинки это же не критично в проге?
Ну в принципе можно и без них, но с ними удобней. Можно сделать методом костылей. Берем с простор нэта бесплатный конвертер изображений который может работать в консольном режиме, самой прогой вызываем конвертер, заставляем его прочитать текстурку из папки с игрой, перекодить в распространенный формат и результат положить например рядом с прогой. P.S. Помнится Бардак делал консольную фитчу для конвертации ДДС
Добавлено (29.07.2016, 23:10) --------------------------------------------- Вообще давно щекотит глаза библиотека DevIL.dll. Она используется в программах для редактирования ресурсов нашей игры, в основном это просмоторщики 3д моделей, но и object editor, который, кстати, очень умело работает с текстурками Сталкера использует эту библиотеку.
Graff46, такая идея у меня была... но прога не попалась на глаза, да я особо и не искал. Ты сам говоришь, это дело удобства, так сказать работа напильником над уже стабильной прогой я про картинки
Я бы порекомендовал сделать полностью рабочий функционал в направлении квесты- диалоги и все, что с ними связано (инфопоршни, ф-ции скриптов. иконки и тд), это больше всего востребовано, а редакторов оружия и прочих конфигов и так полно.