iiv03 Posted May 19, 2019 Share Posted May 19, 2019 (edited) سويت توبيك ثاني علي هاذا موضوع بس يتحدث علي النص و الزر يبغى النص لما تدوس زر ثاني هنا كيف اسوي اذا مثلن ضغطت علي الزر يضهر النص يبقى ولو ضغطت علي زر جنبه يتغير النص يعني مايختفي ولو رجعت ضغطت علي الزر الاول مايخختفي يعني يبقى ضاهر النص مساعده local sx, sy = guiGetScreenSize() sx, sy = ( sx / 1280 ), ( sy / 720 ) local showText = false function render() dxDrawRectangle( 0,0,1280*sx,720*sy, tocolors(255,255,255,255) false) dxDrawText("_________U_________D________S__________", 183*sx, 228*sy, 761*sx, 282*sy, tocolor(255, 255, 255, showText and 255 or 0), 2.00, "default", "left", "top", false, false, true, false, false) end addEventHandler("onClientRender", root, render) addEventHandler ( "onClientClick", root, function ( button, state ) if ( button == "left" and state == "down" ) then if ( isMouseInPosition ( 184, 49, 75, 28 ) ) then outputDebugString("test") showText = not showText end end end ) Edited May 19, 2019 by liwahadri Link to comment
#BrosS Posted May 19, 2019 Share Posted May 19, 2019 local textwtf = "kill___Me" ... .. dxDrawText(textwtf,......... ... .. addEventHandler ( "onClientClick", root, function ( button, state ) if ( button == "left" and state == "down" ) then if ( isMouseInPosition ( 184, 49, 75, 28 ) ) then outputDebugString("test") textwtf = "nobody loves me" end end end ) Link to comment
iiv03 Posted May 19, 2019 Author Share Posted May 19, 2019 (edited) 1 hour ago, #BrosS said: local textwtf = "kill___Me" ... .. dxDrawText(textwtf,......... ... .. addEventHandler ( "onClientClick", root, function ( button, state ) if ( button == "left" and state == "down" ) then if ( isMouseInPosition ( 184, 49, 75, 28 ) ) then outputDebugString("test") textwtf = "nobody loves me" end end end ) لول, ظظ بجد مساعده Edited May 19, 2019 by liwahadri Link to comment
SycroX Posted May 20, 2019 Share Posted May 20, 2019 buttons = {} addEvent("onDxButtonClick", true) function createButton(x, y, w, h, t, color, vis) local button = createElement("dxButton") buttons[button] = {x, y, w, h, t, color, vis} return button end function showButton(index, bool) if index then if buttons[index] then buttons[index][7] = bool end end end addEventHandler("onClientRender", root, function() for button,value in pairs(buttons) do if value[7] then dxDrawRectangle(value[1], value[2], value[3], value[4], value[6], false) dxDrawText(value[5], value[1], value[2], value[3]+value[1], value[4]+value[2], tocolor(255, 255, 255, 255), 1) end end end ) addEventHandler("onClientClick", root, function(b,s) if b == "left" and s == "down" then for button,val in pairs(buttons) do if isMouseInPosition(val[1], val[2], val[3], val[4]) then triggerEvent("onDxButtonClick", localPlayer, button) end end end end ) --------# EXAMPLE testButton = createButton(500, 500, 50, 50, "TEST", tocolor(255, 255, 255, 150), true) addEventHandler("onDxButtonClick", root, function(b) if b == testButton then outputChatBox("TEST") end end ) جرب - لسا مسوي الكود الحين لو في غلط قلي + ذا بيسهل عليك الأزرار الدي اكس Link to comment
iiv03 Posted May 20, 2019 Author Share Posted May 20, 2019 17 minutes ago, #x1AhMeD-09 said: buttons = {} addEvent("onDxButtonClick", true) function createButton(x, y, w, h, t, color, vis) local button = createElement("dxButton") buttons[button] = {x, y, w, h, t, color, vis} return button end function showButton(index, bool) if index then if buttons[index] then buttons[index][7] = bool end end end addEventHandler("onClientRender", root, function() for button,value in pairs(buttons) do if value[7] then dxDrawRectangle(value[1], value[2], value[3], value[4], value[6], false) dxDrawText(value[5], value[1], value[2], value[3]+value[1], value[4]+value[2], tocolor(255, 255, 255, 255), 1) end end end ) addEventHandler("onClientClick", root, function(b,s) if b == "left" and s == "down" then for button,val in pairs(buttons) do if isMouseInPosition(val[1], val[2], val[3], val[4]) then triggerEvent("onDxButtonClick", localPlayer, button) end end end end ) --------# EXAMPLE testButton = createButton(500, 500, 50, 50, "TEST", tocolor(255, 255, 255, 150), true) addEventHandler("onDxButtonClick", root, function(b) if b == testButton then outputChatBox("TEST") end end ) جرب - لسا مسوي الكود الحين لو في غلط قلي + ذا بيسهل عليك الأزرار الدي اكس يقولي خطأ هنا كودك توضيح : آلي أبغاه انه النص في الزر اول يضهر لما تجيك لوحة اذا ضغطت علي الزر ثاني يختفي النص في الاول ويجيك ثاني اتمني انك فهمتني Link to comment
Simple. Posted May 20, 2019 Share Posted May 20, 2019 انت تبي نفس الزر لما تضغطه اول مره يطلع نص ولما تضغطه ثاني مره يتغير النص وزي كذا؟ Link to comment
iiv03 Posted May 20, 2019 Author Share Posted May 20, 2019 1 hour ago, Simple. said: انت تبي نفس الزر لما تضغطه اول مره يطلع نص ولما تضغطه ثاني مره يتغير النص وزي كذا؟ لا شوف الصوره الي قصدي اتوقع لازم له تيبل ؟ Link to comment
JustP Posted May 20, 2019 Share Posted May 20, 2019 1 hour ago, liwahadri said: ابب قايز تقدر تسوي لوحتين dx لما يضغط عالزر الاول يسويله ريموف ايفنت وهاه لازم تضبط المقاسات وتطلع له اللوحة الثانية الي بتكون نفس مقاس الاولى لكن غير المحتوى هذا ابسط شيء Link to comment
nxFairlywell Posted May 20, 2019 Share Posted May 20, 2019 وش فايدة المتغيرات طيب ؟ rect1Alpha=255; rect2Alpha=50; rect3Alpha=50; "onClientClick" if rect1 then rect1Alpha=255; rect2Alpha=50; rect3Alpha=50; elseif rect2 then rect1Alpha=50; rect2Alpha=255; rect3Alpha=50; elseif rect3 then rect1Alpha=50; rect2Alpha=50; rect3Alpha=255; -->> وهكذا أو فيه طريقة أخرى عن طريق الجداول راح تكون صعبة شوي عليك *بحيث انك تحط معلومات المستطيل بداخل جدول ( موقعه و لونه و الشفافية و حالة العرض ترو او فولس )ا وتعدل عليهم اذا ضغط اللاعب ع المستطيل اسحب عليها حالياً و استخدم الطريقة اللي فوق Link to comment
JustP Posted May 20, 2019 Share Posted May 20, 2019 30 minutes ago, NX_CI said: وش فايدة المتغيرات طيب ؟ rect1Alpha=255; rect2Alpha=50; rect3Alpha=50; "onClientClick" if rect1 then rect1Alpha=255; rect2Alpha=50; rect3Alpha=50; elseif rect2 then rect1Alpha=50; rect2Alpha=255; rect3Alpha=50; elseif rect3 then rect1Alpha=50; rect2Alpha=50; rect3Alpha=255; -->> وهكذا أو فيه طريقة أخرى عن طريق الجداول راح تكون صعبة شوي عليك *بحيث انك تحط معلومات المستطيل بداخل جدول ( موقعه و لونه و الشفافية و حالة العرض ترو او فولس )ا وتعدل عليهم اذا ضغط اللاعب ع المستطيل اسحب عليها حالياً و استخدم الطريقة اللي فوق شنو هو تعريف rect1? Link to comment
#BrosS Posted May 20, 2019 Share Posted May 20, 2019 On 19/05/2019 at 16:30, #BrosS said: local textwtf = "kill___Me" ... .. dxDrawText(textwtf,......... ... .. addEventHandler ( "onClientClick", root, function ( button, state ) if ( button == "left" and state == "down" ) then if ( isMouseInPosition ( 184, 49, 75, 28 ) ) then outputDebugString("test") textwtf = "nobody loves me" end end end ) .................. 3201t3h gfd$lmfdù^pkdfs^sdokp$ùdsfkl,msdgqjdfs شفيكم الله يهديكم هو يبي يغير النص فقط . حط نصوص في متغيرات وغيرها عند الضغط رح تجيني جلطة Link to comment
iiv03 Posted May 20, 2019 Author Share Posted May 20, 2019 1 hour ago, NX_CI said: وش فايدة المتغيرات طيب ؟ rect1Alpha=255; rect2Alpha=50; rect3Alpha=50; "onClientClick" if rect1 then rect1Alpha=255; rect2Alpha=50; rect3Alpha=50; elseif rect2 then rect1Alpha=50; rect2Alpha=255; rect3Alpha=50; elseif rect3 then rect1Alpha=50; rect2Alpha=50; rect3Alpha=255; -->> وهكذا أو فيه طريقة أخرى عن طريق الجداول راح تكون صعبة شوي عليك *بحيث انك تحط معلومات المستطيل بداخل جدول ( موقعه و لونه و الشفافية و حالة العرض ترو او فولس )ا وتعدل عليهم اذا ضغط اللاعب ع المستطيل اسحب عليها حالياً و استخدم الطريقة اللي فوق يعني كيف استخدم if rect1 then? وهاذي الوان؟ rect1Alpha=255; rect2Alpha=50; rect3Alpha=50; ؟ ابغى مثال ماقصرت لاهنت 48 minutes ago, #BrosS said: .................. 3201t3h gfd$lmfdù^pkdfs^sdokp$ùdsfkl,msdgqjdfs شفيكم الله يهديكم هو يبي يغير النص فقط . حط نصوص في متغيرات وغيرها عند الضغط رح تجيني جلطة صراحه كودك مفهمته وضح شوي اذا يمديك Link to comment
JustP Posted May 20, 2019 Share Posted May 20, 2019 15 minutes ago, liwahadri said: يعني كيف استخدم if rect1 then? وهاذي الوان؟ rect1Alpha=255; rect2Alpha=50; rect3Alpha=50; ؟ ابغى مثال ماقصرت لاهنت صراحه كودك مفهمته وضح شوي اذا يمديك rect1 = dxDrawRectangle(......tocolor(color, color, color, rectalpha) rectalpha = 255 addEventHandler('onClientClick' if rect1 then rectalpha = 0 يقصد إنك تسوي الي تريد تضغط عليه ويظهر ولما تضغط عليه تصير الالفا حقته صفر ويظهر زر ثاني تصير الالفا حقه 255 او 100 الي يعجبك Link to comment
iiv03 Posted May 20, 2019 Author Share Posted May 20, 2019 13 minutes ago, JustP said: rect1 = dxDrawRectangle(......tocolor(color, color, color, rectalpha) rectalpha = 255 addEventHandler('onClientClick' if rect1 then rectalpha = 0 يقصد إنك تسوي الي تريد تضغط عليه ويظهر ولما تضغط عليه تصير الالفا حقته صفر ويظهر زر ثاني تصير الالفا حقه 255 او 100 الي يعجبك اوك فهمته بس سؤال ثاني انا ابغاه يضهر لما الاول عادي يعني انت ماتضغط الزر يعني مثل مانقول صفحه الرئيسي يضهر عادي النص بدون ماتضغط الزر كيف هاي؟ Link to comment
nxFairlywell Posted May 21, 2019 Share Posted May 21, 2019 40 minutes ago, liwahadri said: اوك فهمته بس سؤال ثاني انا ابغاه يضهر لما الاول عادي يعني انت ماتضغط الزر يعني مثل مانقول صفحه الرئيسي يضهر عادي النص بدون ماتضغط الزر كيف هاي؟ 255 already يكون المتغير حق الزر الاول Link to comment
Rockyz Posted May 21, 2019 Share Posted May 21, 2019 سويت لك مثال بسيط local sx, sy = guiGetScreenSize() local list = { buttons = { {coordinates = {(sx/2)-155, (sy/2), 100, 30}, text = "Button 1", label = "Label 1"}, {coordinates = {(sx/2)-50, (sy/2), 100, 30}, text = "Button 2", label = "Label 2"}, {coordinates = {(sx/2)+55, (sy/2), 100, 30}, text = "Button 3", label = "Label 3"}, }, selected = 1 } showCursor(true) addEventHandler("onClientRender", root, function() for key, value in ipairs(list.buttons) do local data = value.coordinates local alpha = 255-(isMouseInPosition(unpack(value.coordinates)) and 100 or 0) dxDrawRectangle(data[1], data[2], data[3], data[4], tocolor(255, 0, 0, alpha)) dxDrawText(list.buttons[key].text, data[1], data[2], data[1]+data[3], data[2]+data[4], tocolor(255, 255, 255, alpha), 1, "default-bold", "center", "center", true) end if list.buttons[list.selected] then dxDrawText(list.buttons[list.selected].label, (sx/2)-10, (sy/2)+35) end end) addEventHandler("onClientClick", root, function(button, state) if button == "left" and state == "down" then for key, value in ipairs(list.buttons) do if isMouseInPosition(unpack(value.coordinates)) then list.selected = key break end end end end) function isMouseInPosition(x, y, width, height) if not isCursorShowing() then return false end local sx, sy = guiGetScreenSize() local cx, cy = getCursorPosition() local cx, cy = cx*sx, cy*sy return (cx >= x and cx <= x+width) and (cy >= y and cy <= y+height) end تقدر تضيف ازرار زيادة من الجدول 1 Link to comment
iiv03 Posted May 21, 2019 Author Share Posted May 21, 2019 (edited) 12 hours ago, #,xiRocKyz said: سويت لك مثال بسيط local sx, sy = guiGetScreenSize() local list = { buttons = { {coordinates = {(sx/2)-155, (sy/2), 100, 30}, text = "Button 1", label = "Label 1"}, {coordinates = {(sx/2)-50, (sy/2), 100, 30}, text = "Button 2", label = "Label 2"}, {coordinates = {(sx/2)+55, (sy/2), 100, 30}, text = "Button 3", label = "Label 3"}, }, selected = 1 } showCursor(true) addEventHandler("onClientRender", root, function() for key, value in ipairs(list.buttons) do local data = value.coordinates local alpha = 255-(isMouseInPosition(unpack(value.coordinates)) and 100 or 0) dxDrawRectangle(data[1], data[2], data[3], data[4], tocolor(255, 0, 0, alpha)) dxDrawText(list.buttons[key].text, data[1], data[2], data[1]+data[3], data[2]+data[4], tocolor(255, 255, 255, alpha), 1, "default-bold", "center", "center", true) end if list.buttons[list.selected] then dxDrawText(list.buttons[list.selected].label, (sx/2)-10, (sy/2)+35) end end) addEventHandler("onClientClick", root, function(button, state) if button == "left" and state == "down" then for key, value in ipairs(list.buttons) do if isMouseInPosition(unpack(value.coordinates)) then list.selected = key break end end end end) function isMouseInPosition(x, y, width, height) if not isCursorShowing() then return false end local sx, sy = guiGetScreenSize() local cx, cy = getCursorPosition() local cx, cy = cx*sx, cy*sy return (cx >= x and cx <= x+width) and (cy >= y and cy <= y+height) end تقدر تضيف ازرار زيادة من الجدول كفوووووووووو حب هاذي الي ابغاه مشكوور اسف ماقصرت سؤال هل يمدني اغير احداثيات ازرار مثل اخليه *sx,*sy*sx,*sy? Edited May 21, 2019 by liwahadri Link to comment
iiv03 Posted May 21, 2019 Author Share Posted May 21, 2019 قصدي اضيف سطر ثاني كيف في ليبل؟ Link to comment
iiv03 Posted May 21, 2019 Author Share Posted May 21, 2019 4 hours ago, liwahadri said: قصدي اضيف سطر ثاني كيف في ليبل؟ upppp uppp uppp Link to comment
Rockyz Posted May 22, 2019 Share Posted May 22, 2019 (edited) في اكثر من طريقة اذا تبي تضيف سطر جديد مثلا تقدر تستخدم \n وبيضيف سطر جديد عدلت على المثال شوي عشان تقدر تعدل عليه اسهل local sx, sy = guiGetScreenSize() local list = { buttons = {--{coordinates = {احداثيات الزر}, colors = {button = {لون الزر}, text = {لون ليبل الزر}}, text = "تيكست ليبل الزر", label = "تيكست الليبل"}, {coordinates = {(sx/2)-155, (sy/2), 100, 30}, colors = {button = {255, 0, 0, 255}, text = {255, 255, 255}}, text = "Button 1", label = "Label 1\n Hello World !"}, {coordinates = {(sx/2)-50, (sy/2), 100, 30}, colors = {button = {0, 255, 0, 255}, text = {255, 255, 255}}, text = "Button 2", label = "#00FF00Label 2\n\n Hello World !"}, {coordinates = {(sx/2)+55, (sy/2), 100, 30}, colors = {button = {0, 0, 255, 255}, text = {255, 255, 255}}, text = "Button 3", label = "#0000FFLabel 3\n\n\n Hello World !"}, }, label = { coordinates = {sx/2, (sy/2)+35, sx/2, (sy/2)+35}, -- احداثيات الليبل colors = {255, 0, 0, 255}, -- لون الليبل font = "default-bold", -- خط الليبل align = {x = "center", y = "top"} -- align الليبل }, selected = 1 } showCursor(true) addEventHandler("onClientRender", root, function() for key, value in ipairs(list.buttons) do local data = value.coordinates local alpha = 255-(isMouseInPosition(unpack(value.coordinates)) and (value.colors["button"][4]/2) or 0) local r, g, b = unpack(value.colors["button"]) dxDrawRectangle(data[1], data[2], data[3], data[4], tocolor(r, g, b, alpha)) r, g, b = unpack(value.colors["text"]) dxDrawText(list.buttons[key].text, data[1], data[2], data[1]+data[3], data[2]+data[4], tocolor(r, g, b, alpha), 1, "default-bold", "center", "center", true) end if list.buttons[list.selected] then local label = list.label dxDrawText(list.buttons[list.selected].label, label.coordinates[1], label.coordinates[2], label.coordinates[3], label.coordinates[4], tocolor(unpack(label.colors)), 1, label.font, label.align["x"], label.align["y"], false, false, false, true, false) end end) addEventHandler("onClientClick", root, function(button, state) if button == "left" and state == "down" then for key, value in ipairs(list.buttons) do if isMouseInPosition(unpack(value.coordinates)) then list.selected = key break end end end end) function isMouseInPosition(x, y, width, height) if not isCursorShowing() then return false end local sx, sy = guiGetScreenSize() local cx, cy = getCursorPosition() local cx, cy = cx*sx, cy*sy return (cx >= x and cx <= x+width) and (cy >= y and cy <= y+height) end تقدر تضيف وتحذف ازرار على كيفك من الجدول Edited May 22, 2019 by #,xiRocKyz 1 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