Jump to content

XXx كيف برمجة ازرار عند تصنيع لوحات xXX


MahmouD1

Recommended Posts

bindKey("/", "down", OpenWin)

 

-- Client
guiSetVisible (wnd, false )
function OpenWin()
    if guiGetVisible (wnd) then   
       guiSetVisible (wnd, false )
       showCursor(false)
       guiSetInputEnabled(false)
    else
          triggerServerEvent("SHOW_s",localPlayer)
    end
end
bindKey("/", "down", OpenWin)

 addEvent('SHOW',true)
 addEventHandler('SHOW',root,
 function ()
  guiSetVisible (wnd, true )
 showCursor(true)
 guiSetInputEnabled(true)
 end
 )
 
-- Server 
 Group = "Console" -- قروب

addEvent("SHOW_s",true)
addEventHandler("SHOW_s",getRootElement(),
function()
if isObjectInACLGroup("user." .. getAccountName(getPlayerAccount(source)), aclGetGroup( Group )) then
triggerClientEvent ( source, "SHOW", source)
else
outputChatBox ( "مخصص لـ الكونسل", source, 255, 255, 255, true )
  end
end)

 

Link to comment
44 minutes ago, Mr.Falcon said:

bindKey("/", "down", OpenWin)

 


-- Client
guiSetVisible (wnd, false )
function OpenWin()
    if guiGetVisible (wnd) then   
       guiSetVisible (wnd, false )
       showCursor(false)
       guiSetInputEnabled(false)
    else
          triggerServerEvent("SHOW_s",localPlayer)
    end
end
bindKey("/", "down", OpenWin)

 addEvent('SHOW',true)
 addEventHandler('SHOW',root,
 function ()
  guiSetVisible (wnd, true )
 showCursor(true)
 guiSetInputEnabled(true)
 end
 )
 
-- Server 
 Group = "Console" -- قروب

addEvent("SHOW_s",true)
addEventHandler("SHOW_s",getRootElement(),
function()
if isObjectInACLGroup("user." .. getAccountName(getPlayerAccount(source)), aclGetGroup( Group )) then
triggerClientEvent ( source, "SHOW", source)
else
outputChatBox ( "مخصص لـ الكونسل", source, 255, 255, 255, true )
  end
end)

 

انت كدا اعطيته جاهز بدون شرح

مراح يفهم لها

Link to comment
3 hours ago, Mr.Falcon said:

يكفي التوضيح البسيط 

الحين هو يقلك جديد بالبرمجة تقوم انت معطيه اكواد لاعلم له فيها

اكيد مراح يستفيد

انما هو لو دخل علي الموقعين و فهم الاكواد او علي الاقل اساسيات اللغة و يخش الويكي و يجرب

Link to comment
14 hours ago, [T]|O|[P]George said:

انت كدا اعطيته جاهز بدون شرح

مراح يفهم لها

طب وضحولي

9 hours ago, ./bF.general10 said:

Just try

نصيحة مني ؟ حاول تتعلم من الدروس اللي في قسم شروحات البرمجة و حاول تطبق و راح تجيك أخطاء طبيعي في البداية , بعد ما تجيك الأخطاء نساعدك هنا

ولله بعمل زي مابتقلي حتا حولت حط كود قفل اللوحة واغلقها منفعش

15 hours ago, Mr.Falcon said:

bindKey("/", "down", OpenWin)

 


-- Client
guiSetVisible (wnd, false )
function OpenWin()
    if guiGetVisible (wnd) then   
       guiSetVisible (wnd, false )
       showCursor(false)
       guiSetInputEnabled(false)
    else
          triggerServerEvent("SHOW_s",localPlayer)
    end
end
bindKey("/", "down", OpenWin)

 addEvent('SHOW',true)
 addEventHandler('SHOW',root,
 function ()
  guiSetVisible (wnd, true )
 showCursor(true)
 guiSetInputEnabled(true)
 end
 )
 
-- Server 
 Group = "Console" -- قروب

addEvent("SHOW_s",true)
addEventHandler("SHOW_s",getRootElement(),
function()
if isObjectInACLGroup("user." .. getAccountName(getPlayerAccount(source)), aclGetGroup( Group )) then
triggerClientEvent ( source, "SHOW", source)
else
outputChatBox ( "مخصص لـ الكونسل", source, 255, 255, 255, true )
  end
end)

 

الكود ده احطو تحت كود اللوحة الي انا مصممها ؟
ولا هد مبرمجات الازرار؟

Edited by MahmouD1
Link to comment
5 hours ago, MahmouD1 said:

طب وضحولي

ولله بعمل زي مابتقلي حتا حولت حط كود قفل اللوحة واغلقها منفعش

الكود ده احطو تحت كود اللوحة الي انا مصممها ؟
ولا هد مبرمجات الازرار؟

عندك انا كاتب في اكواد تتحط في ملف الكلينت واكواد في ملف السيرفر لغا تحط كلة في ملف علشان بيخرب

-- Server 
 Group = "Console" -- قروب

addEvent("SHOW_s",true)
addEventHandler("SHOW_s",getRootElement(),
function()
if isObjectInACLGroup("user." .. getAccountName(getPlayerAccount(source)), aclGetGroup( Group )) then
triggerClientEvent ( source, "SHOW", source)
else
outputChatBox ( "مخصص لـ الكونسل", source, 255, 255, 255, true )
  end
end)

دي في ملف السيرفر 

-- Client
guiSetVisible (wnd, false )
function OpenWin()
    if guiGetVisible (wnd) then   
       guiSetVisible (wnd, false )
       showCursor(false)
       guiSetInputEnabled(false)
    else
          triggerServerEvent("SHOW_s",localPlayer)
    end
end
bindKey("/", "down", OpenWin)

 addEvent('SHOW',true)
 addEventHandler('SHOW',root,
 function ()
  guiSetVisible (wnd, true )
 showCursor(true)
 guiSetInputEnabled(true)
 end
 )

ودي في الكلينت 

  • Like 1
  • Thanks 1
Link to comment
On 19/11/2018 at 07:12, MahmouD1 said:

شباب عايز اتعلم كيف لما اصنع لوحة ومثلا عايز ابرمج زر في اللوحة كيف ابرمجو
علموني كيف ابرمج كل زر في اللوحة كل الازرار
...

 

 

بالنسبة لـ خبرتي الفاشلة راح اعطيك الي فهمته

addEventHandler("onClientGUIClick", -- سوينا حدث عندما ضغط على الزر 
function () -- وظيفة ,
if ( source == اسم الزر ) then -- تحقق اذا ضغط على الزر الاول وحط اسم البوتون حقك ( الزر )ء مثلاً GUIEditor.button[1] . شوفه فـ اللوحة
outputChatBox("تم ضغط على الزر ") -- x إخراج شات عند الضغط على الزر الاول x
elseif ( source == إسم الزر الثاني ) then -- x إذا ضغط على الزر الثاني , حط اسم الزر حقك x
outputChatBox(" تم ضغط على الزر الثاني ") -- x يظهر بالشات , تم الضغط على الزر الثاني ..
end -- إند اغلاق ال if
end -- إند اغلاق أل الوظيفة
) -- اغلاق قوس الضغط ء 

- بالنسبة لذي , هي عند ضغط على الزر تظهرلك بالشآت , الرسالة .

- لو ما فهمت او تبي اكثر كلمني خاص او واتس

+213 696 43 57 80 

Edited by Guest
Link to comment

السلام عليكم ورحمة الله وبركاته

في بداية دخولك للغة البرمجة إل يو اي عليك معرفة الأساسيات مثل الدوال و المتغيرات والشرط و نهاية الدالة و متى يتحقق الشرط و متى يصبح خاطئاً (ترو , فولس ) أي المنطق

كل هذه اشياء اساسية عليك معرفتها من خلال الدروس في قسم الشروحات , إذا لم تفهمها جيداً فنصيحتي لك أن تسأل عنها و تحاول أن تفهمها قبل أن تنتقل لخطوات متقدمه

و أيضاً عليك التأني في تعلم لغة البرمجة لأنها تحتاج وقت و تركيز و رغبه , فلم يكن قبلك أحد أجاد لغة برمجية خلال اسبوع او اسبوعين أو حتى خلال شهر .

.وهذا من واقع تجربة وخبره#

 

أما بالنسبة لأزرار اللوحة وكيف تتعامل معها فتوجد شروحات كثيره جداً ومبسطه من الإخوان في المنتدى بقسم الشروحات و قد نجح الكثير في إجتياز هذه المصاعب الابتدائية بفضل تلك الدروس فراجعها .

الآن سأضع لك بعض الأمثلة على لوحة تجريبية 

لنفترض أننا أنشأنا لوحةً تحمل 3 أزرار لكل زر وظيفة محدده وهي كالتالي :

  1. الزر الأول يكتب إسم اللاعب الذي ضغط على الزر الأول
  2. الزر الثاني يكتب عدد اللاعبين في الخادم
  3. الزر الثالث يقوم بإغلاق اللوحة

 

 .ملاحظة هامة جميع الأكواد التالية تُوضَع في ملف العميل أو( الكلينت ) فقط ولا توضَع في ملف الخادم أو السيرفر

 

الكود التالية هو كود بناء اللوحة تم نسخه من سكربت الجي يو أي إديتور *

GUIEditor = {
    button = {},
    window = {}
}
addEventHandler("onClientResourceStart", resourceRoot,
    function()
        GUIEditor.window[1] = guiCreateWindow(609, 376, 661, 423, "لوحة تجريبية", false)
        guiWindowSetSizable(GUIEditor.window[1], false)
        guiSetAlpha(GUIEditor.window[1], 0.98)
    
		guiSetVisible( GUIEditor.window[1],false ) -- دالة تقوم بإغلاق اللوحة فور تشغيلها لأنه إفتراضياً سوف تظهر اللوحة على شاشتك عند تشغيل السكربت أو المود
    
        GUIEditor.button[1] = guiCreateButton(22, 57, 249, 41, "الزر الأول", false, GUIEditor.window[1])
        guiSetFont(GUIEditor.button[1], "default-bold-small")
        guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FFAAAAAA")
        GUIEditor.button[2] = guiCreateButton(376, 57, 249, 41, "الزر الثاني", false, GUIEditor.window[1])
        guiSetFont(GUIEditor.button[2], "default-bold-small")
        guiSetProperty(GUIEditor.button[2], "NormalTextColour", "FFAAAAAA")
        GUIEditor.button[3] = guiCreateButton(209, 220, 226, 55, "الزر الثالث", false, GUIEditor.window[1])
        guiSetProperty(GUIEditor.button[3], "NormalTextColour", "FFAAAAAA")    
    end
)

 

إضغط هنا يفتح معك موقع في داخله صورة اللوحة

 

الآن نريد توظيف الأزرار , نبدأ بالزر الأول

أردنا أن نجعل الزر الأول يحضر إسم اللاعب و يكتبه في الشات العام داخل اللعبه 

إذن من خلال كود إنشاء اللوحة في الأعلى نقول أن المتغير التالي يمثل الزر الأول :

GUIEditor.button[1]

سيكون عملنا على المتغير وليس إسم الزر بالعربي **

 

الدوال التي نحتاجها لبرمجة الزر الأول كالتالي :

  1. دالة جلب إسم اللاعب getPlayerName
  2. دالة إخراج النص للشات outputChatBox

 

أما الحـدث الموجود لدينا هنا هو حدث الضغط على زر :

onClientGUIClick

 

نبدأ على بركة الله , ننشئ دالةً جديده و لنجعل أسمها كالتالي :

function firstButtonWork()
  	

نقوم الآن بإغلاق الدالة كي تصبح جاهزه لأداء المهام المدرجة بداخلها :

function firstButtonWork() -- بداية الدالة
 
 end -- نهاية الدالة

الآن نقوم بإستخراج إسم اللاعب و نضعه في متغير داخل الدالة

function firstButtonWork() -- بداية الدالة
  
  -- منطقة عمل الدالة إذا كان فارغاً فلن تعمل ولكن لن تعطيك أخطاء --
  local playerName = getPlayerName( localPlayer ) -- ووضعنا له وظيفة الحصول على اسم اللاعب إذن المتغير هو إسم اللاعب نفسه playerName انشئنا متغير باسم
  
end -- نهاية الدالة

الآن نقوم بكتابة الخطوة الأخيره للزر الأول وهي إخراج أي نص في الشات و النَّصُ هنا هو إسم اللاعب :

function firstButtonWork() -- بداية الدالة
  
  -- منطقة عمل الدالة إذا كان فارغاً فلن تعمل ولكن لن تعطيك أخطاء --
  local playerName = getPlayerName( localPlayer ) -- ووضعنا له وظيفة الحصول على اسم اللاعب إذن المتغير هو إسم اللاعب نفسه playerName انشئنا متغير باسم
  
  outputChatBox( playerName,localPlayer, 255, 0, 200 ) -- هو إسم اللاعب الذي حصلنا عليه من الدالة السابقة في الأعلى playerName دالة إخراج النص حيث
end -- نهاية الدالة

إنتهينا الآن من الدالة الموكلة بالوظائف التي تلي الضغط على الزر الأول

متبقي لدينا أن نربط الزر الأول بالحدث 

function firstButtonWork() -- بداية الدالة
  
  if source == GUIEditor.button[1] then -- بداية شرط التحقق من ان الزر المضغوط هو الزر الاول
  -- منطقة عمل الدالة إذا كان فارغاً فلن تعمل ولكن لن تعطيك أخطاء --
  	local playerName = getPlayerName( localPlayer ) -- ووضعنا له وظيفة الحصول على اسم اللاعب إذن المتغير هو إسم اللاعب نفسه playerName انشئنا متغير باسم
  
  	outputChatBox( playerName,localPlayer, 255, 0, 200 ) -- هو إسم اللاعب الذي حصلنا عليه من الدالة السابقة في الأعلى playerName دالة إخراج النص حيث
  end -- نهاية الشرط
end -- نهاية الدالة

addEventHandler('onClientGUIClick', root, firstButtonWork)

 

الآن نقوم بإنشاء دالة خاصة بالزر الثاني و هو زر إظهار عدد اللاعبين في الشات :

function secondButtonWork() -- بداية الدالة

	if source == GUIEditor.button[2] then -- شرط التحقق من أن الزر المضغوط هو الزر الثاني
		
		local players = getElementsByType("player") -- دالة تمثل كل اللاعبين في السيرفر
		local playersCount = #players -- متغير يمثل عدد اللاعبين في السيرفر
		
		local text = tostring(playersCount) -- تحويل عدد اللاعبين من أرقام إلى نص
		
		outputChatBox(text, localPlayer, 000, 094, 166) -- إخراج الرقم في الشات
		
	end -- نهاية الشرط
end -- نهاية الدالة

addEventHandler('onClientGUIClick', root, secondButtonWork) -- حدث عند الضغط على الزر

نقوم الآن بتعيين دالة جديده تخص إغلاق اللوحة للزر الثالث والأخير:

function thirdButtonWork() -- بداية الدالة

	if source == GUIEditor.button[3] then -- شرط التحقق من أن الزر المضغوط هو الزر الثالث
		
		guiSetVisible(GUIEditor.window[1], false) -- دالة إغلاق اللوحة
		showCursor(false) -- دالة عرض المؤشر أو إخفاؤه
		
	end -- نهاية الشرط
end -- نهاية الدالة

addEventHandler('onClientGUIClick', root, thirdButtonWork) -- حدث عند الضغط على الزر

 

F5 لم يتبقى لنا إلا تعيين أحد أزرار الكيبورد لفتح اللوحة التجريبية و لنفترض أن الزر هو:

 

function openWindow() -- بداية الدالة

	guiSetVisible(GUIEditor.window[1], not guiGetVisible(GUIEditor.window[1])) -- تعيين حالة اللوحة ( مفتوحة أو مغلقة ) عكس حالتها حين تضغط على زر اف 5
	showCursor(not isCursorShowing())
end -- نهاية الدالة

bindKey("F5", 'down', openWindow) -- تعيين زر إف 5 كفتح و إغلاق للوحة التجريبية

 

 

 

في النهاية أتمنى منك تحاول و تتعلم وتبحث , كلنا كان نحتاج مساعده في البداية و حصلنا مساعده و تجاوب من الاخوان في المنتدى الله يجزاهم خير و لكن لم نعتمد على أكواد جاهزه فقط

بالتوفيق .

Edited by ./bF.general10
  • Like 2
Link to comment
  • 2 weeks later...
On 27/11/2018 at 15:27, NX_CI said:

السلام عليكم ورحمة الله وبركاته

في بداية دخولك للغة البرمجة إل يو اي عليك معرفة الأساسيات مثل الدوال و المتغيرات والشرط و نهاية الدالة و متى يتحقق الشرط و متى يصبح خاطئاً (ترو , فولس ) أي المنطق

كل هذه اشياء اساسية عليك معرفتها من خلال الدروس في قسم الشروحات , إذا لم تفهمها جيداً فنصيحتي لك أن تسأل عنها و تحاول أن تفهمها قبل أن تنتقل لخطوات متقدمه

و أيضاً عليك التأني في تعلم لغة البرمجة لأنها تحتاج وقت و تركيز و رغبه , فلم يكن قبلك أحد أجاد لغة برمجية خلال اسبوع او اسبوعين أو حتى خلال شهر .

.وهذا من واقع تجربة وخبره#

 

أما بالنسبة لأزرار اللوحة وكيف تتعامل معها فتوجد شروحات كثيره جداً ومبسطه من الإخوان في المنتدى بقسم الشروحات و قد نجح الكثير في إجتياز هذه المصاعب الابتدائية بفضل تلك الدروس فراجعها .

الآن سأضع لك بعض الأمثلة على لوحة تجريبية 

لنفترض أننا أنشأنا لوحةً تحمل 3 أزرار لكل زر وظيفة محدده وهي كالتالي :

  1. الزر الأول يكتب إسم اللاعب الذي ضغط على الزر الأول
  2. الزر الثاني يكتب عدد اللاعبين في الخادم
  3. الزر الثالث يقوم بإغلاق اللوحة

 

 .ملاحظة هامة جميع الأكواد التالية تُوضَع في ملف العميل أو( الكلينت ) فقط ولا توضَع في ملف الخادم أو السيرفر

 

الكود التالية هو كود بناء اللوحة تم نسخه من سكربت الجي يو أي إديتور *


GUIEditor = {
    button = {},
    window = {}
}
addEventHandler("onClientResourceStart", resourceRoot,
    function()
        GUIEditor.window[1] = guiCreateWindow(609, 376, 661, 423, "لوحة تجريبية", false)
        guiWindowSetSizable(GUIEditor.window[1], false)
        guiSetAlpha(GUIEditor.window[1], 0.98)
    
		guiSetVisible( GUIEditor.window[1],false ) -- دالة تقوم بإغلاق اللوحة فور تشغيلها لأنه إفتراضياً سوف تظهر اللوحة على شاشتك عند تشغيل السكربت أو المود
    
        GUIEditor.button[1] = guiCreateButton(22, 57, 249, 41, "الزر الأول", false, GUIEditor.window[1])
        guiSetFont(GUIEditor.button[1], "default-bold-small")
        guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FFAAAAAA")
        GUIEditor.button[2] = guiCreateButton(376, 57, 249, 41, "الزر الثاني", false, GUIEditor.window[1])
        guiSetFont(GUIEditor.button[2], "default-bold-small")
        guiSetProperty(GUIEditor.button[2], "NormalTextColour", "FFAAAAAA")
        GUIEditor.button[3] = guiCreateButton(209, 220, 226, 55, "الزر الثالث", false, GUIEditor.window[1])
        guiSetProperty(GUIEditor.button[3], "NormalTextColour", "FFAAAAAA")    
    end
)

 

إضغط هنا يفتح معك موقع في داخله صورة اللوحة

 

الآن نريد توظيف الأزرار , نبدأ بالزر الأول

أردنا أن نجعل الزر الأول يحضر إسم اللاعب و يكتبه في الشات العام داخل اللعبه 

إذن من خلال كود إنشاء اللوحة في الأعلى نقول أن المتغير التالي يمثل الزر الأول :

GUIEditor.button[1]

سيكون عملنا على المتغير وليس إسم الزر بالعربي **

 

الدوال التي نحتاجها لبرمجة الزر الأول كالتالي :

  1. دالة جلب إسم اللاعب getPlayerName
  2. دالة إخراج النص للشات outputChatBox

 

أما الحـدث الموجود لدينا هنا هو حدث الضغط على زر :

onClientGUIClick

 

نبدأ على بركة الله , ننشئ دالةً جديده و لنجعل أسمها كالتالي :


function firstButtonWork()
  	

نقوم الآن بإغلاق الدالة كي تصبح جاهزه لأداء المهام المدرجة بداخلها :


function firstButtonWork() -- بداية الدالة
 
 end -- نهاية الدالة

الآن نقوم بإستخراج إسم اللاعب و نضعه في متغير داخل الدالة


function firstButtonWork() -- بداية الدالة
  
  -- منطقة عمل الدالة إذا كان فارغاً فلن تعمل ولكن لن تعطيك أخطاء --
  local playerName = getPlayerName( localPlayer ) -- ووضعنا له وظيفة الحصول على اسم اللاعب إذن المتغير هو إسم اللاعب نفسه playerName انشئنا متغير باسم
  
end -- نهاية الدالة

الآن نقوم بكتابة الخطوة الأخيره للزر الأول وهي إخراج أي نص في الشات و النَّصُ هنا هو إسم اللاعب :


function firstButtonWork() -- بداية الدالة
  
  -- منطقة عمل الدالة إذا كان فارغاً فلن تعمل ولكن لن تعطيك أخطاء --
  local playerName = getPlayerName( localPlayer ) -- ووضعنا له وظيفة الحصول على اسم اللاعب إذن المتغير هو إسم اللاعب نفسه playerName انشئنا متغير باسم
  
  outputChatBox( playerName,localPlayer, 255, 0, 200 ) -- هو إسم اللاعب الذي حصلنا عليه من الدالة السابقة في الأعلى playerName دالة إخراج النص حيث
end -- نهاية الدالة

إنتهينا الآن من الدالة الموكلة بالوظائف التي تلي الضغط على الزر الأول

متبقي لدينا أن نربط الزر الأول بالحدث 


function firstButtonWork() -- بداية الدالة
  
  if source == GUIEditor.button[1] then -- بداية شرط التحقق من ان الزر المضغوط هو الزر الاول
  -- منطقة عمل الدالة إذا كان فارغاً فلن تعمل ولكن لن تعطيك أخطاء --
  	local playerName = getPlayerName( localPlayer ) -- ووضعنا له وظيفة الحصول على اسم اللاعب إذن المتغير هو إسم اللاعب نفسه playerName انشئنا متغير باسم
  
  	outputChatBox( playerName,localPlayer, 255, 0, 200 ) -- هو إسم اللاعب الذي حصلنا عليه من الدالة السابقة في الأعلى playerName دالة إخراج النص حيث
  end -- نهاية الشرط
end -- نهاية الدالة

addEventHandler('onClientGUIClick', root, firstButtonWork)

 

الآن نقوم بإنشاء دالة خاصة بالزر الثاني و هو زر إظهار عدد اللاعبين في الشات :


function secondButtonWork() -- بداية الدالة

	if source == GUIEditor.button[2] then -- شرط التحقق من أن الزر المضغوط هو الزر الثاني
		
		local players = getElementsByType("player") -- دالة تمثل كل اللاعبين في السيرفر
		local playersCount = #players -- متغير يمثل عدد اللاعبين في السيرفر
		
		local text = tostring(playersCount) -- تحويل عدد اللاعبين من أرقام إلى نص
		
		outputChatBox(text, localPlayer, 000, 094, 166) -- إخراج الرقم في الشات
		
	end -- نهاية الشرط
end -- نهاية الدالة

addEventHandler('onClientGUIClick', root, secondButtonWork) -- حدث عند الضغط على الزر

نقوم الآن بتعيين دالة جديده تخص إغلاق اللوحة للزر الثالث والأخير:


function thirdButtonWork() -- بداية الدالة

	if source == GUIEditor.button[3] then -- شرط التحقق من أن الزر المضغوط هو الزر الثالث
		
		guiSetVisible(GUIEditor.window[1], false) -- دالة إغلاق اللوحة
		showCursor(false) -- دالة عرض المؤشر أو إخفاؤه
		
	end -- نهاية الشرط
end -- نهاية الدالة

addEventHandler('onClientGUIClick', root, thirdButtonWork) -- حدث عند الضغط على الزر

 

F5 لم يتبقى لنا إلا تعيين أحد أزرار الكيبورد لفتح اللوحة التجريبية و لنفترض أن الزر هو:

 


function openWindow() -- بداية الدالة

	guiSetVisible(GUIEditor.window[1], not guiGetVisible(GUIEditor.window[1])) -- تعيين حالة اللوحة ( مفتوحة أو مغلقة ) عكس حالتها حين تضغط على زر اف 5
	showCursor(not isCursorShowing())
end -- نهاية الدالة

bindKey("F5", 'down', openWindow) -- تعيين زر إف 5 كفتح و إغلاق للوحة التجريبية

 

 

 

في النهاية أتمنى منك تحاول و تتعلم وتبحث , كلنا كان نحتاج مساعده في البداية و حصلنا مساعده و تجاوب من الاخوان في المنتدى الله يجزاهم خير و لكن لم نعتمد على أكواد جاهزه فقط

بالتوفيق .

 

يشيخ انت وانت موقاعد تساعدني فهمت بس اسمع حبيبي 

انا بسوي لوحة تشتغل بماركر ومابيها تطلع بوجهي استخدمت

guiSetVisible( GUIEditor.window[1],false )

بس ما مشي ابيك تساعدني

Link to comment
2 hours ago, Mghool55 said:

 

يشيخ انت وانت موقاعد تساعدني فهمت بس اسمع حبيبي 

انا بسوي لوحة تشتغل بماركر ومابيها تطلع بوجهي استخدمت

guiSetVisible( GUIEditor.window[1],false )

بس ما مشي ابيك تساعدني

guiSetVisible(إسم اللوحة, false )

تأكد من إسم اللوحة .

Link to comment

GUIEditor = {
    button = {},
    window = {},
}
GUIEditor.window[1] = guiCreateWindow(430, 286, 585, 402, "تجربة", false)
guiWindowSetSizable(GUIEditor.window[1], false)
guiSetAlpha(GUIEditor.window[1], 1.00)
guiSetProperty(GUIEditor.window[1], "CaptionColour", "FF00FDFB")
guiSetVisible(GUIEditor.window[1],false)

GUIEditor.button[1] = guiCreateButton(516, 360, 59, 32, "اغلاق", false, GUIEditor.window[1])
guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FFFE0000")

-------------------------------------------------------------------------------------------------------

addEventHandler ( "onClientGUIClick" , root , 
  function ( ) 
     if source == GUIEditor.button[1] then --زر الأغلاق
          guiSetVisible(GUIEditor.window[1],false)-- اغلاق الوحة عند ضغط الزر
        showCursor(false) -- اخفاء مؤشر الماوس عند الضغط على الزر
     end
   end
 )

marker = createMarker ( 2494.96240,-1684.36060,13.51043, "cylinder", 2, 255, 0, 0, 170 ) -- هنا الماركر وأحداثياته والحجم والون 


addEventHandler("onClientMarkerHit",marker,-- هنا انشاء حدث ان لو اللاعب راح عند الماركر
   function()
     showCursor(true) -- اظهار مؤشر الماوس عند لمس الماركر
       guiSetVisible(GUIEditor.window[1],true) -- فتح الوحة عند لمس الماركر
  end
)

الماركر في حارة سيجي لما تدخل الماركر تفتحلك الوحة فيها زر اغلاق الوحة.

 وانت عدل عليها الي بدك ياه 

! الأكواد غير مجربة

Link to comment
On 07/12/2018 at 01:43, MR_Mahmoud said:

GUIEditor = {
    button = {},
    window = {},
}
GUIEditor.window[1] = guiCreateWindow(430, 286, 585, 402, "تجربة", false)
guiWindowSetSizable(GUIEditor.window[1], false)
guiSetAlpha(GUIEditor.window[1], 1.00)
guiSetProperty(GUIEditor.window[1], "CaptionColour", "FF00FDFB")
guiSetVisible(GUIEditor.window[1],false)

GUIEditor.button[1] = guiCreateButton(516, 360, 59, 32, "اغلاق", false, GUIEditor.window[1])
guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FFFE0000")

-------------------------------------------------------------------------------------------------------

addEventHandler ( "onClientGUIClick" , root , 
  function ( ) 
     if source == GUIEditor.button[1] then --زر الأغلاق
          guiSetVisible(GUIEditor.window[1],false)-- اغلاق الوحة عند ضغط الزر
        showCursor(false) -- اخفاء مؤشر الماوس عند الضغط على الزر
     end
   end
 )

marker = createMarker ( 2494.96240,-1684.36060,13.51043, "cylinder", 2, 255, 0, 0, 170 ) -- هنا الماركر وأحداثياته والحجم والون 


addEventHandler("onClientMarkerHit",marker,-- هنا انشاء حدث ان لو اللاعب راح عند الماركر
   function()
     showCursor(true) -- اظهار مؤشر الماوس عند لمس الماركر
       guiSetVisible(GUIEditor.window[1],true) -- فتح الوحة عند لمس الماركر
  end
)


الماركر في حارة سيجي لما تدخل الماركر تفتحلك الوحة فيها زر اغلاق الوحة.

 وانت عدل عليها الي بدك ياه 

! الأكواد غير مجربة

--- ليه أحس ان الأكواد ماهي مرتبة !

جرب كذا ,

 عشان تكون أسهل للقراءة .

- وأضن ان الخطأ هنا showCursor(true) .

- التصحيح من حسب نظري :


GUIEditor = {
    button = {},
    window = {},
}
GUIEditor.window[1] = guiCreateWindow(430, 286, 585, 402, "تجربة", false)
guiWindowSetSizable(GUIEditor.window[1], false)
guiSetAlpha(GUIEditor.window[1], 1.00)
guiSetProperty(GUIEditor.window[1], "CaptionColour", "FF00FDFB")
guiSetVisible(GUIEditor.window[1],false)

GUIEditor.button[1] = guiCreateButton(516, 360, 59, 32, "اغلاق", false, GUIEditor.window[1])
guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FFFE0000")

-------------------------------------------------------------------------------------------------------
marker = createMarker ( 2494.96240,-1684.36060,13.51043, "cylinder", 2, 255, 0, 0, 170 ) -- هنا الماركر وأحداثياته والحجم والون 


addEventHandler("onClientMarkerHit",marker,-- هنا انشاء حدث ان لو اللاعب راح عند الماركر
   function()
guiSetVisible(GUIEditor.window[1],true) -- عند دخول الللاعب للماركر تفتح اللوحة
  showCursor(true)
  end
  -----

addEventHandler ( "onClientGUIClick" , root , 
  function ( ) 
     if source == GUIEditor.button[1] then --زر الأغلاق
          guiSetVisible(GUIEditor.window[1],false)-- اغلاق الوحة عند ضغط الزر
        showCursor(false) -- اخفاء مؤشر الماوس عند الضغط على الزر
     end
   end
 )

-.- , والله اعلم .

+ تمت الإفادة من الأخ جنرآآل ,

Edited by Guest
Link to comment
Just now, *AnGeL said:

--- ليه أحس ان الأكواد ماهي مرتبة !

جرب كذا ,

 عشان تكون أسهل للقراءة .

- وأضن ان الخطأ هنا showCursor(true) .

- التصحيح من حسب نظري :


GUIEditor = {
    button = {},
    window = {},
}
GUIEditor.window[1] = guiCreateWindow(430, 286, 585, 402, "تجربة", false)
guiWindowSetSizable(GUIEditor.window[1], false)
guiSetAlpha(GUIEditor.window[1], 1.00)
guiSetProperty(GUIEditor.window[1], "CaptionColour", "FF00FDFB")
guiSetVisible(GUIEditor.window[1],false)

GUIEditor.button[1] = guiCreateButton(516, 360, 59, 32, "اغلاق", false, GUIEditor.window[1])
guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FFFE0000")

-------------------------------------------------------------------------------------------------------
marker = createMarker ( 2494.96240,-1684.36060,13.51043, "cylinder", 2, 255, 0, 0, 170 ) -- هنا الماركر وأحداثياته والحجم والون 


addEventHandler("onClientMarkerHit",marker,-- هنا انشاء حدث ان لو اللاعب راح عند الماركر
   function()
guiSetVisible(GUIEditor.window[1],true) -- عند دخول الللاعب للماركر تفتح اللوحة
  showCursor(true)
  end
  -----

addEventHandler ( "onClientGUIClick" , root , 
  function ( ) 
     if source == GUIEditor.button[1] then --زر الأغلاق
          guiSetVisible(GUIEditor.window[1],false)-- اغلاق الوحة عند ضغط الزر
        showCursor(false) -- اخفاء مؤشر الماوس عند الضغط على الزر
     end
   end
 )

-.- , والله اعلم .

+ تمت الإفادة من الأخ جنرآآل ,

صح ماهي مرتبة كنت مستعجل بس عادي ماتفرق شغالة حتى لو مو مرتبة 

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...