Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: [ТЧ] Восстановление старого сюжета + аддоны
GAMEINATOR forums > S.T.A.L.K.E.R. > Модификации для S.T.A.L.K.E.R.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
alg0r1tm
Ну же, желающие скачать багованую версию и заняться фиксами, где вы?
Билдоман
Цитата(alg0r1tm @ 24.10.2011, 15:45) *
где вы?


Тут. ))
alg0r1tm
Ну давайте) не подкачайте)) тем временем я занимаюсь той самой 1935 погодой
Кстати, есть что там в шейдерах 1935 особого?

Хочется реализовать тот r2 и тот r1 smile.gif
VEX
alg0r1tm, а список изменения в твоем аддоне,можно увидеть?
cjayho
Цитата(alg0r1tm @ 24.10.2011, 16:29) *
Кстати, есть что там в шейдерах 1935 особого?
Хочется реализовать тот r2 и тот r1 smile.gif


в 1935 вроде не было р2

Цитата(alg0r1tm @ 23.10.2011, 13:47) *
cjayho, Мне не все нрав в твоих шейдерах) мне бы шейдеры от 1935) хочется то самое свенцовое небо и уг погоду как писали выше smile.gif


А что именно не нравится? Чтобы я мог сделать сию фичу отключаемой.
Morder
Цитата(alg0r1tm @ 24.10.2011, 17:29) *
Ну давайте) не подкачайте)) тем временем я занимаюсь той самой 1935 погодой
Кстати, есть что там в шейдерах 1935 особого?

Хочется реализовать тот r2 и тот r1 smile.gif

По кусочкам собираем того самого biggrin.gif
alg0r1tm
cjayho, блин, я разве говорил что в 1935 есть р2 ?

cjayho, ну, мне только баг фиксы нужны

VEX, много чего, но это баговая версия для тех кто писал что исправит крэш сейвов
VEX
Цитата(alg0r1tm @ 24.10.2011, 23:07) *
VEX, много чего, но это баговая версия для тех кто писал что исправит крэш сейвов

Ну тогда и качать не буду,"много всего",мне это не о чем не говорит,загрузить 500мб чтобы просто посмотреть,больно толсто будет для моего интернета.А так думал помочь чем-нибудь,если интересное дополнение делаешь.
alg0r1tm
VEX, оно почти аналогично дополнению Shadows smile.gif мы оба поднимаем тот сталкер smile.gif Но оба по отдельности
Morder
Цитата(alg0r1tm @ 24.10.2011, 23:56) *
VEX, оно почти аналогично дополнению Shadows smile.gif мы оба поднимаем тот сталкер smile.gif Но оба по отдельности

Может есть смысл объединиться?
alg0r1tm
Morder, Нет, мне это не нужно... Да и ему тоже думаю.!.
Morder
Цитата(alg0r1tm @ 25.10.2011, 02:11) *
Morder, Нет, мне это не нужно... Да и ему тоже думаю.!.

Глепо же,зачем делать два совершенно одинаковых изделия,когда можно сделать одно,но качественное? blink.gif
MrObs
Цитата(Morder @ 25.10.2011, 01:55) *
Цитата(alg0r1tm @ 24.10.2011, 23:56)
VEX, оно почти аналогично дополнению Shadows мы оба поднимаем тот сталкер Но оба по отдельности
Может есть смысл объединиться?


Эх, золотые слова! А если бы вообще, все объединились, кто в моддинге, того самого.
После завершения своих текущих проектов естественно. Да плюс подключились, хотя бы ненадолго, в меру возможностей, времени, те кто в своё время вынужден был отойти от дел.
То это была бы самая сильная команда, какая вообще возможна.
Такого свояли бы, круче вряд ли кто смог бы, однозначно!

P.S. Оно по сути так и получается, взаимопомощь постоянно, и это отлично.
Но в связи с загруженностью, самых самых, в своих проектах, не получается сконсолидироваться. И ещё бы МОЗГ один, который вёл бы всех в одном направлении.

Эх...
alg0r1tm
У нас разные интересы...
Ему нрав в моде который дает почти ТСС юзание компов и руссифицированый худ + погода из поздних билдов и контрастная причем.

А мне наоборот не нрав это...
Old-stalker
А травка у тебя надеюсь не будет такой зелененькой как в аддоне Шедоуса? А то как-то атмосферу портит. И будет ли амбиент из 1935? Если что могу свои наработки скинуть, тоже делал свой мод чтоб приблизить к "камблю". Вот пара скриншотов:
Скриншоты




-
P.S. Если что ни один скрипт не мой, стоят шейдеры от cjayho 15ХХ что-ли версии, R1 с максимальными настройками. Погода от sergy172 из билда 1537. Из скриптов добавлены схемы для неписей - "торговля", "метание", "лекание", "оттаскивание трупов", "напарники", "шмон хабара". Из длл-ок заменял xrGame.dll для аммуниции на поясе. Амбиент уже делал сам, звуки использовались чисто билдовские. И худы оружий кроме ПМ-овского, P90 и ножа стоят от 2571, там анимация бега красивей. И полоску стамины смастерил впечатлившись Lost Alpha biggrin.gif
alg0r1tm
Old-stalker, Кидай smile.gif) попробую перебрать скрипты и выкинуть весь лишний мусор из них...
Old-stalker
Цитата(alg0r1tm @ 25.10.2011, 12:08) *
Old-stalker, Кидай smile.gif) попробую перебрать скрипты и выкинуть весь лишний мусор из них...

Всмысле весь мод?) Или амбиент?
Если что вот ссылка на мод: http://file.ya1.ru/9c8176e57dc67665cdc46cefb9e533e2 - Весит оочень много :С 1.09G
Ну и щас скоро амбиент отдельно залью, вдруг понадобится, только позавтракаю )
--
И да, бери все что полезно smile.gif Все равно лень его доделывать. Лучше дать руку помощи наработками процветающему проекту ) Там папка со скриптами, для запуска сингла там надо переименовать в "scripts" переименованную ) Ну их две, одна для мп, другая для сингла.
Old-stalker
А вот и амбиент.
http://file.ya1.ru/264c5f7c6d365b1910a78441b244500b
Draummer
Еще один вариант меню. Версия сырая, нужно доводить до ума...



Ссылка
MrObs
Цитата(alg0r1tm @ 25.10.2011, 05:45) *
У нас разные интересы...
Ему нрав в моде который дает почти ТСС юзание компов и руссифицированый худ + погода из поздних билдов и контрастная причем.

А мне наоборот не нрав это...

alg0r1tm, а юзание компов чем плохо? smile.gif
Всякие такие фишки ведь добавляют интереса, к процессу. smile.gif
Насчёт травы и погоды, к концу 2004-го, концепция Прохорова и Сытьянова в этом плане, полностью реализовалась. Именно 1935, как один из представителей тех сборок, об этом
красноречиво повествует. Правда она усечённая, так как в ней нет самого удачного варианта погоды, полного, из наработок, предыдущих сборок.
Эволюция подразумевает переход в последующие, удачного из предыдущих.


Должна быть осенняя погода, глубокая осень, дожди, постоянные дожди, сырость, слякоть.
Небо хмурое, низкое, постоянно, только изредка солнце пробивается сквозь серые тяжёлые тучи. Порывистый довольно таки сильный ветер, постоянно, на открытом пространстве.
Отсутствие ветра, говорит о том что что-то тут не ладно, приближение опасности, область контроля зоны ! И в момент проявления этой самой опасности, ну просто с ног валящий ужасный ветроган, с косым дождём. Ух жуть!
Old-stalker
Цитата(Draummer @ 25.10.2011, 19:44) *
Еще один вариант меню. Версия сырая, нужно доводить до ума...



Ссылка

Уау, классно сделано )
alg0r1tm
Draummer, Молодец! офигенно получилось! smile.gif только вот скрипт допилить нужно...


Кстати, кто как думает? какой вариант луче? билдовый или релизовый со шнягой? wink_old.gif
drksnc
Цитата(alg0r1tm @ 25.10.2011, 05:45) *
юзание компов

Кстати, а эта фишка была в планах у GSC?
MrObs
Цитата(doc10 @ 25.10.2011, 16:32) *
Кстати, а эта фишка была в планах у GSC?

doc10, скорее всего да. Если уж общение через PDA, и прочие технические чудеса были задуманы, и реализованы. wink.gif
drksnc
Цитата(MrObs @ 25.10.2011, 16:37) *
Цитата(doc10 @ 25.10.2011, 16:32) *
Кстати, а эта фишка была в планах у GSC?

doc10, скорее всего да. Если уж общение через PDA, и прочие технические чудеса были задуманы, и реализованы. wink.gif

Но ведь использования компьютеров не в одном билде не было.
MrObs
Цитата(doc10 @ 25.10.2011, 16:44) *
Но ведь использования компьютеров не в одном билде не было.

doc10, это скорее рассматривалось, как возможное, в будущем. Да и не все тестовые билды нам известны. Много чего в зачатках загнулось, и даже не мелькнуло в роликах. ИМХО
Вот бы всё выудить, полостью, из кого нибудь, бывшего в команде на момент, этих интереснейших событий...

Old-stalker
Цитата(alg0r1tm @ 25.10.2011, 22:22) *
Draummer, Молодец! офигенно получилось! smile.gif только вот скрипт допилить нужно...


Кстати, кто как думает? какой вариант луче? билдовый или релизовый со шнягой? wink_old.gif

билдовый! )
Билдоман
Цитата(Old-stalker @ 25.10.2011, 19:08) *
билдовый! )


Он, и только он! smile.gif
Old-stalker
Можно ли кстати добиться того чтобы НПС стали такими же шустрыми как в 2ХХХ билдах ковырянием скриптов анимации? Ведь по-идее в тех скриптах прописана нужная анимация при разных схемах. Не? Кстати в папке в конфигах сталкеров в 2ХХХ больше настроек, неужели и их функции порезали пыс?
Билдоман
Цитата(Old-stalker @ 25.10.2011, 06:14) *
проекту


И не одному! wink.gif Спасибо! smile.gif
alg0r1tm
Скрипт меню от Draummer
Мною подредактированный каплю
Код
-- File:        UI_MAIN_MENU.SCRIPT
-- Description: Load Dialog for STALKER build stile
-- Created:     25.10.2011
-- Copyright:   2011 (c) alg0r1tm & Draummer
-- Addon:        Build Menu mod
-- Author:      alg0r1tm & Draummer
-- Version:     3.0 [Work in progress]

function main()
    local dlg = ui_main_menu.main_menu()
    level.start_stop_menu(dlg,true)
    while true do
        wait(3000)
    end
end

class "main_menu" (CUIScriptWnd)

function main_menu:__init() super()
   self:SetFont(GetFontMedium()) --set base font for dialog.
  
   self:InitControls()
   self:InitCallBacks()
end

function main_menu:__finalize()

end

function main_menu:InitControls()

    self.indent = 18    
    self.button_indent = -1
    self.screen    = {x = 0, y = 0, width = 1024, height = 768}
        
    -- rect of main window
    self.main_rect = {x = 0, y = 0,
                      width  = 1024,
                      height = 512}
    self.main_rect.x = (self.screen.width  - self.main_rect.width )/2
    self.main_rect.y = (self.screen.height - self.main_rect.height)
    -----------------------------------------------------------------
    self.left_align_x   = self.indent
    self.right_align_x  = self.main_rect.width - self.indent
    self.top_align_y    = self.indent
    self.bottom_align_y = self.main_rect.height - self.indent
    ------------------------------------------------------------------
    
    -- button template
    self.btn_rect  = {x = 657,
                      y = 92,
                      width = 256,
                      height = 33 }
    self.tab_rect =  {x = 657,
                      y = 124,
                      width = 256,
                      height = 33 }

    -- Fonts
    self.caption_font = GetFontLetterica25()
    self.button_font  = GetFontLetterica25()
    
    local avi_rect    = {x = 0, y = 0, width = 1024, height = 389}
    
    -- profile button
    local btn_prof_rect   = {x = 640, y = 68, width = 200, height = 30}
    
    -- INIT DATA >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    
    -- <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< CODE

    -- init self position and size
    self:Init(self.screen.x,
              self.screen.y,
              self.screen.width,
              self.screen.height)
    -- AVI

    self.avi = CUIStatic()
    self.avi:SetAutoDelete(true)
    self.avi:SetWindowName("avi")
    self.avi:Init("ui\\ui_vid_back_02", avi_rect.x, avi_rect.y, avi_rect.width, avi_rect.height)
    self.avi:SetStretchTexture(true)
    self:AttachChild(self.avi)

    -- BACKGROUND
    self.background = CUIStatic()
    self.background:SetAutoDelete(true)
    self.background:SetWindowName("background")
    self.background:Init("ui\\del_ui_static_mm_back_01",self.screen.x, self.screen.y, self.screen.width, self.screen.height)
    self:AttachChild(self.background)
    
    -- MAIN WINDOW
    self.main_frame = CUIStatic()
    self.main_frame:SetAutoDelete(true)
    self.main_frame:SetWindowName("main_frame")
    self.main_frame:Init("ui\\ui_static_main_menu", self.main_rect.x,
                                                   self.main_rect.y,
                                                   self.main_rect.width,
                                                   self.main_rect.height)
    self:AttachChild(self.main_frame)


    -- PROFILE --
    local btn = CUI3tButton()
    btn:SetAutoDelete(true)
    btn:SetWindowName("btn_profile")
    btn:SetFont(self.caption_font)
    btn:SetTextAlign(CGameFont.alLeft)
    btn:SetText("..::GAMEINATOR::.. addon")
    btn:Init(btn_prof_rect.x, btn_prof_rect.y, btn_prof_rect.width, btn_prof_rect.height)
    self.main_frame:AttachChild(btn)

    self.main_tab = ui_main_main_tab.main_main_tab()
    self.main_tab:InitControls(self.tab_rect.x, self.tab_rect.y, self)    
    self.main_tab:Show(true)
    self.main_frame:AttachChild(self.main_tab)
    
    self.new_tab = ui_main_new_tab.main_new_tab()
    self.new_tab:InitControls(self.tab_rect.x, self.tab_rect.y, self)    
    self.main_frame:AttachChild(self.new_tab)
    
    self.multi_tab = ui_main_multi_tab.main_multi_tab()
    self.multi_tab:InitControls(self.tab_rect.x, self.tab_rect.y, self)    
    self.main_frame:AttachChild(self.multi_tab)
end

function main_menu:InitCallBacks()
    -- new game
    self:AddCallback("btn_new_game",    ui_events.BUTTON_CLICKED,                self.OnButton_new_game_clicked,        self)
    self:AddCallback("btn_novice",        ui_events.BUTTON_CLICKED,                self.OnButton_new_novice_game,        self)
    self:AddCallback("btn_stalker",        ui_events.BUTTON_CLICKED,                self.OnButton_new_stalker_game,        self)
    self:AddCallback("btn_veteran",        ui_events.BUTTON_CLICKED,                self.OnButton_new_veteran_game,        self)
    self:AddCallback("btn_master",        ui_events.BUTTON_CLICKED,                self.OnButton_new_master_game,        self)
    self:AddCallback("btn_spawn",        ui_events.BUTTON_CLICKED,                self.OnButton_load_spawn,            self)
    self:AddCallback("btn_new_back",    ui_events.BUTTON_CLICKED,                self.OnButton_back,                    self)
    -- options                                                                                                        
    self:AddCallback("btn_options",     ui_events.BUTTON_CLICKED,                self.OnButton_options_clicked,        self)
    -- load                                                                                                                
    self:AddCallback("btn_load",        ui_events.BUTTON_CLICKED,                self.OnButton_load_clicked,            self)
    -- save                                                                                                                
    self:AddCallback("btn_save",        ui_events.BUTTON_CLICKED,                self.OnButton_save_clicked,            self)
    -- multiplayer                                                                                                        
    self:AddCallback("btn_findsrv",        ui_events.BUTTON_CLICKED,                self.OnButton_findsrv,                self)
    self:AddCallback("btn_createsrv",    ui_events.BUTTON_CLICKED,                self.OnButton_createsrv,            self)    
    self:AddCallback("btn_multiplayer", ui_events.BUTTON_CLICKED,                self.OnButton_multiplayer_clicked,    self)
    self:AddCallback("btn_multy_back",    ui_events.BUTTON_CLICKED,                self.OnButton_back,                    self)
    -- credits                                                                                                        
    self:AddCallback("btn_credits",        ui_events.BUTTON_CLICKED,                self.OnButton_credits_clicked,        self)
    -- quit                                                                                                                
    self:AddCallback("btn_quit",        ui_events.BUTTON_CLICKED,                self.OnButton_quit_clicked,            self)
    self:AddCallback("btn_quit_to_mm",    ui_events.BUTTON_CLICKED,                self.OnButton_disconnect_clicked,    self)
    self:AddCallback("btn_ret",            ui_events.BUTTON_CLICKED,                self.OnButton_return_game,            self)
    self:AddCallback("btn_lastsave",    ui_events.BUTTON_CLICKED,                self.OnButton_last_save,            self)
    self:AddCallback("btn_credits",        ui_events.BUTTON_CLICKED,                self.OnButton_credits_clicked,        self)
    -- message box                                                                                                        
    self:AddCallback("msg_box",     ui_events.MESSAGE_BOX_OK_CLICKED,        self.OnMsgOk,                        self)
    self:AddCallback("msg_box",     ui_events.MESSAGE_BOX_CANCEL_CLICKED,    self.OnMsgCancel,                    self)
    self:AddCallback("msg_box",     ui_events.MESSAGE_BOX_YES_CLICKED,        self.OnMsgYes,                        self)
    self:AddCallback("msg_box",     ui_events.MESSAGE_BOX_NO_CLICKED,        self.OnMsgNo,                        self)
    self:AddCallback("msg_box",            ui_events.MESSAGE_BOX_QUIT_GAME_CLICKED,self.OnMessageQuitGame,                self)
    self:AddCallback("msg_box",            ui_events.MESSAGE_BOX_QUIT_WIN_CLICKED,    self.OnMessageQuitWin,                self)
end

function main_menu:OnButton_new_game_clicked()
    self:HideAllTabs()
    self.new_tab:Show(true)
end

function main_menu:HideAllTabs()
    self.main_tab:Show(false)
    self.new_tab:Show(false)
    self.multi_tab:Show(false)
end

function main_menu:OnButton_back()
    self:HideAllTabs()
    self.main_tab:Show(true)
end

function main_menu:OnMsgOk()
    self.mbox_mode = 0
end

function main_menu:OnMsgCancel()
    self.mbox_mode = 0
end

function main_menu:OnMsgYes()
    
    if     self.mbox_mode == 1 then
        self:LoadLastSave()    
    end

    self.mbox_mode = 0
end

function main_menu:OnMsgNo()
    self.mbox_mode = 0
end

function main_menu:LoadLastSave()
    local                    console = get_console()
    console:execute            ("main_menu off")
    console:execute            ("load_last_save")
end

function main_menu:OnButton_last_save()
    if (alife() == nil) then
        self:LoadLastSave    ();
        return
    end
    
    self.mbox_mode            = 1
    self.message_box:Init    ("message_box_confirm_load_save")
    self:GetHolder():start_stop_menu(self.message_box, true)
end

function main_menu:OnButton_credits_clicked()
--    local console = get_console()
--    console:execute("main_menu off")
    game.start_tutorial("credits_seq")
end

function main_menu:OnButton_quit_clicked()    
    local console = get_console()
    console:execute("quit")
end


function main_menu:OnButton_disconnect_clicked()
    self.message_box:Init("message_box_quit_game")
    
    if (level.game_id() ~= 1) then        
        self.message_box:SetText("ui_mm_disconnect_message")    -- MultiPlayer
    else
        self.message_box:SetText("ui_mm_quit_game_message")        -- SinglePlayer
    end
    self:GetHolder():start_stop_menu(self.message_box, true)
end

function main_menu:OnMessageQuitGame()
    local console = get_console()
    console:execute("disconnect")
end

function main_menu:OnMessageQuitWin()
    local console = get_console()
    console:execute("quit")
end

function main_menu:OnButton_return_game()
    local console = get_console()
    console:execute("main_menu off")
end

function main_menu:OnButton_new_novice_game()
    local console = get_console()
    console:execute("g_game_difficulty gd_novice")
    self:StartGame()    
end

function main_menu:OnButton_new_stalker_game()
    local console = get_console()
    console:execute("g_game_difficulty gd_stalker")
    self:StartGame()
end

function main_menu:OnButton_new_veteran_game()
    local console = get_console()
    console:execute("g_game_difficulty gd_veteran")
    self:StartGame()
end

function main_menu:OnButton_new_master_game()
    local console = get_console()
    console:execute("g_game_difficulty gd_master")
    self:StartGame()
end

function main_menu:StartGame()
    local console = get_console()
    
    if (alife() ~= nil) then
        console:execute    ("disconnect")    
    end
    
    console:execute("start server(all/single/alife/new) client(localhost)")
    console:execute("main_menu off")
end

function main_menu:OnButton_load_spawn()
    if self.spawn_dlg == nil then
        self.spawn_dlg = ui_spawn_dialog.spawn_dialog()
        self.spawn_dlg.owner = self
    end
    
    self:GetHolder():start_stop_menu(self.spawn_dlg, true)
    self:GetHolder():start_stop_menu(self, true) --new
    self:Show(false)
end

function main_menu:OnButton_save_clicked()
    if self.save_dlg == nil then
        self.save_dlg = ui_save_dialog.save_dialog()
        self.save_dlg.owner = self
    end
    
    self:GetHolder():start_stop_menu(self.save_dlg, true)
    self:GetHolder():start_stop_menu(self, true) --new
    self:Show(false)
end

function main_menu:OnButton_options_clicked()
    if self.opt_dlg == nil then
        self.opt_dlg = ui_mm_opt_main.options_dialog()
        self.opt_dlg.owner = self
    end
    
    self.opt_dlg:UpdateControls()
    self:GetHolder():start_stop_menu(self.opt_dlg, true)
    self:GetHolder():start_stop_menu(self, true) --new
    self:Show(false)
end

function main_menu:OnButton_load_clicked()
    if self.load_dlg ==nil then
        self.load_dlg = ui_load_dialog.load_dialog()
        self.load_dlg.owner = self
    end
    
    self:GetHolder():start_stop_menu(self.load_dlg, true)
    self:GetHolder():start_stop_menu(self, true) --new
    self:Show(false)
end

function main_menu:OnButton_multiplayer_clicked()
    if self.mp_dlg ==nil then
        self.mp_dlg = ui_mp_main.mp_main()
        self.mp_dlg.owner = self
    end
    self.mp_dlg:UpdateControls()
    self:GetHolder():start_stop_menu(self.mp_dlg, true)
    self:GetHolder():start_stop_menu(self, true) --new
    self:Show(false)
    
--    self.mp_dlg:OnBtn_Refresh()
    
    local console            = get_console()
    console:execute            ("check_for_updates 0")
    
    self.mp_dlg:OnRadio_NetChanged()
end

function main_menu:Dispatch(cmd, param)  --virtual function
    if cmd == 2 then
        self:OnButton_multiplayer_clicked()
    end
    return true
end

function main_menu:OnKeyboard(dik, keyboard_action)  --virtual function
    CUIScriptWnd.OnKeyboard(self,dik,keyboard_action)
    local bind = dik_to_bind(dik)
    local console = get_console()
    
    if keyboard_action == ui_events.WINDOW_KEY_PRESSED then
        if dik == DIK_keys.DIK_ESCAPE then
            if level.present() and (db.actor ~= nil) and db.actor:alive() then
                console:execute("main_menu off")
            end
        end
        
--        if dik == DIK_keys.DIK_S then
--            self:OnButton_load_spawn()
            
--        else
        if dik == DIK_keys.DIK_Q then
            self:OnMessageQuitWin()
        end
    
    end
  
    return true
end


Помогите плиз прикрутить музыку к этому скрипту меню и решить проблему с бэкграундовомым видео smile.gif
Old-stalker
Цитата(alg0r1tm @ 26.10.2011, 05:52) *
Скрипт меню от Draummer
Мною подредактированный каплю
Код
-- File:        UI_MAIN_MENU.SCRIPT
-- Description: Load Dialog for STALKER build stile
-- Created:     25.10.2011
-- Copyright:   2011 (c) alg0r1tm & Draummer
-- Addon:        Build Menu mod
-- Author:      alg0r1tm & Draummer
-- Version:     3.0 [Work in progress]

function main()
    local dlg = ui_main_menu.main_menu()
    level.start_stop_menu(dlg,true)
    while true do
        wait(3000)
    end
end

class "main_menu" (CUIScriptWnd)

function main_menu:__init() super()
   self:SetFont(GetFontMedium()) --set base font for dialog.
  
   self:InitControls()
   self:InitCallBacks()
end

function main_menu:__finalize()

end

function main_menu:InitControls()

    self.indent = 18    
    self.button_indent = -1
    self.screen    = {x = 0, y = 0, width = 1024, height = 768}
        
    -- rect of main window
    self.main_rect = {x = 0, y = 0,
                      width  = 1024,
                      height = 512}
    self.main_rect.x = (self.screen.width  - self.main_rect.width )/2
    self.main_rect.y = (self.screen.height - self.main_rect.height)
    -----------------------------------------------------------------
    self.left_align_x   = self.indent
    self.right_align_x  = self.main_rect.width - self.indent
    self.top_align_y    = self.indent
    self.bottom_align_y = self.main_rect.height - self.indent
    ------------------------------------------------------------------
    
    -- button template
    self.btn_rect  = {x = 657,
                      y = 92,
                      width = 256,
                      height = 33 }
    self.tab_rect =  {x = 657,
                      y = 124,
                      width = 256,
                      height = 33 }

    -- Fonts
    self.caption_font = GetFontLetterica25()
    self.button_font  = GetFontLetterica25()
    
    local avi_rect    = {x = 0, y = 0, width = 1024, height = 389}
    
    -- profile button
    local btn_prof_rect   = {x = 640, y = 68, width = 200, height = 30}
    
    -- INIT DATA >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    
    -- <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< CODE

    -- init self position and size
    self:Init(self.screen.x,
              self.screen.y,
              self.screen.width,
              self.screen.height)
    -- AVI

    self.avi = CUIStatic()
    self.avi:SetAutoDelete(true)
    self.avi:SetWindowName("avi")
    self.avi:Init("ui\\ui_vid_back_02", avi_rect.x, avi_rect.y, avi_rect.width, avi_rect.height)
    self.avi:SetStretchTexture(true)
    self:AttachChild(self.avi)

    -- BACKGROUND
    self.background = CUIStatic()
    self.background:SetAutoDelete(true)
    self.background:SetWindowName("background")
    self.background:Init("ui\\del_ui_static_mm_back_01",self.screen.x, self.screen.y, self.screen.width, self.screen.height)
    self:AttachChild(self.background)
    
    -- MAIN WINDOW
    self.main_frame = CUIStatic()
    self.main_frame:SetAutoDelete(true)
    self.main_frame:SetWindowName("main_frame")
    self.main_frame:Init("ui\\ui_static_main_menu", self.main_rect.x,
                                                   self.main_rect.y,
                                                   self.main_rect.width,
                                                   self.main_rect.height)
    self:AttachChild(self.main_frame)


    -- PROFILE --
    local btn = CUI3tButton()
    btn:SetAutoDelete(true)
    btn:SetWindowName("btn_profile")
    btn:SetFont(self.caption_font)
    btn:SetTextAlign(CGameFont.alLeft)
    btn:SetText("..::GAMEINATOR::.. addon")
    btn:Init(btn_prof_rect.x, btn_prof_rect.y, btn_prof_rect.width, btn_prof_rect.height)
    self.main_frame:AttachChild(btn)

    self.main_tab = ui_main_main_tab.main_main_tab()
    self.main_tab:InitControls(self.tab_rect.x, self.tab_rect.y, self)    
    self.main_tab:Show(true)
    self.main_frame:AttachChild(self.main_tab)
    
    self.new_tab = ui_main_new_tab.main_new_tab()
    self.new_tab:InitControls(self.tab_rect.x, self.tab_rect.y, self)    
    self.main_frame:AttachChild(self.new_tab)
    
    self.multi_tab = ui_main_multi_tab.main_multi_tab()
    self.multi_tab:InitControls(self.tab_rect.x, self.tab_rect.y, self)    
    self.main_frame:AttachChild(self.multi_tab)
end

function main_menu:InitCallBacks()
    -- new game
    self:AddCallback("btn_new_game",    ui_events.BUTTON_CLICKED,                self.OnButton_new_game_clicked,        self)
    self:AddCallback("btn_novice",        ui_events.BUTTON_CLICKED,                self.OnButton_new_novice_game,        self)
    self:AddCallback("btn_stalker",        ui_events.BUTTON_CLICKED,                self.OnButton_new_stalker_game,        self)
    self:AddCallback("btn_veteran",        ui_events.BUTTON_CLICKED,                self.OnButton_new_veteran_game,        self)
    self:AddCallback("btn_master",        ui_events.BUTTON_CLICKED,                self.OnButton_new_master_game,        self)
    self:AddCallback("btn_spawn",        ui_events.BUTTON_CLICKED,                self.OnButton_load_spawn,            self)
    self:AddCallback("btn_new_back",    ui_events.BUTTON_CLICKED,                self.OnButton_back,                    self)
    -- options                                                                                                        
    self:AddCallback("btn_options",     ui_events.BUTTON_CLICKED,                self.OnButton_options_clicked,        self)
    -- load                                                                                                                
    self:AddCallback("btn_load",        ui_events.BUTTON_CLICKED,                self.OnButton_load_clicked,            self)
    -- save                                                                                                                
    self:AddCallback("btn_save",        ui_events.BUTTON_CLICKED,                self.OnButton_save_clicked,            self)
    -- multiplayer                                                                                                        
    self:AddCallback("btn_findsrv",        ui_events.BUTTON_CLICKED,                self.OnButton_findsrv,                self)
    self:AddCallback("btn_createsrv",    ui_events.BUTTON_CLICKED,                self.OnButton_createsrv,            self)    
    self:AddCallback("btn_multiplayer", ui_events.BUTTON_CLICKED,                self.OnButton_multiplayer_clicked,    self)
    self:AddCallback("btn_multy_back",    ui_events.BUTTON_CLICKED,                self.OnButton_back,                    self)
    -- credits                                                                                                        
    self:AddCallback("btn_credits",        ui_events.BUTTON_CLICKED,                self.OnButton_credits_clicked,        self)
    -- quit                                                                                                                
    self:AddCallback("btn_quit",        ui_events.BUTTON_CLICKED,                self.OnButton_quit_clicked,            self)
    self:AddCallback("btn_quit_to_mm",    ui_events.BUTTON_CLICKED,                self.OnButton_disconnect_clicked,    self)
    self:AddCallback("btn_ret",            ui_events.BUTTON_CLICKED,                self.OnButton_return_game,            self)
    self:AddCallback("btn_lastsave",    ui_events.BUTTON_CLICKED,                self.OnButton_last_save,            self)
    self:AddCallback("btn_credits",        ui_events.BUTTON_CLICKED,                self.OnButton_credits_clicked,        self)
    -- message box                                                                                                        
    self:AddCallback("msg_box",     ui_events.MESSAGE_BOX_OK_CLICKED,        self.OnMsgOk,                        self)
    self:AddCallback("msg_box",     ui_events.MESSAGE_BOX_CANCEL_CLICKED,    self.OnMsgCancel,                    self)
    self:AddCallback("msg_box",     ui_events.MESSAGE_BOX_YES_CLICKED,        self.OnMsgYes,                        self)
    self:AddCallback("msg_box",     ui_events.MESSAGE_BOX_NO_CLICKED,        self.OnMsgNo,                        self)
    self:AddCallback("msg_box",            ui_events.MESSAGE_BOX_QUIT_GAME_CLICKED,self.OnMessageQuitGame,                self)
    self:AddCallback("msg_box",            ui_events.MESSAGE_BOX_QUIT_WIN_CLICKED,    self.OnMessageQuitWin,                self)
end

function main_menu:OnButton_new_game_clicked()
    self:HideAllTabs()
    self.new_tab:Show(true)
end

function main_menu:HideAllTabs()
    self.main_tab:Show(false)
    self.new_tab:Show(false)
    self.multi_tab:Show(false)
end

function main_menu:OnButton_back()
    self:HideAllTabs()
    self.main_tab:Show(true)
end

function main_menu:OnMsgOk()
    self.mbox_mode = 0
end

function main_menu:OnMsgCancel()
    self.mbox_mode = 0
end

function main_menu:OnMsgYes()
    
    if     self.mbox_mode == 1 then
        self:LoadLastSave()    
    end

    self.mbox_mode = 0
end

function main_menu:OnMsgNo()
    self.mbox_mode = 0
end

function main_menu:LoadLastSave()
    local                    console = get_console()
    console:execute            ("main_menu off")
    console:execute            ("load_last_save")
end

function main_menu:OnButton_last_save()
    if (alife() == nil) then
        self:LoadLastSave    ();
        return
    end
    
    self.mbox_mode            = 1
    self.message_box:Init    ("message_box_confirm_load_save")
    self:GetHolder():start_stop_menu(self.message_box, true)
end

function main_menu:OnButton_credits_clicked()
--    local console = get_console()
--    console:execute("main_menu off")
    game.start_tutorial("credits_seq")
end

function main_menu:OnButton_quit_clicked()    
    local console = get_console()
    console:execute("quit")
end


function main_menu:OnButton_disconnect_clicked()
    self.message_box:Init("message_box_quit_game")
    
    if (level.game_id() ~= 1) then        
        self.message_box:SetText("ui_mm_disconnect_message")    -- MultiPlayer
    else
        self.message_box:SetText("ui_mm_quit_game_message")        -- SinglePlayer
    end
    self:GetHolder():start_stop_menu(self.message_box, true)
end

function main_menu:OnMessageQuitGame()
    local console = get_console()
    console:execute("disconnect")
end

function main_menu:OnMessageQuitWin()
    local console = get_console()
    console:execute("quit")
end

function main_menu:OnButton_return_game()
    local console = get_console()
    console:execute("main_menu off")
end

function main_menu:OnButton_new_novice_game()
    local console = get_console()
    console:execute("g_game_difficulty gd_novice")
    self:StartGame()    
end

function main_menu:OnButton_new_stalker_game()
    local console = get_console()
    console:execute("g_game_difficulty gd_stalker")
    self:StartGame()
end

function main_menu:OnButton_new_veteran_game()
    local console = get_console()
    console:execute("g_game_difficulty gd_veteran")
    self:StartGame()
end

function main_menu:OnButton_new_master_game()
    local console = get_console()
    console:execute("g_game_difficulty gd_master")
    self:StartGame()
end

function main_menu:StartGame()
    local console = get_console()
    
    if (alife() ~= nil) then
        console:execute    ("disconnect")    
    end
    
    console:execute("start server(all/single/alife/new) client(localhost)")
    console:execute("main_menu off")
end

function main_menu:OnButton_load_spawn()
    if self.spawn_dlg == nil then
        self.spawn_dlg = ui_spawn_dialog.spawn_dialog()
        self.spawn_dlg.owner = self
    end
    
    self:GetHolder():start_stop_menu(self.spawn_dlg, true)
    self:GetHolder():start_stop_menu(self, true) --new
    self:Show(false)
end

function main_menu:OnButton_save_clicked()
    if self.save_dlg == nil then
        self.save_dlg = ui_save_dialog.save_dialog()
        self.save_dlg.owner = self
    end
    
    self:GetHolder():start_stop_menu(self.save_dlg, true)
    self:GetHolder():start_stop_menu(self, true) --new
    self:Show(false)
end

function main_menu:OnButton_options_clicked()
    if self.opt_dlg == nil then
        self.opt_dlg = ui_mm_opt_main.options_dialog()
        self.opt_dlg.owner = self
    end
    
    self.opt_dlg:UpdateControls()
    self:GetHolder():start_stop_menu(self.opt_dlg, true)
    self:GetHolder():start_stop_menu(self, true) --new
    self:Show(false)
end

function main_menu:OnButton_load_clicked()
    if self.load_dlg ==nil then
        self.load_dlg = ui_load_dialog.load_dialog()
        self.load_dlg.owner = self
    end
    
    self:GetHolder():start_stop_menu(self.load_dlg, true)
    self:GetHolder():start_stop_menu(self, true) --new
    self:Show(false)
end

function main_menu:OnButton_multiplayer_clicked()
    if self.mp_dlg ==nil then
        self.mp_dlg = ui_mp_main.mp_main()
        self.mp_dlg.owner = self
    end
    self.mp_dlg:UpdateControls()
    self:GetHolder():start_stop_menu(self.mp_dlg, true)
    self:GetHolder():start_stop_menu(self, true) --new
    self:Show(false)
    
--    self.mp_dlg:OnBtn_Refresh()
    
    local console            = get_console()
    console:execute            ("check_for_updates 0")
    
    self.mp_dlg:OnRadio_NetChanged()
end

function main_menu:Dispatch(cmd, param)  --virtual function
    if cmd == 2 then
        self:OnButton_multiplayer_clicked()
    end
    return true
end

function main_menu:OnKeyboard(dik, keyboard_action)  --virtual function
    CUIScriptWnd.OnKeyboard(self,dik,keyboard_action)
    local bind = dik_to_bind(dik)
    local console = get_console()
    
    if keyboard_action == ui_events.WINDOW_KEY_PRESSED then
        if dik == DIK_keys.DIK_ESCAPE then
            if level.present() and (db.actor ~= nil) and db.actor:alive() then
                console:execute("main_menu off")
            end
        end
        
--        if dik == DIK_keys.DIK_S then
--            self:OnButton_load_spawn()
            
--        else
        if dik == DIK_keys.DIK_Q then
            self:OnMessageQuitWin()
        end
    
    end
  
    return true
end


Помогите плиз прикрутить музыку к этому скрипту меню и решить проблему с бэкграундовомым видео smile.gif


Чтоб музыку прикрутить открываешь файл ui_mm_main.xml в папке config/ui.

Код
    <menu_sound random="0" >
        <!--whell_sound>car\apc_run</whell_sound>
        <whell_click>car\test_car_stop</whell_click-->
        
        <menu_music>music\amb_01</menu_music>
        <menu_music>music\guitar_1</menu_music>
        
        <!--menu_music>music\guitar_2</menu_music!-->
        <!--menu_music>music\guitar_1</menu_music!-->
        <!--menu_music>music\guitar_3</menu_music-->
        
    </menu_sound>

Добавить между </manu_main_mm> и </static_version>

И вуаля, музыка запашет )
-
А что у тебя с ним не так?
-
И кстати, убери зеленые террейны с локаций, и травку с 1935 сделай ) Атмосферней будет. А, еще замени detail_grnd_grass.dds на grnd_trava_kuchki.dds - в 19ХХ использовалась именно эта текстура террейна. Поищи его в распакованных архивах ТЧ, или в 1935. И в textures.ltx не забудь заменить detail_grnd_grass на grnd_trava_kuchki )
alg0r1tm
В этом новом скрипте не заюзывается хмл
Old-stalker
Цитата(alg0r1tm @ 26.10.2011, 21:07) *
В этом новом скрипте не заюзывается хмл

вот оно как о.о
--
а насчет текстуры террейна, поставишь?)
Morder
Цитата(Old-stalker @ 25.10.2011, 05:58) *
Скриншоты




Супер!!!!!
(поставил челюсть на место) smile.gif
Old-stalker
Цитата(Morder @ 26.10.2011, 22:53) *
Цитата(Old-stalker @ 25.10.2011, 05:58) *
Скриншоты




Супер!!!!!
(поставил челюсть на место) smile.gif

Спасибо )
Билдоман
Цитата(Old-stalker @ 26.10.2011, 09:15) *
в 19ХХ использовалась именно эта текстура террейна.


Лучше заменить шейдеры на старые. smile.gif И даже ТЧ-текстура будет выглядеть красиво. smile.gif
Old-stalker
Кстати, помню кто-то скидывал наработки по "косому дождику". Или способ. Будет ли включен косой дождик в мод? Как 15ХХ билдах. Там вроде созданием косой текстурки капли создавался такой эффект. И да, будет ли анимация конвульсий? В билдах зомби после смерти частенько конвульсировали, спина с пятками и пятерней шевелилсь, а кровосос мерцал. Или это тоже в движке порезано?

Цитата(Билдоман @ 26.10.2011, 23:03) *
Цитата(Old-stalker @ 26.10.2011, 09:15) *
в 19ХХ использовалась именно эта текстура террейна.


Лучше заменить шейдеры на старые. smile.gif И даже ТЧ-текстура будет выглядеть красиво. smile.gif

Дану, билдвский вариант более билдовский biggrin.gif Да и геморно наверное, старые шейдеры под тч адаптировать, имхо надо пока билдовскую текстуру юзать, ведь шейдеры то не адаптировали еще ) Еще бы на дверцы входа в бункер Сидора надписи добавить, как в 1935... Вообще модель бункера надо менять на ту что из 1935. Разные модели оказывается, недавно понял когда в сдк шарил ) Тогда и можно будет шарнирные лампочки поставить, и бункер билдовский сделать )
Билдоман
Цитата(Old-stalker @ 26.10.2011, 17:13) *
более билдовский


Как раз релизный более билдовский, он с 1114. smile.gif

PS: Билдовские шейдеры делают его более тёмным. smile.gif
Old-stalker
Цитата(Билдоман @ 26.10.2011, 23:26) *
Цитата(Old-stalker @ 26.10.2011, 17:13) *
более билдовский


Как раз релизный более билдовский, он с 1114. smile.gif

PS: Билдовские шейдеры делают его более тёмным. smile.gif

Имхо в 19ХХ лучше ) А насчет яркости террейна надо спросить у cjayho )
--
Блин, еще бы возвратить кидание болтов неписями и популяцию зоны до 150-200 уменьшить )
Билдоман
Цитата(Old-stalker @ 26.10.2011, 17:32) *
Имхо в 19ХХ лучше


Согласен. smile.gif

Цитата(Old-stalker @ 26.10.2011, 17:32) *
А насчет яркости террейна надо спросить у cjayho )


Shader.xr, папка - levels smile.gif
alg0r1tm
Может оставить оставить такое меню как в билдах идентичное или переделать чтоб было похоже на мой вариант (фоновое видео, новый бекграунд, костер, музыка в меню...) ?
Old-stalker
Цитата(Билдоман @ 26.10.2011, 23:48) *
Цитата(Old-stalker @ 26.10.2011, 17:32) *
Имхо в 19ХХ лучше


Согласен. smile.gif

Цитата(Old-stalker @ 26.10.2011, 17:32) *
А насчет яркости террейна надо спросить у cjayho )


Shader.xr, папка - levels smile.gif

Ну всмысле, ты говорил что шейдеры затемняют текстуру террейна, вот я и упомянул cjayho. А насчет shaders.xr незнаал ) А как сделать чтоб бюреры швырялись трупами? Они швыряют предметы какого-то обределенного класса? Или это было вырезано в движке?

Цитата(alg0r1tm @ 26.10.2011, 23:56) *
Может оставить оставить такое меню как в билдах идентичное или переделать чтоб было похоже на мой вариант (фоновое видео, новый бекграунд, костер, музыка в меню...) ?

Билдовое было бы лучше )
alg0r1tm
Old-stalker, А музыка?
Бюреры швыряються динамическими объектами, я думаю это в скриптах или в логике завязано...
Old-stalker
Цитата(alg0r1tm @ 27.10.2011, 00:27) *
Old-stalker, А музыка?
Бюреры швыряються динамическими объектами, я думаю это в скриптах или в логике завязано...

Ну это понятно, труп тоже динамический обьект. Где то же должен указыватся швыряемый класс? Или там список обьектов? Отдельной скриптовой логики для бюрера нет, значит в движке. Ну не в конфигах же? Хотя..
Билдоман
Цитата(Old-stalker @ 26.10.2011, 18:20) *
шейдеры затемняют текстуру террейна


Нет, они не затемняют, а красивее отрисовывают террейн, к примеру, если поставить шейдеры кордона 1472 на кордон ТЧ. smile.gif
Vincent Vega
Товарищи поделитесь сейвами , первый заход на армейские склады, р.м.а 1.1 + shadow addon.
Old-stalker
Цитата(Vincent Vega @ 27.10.2011, 01:22) *
Товарищи поделитесь сейвами , первый заход на армейские склады, р.м.а 1.1 + shadow addon.

Shadows Addon какой версии? 0.5? 0.6?
sergy172
Цитата(Билдоман @ 26.10.2011, 18:55) *
Нет, они не затемняют, а красивее отрисовывают террейн, к примеру, если поставить шейдеры кордона 1472 на кордон ТЧ.

В каком смысле "красивее"?
Случайно нет возможности сделать пару скриншотов, например Кордона ТЧ с ними и без?

А то может свалка 1935 выглядит более плоской не из-за другого положения солнца в 1472, а именно из-за шейдеров теннрейна?
Samaritan
Цитата(sergy172 @ 27.10.2011, 08:10) *
Цитата(Билдоман @ 26.10.2011, 18:55) *
Нет, они не затемняют, а красивее отрисовывают террейн, к примеру, если поставить шейдеры кордона 1472 на кордон ТЧ.

В каком смысле "красивее"?
Случайно нет возможности сделать пару скриншотов, например Кордона ТЧ с ними и без?

А то может свалка 1935 выглядит более плоской не из-за другого положения солнца в 1472, а именно из-за шейдеров теннрейна?

Явно дело и в шейдерах, и в положении солнца, возможно из-за общих текстур и тестуры торрейна,а также из-за бампа, если на R2. Всё, что загубили после прихода Дина Шарпа, как раз таки негативно влияет на общий вид и обескураживает моддеров, не встречавших подобного... Так, что, за работу! biggrin.gif Править всё это... tongue.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.