-
Posts
275 -
Joined
-
Last visited
-
Days Won
2
Posts posted by #CroSs
-
-
11 hours ago, #َxLysandeR said:
ولكم كروس منور
تسلم حبيبي
5 hours ago, Abdul KariM said:والخروج منه Marker جربت هالكلام مع أحداث دخول الـ
وحدث الخروج يشتغل بعد ما اطلع منه بمسافة ،Marker والنتيجة إن حدث الدخول يشتغل قبل ما المس الـ
أكبر Marker نفسها، وهالمشكلة توضح كل ما كان الـ MTA اتضح إنها مشكلة في
مربوط بلوحة Marker عادي تطلع لك لوحة فوق لو كان الـ ،Marker ودخلت الـ Jetpack يعني لو كنت فوق تطير بـ ،Marker وهي إنها تهمل الارتفاع لما تدخل الـ MTA وفي مشكلة ثانية في
.أخيرًا، اعذرني على سذاجتي -
،السلام عليكم
بالنسبة للتصميم، فأقترح لو تقلل شوي من اللون الأبيض وتضيف ألوان ثانية
وبعض الأزرار اشوفها عريضة بزيادة، بس لو تقلل العرض شوي Edits والـ
تكون أجمل Sidebar وبالنسبة لبعض الروابط اللي تجي فوق، مثل اللي بصفحة إضافة خدمة، تقدر تخليها كـ
.وبس هذي اقتراحاتي، غيره كذا اعطي التصميم 10/8 وبالتوفيق- 3
-
15 hours ago, Abdul KariM said:
isElementInMarker
وظيفتك صحيحة، بس تقدر تخليها مختصرة وأكثر دقة
Marker مرتبط معها ومنها الـ ColShape إن بعض العناصر عندها Wiki حسب كلام الـ ،getElementColShape بوظيفة
بهذي الوظيفة Marker المرتبط مع الـ ColShape وبكذا تقدر تجيب هذا الـ
أو لا Marker عشان تتأكد إن العنصر موجود داخله أو لا، وبالتالي تعرف إنه موجود بالـ isElementWithinColShape بعدها تستخدم
.(سواء كانت من نوع محدد أم لا) ColShape عشان تجيب كل العناصر الموجودة في الـ getElementsWithinColShape أو تستعمل- 1
-
Try replacing what you have by this:
function table.copy(t) local copiedTable = {} for key, value in pairs(t) do if value ~= _G then copiedTable[key] = value end end return copiedTable end function Wrapper.createEnvironment() local env = table.copy(_G) env._G = env setmetatable(env, { __index = function(_, index) if index == "source" then return _G.source else return rawget(env, index) end end }) return env end
The reason this's happening is that MTA is declaring the source variable within the script's original environment. Thus, you need to get the variable's value from the script's original environment which is already defined as _G. Also, environments' meta table have no effect at all as you're giving them the same functionality Lua actually does originally. Besides, you had some issues with table.move I won't say critical but may cause bugs for some maps scripts.
- 1
-
11 minutes ago, Abu-Solo said:
خلي الشخص يختار الشخصية
يعني يكون فيه شخصيتين ,
+1
لأن بالنسبة لي ما تفرق
- 2
-
.. السلام عليكم
عن نفسي، أشوف أكثر شيء يخوف في الألعاب هو الأشياء اللي تظهر فجأة وتتحرك بسرعة
مع الأصوات اللي ما تدري من وين طالعه وجرب تضيف ظل بدون جسم ويهرب أول ما يشوفه اللاعب، اتوقع بكون له إحساس مختلف
شكل الشخصية يلعب دور +
وبس
- 2
-
1 minute ago, Professional said:
Dx
بزر
بوتون
فقط صوره
ما فهمت شيء
-
؟GUI ولا DX رسم login الزر
https://www.mediafire.com/file/e8q3nyjqb23j236/DXUI-Controller.zip :استخدم هالسكربت
:موجود له شرح هنا
بساعدك في إنشاء الأزرار ورسمها
-
2 minutes ago, coNolel said:
- ... -- start drawing here / هنا أبدا التصميم
خليت تركيزي على كودك وقريت كلامك على السريع، بس كنت أوضح الخبصة خخ
- 1
-
تفسير كلامي:
dxCreateRenderTarget: أنت مستخدم رندر تارقت
dxCreateShader: وشدر
dxSetShaderValue(shader, "textureVar", renderTarget): Texture وحاط الرندر تارقت كـ
dxSetShaderTransform: ومستخدم هالوظيفة عشان تحدد للشدر دوران ثري دي
dxDrawImage: وتستخدم هالوظيفة عشان ترسم الشدر
بس أنت مخربط الأكواد، لأن آخر وظيفتين لازم يكونون بحدث
onClientRender
أو أي حدث مشابه له. الغريب أنك مستخدم
dxSetRenderTarget
بدون ما ترسم شيء فيه + واضح أنك مغير ترتيب الأسطر بالكود
- 2
-
5 minutes ago, coNolel said:
نسيتم
dxSetShaderValue(titleShader,"gTexture",titleRenderTargert)
خلاص راحت عليكم
بحط الأكواد بعد شوي
لا ما نسينا، أنت مستخدم رندر تارقت وشدر وحاط الرندر تارقت ك
Texture
ومستخدم
dxSetShaderTransform
و
dxDrawImage(shader)
وبس. أنا بس قلت أنت وش مستخدم عشان تسوي الحركة ذي
-
dxSetShaderTransform
-
طالع حلو بالصورة إلي تحت
-
مثل ما توقعت، الوظائف ينمسحون لما ترسل الكلاس
loadstring لكن في طريقة بال
- 1
-
1 hour ago, said:
خارجيا oopتقدر تسوي وظيفة ترجغ لك الكلاس وبعدين تسوي لها اكسبورت وكذا تقدر تستخدم ال
اوكي فهمت عليك
مع اني ما توقعت أنك تقدر ترسل جدول فيه
methods
أو وظائف بدون ما ينمسحون
- 1
-
5 minutes ago, </Mr.Tn6eL> said:
تقدر
function getPoint() return Point end
ما ادري وش فايدة ذا بالضبط
ممكن توضح؟
- 1
-
6 hours ago, said:
يكون افضل واسهل oop عمل ممتاز سوي نسخة
السكربت برمجته على أنه يكون منفصل، عشان لو أكثر من سكربت يستخدمه في وقت واحد
في السكربت، ما بيقدروا يستخدموه في سكربت ثاني OOP حتى لو طبقت الـ
بشكل عادي OOP يقدر يحط ذا الكود في سكربته ويطبق الـ ،OOP إلي مهتم بالـ
local point = createElement("dxui-point") local pointMT = getmetatable(point) local Point = pointMT.__class function Point:getPosition() return exports["DXUI-Controller"]:getPointPosition(self) end function Point:setPosition(x, y) return exports["DXUI-Controller"]:setPointPosition(self, x, y) end function Point:getSize() return exports["DXUI-Controller"]:getPointSize(self) end function Point:setSize(width, height) return exports["DXUI-Controller"]:setPointSize(self, width, height) end function Point:isMouseOver() return exports["DXUI-Controller"]:isMouseOverPoint(self) end function Point:isFocused() return exports["DXUI-Controller"]:isPointFocused(self) end function Point:isEnabled() return exports["DXUI-Controller"]:isPointEnabled(self) end function Point:setEnabled(enabled) return exports["DXUI-Controller"]:setPointEnabled(self, enabled) end function Point:isRenderingEnabled() return exports["DXUI-Controller"]:isPointRenderingEnabled(self) end function Point:setRenderingEnabled(enabled) return exports["DXUI-Controller"]:setPointRenderingEnabled(self, enabled) end function Point:bringToFront(getPropagated) return exports["DXUI-Controller"]:bringPointToFront(self, getPropagated) end function Point:isOtherResourcesAllowedToRender() return exports["DXUI-Controller"]:doesPointCreatorResourceAllowOtherResourcesToRender(self) end function Point:allowOtherResourcesToRender(allow) return exports["DXUI-Controller"]:allowOtherResourcesToRenderPoint(self, allow) end local rootMT = getmetatable(root) function rootMT.__class:validate() return exports["DXUI-Controller"]:validatePoint(self) end local pointGet = pointMT.__get function pointGet:parent() return exports["DXUI-Controller"]:getPointParent(self) end function pointGet:children() return exports["DXUI-Controller"]:getPointChildren(self) end function pointGet:creatorResource() return exports["DXUI-Controller"]:getPointCreatorResource(self) end function pointMT.__set:parent(parent) return exports["DXUI-Controller"]:setPointParent(self, parent) end destroyElement(point)
methods تقدر تستخدم ذول الـ
Point:getPosition() Point:setPosition(x, y) Point:getSize() Point:setSize(width, height) Point:isMouseOver() Point:isFocused() Point:isEnabled() Point:setEnabled(enabled) Point:isRenderingEnabled() Point:setRenderingEnabled(enabled) Point:bringToFront(getPropagated) Point:isOtherResourcesAllowedToRender() Point:allowOtherResourcesToRender(allow)
(العادية تشتغل على كل أنواع البيانات) elements ذي بتشتغل على كل الـ
Element:validate()
قابلة للقراءة فقط properties ذول
Point.children Point.creatorResource
أما ذي قابلة للقراءة والكتابة
Point.parent
(للي ما فهم شيء يستعمل الطريقة العادية (البرمجة الإجرائية
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
تحديث #1
setPointParent تم تعديل بق في الوظيفة
- 1
-
33 minutes ago, </Mr.Tn6eL> said:
ماتستحق بسبب الحماية
صح كلامك ما تستحق. حتى لو سويت تشفير للكود، بيمديه يكتشف طريقة فكه ب
addDebugHook
هذي الوظيفة مفيدة للديبقين، لكن لها سلبيات أكثر
-
بالنسبة ليه ما استخدم ال
[[ ]]
لأن اللون يطلع بني بالمحرر، مو حلو اللون
المهم، هالمكتبة مسونها من زمان ولكنها صارت غير مستقرة ووقفت تطويرها
لكن أقدر أعيد ابرمجها بطريقة احسن
وأبي اشوف رايكم هل تستحق ولا لا
-
4 hours ago, iMr.WiFi..! said:
أن ما خاب ظني , من قرائتي للكود فأن الكود يستعمل اكواد السيرفر من الكلنت !؟ بدون ترايقر !؟
همم، لا، يسوي ترايقر من المكتبة للسيرفر ويجيب النتائج ويرجعها على طول
المكتبة تسوي أشياء ثانية وفيها مميزات أنك ترسل وظيفة مثلا، في الواقع ما يرسل وظيفة، لكن يرسل مرجع للوظيفة
3 minutes ago, said:مع ترايقرloadstringعادي جدا بال
هي الجزء الأساسي coroutines ال
-
ما مدى غرابة هالكود من 10 لو بغيت تطلع سريِل اللاعب وحسابه؟
-
1 hour ago, #DABL said:
ممتاز ! تفوقت علي غيرك
بس وش الفرق بين النسخة المصغرة و الاصلية ._.
الفرق أن النسخة الأصلية هي النسخة إلي برمجت عليها، أكواد السكربت مرتبة وكل جزء محطوط بملف خاص به
أما المصغرة، كل شيء في ملف واحد لكل جانب والأكواد كلها في سطر ومصغر بشكل عام
بالنسبة لتفوقت على الآخرين، ما حبيت هالجملة صراحة، لأنها مهينة للبعض
بس شكرا على مرورك
- 1
-
- Popular Post
- Popular Post
،وبعض الناس يحاولون يبرمجون مثل هالواجهات لكن تواجهم مشاكل، DX هالأيام كثرت الواجهات الي مصممة بوظائف الـ
عشان كذا قررت انشر سكربت برمجته من زمان، لكن أعدت برمجته بالكامل مؤخرًأ
،السكربت راح يعطيك إمكانية تسوي نقاط (مساحات معينة من شاشة اللاعب) أو زر لأكون أوضح
(focus لما اللاعب يسوي شيء معين على نقطة، يشتغل حدث بالشيء إلي سواه. مثلا: لما يدخل الماوس النقطة ،أو يضغط على النقطة، أو يركز على نقطة (الـ
.طبعا في مميزات أكثر
بنشرح أول كيف تستخدمه
أولًا، السكربت مبرمج على أنه يكون خارجي
exports أو من الجدول call بالوظيفة createPoint عشان تبدأ تستخدمه، تسوي استدعاء للوظيفة
createPoint(x, y, width, height, relativeToWidth, relativeToHeight, parent)
x, y: الإحداثيات
width, height: حجم النقطة
relativeToWidth, relativeToHeight: nil مقاس الشاشة المنسوب لها الإحداثيات والحجم (الشاشة إلي سويت بها النقطة) عشان يعدل المقاس لكل الشاشات. الاثنين لازم يكونون ارقام أو اثنينهم
parent: أب النقطة. تستخدمه بالغالب عشان تخلي أولوية الماوس والضغط لأولاده لو كان الماوس عليهم
(في كل هذي الأحداث هو النقطة نفسها source بعد ما تسوي النقطة، تقدر تستعمل هذي الأحداث عليها (ملاحظة: الـ
onClientMouseEnterDP, onClientMouseLeaveDP: لما الماوس يدخل النقطة أو يطلع منها
onClientDPClick: لما اللاعب يضغط على النقطة
:يجي معه برامترين، هم
button: (إذا انضغطت بالزر إلي بالنص (إلي ترفع وتنزل به middle أو right-click إذا كان right ،left-click إذا كان left يعبر عن الزر إلي انضغطت به النقطة. يكون
state: إذا كان شايل يده عنه upإذا كان اللاعب ضاغط على الزر و down يكون
onClientDPDoubleClick: onClientDPClick بنفس حالة button لما اللاعب يضغط مرتين على النقطة، يجي ببرامتر واحد وهو
onClientDPFocus: لما اللاعب يركز على النقطة
onClientDPBlur: لما اللاعب يشيل التركيز عن النقطة
:السكربت يجي مع وظائف ثانية، عشان لو بغيت تعدل على خصائص النقطة، وهي
ذول وظائف واضحين من اسمهم
getPointPosition(point)
setPointPosition(point, x, y)
getPointSize(point)
setPointSize(point, width, height)
getPointParent(point)
getPointCreatorResource(point)
isMouseOverPoint(point)
isPointFocused(point)
:ذول يحتاجون توضيح
getPointChildren(point)
يرجع جدول فيه عناصر أطفال النقطة
setPointEnabled(point, enabled)
يفعل نقطة أو يعطلها. لما تعطلها يكون الوضع كأنها مو موجودة
وبالتالي تجي لنا هذي الوظيفة
isPointEnabled(point)
setPointParent(point, parent)
الحالي للنقطة (لو كان موجود) وراح يكون بدون أب parent النقطة. الأرقمنت الثاني اختياري، ولو ما حطيته راح يشيل الـ parent توضع
bringPointToFront(point, getPropagated)
(تقدم النقطة للأمام (النقاط إلي بالأمام دايمًا تكون أولوية الماوس لهم
getPropagated: يعبر عن هل أن الوظيفة راح تقدم آباء النقطة بعد ولا لا boolean عبارة عن
:للتوضيح
Spoilerلو كانت عندك هالنقاط
،وبغيت تقدم النقطة 3
راح تجيك هالنتيجة ،getPropagated بدون تفعيل
لكن لما تفعلها، راح يكون كذا
validatePoint(point)
boolean تتحقق إذا كانت النقطة صالحة، ترجع
في وظائف ثانية، وقبل وما نشرحهم لازم نشرح شيء أول
السكربت راح ينظم لك رندر النقاط
وش يعني؟
لما ترسم مستطيل مثلًا، وبعدين ترسم مستطيل فوقه، المستطيل الثاني راح يطلع عليه مب وراه DX في وظائف الرسم
ولأنك تبي النقاط الأولاد يطلعون فوق النقاط الآباء، السكربت ينظم لك هذا الشيء
كيف؟
لو افترضت عندك هالنقاط
لو جينا نسوي لهم رندر بالترتيب، لازم يكون الترتيب كذا عشان تطلع لنا هالنتيجة
Point1, Point2, Point4, Point3
لو غيرت الترتيب وسويته كذا
Point2, Point3, Point4, Point1
راح يكون كذا
طيب كيف تسوي رندر للنقطة؟
لما لازم تسوي رندر للنقطة DXUI-Controller راح يتم استدعائه من السكربت exported function هالـ ،onPointRender في سكربتك اسمه exported function تحط
بجيك برامتر واحد وقت الاستدعاء وهو النقطة إلي المفروض يصير لها رندر
لأن لو سويت حدث راح يسبب لاق وبكذا ما راح يكون عملي exported function ملاحظة: خليت الرندر في
تقدر تعطل رندر النقطة وتفعله بهالوظيفة
setPointRenderingEnabled(point, enabled)
أو تتحقق إذا كان مفعل ولا لا
isPointRenderingEnabled(point)
ملاحظة: الرندر مفعل افتراضيًا
(السكربت الوحيد إلي يستدعى وقت رندر النقطة هو السكربت إلي سواها (افتراضيًا
تقدر تعدل هذا الشيء بهالوظيفة
allowOtherResourcesToRenderPoint(point, allow)
(داخله (لو كانت موجودة onPointRender تسمح للسكربتات الأخرى بعمل رندر للنقطة، باستدعاء الوظيفة
وتقدر تتحقق إذا كانت هالخاصية مفعلة ولا لا بهالوظيفة
doesPointCreatorResourceAllowOtherResourcesToRender(point)
ملاحظة: للأسف، لم أجد اسم اطول
روابط التحميل
- 7
-
Just now, Master_MTA said:
برضو بستخدم التعليق وما بستخدم تاب
كيفك عاد
تشفير المودات!
in البرمجة
Posted · Edited by #CroSs
(إذا كنت على سيرفر عالمي، جرب تشغل السكربت على سيرفر محلي (ولا تنسى أول تحدث اللعبة
إذا اشتغل السكربت يعني من إصدار السيرفر العالمي، ما اشتغل، الله اعلم