Jump to content

TheLegend-EGY

Members
  • Posts

    23
  • Joined

  • Last visited

Posts posted by TheLegend-EGY

  1. On 30/05/2020 at 08:20, !Qut, said:

    DGS ال

    افضل من ناحية التصميم وغيره

    مثل :

    spacer.png

    استخدامه سهل اذا فهمت طريقته

    
    DGS = exports.dgs -- نضيف اكسبورت
    
    
    label = guiCreateLabel(0,0,0.5,0.1,"text",true) -- قبل التعديل |GUI|
    
    label = DGS:dgsCreateLabel(0,0,0.5,0.1,"text",true) -- بعد التعديل |DGS|
    
    -----
    


    لاحظ التعديل فقط في كلمة 
    gui
    حولناها لـ
    DGS:dgs

    واضفنا الاكسبورت

     

     

    واضح

    ولكن وش هي المكتبه

    ولازم اسويها

  2. 9 minutes ago, #\_oskar_/# said:
    
    showCursor(false)
    

     

    هذا اللي انا مسويه وقت ماتطلع الوحه

    لكن ماله فايده

    يعني وقت ما اضغط فيه الازرار مايسوي شي

    لازم سهم من لوحه ثانيه

  3. 21 minutes ago, -Ilker. said:

    من السطر الاول إلى ال 35 

    والي تحت مثال عليها انا حاط

    ضبط لكن وقت مايطلع سهم بسبب الوحه ما اقدر اسكرها

    لازم افتح لوحه ثانيه واسكر الوحه الاولى بالسهم حق اللوحه الثانيه

    يعني السهم حق الوحه الاصليه مايسكر

  4. 13 minutes ago, -Ilker. said:

    شوف الموضوع الي عطيتك اياه وجربه

    اي جزء اخذ منه

     

         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
    
        local statButton = { } 
        addEvent ( "onButtonDxClick" , true ) 
        function dxCreateButton ( element,x,y,w,h,text )
        if ( not element or type ( element ) ~= "string" ) then return end 
        if ( not statButton[element] ) then statButton[element] = "up" end 
        if ( isMouseInPosition(x,y,w,h) ) then
        if ( getKeyState ( "mouse1" ) ) then 
        if ( statButton[element] ~= "down" ) then 
        statButton[element] = "down"
        triggerEvent ( "onButtonDxClick" , localPlayer , element , text )
        end 
        else 
        if ( statButton[element] == "down" ) then 
        statButton[element] = "up"
        end
        end
        end
        dxDrawRectangle ( x , y , w , h , tocolor(0,0,0,200) , false ) 
        dxDrawText ( text or "" , x,y,x+w,y+h,tocolor(255,255,255,255),1,"default-bold","center","center",false,false,false,true)
        end 
    
        --- # Example 
    
        addEventHandler ( "onClientRender" , root , function ( ) 
        dxCreateButton ( "kill" , 300,300,120,30,"Kill Player" )
        dxCreateButton ( "warp" , 300,350,120,30,"Teleport Player" )
        end ) 
    
        addEventHandler ( "onButtonDxClick" , localPlayer , function ( Button , Text ) 
        if ( Button == "kill" ) then 
        outputChatBox(Text)
        elseif ( Button == "warp" ) then 
        setElementPosition ( localPlayer ,0,0,3)
        end
        end )

     

  5. Just now, #\_oskar_/# said:

    طيب اذا عندك اكثر من زر ؟

    Metatables  استخدم 

    او الجداول اللي يريحك 

    ما اعرف اسوي جداول ><

  6. 6 minutes ago, -Ilker. said:
    
    addEventHandler ( "onClientRender" , root , function ( ) 
    dxDrawRectangle ( 400 , 200 , 200 , 20 )
    end ) 
    
    addEventHandler ( "onClientClick" , root , function ( button , state )
    if ( button == "left" and state == "up" ) then 
    if ( isMouseInPosition ( 400,200,200,20 ) ) then 
    outputChatBox("done")
    end
    end
    end ) 
    

    شغال معي


    if ( isMouseInPosition (screenW * 0.2794, screenH * 0.2433, screenW * 0.4412, screenH * 0.5222) ) then
     

    هل يضر لو كان بهذا الشكل ؟

    يعني الاحداثيات

  7. 1 minute ago, -Ilker. said:

    لا بس ماراح يتفعل لإن اتوقع الماوس ماراح يجي ع الاحداثيات الي حاطها

    ماحطيت احداثيات لكن لو فيه ممكن يشتغل ؟

  8. 5 minutes ago, -Ilker. said:

    الله يعافيك 

    شوف هذا سويته لواحد قبل

     

    local function onClick ( button, state )
    	if button == 'left' and state == 'up' then
    		if isMouseInPosition ( screenW * 0, screenH * 0, screenW * 0, screenH * 0 ) then

    هذا ممكن يكون فيه مشكله ؟

  9. 3 minutes ago, -Ilker. said:

    ناقصك end للوظيفة وتقفل الحدث بالقوس )

    end )

    وشبل الـ : من مسار الصوره

    يعطيك العافيه نفع

    طيب لو كنت ابي اسوي زر في نظام الدي اكس

    وش افضل طريقة

  10. 3 minutes ago, -Ilker. said:

    طيب اطرح الكود 

    addEventHandler("onClientRender", root,
        function()
        	if ( guiGetVisible ( Window ) == true ) then
            dxDrawImage(screenW * 0.2881, screenH * 0.3156, screenW * 0.2568, screenH * 0.2788, ":3.png", 0, 0, 0, tocolor(255, 255, 255, 255), true)
            dxDrawImage(screenW * 0.5575, screenH * 0.2943, screenW * 0.1568, screenH * 0.1788, ":4.png", 0, 0, 0, tocolor(255, 255, 255, 255), true)
        end

     

  11. On 29/05/2020 at 21:06, #\_oskar_/# said:

    debugscript 3 ?

     

    17 hours ago, !Qut, said:

    من المعروف الدي اكس يسبب ضعف في الاف بي اس ع حسب جهازك

    فيه اجهزة تتحمل الدي اكس  وفيه اجهزة لا

    وسوء الاستخدام برضه يجيب العيد في الاف بي اس 

    في البداية تاكد ان م فيه اخطاء

    اكتب في اف8

    debugscript 3

    وصور الكلام الي بيجيك

    لا يوجد اي خطا بالدي بق

     

    مو طبيعي ينزل من 100 ل 20 واقل

    وجوده الصوره صارت ضعيفه

  12. 1 hour ago, Live said:

    الإختلاف انك تستعمل مكتبة دي اكس
    .يلي شكلها مختلف عن الجيو وخصائص أكثر

    تمام لكن هل هذا هو الاختلاف من ناحيه الاكواد

    يعني اسوي لها اكسبورت

    ولا لازم احمل ملفات غيرها

  13. 1 hour ago, #\_oskar_/# said:

     Dx الي  Gui مكتبه تغير شكل ال DGS ال 

    طريقة استخدامه غير اي مكتبه في السهوله والاستخدام

    guieditorانت تقوم بتصميم لوحتك عادي من مود 

    DGS وبعد ماتخلصه تقوم بتحويل اكواد اللوحه الي اكواد 

    G2D عن طريق استخدام اضافه هو حاطتها في المكتبه اسمها 

    السلبيات ماشوف ان في سلبيات الا اذا انت استخدمته بطريقه خاطئه 

    اي شئ مو واضح تفضل قوله

    myLabel = guiCreateLabel  ( 0, 0, 1, 1, "text", true )- النظام العادي
    
    DGS = exports.dgs
    mylabel = DGS:dgsCreateLabel(0,0,0.5,0.1,"text",true)مع Dgs
    
    هذا هو الاختلاف ؟

     

  14. السلام عليكم

     

    وش هو ال dgs

     

    وايش السلبيات والايجابيات فيه

     

    وهل نظامه مثل الجيو ايدتور

  15. 20 hours ago, MrKAREEM said:

    ملهاش لازمة الحسابات أفضل من رأي هو هيتعب في الحساب في الأول بس مع الوقت الموضوع هيبقي سهل

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

    ولو لاحظت في الكود اللي هو منزله اصلا مستخدم طريقة الحساب

    
    dxDrawText("Points Kills : "..( getElementData(localPlayer,"PointsKill") or 0 ), screenW * 0.0675, screenH * 0.7067, screenW * 0.2087, screenH * 0.7400, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, true, false)
    

    معظم الناس تستخدم طريقة الحساب أسهل + تعطيك مقاسات دقيقة وتظبط لكل الشاشات

    وهي مهمة أكثر في اللوحات الدي اكس

    الجوي ايديتور بيعملها

    بس العيب ان مفيش غير يمين وشمال وبالنص

     

    اللي فهمته من كلامك

    ان الكلام يطلع بعد مايتاكد من مقاس شاشة اللاعب

    اذا كانت بالقياس ( رقم ) يكون له حساب معين

    واذا بالقياس رقم 2 يكون له حساب ثاني

     

    لكن كيف يقدر يحدد لكل شاشة من الكود ؟

  16. 7 hours ago, MrKAREEM said:

    انا عن نفسي استخدم الحسابات اليدوية

    يوجد لها شرح هنا

    GuiGetScreenSize

    • كمثال هتفتح جوي ايديتور صمم اي شئ تجريبي سواء دي اكس أو جوي تظبط الاثنين المهم في الويكي مصممين تكست
    
    dxDrawText(tostring "Hello World!",684.0,731.0,732.0,766.0,tocolor(0,255,255,175),1.0,"bankgothic","left","top",false,false,false)
    

    اهو عملت تكست او زر او اي شئ باحداثيات عادية حاليا لو حفظت وشغلت هتظبط علي شاشتك أنت فقط فعشان تظبط عند الكل هتعمل ايه ؟

    • هتبدا تحسب بالطريقة دي

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

    كمثال الاحداثيات :

    (1024x768)

    • بعد كدة نروح لاحداثيات التيكست فيه 4 خانات

    الأول بيتقسم مع الأول وبعدين الثاني مع الثاني

    وبعدين الأول مع الأول والثاني مع الثاني

    • بسهلها عليكـ

    كمثال الأول في التيكست هو 684.0

    فهتبقي الحساب بالشكل دا

    (684/1024 = 0.668)

    • الناتج اللي يطلعلك تحطه مكان السابق

    يعني كان 684

    هتخليه الناتج الجديد وهو 0.668

    نيجي علي تاني قسم رقم 731.0

    • هنقسم مع التاني في احداثيات شاشتك فهتكون كدة

    (731/768 = 0.952)

    وطبعا هتحط 0.952 مكان 731.0

    كدة خلصنا اول جزئين من احداثيات التكست وباقي كمان جزئين

    • بنفس الطريقة اللي عملتها مع اول جزئين هتعملها مع تاني جزئين
    • الاول مع الاول والثاني مع الثاني بحيث؟

    (732/1024 = 0.715)

    وهتغير القديم بالجديد

    والاخيرة نفس الشئ

    هتاخدها مع القسم الثاني وهتكون كدة

    (766/768 = 0.997)

    بعد ما حطينا الأرقام هنعمل ايه ؟

    • هنحط كود احداثيات الشاشة
    
    local sWidth,sHeight = guiGetScreenSize()
    dxDrawText("Hello World!",sWidth*0.668, sHeight*0.952, sWidth*0.715, sHeight*0.997,tocolor(0,255,255,175),1.0,"bankgothic","left","top",false,false,false)
    
    • وهتيجي قبل كل رقم في ال 4 اقسام
    1. مرة sWidth*
    2. ومرة sHeight*

    زي ما في الكود فوق

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

    الفكرة مش صعبة اوي الشرح الكتير عشان احاول علي قد ما اقدر اوصلك المعلومة حاول انك تحسب ورا الشرح وتطلع الناتج عشان تتاكد وتحطه مكان الارقام القديمة وتضع الاحداثيات وهتظبط معك

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

    بالتوفيق

      مو افضل لو يسوي لوحة مخفيه

     

    والنص يكون مدموج باللوحة

    وتكون اللوحة بالسنتر ؟

×
×
  • Create New...