#STZ Posted June 7, 2016 Share Posted June 7, 2016 السلام عليكم و رحمة الله و بركاته اليوم ابي شرح كيف اسوي زر داخل لوحة لفتح لوحة اخري ولاكن بمود تاني والسلام عليكم و رحمة الله و بركاته Link to comment
iMr.WiFi..! Posted June 7, 2016 Share Posted June 7, 2016 وعليكم السلام ورحمة الله وبركاته بنسبة لشرح : بسم الله نبدأ على بركة الله / المتطلبات او الفنكشنات : 'onClientGUIClick' -- حدث عند ضغط guiSetVisible -- x2 ااستخدامه مرتين مثال : wnd1 = guiCreateWindow(...) -- صنعنا النافذة الاولى wnd2 = guiCreateWindow(...) -- صنعنا النافذة الثانية BtnWarp = guiCreateButton(...) -- صنعنا زر في النافذة الاولى guiSetVisible(wnd1,true) -- نفتح النافذة الاولى guiSetVisible(wnd2,false) -- نقفل النافذة الثانية addEventHandler("onClientGUIClick",root,function () -- حدث عند الضغط if source == BtnWarp then -- نتحقق اذا ضغط الزر guiSetVisible(wnd2,true) -- نتفتح النافذة الثانية guiSetVisible(wnd1,false) -- نقفل النافذة الاولى end -- end لل تحقق end -- end لل فنكشن ) -- قوس قفل الحدث وكذا نختم الشرح بتمني لك النجاح وتوفيق وفهم الدرس وعيه Link to comment
iMr.SFA7 Posted June 7, 2016 Share Posted June 7, 2016 وعليكم السلام ورحمة الله وبركاته بنسبة لشرح :بسم الله نبدأ على بركة الله / المتطلبات او الفنكشنات : 'onClientGUIClick' -- حدث عند ضغط guiSetVisible -- x2 ااستخدامه مرتين مثال : wnd1 = guiCreateWindow(...) -- صنعنا النافذة الاولى wnd2 = guiCreateWindow(...) -- صنعنا النافذة الثانية BtnWarp = guiCreateButton(...) -- صنعنا زر في النافذة الاولى guiSetVisible(wnd1,true) -- نفتح النافذة الاولى guiSetVisible(wnd2,false) -- نقفل النافذة الثانية addEventHandler("onClientGUIClick",root,function () -- حدث عند الضغط if source == BtnWarp then -- نتحقق اذا ضغط الزر guiSetVisible(wnd2,true) -- نتفتح النافذة الثانية guiSetVisible(wnd1,false) -- نقفل النافذة الاولى end -- end لل تحقق end -- end لل فنكشن ) -- قوس قفل الحدث وكذا نختم الشرح بتمني لك النجاح وتوفيق وفهم الدرس وعيه السلام عليكم و رحمة الله و بركاتهاليوم ابي شرح كيف اسوي زر داخل لوحة لفتح لوحة اخري ولاكن بمود تاني والسلام عليكم و رحمة الله و بركاته Link to comment
iMr.WiFi..! Posted June 7, 2016 Share Posted June 7, 2016 ^ ماشفت طيب نشرح مره تانيةة ! بسم الله نبدأ على بركة الله : المتطلبات او الفنكشنات : addCommandHandler -- سوي اسم لل كوماند في المود ويوم يكتب الكلمة يفتح له المود executeCommandHandler -- نستعمل الكوماند [lua] Ex : [lua] -- نحط هذا الكود عند المود addCommandHandler("OnClickPanel",function ( Plr ) -- نسوي عند كتابة كلمة في اف 8ونجيب اللاعب triggerClientEvent(Plr,"OnWin",Plr) -- نسوي ترايقر للكلنت end) -- Client addEvent("OnWin",true) -- نفعل الحدث addEventHandler("OnWin",root,function( ) -- نستقبله if guiGetVisible(اسم النافذة) == true then -- نتحقق اذا كانت النافذة موجودة guiSetVisible(اسم النافذة,false) -- اذا كانت موجودة بيقفل النافذة وبيلغي الماوس showCursor(false) else guiSetVisible(اسم النافذة,true) -- وهذا العكس showCursor(true) end end) بعد ما تضيف ذذ في المود سوي كذا زي ما ذكرنا في المتطلبات : 'onClientGUIClick' -- حدث عند ضغط guiSetVisible -- x2 ااستخدامه مرتين ونسوي عند حدث ضغط الزر ثم نتحقق من الزر ثم نستعمل الكلمة بواسطة executeCommandHandler Ex : wnd1 = guiCreateWindow(...) -- كما ذكرنا في سابق btn1 = guiCreateButton(...) -- ... guiSetVisible(wnd1,true) -- نفتح ال نافذة addEventHander("onClientGUIClick",root, -- حدث عند ضغط شيء ما function () -- وظيفة if source == btn1 then -- نتحقق انه ضغط btn1 guiSetVisible(wnd1,false) -- نقفل النافذة executeCommandHandler("onClickPanel",source) -- نستعمل كوماند onClickPanel end -- End لل تحقق end -- End لل فنكشن ) وكذا نختم الشرح بتمني لك النجاح وتوفيق وفهم الدرس وعيه Link to comment
iMr.SFA7 Posted June 7, 2016 Share Posted June 7, 2016 بالنسبة للكود حقك ذا مداك تحطه كلنت فقط ليه كلنت وسيرفر؟ -- نحط هذا الكود عند المود addCommandHandler("OnClickPanel",function ( Plr ) -- نسوي عند كتابة كلمة في اف 8ونجيب اللاعب triggerClientEvent(Plr,"OnWin",Plr) -- نسوي ترايقر للكلنت end) -- Client addEvent("OnWin",true) -- نفعل الحدث addEventHandler("OnWin",root,function( ) -- نستقبله if guiGetVisible(اسم النافذة) == true then -- نتحقق اذا كانت النافذة موجودة guiSetVisible(اسم النافذة,false) -- اذا كانت موجودة بيقفل النافذة وبيلغي الماوس showCursor(false) else guiSetVisible(اسم النافذة,true) -- وهذا العكس showCursor(true) end end) التصحـيح مع الاختصـار: -- جانـب الكلنت-- addCommandHandler("OnClickPanel",function() guiSetVisible(not guiGetVisible(اسم النافذة)) showCursor(guiGetVisible(اسم النافذة)) end) وبالنسبة لكودك هذا wnd1 = guiCreateWindow(...) -- كما ذكرنا في سابق btn1 = guiCreateButton(...) -- ... guiSetVisible(wnd1,true) -- نفتح ال نافذة addEventHander("onClientGUIClick",root, -- حدث عند ضغط شيء ما function () -- وظيفة if source == btn1 then -- نتحقق انه ضغط btn1 guiSetVisible(wnd1,false) -- نقفل النافذة executeCommandHandler("onClickPanel",source) -- نستعمل كوماند onClickPanel end -- End لل تحقق end -- End لل فنكشن ) addEventHandler عندك خطأ في كتابة . مافيها أرقمنت لاعب بالكلنـت ولو قلنا أنه فيه أرقمنت فـ أنت حطيت أرقمنت اللاعب هو السورس والسورس هو الالمنت الي انضغط عليه executeCommandHandler والوظيفة التصحيح: -- جانب الكلنت -- addEventHandler( "onClientGUIClick", resourceRoot, function() if source == btn1 then guiSetVisible(wnd1,false) executeCommandHandler("onClickPanel") end end) Link to comment
#STZ Posted June 8, 2016 Author Share Posted June 8, 2016 مب افهم ابي احد يشرك و يكتبلي الاكواد الصحيحة Link to comment
s7BaT Posted June 9, 2016 Share Posted June 9, 2016 مب افهم ابي احد يشرك و يكتبلي الاكواد الصحيحة اعتقد كذا اسهل شوف المود الاول كليينت window = guiCreateWindow(300, 200, 100, 100, "window", false)--اللوحة الاولى button = guiCreateButton(0, 0, 100, 100, "موافق", false, window) -- الزر function onClick() if (source == button ) then --اذا كان المصدر button triggerServerEvent ( "window", localPlayer ,localPlayer) --ارسل لسيرفر لازام تحدد العنصر وهو localPlayer end end addEventHandler ( "onClientGUIClick", root,onClick) --عند النقر المود الاول سيرفر addEvent( "window", true ) --تفعيل الحدث addEventHandler( "window", root, -- اضافة الحدث function(player) --player العنصر الي حددناه triggerClientEvent (player,"open_window1",player) --هنا ارسلنا حدث لكلينت ونفعل الحدث الي بيستقبله في المود الثاني end ) الموود الثاني كلينت window1 = guiCreateWindow(300, 300, 100, 100, "window1", false) --اللوحه الثانية guiSetVisible (window1,false ) addEvent( "open_window1", true ) --فعلنا الحدث الي جا من من سيرفر في هذا المود addEventHandler( "open_window1", root,--اضافه function() guiSetVisible (window1,true ) --فتح اللوحهة end ) مجررب وصلى الله على محمد ان اصبت فمن الله وان اخطئت فمني ومن الشيطان Link to comment
Wleed1998 Posted June 9, 2016 Share Posted June 9, 2016 مب افهم ابي احد يشرك و يكتبلي الاكواد الصحيحة --هذا ب المود رقم 1 الي يضرب الزر addEventHandler('onClientGUIClick',root, function() if source == GUIEditor.button[1] then --- هنا الزر الي في الوحه رقم 1 الزر الي ههو حدث ضرب الزر showCursor ( false ) -- هنا لم تضرب الزر يسكر الوحه رقم 1 و يفتح 2 او الي انت حدددته و يشيل الموؤشر و يجي الموؤشر حق الوحه 2 executeCommandHandler ( "الكلمه الي لما تضرب الزر يفتح لك لوحه" ) -- هنا الكمه الي حاطه ب الوحه الثاني الي حاط كلمه فتح من اف8 guiSetVisible (GUIEditor.window[1] ,false) --- هنا يسكر الوحه رقم 1 ويفتح رقم 2 يعني يفتح الوحه الي بي المود الثآني end --- نسكر function end -- IF )--- هان القوس لو نسيته مراح يشتغل لانه تقفيل للحدث ض2 -- لوحه هذا الاكواد الي تحت تنحط بي المود الثاني بس الكلمه الي بي addCommandHandler --لزم تنحط فوق بي executeCommandHandler -- addEventHandler = executeCommandHandler - -- هذا كود الكلمه الي تحطه يعني الي لما تضرب الزر يسوي حدث و الزر يجيب لك ذي الوحه ض2 -- هذا تحطه حدث فك الوحه حقت المود رقم 2 addCommandHandler('ااكلمه الي لم تضرب الزر تطلع لك هنا تحطه',function() guiSetVisible(GUIEditor.window[1], not guiGetVisible(GUIEditor.window[1]))---- اسماء النوافذ showCursor(guiGetVisible(GUIEditor.window[1])) end ) ---- اذا تبي لم يضرب الزر يطلع له مود تركب المود لكن م تحط له فتح ب زر تحط له فتح ب كلمه في اف8 --- و تركبه و تسوي زي طريقتي الي هناك هنا الوحه 2 اعتبره موو الوحه 1 اعتبره الزر ض2\ ---- المهم رح تففهم ان شاء الله Link to comment
فاّرس Posted June 9, 2016 Share Posted June 9, 2016 تقدر تسوي كذا : ملف كلينت الاول : function toboolean(x) -- نسوي وظيفه مع برامتر -- البرامتر اللي داخل قوسين الوظيفه وتقدر تستفيد منه كثير if x and not tonumber ( x ) and x == 'false' or x == 'true' then -- نتحقق انه الاكس موجود والاكس هو الشي اللي كتبه اللاعب ونتحقق انه مايساوي رقم ونتحقق انه يساوي سلسلة نصيه فولس او ترو if x == 'false' then -- نتحقق اذا كان الاكس يساوي فولس داخل علامة تنصيص x = false -- نخلي الاكس فولس بدون علامة تنصيص elseif x == 'true' then -- نتحقق ان الاكس يساوي ترو داخل علامة تنصيص x = true -- نخلي الاكس يساوي ترو بدون علامة تنصيص end -- نقفل الشرط else -- اذا لم يتحقق الشرط الأول return outputDebugString ( 'bad usage' ) -- /debugscript 3 نطلع كتابة بالديبوق end -- نقفل الشرط return x -- نخلي القيمه اللي تطلع لنا يوم نستخدم الوظيفه هي اكس end -- نقفل الوظيفه win = guiCreateWindow(400,200,350,200,"Test",false) -- نسوي لوحة guiSetVisible (win, not not var) -- نخليها مخفيه -- not not var : والقيمة اساسا غير موجوده يعني بتكون فولس var بمعنى انه لا يساوي function openWin(message) -- نسوي وظيفه مع برامتر local message = toboolean ( message ) -- نستخدم الوظيفه اللي سويناها فوق guiSetVisible(win, message) -- نظهر او نخفي اللوحه على حسب اللي يكتبه اللاعب بالوظيفه showCursor(message) -- نظهر او نخفي الماوس على حسب اللي يكتبه اللاعب بالوظيفه end -- نقفل الوظيفه خلصنا من الكلينت الاول, نروح للميتا : > name="script" author="no" version="1.5" /> ="client.lua" type="client" /> function="openWin" type="client"/> > ^ طبعاً ذا الميتا التابع للكلينت الاول, نروح للكلينت الثاني : عشان تفتح اللوحه من مود ثاني تسوي كذا: exports.resource:openWin( state ) resource : اسم المود state : true, false عشان تفتح وتقفل كـ مثال : addCommandHandler ( 'show', function (_, state ) if ( state ) then exports.sp:openWin( state ) end end) F8 : show true, show false اكتب ب اف 8 : اتمنى وصلت وبالتوفيق . 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