Jump to content

شرح، برمجة الدى اكس (عند الضغط) + فتح اللوحة بـ زر


Recommended Posts

local isWindowShowing = false --عشان نعرف الزر ظاهر او لا false متغير بالقيمة
local screenW, screenH = guiGetScreenSize() --ذي عشان تجيب احدثيات شاشتك

function renderDx()
    dxDrawRectangle(screenW * 0.2844, screenH * 0.4644, screenW * 0.0919, screenH * 0.0378, tocolor(0, 0, 0, 100), false) --مربع علي شكل زر
    dxDrawText("تجربة", screenW * 0.2844, screenH * 0.4644, screenW * 0.3762, screenH * 0.5022, tocolor(255, 255, 255, 255), 1.00, "default", "center", "center", false, false, false, false, false) --داخل المربع كلام
end --نقفل الفنكشن

function onKey()
    if isWindowShowing == false then --بمعنى الزر حالياً مخفي false لو المتغير قيمته
        showCursor(true) --اظهار الماوس
        isWindowShowing = true --بمعنى الزر ظاهر حالياً true نعطي المتغير قيمه
        addEventHandler("onClientRender", getRootElement(), renderDx) --نظهر الزر الآن
    elseif isWindowShowing == true then --بمعنى الزر ظاهر حالياً true لو المتغير قيمته
        showCursor(false) --نخفى الماوس
        isWindowShowing = false --بمعنى الزر انحذف الآن false نعطى المتغير قيمه
        removeEventHandler("onClientRender", getRootElement(), renderDx) --نحذف الزر الآن
    end --نقفل التحقق
end --نقفل الفنكشن
bindKey("F9", "down", onKey) --ذا ايفنت من اللعبة انه لما يضغط اف 9 يحصل شئ

--// لما يضغط على المربع (الزر)
function onClick(theButton, theState)
    --بين القوسين أحدثيات الرستنقل (المربع) وليس التيكست (الكلام اللى جوا المربع) isMouseInPosition ملاحظه: بتحط تحت فالكود
    if theButton == "left" and theState == "down" and isWindowShowing == true and isMouseInPosition(screenW * 0.2844, screenH * 0.4644, screenW * 0.0919, screenH * 0.0378) then --لو ضغط كلك يسار فى الماوس واللوحة ظاهره حالياً (بنعرف عن طريق المتغير) والماوس على المربع اللي هو الزر (بنعرف عن طريق احدثيات الشاشة)
        outputChatBox("تجربة") --نظهر فى الشات تجربة
    end --نقفل التحقق
end --نقفل الفنكشن
addEventHandler("onClientClick", getRootElement(), onClick) --ذا ايفنت من اللعبة ان لما الاعب يضغط بالماوس علي الشاشة

--// ذا كود جاهز يتحقق من احدثيات الشاشة عشان لما نضغط على المربع (الزر)
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
	if (cx >= x and cx <= x + width) and (cy >= y and cy <= y + height) then
		return true
	else
		return false
	end
end

اتمنى الشرح واضح وبسيط للناس الجدد فى برمجة اللغة، يمكنك ايضاً تغيير اظهار فى الشات تجربة إلى اشياء اخرى كثيرة
https://wiki.multitheftauto.com/wiki/Main_Page :يمكنك الاطلاع على جميع الفنكشنات حق اللعبة من هنا

Edited by iManGaaX
تم تسهيل الكود على الجدد فى البرمجة
Link to comment
  • 5 months later...

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...