562141 Posted April 13, 2012 Share Posted April 13, 2012 А еще Флакер ты сможеш мне помоч я незнаю как сделать бинд на открытие и закрытие гуи ?? Уменя есть мысли но я незнаю! Link to comment
Flaker Posted April 13, 2012 Share Posted April 13, 2012 Используй, там даже PSD исходники в архиве. Link to comment
Flaker Posted April 13, 2012 Share Posted April 13, 2012 А еще Флакер ты сможеш мне помоч я незнаю как сделать бинд на открытие и закрытие гуи ?? Уменя есть мысли но я незнаю! function open() --Функция открытия if isElement( GUIEditor_Window[1] ) then --Проверка на наличие открытого окна destroyElement( GUIEditor_Window[1] ) GUIEditor_Window[1] = nil showCursor (false) else --Если окна нет, то открыть GUIEditor_Window = {} GUIEditor_TabPanel = {} GUIEditor_Tab = {} GUIEditor_Memo = {} GUIEditor_Window[1] = guiCreateWindow(221,190,568,422,"GUI OKNO",false) GUIEditor_TabPanel[1] = guiCreateTabPanel(12,32,531,366,false,GUIEditor_Window[1]) GUIEditor_Tab[1] = guiCreateTab("Tab Pannelka (TAB1)",GUIEditor_TabPanel[1]) GUIEditor_Memo[1] = guiCreateMemo(91,43,362,261,"Это мемо",false,GUIEditor_Tab[1]) GUIEditor_Tab[2] = guiCreateTab("Tab Pannelka (TAB2)",GUIEditor_TabPanel[1]) showCursor (true) end end bindKey("F1","down",open) --При нажатии на F1 выполнится функция open Link to comment
562141 Posted April 13, 2012 Share Posted April 13, 2012 Спасибо гдето мин через 30 виложу код наверн Link to comment
562141 Posted April 13, 2012 Share Posted April 13, 2012 Ч тото оно не хочет открываться function open() --Функция открытия if isElement( GUIEditor_Window[1] ) then --Проверка на наличие открытого окна destroyElement( GUIEditor_Window[1] ) GUIEditor_Window[1] = nil showCursor (false) else GUIEditor_Window = {} GUIEditor_TabPanel = {} GUIEditor_Tab = {} GUIEditor_Memo = {} GUIEditor_Window[1] = guiCreateWindow(114,152,472,370,"Help panel Rus",false) GUIEditor_TabPanel[1] = guiCreateTabPanel(9,27,454,331,false,GUIEditor_Window[1]) GUIEditor_Tab[1] = guiCreateTab("Незнаеш как заработать?",GUIEditor_TabPanel[1]) GUIEditor_Memo[1] = guiCreateMemo(2,2,450,303,"1234567890",false,GUIEditor_Tab[1]) GUIEditor_Tab[2] = guiCreateTab("Кнопки и команды!!!",GUIEditor_TabPanel[1]) GUIEditor_Memo[2] = guiCreateMemo(2,2,450,303,"12345678910",false,GUIEditor_Tab[2]) showCursor (true) end end bindKey("F1","down",open) Link to comment
Flaker Posted April 13, 2012 Share Posted April 13, 2012 Вот код: wdwHelpPannel = {} TabPanelBusWork = {} Tab_first = {} Tab_second = {} BusHelpMemo = {} function open_test() --Функция открытия if isElement( wdwHelpPannel ) then --Проверка на наличие открытого окна destroyElement( wdwHelpPannel ) wdwHelpPannel = nil showCursor (false) else wdwHelpPannel = guiCreateWindow(114,152,472,370,"Help panel Rus",false) TabPanelBusWork = guiCreateTabPanel(9,27,454,331,false,wdwHelpPannel) Tab_first = guiCreateTab("Незнаеш как заработать?",TabPanelBusWork) BusHelpMemo = guiCreateMemo(2,2,450,303,"1234567890",false,Tab_first) Tab_second = guiCreateTab("Кнопки и команды!!!",TabPanelBusWork) GUIEditor_Memo[2] = guiCreateMemo(2,2,450,303,"12345678910",false,Tab_second) showCursor (true) guiSetVisible(wdwHelpPannel, true) end end bindKey("F3","down",open_test) Просто лучше изменять названия всех GUI на свои. Link to comment
Kenix Posted April 13, 2012 Share Posted April 13, 2012 А как это сделать подскажеш? Например в notepad++ во вкладке кодировка выбираешь 'Преобразовать в UTF-8 без ВОМ' function open() --Функция открытия if isElement( GUIEditor_Window[1] ) then --Проверка на наличие открытого окна destroyElement( GUIEditor_Window[1] ) GUIEditor_Window[1] = nil showCursor (false) else GUIEditor_Window = {} GUIEditor_TabPanel = {} GUIEditor_Tab = {} GUIEditor_Memo = {} GUIEditor_Window[1] = guiCreateWindow(114,152,472,370,"Help panel Rus",false) GUIEditor_TabPanel[1] = guiCreateTabPanel(9,27,454,331,false,GUIEditor_Window[1]) GUIEditor_Tab[1] = guiCreateTab("Незнаеш как заработать?",GUIEditor_TabPanel[1]) GUIEditor_Memo[1] = guiCreateMemo(2,2,450,303,"1234567890",false,GUIEditor_Tab[1]) GUIEditor_Tab[2] = guiCreateTab("Кнопки и команды!!!",GUIEditor_TabPanel[1]) GUIEditor_Memo[2] = guiCreateMemo(2,2,450,303,"12345678910",false,GUIEditor_Tab[2]) showCursor (true) end end bindKey("F1","down",open) Легче так сделать: Создаёшь все элементы Делаешь невидимым родительский элемент в данном случае это окно. GUIEditor_Window[1] = guiCreateWindow(114,152,472,370,"Help panel Rus",false) Делаешь бинд. Код GUIEditor_Window = {} GUIEditor_TabPanel = {} GUIEditor_Tab = {} GUIEditor_Memo = {} GUIEditor_Window[1] = guiCreateWindow(114,152,472,370,"Help panel Rus",false) GUIEditor_TabPanel[1] = guiCreateTabPanel(9,27,454,331,false,GUIEditor_Window[1]) GUIEditor_Tab[1] = guiCreateTab("Незнаеш как заработать?",GUIEditor_TabPanel[1]) GUIEditor_Memo[1] = guiCreateMemo(2,2,450,303,"1234567890",false,GUIEditor_Tab[1]) GUIEditor_Tab[2] = guiCreateTab("Кнопки и команды!!!",GUIEditor_TabPanel[1]) GUIEditor_Memo[2] = guiCreateMemo(2,2,450,303,"12345678910",false,GUIEditor_Tab[2]) bindKey( 'F1', 'down', function( ) guiSetVisible( GUIEditor_Window[1], not guiGetVisible( GUIEditor_Window[1] ) ) showCursor( not isCursorShowing( ) ) end ) Link to comment
Flaker Posted April 13, 2012 Share Posted April 13, 2012 Kenix, а если GUI окно не выгружено, а только скрыто, то оно будет больше памяти кушать? Или особой разницы нет? Link to comment
562141 Posted April 13, 2012 Share Posted April 13, 2012 НЕзнаю как у тебя но у меня чтото не работает !!!! wdwHelpPannel = {} TabPanelBusWork = {} Tab_first = {} Tab_second = {} BusHelpMemo = {} function open_test() --Функция открытия if isElement( wdwHelpPannel ) then --Проверка на наличие открытого окна destroyElement( wdwHelpPannel ) wdwHelpPannel = nil showCursor (false) else wdwHelpPannel = guiCreateWindow(114,152,472,370,"Help panel Rus",false) TabPanelBusWork = guiCreateTabPanel(9,27,454,331,false,wdwHelpPannel) Tab_first = guiCreateTab("Незнаеш как заработать?",TabPanelBusWork) BusHelpMemo = guiCreateMemo(2,2,450,303,"1234567890",false,Tab_first) Tab_second = guiCreateTab("Кнопки и команды!!!",TabPanelBusWork) GUIEditor_Memo[2] = guiCreateMemo(2,2,450,303,"12345678910",false,Tab_second) showCursor (true) guiSetVisible(wdwHelpPannel, true) end end bindKey("F3","down",open_test) ну доладно я немного исправил баг в спидометре Link to comment
562141 Posted April 13, 2012 Share Posted April 13, 2012 У меня постоянно показывало что жизно не полна я исправил было в строку 250/750 я поставил 250/600 Link to comment
Flaker Posted April 13, 2012 Share Posted April 13, 2012 Хмм... Надо будет проверить... Link to comment
562141 Posted April 13, 2012 Share Posted April 13, 2012 Жизнь автомобиля постоянно показывало гдето 75 % Link to comment
Kenix Posted April 13, 2012 Share Posted April 13, 2012 Kenix, а если GUI окно не выгружено, а только скрыто, то оно будет больше памяти кушать?Или особой разницы нет? Ты же создал окно. Значит она уже есть в памяти. Если ты удалишь окно ( destroyElement ) => не будет в памяти. Но это бред создавать и удалять окно если можно просто показывать/убирать. Link to comment
562141 Posted April 13, 2012 Share Posted April 13, 2012 Блин вот эта проблема падло с гуи Link to comment
562141 Posted April 13, 2012 Share Posted April 13, 2012 Как вам шаблон спидометра ? :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D Link to comment
Flaker Posted April 13, 2012 Share Posted April 13, 2012 Kenix, а если GUI окно не выгружено, а только скрыто, то оно будет больше памяти кушать?Или особой разницы нет? Ты же создал окно. Значит она уже есть в памяти. Если ты удалишь окно ( destroyElement ) => не будет в памяти. Но это бред создавать и удалять окно если можно просто показывать/убирать. Ну я иммею ввиду, что если много окон просто скрыто, то они как бы в буфере сохраняются может? И вобщем через некоторое время, когда их будет очень много, то слабые компьютеры лагать будут? Бред? Link to comment
Flaker Posted April 13, 2012 Share Posted April 13, 2012 Как вам шаблон спидометра ? :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D На вкус и цвет, товарищей нет... Link to comment
Kenix Posted April 13, 2012 Share Posted April 13, 2012 Естественно тормозить будет. Дело не только в памяти, а в рендеринге. => Если гуи штук 100, то тормаза будут нормальные. http://www.compline-ufa.ru/bazovie-pona ... ideo-karta http://ru.wikipedia.org/wiki/Рендеринг Link to comment
Flaker Posted April 13, 2012 Share Posted April 13, 2012 Естественно тормозить будет. Дело не только в памяти, а в рендеринге. => Если гуи штук 100, то тормаза будут нормальные. http://www.compline-ufa.ru/bazovie-pona ... ideo-karta http://ru.wikipedia.org/wiki/Рендеринг Тогда все таки дестроить объект, более правильный вариант? Link to comment
Kenix Posted April 13, 2012 Share Posted April 13, 2012 Нет, просто не показывай гуи элемент ( guiSetVisible ). Если этот гуи элемент будет нужен в дальнейшем, то нет смысла его удалять. Link to comment
562141 Posted April 13, 2012 Share Posted April 13, 2012 Я щас гуи доделаю выложу картинку Link to comment
WilliJ Posted April 13, 2012 Share Posted April 13, 2012 (edited) Привет Всем. Скажите, пожалуйста, как сделать рабочими шейдеры на сервере. Всё делаю по инструкции в Wiki https://wiki.multitheftauto.com/wiki/DxCreateShader но результат 0. Не включается, хоть я и пишу "Включить". Шейдеры взял как пример из конструктора игр Scirra 1.2r. (Любой шейдер ставлю, не работает) // HDR tonemapping // Ashley Gullen // PS 2.0 // Use after a blur for a lighting effect. //#PARAM float exposure 2.5 : Exposure : Camera exposure of the HDR effect. float exposure; // Foreground texture texture ForegroundTexture; // Source texture texture SourceTexture; // Foreground sampler sampler2D foreground = sampler_state { Texture = (ForegroundTexture); MinFilter = Point; MagFilter = Point; MipFilter = Point; }; // Source sampler sampler2D source = sampler_state { Texture = (SourceTexture); MinFilter = Point; MagFilter = Point; MipFilter = Point; }; // Effect function float4 EffectProcess( float2 Tex : TEXCOORD0 ) : COLOR0 { // Add the front and back pixels float4 original = tex2D(source, Tex.xy); float4 blur = tex2D(foreground, Tex.xy); float4 color = lerp(original, blur, 0.4f); // Calculate vignette Tex -= 0.5; float v = 1 - dot(Tex, Tex); // Apply vignette to color color.rgb *= pow(v, 4.0); // Exposure level color.rgb *= exposure; color.rgb = pow(color.rgb, 0.55); return color; } // ConstructEffect technique ConstructEffect { pass p0 { VertexShader = null; PixelShader = compile ps_2_0 EffectProcess(); } } Этот код сохраняю в файл hsleffect.fx, создаю meta.xml <meta> <info author="WilliJ" description="test fx effects" version="1" /> <script src="shaderstart.lua" type="client" /> <file src="hsleffect.fx" /> </meta> , создаю lua скрипт addEventHandler( "onClientRender", root, function() if myShader then dxDrawImage( 100, 350, 300, 350, myShader ) end end ) -- Use 'toggle' command to switch shader on and off addCommandHandler( "hsl", function() if not myShader then myShader = dxCreateShader( "hsleffect.fx" ) -- Create shader else destroyElement( myShader ) -- Destroy shader myShader = nil end end ) (конечно, указываю файл-архив в local.conf и в mtaserver.conf) Запускаю сервер, клиент, игру, ввожу код включения шейдера(hsl), но ничего не происходит... разрешение 800x600. Карта nVidia FX5500 256 mb с поддержкой 2.0 шейдеров(и пиксель, и вертекс). В других играх эффекты типа попиксельного освещения или, например, ENB работают. А тут... Помогите, пожалуйста, решить проблему! Версия мта 1.3 с обновлениями. P.S. Скажите, пожалуйста, к чему относятся цифры(100, 350 и т.д.) в dxDrawImage( 100, 350, 300, 350, myShader ) Edited April 13, 2012 by Guest Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now