taha201100 Posted June 20, 2016 Share Posted June 20, 2016 السلام عليكم سويت جيم مود اكثر من 1900 سطر وفكرته حصريه تعبت عليه مره بس المصيبه انه جربته على الاب توب حقي ما تيجي مثل ما يجي بالشاشه الكمبيوتر وجربت على لاب توب حق صديقي نفس المشكله مع انه ضبطت الكل على جميع الشاشات من جيو ايدتور بس مدري ليه وجلست عليه اكثر من شهر وش الحل؟؟ Link to comment
Mr.CoR Posted June 20, 2016 Share Posted June 20, 2016 اولاً : اشكرك لانك من السباقين في تطبيق نظام عناوين المواضيع الجديد ثانيا : اللوحات الي مستخدمها ، جي يو أي ولا دي اكس ؟ Link to comment
iMr.SFA7 Posted June 20, 2016 Share Posted June 20, 2016 أنا ماأشوفك طارح أي كود كيف نساعدك؟ عشان تجيب قياسات اللاعب guiGetScreenSize واستعمل الوظيفـة Link to comment
taha201100 Posted June 20, 2016 Author Share Posted June 20, 2016 جيو ايدتور اخوي انا طرحت موضوع قبل شهر اسمه قياسات الشاشه قالو لي ينفع اخليها relative وسويتهم كلهم كذا بس مو ضابط للاسف Link to comment
Mr.CoR Posted June 20, 2016 Share Posted June 20, 2016 اخوي شوف كيف وظيفة صنع النافذة https://wiki.multitheftauto.com/wiki/GuiCreateWindow الارقيومنت السادس Relativ ال true على حد علمي اذا خليته رح يكون مناسب لجميع الشاشات جرب سويهم كذا ورد لي خبر --- تحديث المشاركة بعد م تعدل اللوحه وتصير Relativ تختلف الاحجام معك تصير من 0 إلى 1 ف هذا الكود الي تحت يوسط لك النافذة بنص الشاشة بالضبط guiCreateWindow(0.25, 0.25, 0.5 0.5, "Window", true) Link to comment
taha201100 Posted June 20, 2016 Author Share Posted June 20, 2016 انا بجرب اسوي مود فيه ليبل وشويه شغلات مو مبرمجه اشوف كيف تيجوا على شاشتكم لو ما فيها غلبه شوية وارفعه #تحديث --[[------------------------------------------------- Notes: > This code is using a custom font. This will only work as long as the location it is from always exists, and the resource it is part of is running. To ensure it does not break, it is highly encouraged to move custom fonts into your local resource and reference them there. --]]------------------------------------------------- GUIEditor = { label = {} } addEventHandler("onClientResourceStart", resourceRoot, function() GUIEditor.label[1] = guiCreateLabel(0.00, -0.00, 0.09, 0.05, "Login |||", true) local font0_1 = guiCreateFont(":guieditor/fonts/1.ttf", 22) guiSetFont(GUIEditor.label[1], font0_1) GUIEditor.label[2] = guiCreateLabel(0.44, 0.52, 0.09, 0.05, "Register", true) guiSetFont(GUIEditor.label[2], font0_1) end ) ممكن احد يركبه ويصورها اشوف كيف تخرج عنده Link to comment
taha201100 Posted June 21, 2016 Author Share Posted June 21, 2016 ذا مثال سويته كذا تظهر بشاشه الكمبيوتر وكذا بشاشه الاب توب حقي والاب توب حق صديقي بعد والجيم مود يلي سويته ايضا يظهر لهم كذا وش الحل ؟ Link to comment
Mr.CoR Posted June 21, 2016 Share Posted June 21, 2016 شوف اليوزفل فانكشن ذا بس هذا للدي إكس بسم الله الرحمــن الرحـيم الصلاة و السلام على نبينا الكريم محمد صلى الله عليه وسلم : و على آله و صحبـه أجمعين , أما بعد أخواني الكرام , جئتكم اليوم بوظيفة صنعتها بنفسي Dx مهمتها حساب قياسات الشاشة للـ هذه الوظيفة مهمـة جداً للمبتدئين و لمتوسطين المستوى في البرمجة Dx ستفيدكم إن شاء الله في إنشاء واجهات الـ قبل أن نبدأ في شرح الوظيفة سأقوم بتوضيح 3 نقاط مهمة : أولاً : سبب طرحي لهذه الوظيفة هو بسبب المشاكل التي واجهتني في حسابات الدي اكس ثانياً : هذه الوظيفة تختلف تماماً عن سابقاتها لأن عملها يسهل لك تحريكها و ليس كبقية الوظائف ثالثاً : هذه الوظيفة تعطيك رقماً صحيحا للإحداثيات و تستطيع تعديل احداثياتها بالمتغيرات أولاً سنقوم بإنشاء واجهة دي إكس تجريبية ستكون إحداثياتها كالتالي : x : 200 y : 150 toX : 300 toY : 300 و ستكون قياسات الشاشة الخاصة بمصمم الواجهة هي كالتالي : العرض : 800 الإرتفاع : 600 سنشرح في البداية الساينتاكس او القاعدة أو طريقة كتابة الوظيفة convertDxPositionToAllScreens ( x, y, toX, toY, yourX, yourY ) x : x احداثي y : y احداثي toX : x احداثي لنهاية toY : y احداثي لنهاية yourX : قياس العرض لشاشة المصمم yourY : قياس الإرتفاع لشاشة المصمم ---------------------------------------------------- بعد أن قمنا بالتعرف على الساينتاكس سنقوم بتركيب الاحداثيات على الوظيفة بهذا الشكل : convertDxPositionToAllScreens ( 200, 150, 300, 300, 800, 600 ) 200 : x 150 : y 300 : toX 300 : toY 800 : myScreenW 600 : myScreenH الآن نقوم بتركيبها على الكود addEventHandler("onClientRender", root, function() x, y, tx, ty,size = convertDxPositionToAllScreens(200, 150, 300, 300, 1, 800, 600) dxDrawText("Hello world", x, y, tx, ty, tocolor(255, 255, 255, 255), size, false, false, false, false) end ) أتمنى الشرح واضح , كان شرح سريع الزبده , السورس كود تحت ماتشتغل الوظيفة بدونه ! موفقين إن شاء الله .. function convertDxPositionToAllScreens(x, y, toX, toY, size, yourX, yourY) if type(x) == "number" and type(y) == "number" and type(toX) == "number" and type(toY) == "number" and type(yourX) == "number" and type(yourY) == "number" then local sX, sY = guiGetScreenSize( ) local nX = tonumber(x)/tonumber(yourX) local nY = tonumber(y)/tonumber(yourY) local nTX = tonumber(toX)/tonumber(yourX) local nTY = tonumber(toY)/tonumber(yourY) local rX = nX*sX local rY = nY*sY local rTX = nTX*sX local rTY = nTY*sY local font_size=tonumber( size )*sX/yourX return rX, rY, rTX, rTY, font_size end end اللهم صل وسلم على نبينا محمد * Link to comment
taha201100 Posted June 21, 2016 Author Share Posted June 21, 2016 اكثره جيو ايدتور ما احتاجه الدي اكس دلحين Link to comment
™!>VàLéNTiNô<!™ Posted June 21, 2016 Share Posted June 21, 2016 اكثره جيو ايدتور ما احتاجه الدي اكس دلحين افتح لعبة MTA روح لملف ال Setting اختار Video ممكن تقولى مقاس الشاشة من على الكمبيوتر اللى صممت عليه المود .. ؟ فى طريقة أسهل انك تظبط اللوحة او ايا كان الجوا اليمنت على كل الشاشات باستخدام كود guiSetPositionAllScreen ............ Useful Function By Hassan.KSA اعطينى مقاسات الشاشة اللى صممت من عليها الليبل ولو لعبت فى المقاس وماتتذكر سوى واحد جديد بعدها اعطينى المقاسات . Link to comment
KariiiM Posted June 21, 2016 Share Posted June 21, 2016 Roh li MTA Settings => Video => Resolutions. Link to comment
ALw7sH Posted June 22, 2016 Share Posted June 22, 2016 --[[------------------------------------------------- Notes: > This code is using a custom font. This will only work as long as the location it is from always exists, and the resource it is part of is running. To ensure it does not break, it is highly encouraged to move custom fonts into your local resource and reference them there. --]]------------------------------------------------- GUIEditor = { label = {} } addEventHandler("onClientResourceStart", resourceRoot, function() GUIEditor.label[1] = guiCreateLabel(0.00, -0.00, 0.09, 0.05, "Login |||", true) local sX = guiGetScreenSize() local font0_1 = guiCreateFont(":guieditor/fonts/1.ttf", 22*(sX/1280)) guiSetFont(GUIEditor.label[1], font0_1) GUIEditor.label[2] = guiCreateLabel(0.44, 0.52, 0.09, 0.05, "Register", true) guiSetFont(GUIEditor.label[2], font0_1) end ) بسطر guiCreateFont فيه 1280 غيرها بعرض شاشتك المشكلة الي بالصور الي حطيتها ماهي من النوافذ نفسها لانه حجمها جالس يتغير المشكله في حجم التكست بس ... Link to comment
taha201100 Posted June 22, 2016 Author Share Posted June 22, 2016 ممكن افهم الحين لما بدي اصمم لوحه وش اسوي مشان تيجي على كل الشاشات او صورة او اي شي؟ Link to comment
فاّرس Posted June 22, 2016 Share Posted June 22, 2016 شوف جرب هالطريقه : شوف حبيبي هذي طريقه سهله جدا , local x, y = guiGetScreenSize ( ) -- تجيب مقاسات الشاشه local sx, sy = 1366, 768 -- تحط مقاس الشاشه حقك local resX, resY = 100, 200 -- تحط الاحداثيات الطول والعرض local screenX, screenY = x * ( resX / sx ), y * ( resY / sy ) -- عمليات ضرب وقسمه عشان تصير نفس المقاس لكل الشاشات : الي عليك انك تبدل التالي السطر الثاني , تحط مقاس الشاشه حقك , طبعا ذا مثال على مقاس شاشتي السطر الثالث , تحط الاحداثيات للطول والعرض راح تحتاج تخلي الخط لكل الشاشات , الي عليك تسويه كذا, dxDrawText لو استخدمت الوظيفه local x, y = guiGetScreenSize ( ) local sx, sy = 1366, 768 local resX, resY = 300, 400 local screenX, screenY = x * ( resX / sx ), y * ( resY / sy ) x * ( size / sx ) -- نضرب مقاسات الشاشه في حاصل قسمه الحجم على مقاس الشاشه بالحجم المطلوب size استبدل Link to comment
taha201100 Posted June 22, 2016 Author Share Posted June 22, 2016 للاسف لم افهم شي حوسهxحوسه ما في شي زر يفك هالأزمه سواء تكست او جيو او دي اكس؟ Link to comment
taha201100 Posted June 22, 2016 Author Share Posted June 22, 2016 شباب لي اسبوع موقف مؤقت وكذا راح اضطر انشىء جيم مود جديد من الصفر ابي حل للشاشات ما في طريقه سهله تضبط الجيو والتكست والصور والدي اكس او اي شي؟ Link to comment
فاّرس Posted June 23, 2016 Share Posted June 23, 2016 سويت لك فنكشن يسهل عليك : getPosition = function ( x, y, sx, sy ) if type( x ) =='number' and type( y ) == 'number' and type ( sx ) == 'number' and type ( sy ) == 'number' then local sc = { guiGetScreenSize ( ) } local screenX, screenY = sc[1] * ( x / sx ), sc[2] * ( y / sy ) return screenX, screenY end return false end getPosition ( x, y, sx, sy ) -- x احداثيات -- y احداثيات -- sx مقاس الشاشه -- sy مقاس الشاشه مثال : local x,y = getPosition ( 5, 5, 1366, 768 ) window = guiCreateWindow ( x, y, 50, 100, 'Test', false ) 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