Новые файлы:
Новые статьи:
Новые видео:
Новые ответы на форуме
МЕНЮ

МИНИ-ЧАТ
ОПРОС
Какой у вас браузер?


Результаты
Архив опросов
Всего ответов: 76
ИНФОРМАЦИЯ
Онлайн всего: 1
Гостей: 1
Пользователей: 0

ГАЛЕРЕЯ
СТАТЬИ
Главная » Статьи » Модостроение

Добавление новых графических опций
Будем учиться добавлять новые опции в меню графики.
Нам понадобятся файлы:
user.ltx
ui_mm_opt_video.script
ui_mm_opt_video_adv.script
ui_mm_opt.xml
ui_st_mm.xml

Для начала, идём в user.ltx и ищем там графические параметры.
_preset Extreme
ai_use_torch_dynamic_lights on
unbindall
bind left kLEFT
bind right kRIGHT
bind up kUP
bind down kDOWN
bind jump kSPACE
bind crouch kLCONTROL
bind accel kLSHIFT
bind sprint_toggle kX
bind forward kW
bind back kS
bind lstrafe kA
bind rstrafe kD
bind llookout kQ
bind rlookout kE
bind cam_zoom_in kADD
bind cam_zoom_out kSUBTRACT
bind torch kL
bind night_vision kN
bind wpn_1 k1
bind wpn_2 k2
bind wpn_3 k3
bind wpn_4 k4
bind wpn_5 k5
bind wpn_6 k6
bind artefact k7
bind wpn_next kY
bind wpn_fire mouse1
bind wpn_zoom mouse2
bind wpn_reload kR
bind wpn_func kV
bind wpn_firemode_prev k9
bind wpn_firemode_next k0
bind pause kPAUSE
bind drop kG
bind use kF
bind scores kTAB
bind chat kCOMMA
bind chat_team kPERIOD
bind screenshot kF12
bind quit kESCAPE
bind console kGRAVE
bind inventory kI
bind buy_menu kB
bind skin_menu kO
bind team_menu kU
bind active_jobs kP
bind map kM
bind contacts kH
bind vote_begin kF5
bind vote kF6
bind vote_yes kF7
bind vote_no kF8
bind speech_menu_0 kC
bind speech_menu_1 kZ
bind use_bandage kRBRACKET
bind use_medkit kLBRACKET
bind quick_save kF6
bind quick_load kF7
cam_inert 0.
cam_slide_inert 0.25
cl_cod_pickup_mode 1
cl_dynamiccrosshair on
g_always_run on
g_autopickup on
g_backrun on
g_corpsenum 10
g_eventdelay 0
g_game_difficulty gd_novice
hud_crosshair on
hud_crosshair_dist off
hud_info on
hud_weapon on
load_last_save all
mm_mm_net_srv_dedicated off
mm_net_con_publicserver off
mm_net_con_spectator 20
mm_net_con_spectator_on off
mm_net_filter_empty on
mm_net_filter_full on
mm_net_filter_listen on
mm_net_filter_pass on
mm_net_filter_wo_ff on
mm_net_filter_wo_pass on
mm_net_srv_gamemode st_deathmatch
mm_net_srv_maxplayers 32
mm_net_srv_name MICROSOF-80B663
mm_net_srv_reinforcement_type 1
mm_net_weather_rateofchange 1.
mouse_invert off
mouse_sens 0.12
net_cl_icurvesize 0
net_cl_icurvetype 0
net_cl_interpolation 0.
net_cl_log_data off
net_dbg_dump_export_obj 0
net_dbg_dump_import_obj 0
net_dbg_dump_update_read 0
net_dbg_dump_update_write 0
net_dedicated_sleep 5
net_sv_gpmode 0
net_sv_log_data off
net_sv_pending_lim 3
net_sv_update_rate 30
ph_frequency 100.00000
ph_iterations 38
r1_dlights on
r1_dlights_clip 75.
r1_glows_per_frame 16
r1_lmodel_lerp 0.1
r1_pps_u 0.
r1_pps_v 0.
r1_ssa_lod_a 64.
r1_ssa_lod_b 48.
r1_tf_mipbias 0.
r2_aa off
r2_aa_break 0.800000,0.500000,0.000000
r2_aa_kernel 0.5
r2_aa_weight 0.250000,0.250000,0.000000
r2_allow_r1_lights off
r2_gi off
r2_gi_clip 0.001
r2_gi_depth 1
r2_gi_photons 16
r2_gi_refl 0.9
r2_gloss_factor 1.5
r2_ls_bloom_fast off
r2_ls_bloom_kernel_b 0.7
r2_ls_bloom_kernel_g 3.
r2_ls_bloom_kernel_scale 0.7
r2_ls_bloom_speed 100.
r2_ls_bloom_threshold 0.001
r2_ls_depth_bias -0.0003
r2_ls_depth_scale 1.00001
r2_ls_dsm_kernel 0.7
r2_ls_psm_kernel 0.7
r2_ls_squality 1.
r2_ls_ssm_kernel 0.7
r2_mblur 0.
r2_parallax_h 0.02
r2_slight_fade 0.3333
r2_ssa_lod_a 64.
r2_ssa_lod_b 48.
r2_sun on
r2_sun_depth_far_bias -0.00001
r2_sun_depth_far_scale 1.
r2_sun_depth_near_bias 0.00001
r2_sun_depth_near_scale 1.
r2_sun_details off
r2_sun_focus on
r2_sun_lumscale 1.
r2_sun_lumscale_amb 0.5
r2_sun_lumscale_hemi 1.
r2_sun_near 12.
r2_sun_near_border 0.75
r2_sun_tsm on
r2_sun_tsm_bias -0.01
r2_sun_tsm_proj 0.3
r2_tf_mipbias 0.
r2_tonemap on
r2_tonemap_adaptation 1.
r2_tonemap_amount 0.7
r2_tonemap_lowlum 0.0001
r2_tonemap_middlegray 0.6
r2_wait_sleep 0
r2_zfill off
r2_zfill_depth 0.5
r2em 2.2
r__detail_density 0.2
r__geometry_lod 1.
r__supersample 2
r__tf_aniso 16
renderer renderer_r2
rs_c_brightness 1.
rs_c_contrast 1.
rs_c_gamma 1.
rs_fullscreen on
rs_refresh_60hz on
rs_stats off
rs_v_sync off
rs_vis_distance 1.
snd_acceleration on
snd_cache_size 16
snd_efx on
snd_targets 24
snd_volume_eff 1.
snd_volume_music 1.
sv_anomalies_enabled 1
sv_anomalies_length 3
sv_artefact_respawn_delta 30
sv_artefact_spawn_force 0
sv_artefact_stay_time 3
sv_artefacts_count 10
sv_auto_team_balance 0
sv_auto_team_swap 1
sv_bearercantsprint 1
sv_client_reconnect_time 60
sv_console_update_rate 1
sv_dedicated_server_update_rate 100
sv_dmgblockindicator 1
sv_dmgblocktime 0
sv_forcerespawn 0
sv_fraglimit 10
sv_friendly_indicators 0
sv_friendly_names 0
sv_friendlyfire 1.
sv_hail_to_winner_time 7
sv_max_ping_limit 2000
sv_pda_hunt 1
sv_reinforcement_time 0
sv_remove_corpse 1
sv_remove_weapon 1
sv_returnplayers 1
sv_rpoint_freeze_time 0
sv_shieldedbases 1
sv_spectr_firsteye 1
sv_spectr_freefly 0
sv_spectr_freelook 1
sv_spectr_lookat 1
sv_spectr_teamcamera 1
sv_statistic_collect 1
sv_statistic_save_auto 0
sv_teamkill_limit 3
sv_teamkill_punish 1
sv_timelimit 0
sv_vote_enabled 255
sv_vote_participants 0
sv_vote_quota 0.51
sv_vote_time 1.
sv_warm_up 0
texture_lod 0
vid_mode 1280x1024


Это мой полный.
Возмём к примеру графический параметр r2_gi
Префикс r2 означает что он будет работать только на полном динамическом освещении.
Далее идём в файл ui_mm_opt_video_adv.script
class "opt_video_adv" (CUIWindow)

function opt_video_adv:__init() super()
end

function opt_video_adv:__finalize()
end

function only_2_mode(ctrl, _id)
    local bEnabled    = _id==2
    ctrl:Enable        (bEnabled)
end

function only_12_mode(ctrl, _id)
    local bEnabled    = _id==1 or _id==2
    ctrl:Enable        (bEnabled)
end

function opt_video_adv:InitControls(x, y, xml, handler)
    local ctl
    self:Init                                    (x,y, 738, 416)
    self:SetAutoDelete                            (true)
    
    self.bk            = xml:InitFrame                ("frame_videoadv", self)
    self.scroll_v    = xml:InitScrollView        ("video_adv:scroll_v", self)

    local _st        = xml:InitStatic            ("video_adv:templ_item",                self.scroll_v)
    xml:InitStatic                                ("video_adv:cap_vis_dist",                _st)
    xml:InitTrackBar                            ("video_adv:track_vis_dist",            _st)

    _st                = xml:InitStatic            ("video_adv:templ_item",                self.scroll_v)
    xml:InitStatic                                ("video_adv:cap_geometry_lod",            _st)
    xml:InitTrackBar                            ("video_adv:track_geometry_lod",        _st)

    _st                = xml:InitStatic            ("video_adv:templ_item",                self.scroll_v)
    xml:InitStatic                                ("video_adv:cap_detail_density",        _st)
    xml:InitTrackBar                            ("video_adv:track_detail_density",        _st)

    _st                = xml:InitStatic            ("video_adv:templ_item",                self.scroll_v)
    xml:InitStatic                                ("video_adv:cap_texture_lod",            _st)
    xml:InitTrackBar                            ("video_adv:track_texture_lod",            _st)

    _st                = xml:InitStatic            ("video_adv:templ_item",                self.scroll_v)
    xml:InitStatic                                ("video_adv:cap_aniso",                    _st)
    xml:InitTrackBar                            ("video_adv:track_aniso",                _st)

    _st                = xml:InitStatic            ("video_adv:templ_item",                self.scroll_v)
    xml:InitStatic                                ("video_adv:cap_ssample",                _st)
    xml:InitTrackBar                            ("video_adv:track_ssample",                _st)


    _st                = xml:InitStatic            ("video_adv:templ_item",                self.scroll_v)
    xml:InitStatic                                ("video_adv:cap_r2_sun",                _st)
    ctl            = xml:InitCheck                    ("video_adv:check_r2_sun",                _st)
    handler.m_preconditions[ctl]        = only_2_mode
    
    _st                = xml:InitStatic            ("video_adv:templ_item",                self.scroll_v)
    xml:InitStatic                                ("video_adv:cap_r2_sun_details",        _st)
    ctl            = xml:InitCheck        ("video_adv:check_r2_sun_details",        _st)
    handler.m_preconditions[ctl]        = only_2_mode

    _st                = xml:InitStatic            ("video_adv:templ_item",                self.scroll_v)
    xml:InitStatic                                ("video_adv:cap_light_distance",        _st)
    ctl                = xml:InitTrackBar            ("video_adv:track_light_distance",        _st)
    handler.m_preconditions[ctl]        = only_12_mode

    _st                                            = xml:InitStatic                        ("video_adv:templ_item",                self.scroll_v)
    xml:InitStatic                                ("video_adv:cap_npc_torch",                _st)
    xml:InitCheck                                ("video_adv:check_npc_torch",            _st)

    _st                = xml:InitStatic            ("video_adv:templ_item",                self.scroll_v)
    xml:InitStatic                                ("video_adv:cap_particles_distance",    _st)
    ctl                = xml:InitTrackBar            ("video_adv:track_particles_distance",    _st)
    handler.m_preconditions[ctl]        = only_12_mode

    _st                = xml:InitStatic            ("video_adv:templ_item",                self.scroll_v)
    xml:InitStatic                                ("video_adv:cap_vsync",                    _st)
    xml:InitCheck                                ("video_adv:check_vsync",                _st)
    
    _st                = xml:InitStatic            ("video_adv:templ_item",                self.scroll_v)
    xml:InitStatic                                ("video_adv:cap_60hz",                    _st)
    xml:InitCheck                                ("video_adv:check_60hz",                _st)

    btn        = xml:Init3tButton                    ("video_adv:btn_to_simply",    self)    
    handler:Register                            (btn, "btn_simply_graphic")    
end


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


Копируем, вставляем с новым именем перед концом скрипта.



_st = xml:InitStatic
("video_adv:templ_item", self.scroll_v)
xml:InitStatic
("video_adv:cap_r2gi", _st)
xml:InitCheck
("video_adv:check_r2gi", _st)





Переписываем вот так и вставляем перед
    btn        = xml:Init3tButton                    ("video_adv:btn_to_simply",    self)    

Сохраняем и закрываем.
Идём в ui_mm_opt.xml


Вписываем в любое место каркас
<cap_r2gi x="20" y="0" width="143" height="21">
        <text font="letterica16" r="215" g="195" b="170">ui_mm_r2gi</text>
        </cap_r2gi>
        <check_r2gi x="194" y="0" width="30" height="21">
            <options_item entry="r2_gi" group="mm_opt_video_adv"/>
        </check_r2gi>


Разберём подробно


<cap_r2gi x="20" y="0" width="143" height="21">
Название нашей кнопки, и кординаты её расположения
*вторая строчка*
Тут всё просто. Шрифт, и URL на текст
<check_r2gi x="194" y="0" width="30" height="21">
Плохо знаю зачем нужна, но всегда нужно заполнять. Связана с проверкой
<options_item entry="r2_gi" group="mm_opt_video_adv"/>
А вот тут всё очень интересно. Первое, указан изменяемый параметр(из user.ltx) и группа(класс) скрипта, в котором записана обрабатывающая функция
Вот и всё. Теперь идём в ui_st_mm.xml
<string id="ui_mm_r2gi">
        <text>Продать все</text>
    </string>


Записываем в самый конец эту тему, и всё. Функция добавлена.
Категория: Модостроение | Добавил: _Призрак_ (29.03.2012)
Просмотров: 509 | Теги: Добавление, опций, новых, графических | Рейтинг: 1.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
КПК
Логин:
Пароль:


ТОП СТАЛКЕРОВ
AlterEgor
Файлов: 453
Постов: 1114
Репы: 185
Статей: 356
Штурман
Файлов: 154
Постов: 1873
Репы: 335
Статей: 81
Daizex
Файлов: 81
Постов: 440
Репы: 394
Статей: 0
ФАЙЛЫ
Топ просмотров
Повелитель Зоны для ...[4362]
S.T.A.L.K.E.R - Ради...[4316]
Ворон мод[4247]
SWMod v0.5[3252]
Sigerous Mod 2.1[2970]
"S.T.A.L.K.E.R ...[2866]
Новый худ[2457]
Модель новичка с гол...[2272]
Perfect Graphic Mod[2258]
S.T.A.L.K.E.R.-Воля ...[2222]
Топ загрузок
Ворон мод[35]
Повелитель Зоны для SG...[34]
S.T.A.L.K.E.R - Радиоа...[22]
Winter of Death: Ultim...[19]
Sigerous Mod 2.1[17]
IRON MOD 2[15]
S.T.A.L.K.E.R Тень Чер...[15]
Повелитель Зоны[13]
S.T.A.L.K.E.R.-Воля на...[13]
Новый худ[13]
ЛЕГЕНДЫ
Авторское право на игру и использованные в ней
материалы принадлежат GSC Game World.
Хостинг от uCoz
Для просмотра страниц сайта и более быстрой навигации рекомендуем
использовать браузеры последней версии. Необходим JavaScript и поддержка CSS 3.
В дизайне сайта присутствуют текстуры и части текстур, принадлежащие GSC Game World.
Администрация портала не несет ответственности за информацию и материалы, размещенные пользователями ресурса.
Копирование и любое использование материалов и графических изображений сайта запрещено.
© Powered by & designed by Daizex, 2011-2024.