Sha67

Members
  • Content Count

    4,763
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by Sha67

  1. وعليكم السلام ورحمة الله وبركاته , متغير في اللغة self تعتبر وتقدر تستخدمه في أكثر من شيء, كمثال : local Number = { one = 1 } -- جدول ويحتوي على قِيَم function Number.add (t, num) -- هنا نسوي وظيفة بداخل الجدول -- self هنا مانقدر نستخدم t.one = t.one + num -- هنا جبنا المتغير بس كان لازم نستدعي الجدول عشان نجيب المتغير اللي بداخلة بعكس اللي فوق end -- نقفل الوظيفة function Number:add ( num ) -- نسوي وظيفة بداخل الجدول -- self هنا نقدر نستخدم self.one = self.one + num; -- هنا جبنا المتغير بدون مانستدعي الجدول وزودنا القيمه على حسب البراميتر في الوظيفة end -- نقفل الوظيفة Number:add ( 4 ) -- نستدعي الوظيفة print ( Number.one ) -- 5 -- أو تقدر تسويها كذا : Number.add (Number, 4 ) -- نستدعي الوظيفة, لاحظ البرامتير الأول اللي راح يكون استدعاء للجدول print ( Number.one ) -- 5 طبعاً ذا مثال عشان تفهم, تقدر تختصر كل ذا كذا : local Number = { one = 1 } -- جدول ويحتوي على قِيَم function Number.add (t, num) -- هنا نسوي وظيفة بداخل الجدول -- self هنا مانقدر نستخدم t.one = t.one + num -- هنا جبنا المتغير بس كان لازم نستدعي الجدول عشان نجيب المتغير اللي بداخلة بعكس اللي فوق end -- نقفل الوظيفة Number:add ( 4 ) -- نستدعي الوظيفة print ( Number.one ) -- 5 -- أو تقدر تسويها كذا : Number.add (Number, 4 ) -- نستدعي الوظيفة, لاحظ البرامتير الأول اللي راح يكون استدعاء للجدول print ( Number.one ) -- 5 لاحظ اننا حذفنا الوظيفة بالكامل ^^ في الميتاتيبل ويسهل عليك كثير, بتحصل شرح في قسم الشروحات عنها self أيضاً تقدر تستخدم اتمنى اني قدرت اوصل المعلومة
  2. أضيف على كلامك أنه مو كل الأحداث تُلغى.
  3. Sha67

    مساعده

    ^^ طيب والحدث اللي هو يبيه؟
  4. البرمجة تبقى برمجة، اذا تعلمت تقدر تسوي أي شي بالحد اللي تسمح لك اللعبة تسويه، حياة واقعية أو أي شي...
  5. داخله متغيرات, لازم تجيبه بالمتغيراتplayers الجدول وأيضاً بداخله اسم اللاعب فقط وليس اللاعب, يعني لازم تسوي كذا : for i,player in pairs(players) do local points = getElementData(getPlayerFromName ( player.name ), "ThePoints") or "0" dxDrawText(points,posX+sizeX+sizeX+10-row_size-row_size-row_size,posY,posX,posY+row_size,tocolor(255,255,255,generalAlpha),clanwar.fontScale,clanwar.font,"center","center",true,false,false,true) end end إذا ودك تستفيد بشرح لك : local table_ = {}; -- هذا جدول فاضي, وهو جدولنا الأساسي اللي بنشتغل عليه local vars = { one = '1', two = '2', three = '3' }; -- ذا جدول فيه متغيرات ولكل متغير قيمة. table.insert ( table_, vars ); -- دخلنا الجدول اللي فيه متغيرات داخل الجدول الأساسي تبعنا. -- مشكلتك كانت في كيف تجيب البيانات من الحدول, بشرح لك : for k,v in pairs ( table_ ) do -- v : ترجع لك الجدول اللي بداخله متغيرات, يعني لازم تحدد أو بيطلع لك خطأ. -- k : يطلع لك عدد القيم اللي في جدولنا الأساسي outputChatBox ( v.two ) -- كذا يطلع لنا رقم 2 في الشات, وكذا مع باقي المتغيرات . end
  6. وكيف بيعطيه الداتا؟ وفكرة الداتا أصلاً سيئه.
  7. Sha67

    مساعدة

    أنا ما ادري اذا هو يبغى يعدله أو يحذف القاعدة لأنه يجرب أو.... عموماً يعطيك العافيه @xiRocKyzشوف كلام الأخ أو احذف قاعدة البيانات وجرب, وشوف كلام الديبق, أو هات كودك نشوف يمكن عندك مشكله ثانيه ماهي واضحه هنا .
  8. Sha67

    مساعدة

    دام الجداول موجودة والمتغير معرًف مسبقاَ, الكود كذا مافيه أي خطأ مع العلم أنك مكرر الأسطر لأي سبب كان... accountUsername عموماً حسب الصورة اللي أنت حاطها الجدول بداخله, يعني هيكلة الجدول كالتالي :ء serial مافيه صف بإسم executeSQLQuery("CREATE TABLE IF NOT EXISTS accountUsername (account TEXT,username TEXT)") عدله وخليه كذا : executeSQLQuery("CREATE TABLE IF NOT EXISTS accountUsername (account TEXT,username TEXT, serial TEXT)") مع التنوية أنك لازم تعدل بعض الأكواد لأنك أضفت صف جديد ويمكن يسبب مشاكل, بس مع كودك إن شاء الله كل شي تمام.
  9. تقدر تستخدم أي وسيلة حفظ تفضًلها, مثل قواعد البيانات أو على الحساب إلخ. طريقة الحفظ من خلال انك تجيب رقم الشخصية وتحفظها من خلال ربطها بحساب اللاعب أو السريال وتقدر تسترجعها في أي وقت.
  10. Sha67

    مساعدة

    لايوجد قواعد بيانات بالأسماء التالية : accountUsername و serialUsername. غير معرًف s أيضاً
  11. عندما يستيقظ الإنسان من نومه, ذلك يعني أنه صاحي. بقلمي.
  12. انت شكلك لك فترة تتضارب مع الوظيفه ذي دايم ما افهمك ولكن اللي فهمته أنك عندك نص وتبغاه يظهر تدريجياً عند نقطه محدده ويختفي تدريجياً عن نقطه محدده؟ tocolor اللي في وظيفة alpha إذا كان كذا, تقدر تسويها بالشروط وال
  13. من وين جت 3 براميترز للحدث؟ اللي موجوده اثنين فقط وذا هو اللي خابص كودك كله. + localPlayer في السيرفر؟؟
  14. local TiempoPr = getTickCount() addEvent("onPlayerSpray", true) addEventHandler("onPlayerSpray", root, function(rockets) local current = math.floor ( ( getTickCount() - TiempoPr ) / 1000 ) if ( current > 5 ) then outputChatBox("Player #FFFFFF"..getPlayerName(source).." #FFFFFFhas shot #aacccc["..rockets.." #ffffffrockets in #ffffff"..current.." #ffffffseconds]", root, 255, 255, 255, true) end end )
  15. Hmmm, have you tried this one yet? i think it's exactly what you want.
  16. I didn't understand what do you wanna do! As you said, you want to remove dxUyari's event, so that what i did above.
  17. function dxUyari(durum,yazi,sekil) if durum == oyuncu then dxDrawRectangle(x-150,100,animasyon,50,tocolor(0,0,0,200)) animasyon = animasyon+10 if animasyon >= 299 then animasyon = 300 alpha = 255 end dxDrawText(yazi,x-100,110,0,0,tocolor(255,255,255,alpha),1,Font1) dxDrawRectangle(x-150,143,lineimage,1,tocolor(255,255,255,255)) lineimage = lineimage+9.99 if lineimage >=299 then lineimage = 300 end if sekil == "uyari" then dxDrawImage ( x-145, 105, imageanimasyon, 30, 'dosyalar/uyari.png', 0, 0, 0 ) imageanimasyon = imageanimasyon+3 if imageanimasyon >= 29 then imageanimasyon = 30 end elseif sekil == "yasak" then dxDrawImage ( x-145, 105, imageanimasyon, 30, 'dosyalar/yasak.png', 0, 0, 0 ) imageanimasyon = imageanimasyon+3 if imageanimasyon >= 29 then imageanimasyon = 30 end elseif sekil == "onay" then dxDrawImage ( x-145, 105, imageanimasyon, 30, 'dosyalar/onay.png', 0, 0, 0 ) imageanimasyon = imageanimasyon+3 if imageanimasyon >= 29 then imageanimasyon = 30 end end dxDrawRectangle ( x-150,144, g*2, u+1 ,tocolor(238 ,233, 233)) g = g + 0.3 if (g >= 149) then removeEventHandler("onClientRender",getRootElement(),TEST) end end end --TEST function TEST() dxUyari(oyuncu,"Test","onay") end addEventHandler("onClientRender",getRootElement(),TEST )
  18. dxCreateRenderTarget : يسوي رندر تارقيت, الرندر تارقيت هو مثل الورقة الكبيرة البيضاء حسب كلام الويكي, بس تكون غير مرئية الا إذا ربطتها بوظيفة بصورة وتقدر تخفيها أو تظهرها. بمعنى آخر كأنك سويت صورة مخفية وتقدر تحط داخلها نص أو اي شي آخر, وتقدر ماتخليها مخفية على حسب الأرقيومينت الأخير. مثال (من الويكي) : أنا عندي نص وأبغى اخليه على أكثر من رندر تارقيت (فرضنا أنها زي الصورة أو الورقة ), ما ابغى اكرر النص أكثر من مره : addEventHandler("onClientResourceStart", resourceRoot, function() myRenderTarget = dxCreateRenderTarget( 80, 100 ) -- نسوي رندر تارقيت بإحداثيات محدده, أي شي نضيفه للرندر تارقيت خارج الإحداثيات هذي لن يظهر end ) addEventHandler( "onClientRender", root, function() if myRenderTarget then dxSetRenderTarget( myRenderTarget ) -- نبدأ نسوي الأشياء اللي نبغاها في الرندر تارقيت, يعني من تحت ذا السطر كل شي تسويه يكون داخل الرندر تارقيت فقط dxDrawText ( "Hello", 10, 20 ) -- هنا كتبنا النص اللي نبغاه dxSetRenderTarget() -- هنا نوقف, بمعنى أي نص او أي شي تحت ذا السطر مابيكون تابع للرندر تارقيت dxDrawImage( 50, 50, 100, 100, myRenderTarget ) -- هذا السطر واللي تحته سوينا صورة,اللي هي نفسها الرندر تارقيت بحكم أننا اتفقنا أنه مثل صورة أو ورقة dxDrawImage( 150, 350, 150, 100, myRenderTarget ) -- هنا كررنا الصورة بإحداثيات مختلفة ونفس الكلام مع اللي تحت dxDrawImage( 250, 250, 100, 150, myRenderTarget ) dxDrawImage( 350, 30, 150, 150, myRenderTarget ) end end ) -- النتيجة بيطلع النص على كل الصور اللي سويناها بدون ما نكرر نفس النص, نقدر نخلي الصور ممخفيه كذا : -- myRenderTarget = dxCreateRenderTarget( 80, 100, true ) dxSetRenderTarget : شرحته فوق, ولكن للإضافة هو يعطيك إمكانية إنك تعدل على الرندر تارقيت (الصورة ) بحيث تخليها ظاهرة أو مخفية, بالإضافة إلى إختيار الرندر تارقيت الإفتراضي اللي هو شاشة اللعبة. بمعنى لو استخدمت الوظيفة بدون ارقيومينت , النص أو اي شي سويته بيظهر على الشاشة. https://wiki.multitheftauto.com/wiki/AR/String أتمنى تفيدك ولو ما استفدت علمني عشان اشرحها لك.
  19. GTA V Live for speed ذي اللي اعرفها بس.
  20. ماتوقف عند 1 يعني ترجع من جديد CosineCurve & CosineCurve هي نفسها تقريباً لأن getTickCount عموماً, إذا تبغى نفس طريقتك استخدم متغير بدون local tick = 0 addEventHandler("onClientRender", root, function() tick = tick + 0.01 local T = math.min( tick, 1 ); if T == 1 then tick = 0 end test.moveX = interpolateBetween(test.moveX, test.moveY, 0, 1, 0, 0, T, "Linear") dxDrawText("FOR TESTING A SOMETHING ALPHA 1.0",sX*0.35-test.moveX,sY*0.15,250,250,tocolor(255,255,255,255), 2.00, "default-build", "left", "center", false) end )
  21. وعليكم السلام ورحمة الله وبركاته, اتمنى لك التوفيق
  22. الفكرة ممتازة, ولكن اللعبة شبه ميته هذا أولاً, وثانياً محد يبغى يضيع وقته في شي مايستفيد منه أبداً, يعني اتعب نفسي عشان الأجانب يقولون العرب عندهم سيرفر فخم؟
  23. "onClientClick" getElementType