Jump to content

nxFairlywell

Members
  • Posts

    1,849
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by nxFairlywell

  1. ممكن تعرض لنا الاكواد من سطر 31 إلى 38 ؟
  2. معلومة جديده علي والله , شيء ممتاز
  3. شوف , إذا تبغى جودة و أسعار افضل و تعرف تركب او تقدر تودي القطع لأي محل يركبها خذ من موقع ثاني يعني اشتري تجميعه خاصة فيك وركبها إذا انت سعودي تقدر تجمع من سوق كوم أسعارهم بالنسبة لي أشوفها كويسه مقارنة بباقي المواقع المحلية أو تقدر تجمع القطع من امازون أو نيو ايق و ترا التركيب مره سهل انا شفت 3 شروحات بقطع مختلفة و ركبت اول جهاز لي بنفسي وبدون اي اخطاء إذا مره مره تبغى جاهز خذ من طبيب الكمبيوتر أو الكترون تك أو سحابة هذا موقع تقدر تحط فيه القطع اللي حاب تشتريها و تقدر تشوف هل هي متوافقة أو لا : Pc Part Picker
  4. سويت نسخة احتياطية ؟ اذا سويت خلها لا تركبها لين نشوف حل لمشكلتك اذا ضبطت خلاص احتفظ بالنسخه الاحتياطيه ولاتركبها روح اف 8 و اكتب السطر اللي تحت debugscript 3 و خذ صورة للشاشة و حطها عشان نشوف المشكلة
  5. مثال على اضافة الحساب لأي قروب ما عدا ادمن و كونسل _groups={ 'Console', 'Admin', } -- جدول يحتوي على قائمة القروبات الممنوع الترقية اليها function setAccountAclGroup( splayer, sgroup ) local acc = getPlayerAccount(splayer) local accName = getAccountName(acc) if isObjectInACLGroup('user.'..accName, aclGetGroup('Console')) then if _groups[1] ~= sgroup and _groups[2] ~= sgroup then aclGroupAddObject(aclGetGroup(sgroup),'user.'..accName) else outputChatBox("You cannot insert this account to : "..sgroup, source) end return false end end function getGroups() for k, v in ipairs (_groups) do return v end return false end الآن تروح ملف ميتا عشان تعطي صلاحيات للدالة getGroups عشان تشتغل من خارج السكربت حقك تروح ملف الميتا حقك وتكتب فيه السطر ذا <export function="getGroups" type="server"/> بعدها نكمل الخطوة الثانية اللي هي تبنيد اللاعب اذا سحب رتبة كونسل او ادمن admin طبعاً لازم تعدل على سكربت لأن عملية سحب الرتبة تتم من خلاله بالنسبة لسيرفرك إذا عندك طريقة ثانية عشان تسحب الرتب لازم ترتب الطريقة هذي بحيث تتناسب مع طريقة برمجتك لسكربت سحب الرتب مثال على تبنيد اللاعب في حالة إزالته لأي عنصر من رتبة كونسل او رتبة ادمن راح تعتمد على الاكواد اللي عطيتك فوق لازم تطبقها بنفس الطريقة ولا ماراح يشتغل أولاً راح تتوجه لسكربت ادمن admin MTA SA/mods/deathmatch/resources/[admin]/admin.zip راح تسوي نسخ لهذا الملف وتحطه كنسخة احتياطيه في سطح المكتب في حال واجهتك مشكلة ترجع تركبه بعد ماتسوي نسخة احتياطية راح تدخل على المسار المذكور فوق ^ بعد ماتدخل على ملف ادمن راح تجيك 3 مجلدات client conf server راح تدخل على server بعدين تجيك عدة ملفات كل اللي يهمك الملف هذا : admin_server.lua تدخل عليه و استبدل الاكواد اللي من السطر 795 إلى 802 تجيك الأكواد كذا if ( not aclGroupRemoveObject ( group, object ) ) then action = nil outputChatBox ( "Error - object '"..tostring ( object ).."' does not exist in group '"..tostring ( arg[2] ).."'", source, 255, 0, 0 ) else mdata2 = "Object '"..arg[3].."'" triggerEvent ( "aAdmin", source, "sync", "aclobjects", arg[2] ) outputServerLog ("ACL: "..getPlayerName(source).."["..getAccountName (getPlayerAccount(source)).."] ["..getPlayerSerial (source).."] ["..getPlayerIP (source).."] removed "..mdata2) end كل اللي عليك تستبدل هذول بالكود اللي تحت if group ~= exports.SCRIPTNAME:getGroups() then -- بإسم السكربت حقك SCRIPTNAME إستبدل if ( not aclGroupRemoveObject ( group, object ) ) then action = nil outputChatBox ( "Error - object '"..tostring ( object ).."' does not exist in group '"..tostring ( arg[2] ).."'", source, 255, 0, 0 ) else mdata2 = "Object '"..arg[3].."'" triggerEvent ( "aAdmin", source, "sync", "aclobjects", arg[2] ) outputServerLog ("ACL: "..getPlayerName(source).."["..getAccountName (getPlayerAccount(source)).."] ["..getPlayerSerial (source).."] ["..getPlayerIP (source).."] removed "..mdata2) end else banPlayer(source) end الأكواد المطروحة قد تختلف عن الاكواد اللي انت طارحها اختلاف متوسط لكنها تعطيك الطريقة المناسبة للوصول لطلبك بإسم السكربت الخاص فيك SCRIPTNAME لاتنسى بعد ماتبدل الاكواد في ملف ادمن انك تبدل في السطر 795 تحديداً داخل الجملة الشرطية الأكواد غير مجربة + سوي نسخة إحتياطية لسكربت آدمن لأني غير مسؤول عن أي خطأ قد يحصل معك في الأكواد بالتوفيق
  6. بعد التعديل صحيح
  7. انت لسا عندك مشكلة ولا حليتها ؟
  8. X Wrong guiSetVisible ( element guiElement, bool state )
  9. لنفترض جدلاً انك حطيت جدول , إذا حطيته في ملف السيرفر كذا ما فرقت راح تكون نفس الحالة عموماً طريقة الجداول حلوه لكن أنا حبيت اوضح انو يقدر يستخدم القواعد بدون الجداول و يختصر الموضوع و أصلا ماراح يكون فيه فرق كبير اذا صار فرق راح يكون 1 فريم
  10. عشان ايش ؟ أنا أستغرب جداً من تعقيدك للموضوع ترا مايحتاج غير قاعدة بيانات واحده فقط يحط فيها الأشياء اللي يحتاجها وبعدين يجيب البيانات عن طريق دالة SELECT مايحتاج جدول لأن القاعدة تعطيك جدول أساساً
  11. window1=guiCreateWindow(...) window2=guiCreateWindow(...) _table = { ['ROW1']=window1, ['ROW2']=window2, } -- ROW1 = اسم الرو الاول اللي يفتح اللوحة الاولى ROW2 = اسم الرو الثاني اللي يفتح اللوحة الثانية -- window1 = اللوحة الاولى window2 = اللوحة الثانية function ondoubleclick() local row,_=guiGridListGetSelectedItem(gridlist) if row~= -1 then local text=guiGridListGetItemText(gridlist,row,1) for k, v in pairs (_table) do if k==text then guiSetVisible(v, true) else guiSetVisible(v, false) end end end end addEventHandler('onClientGUIDoubleClick',root,ondoubleclick)
  12. وانا ايش قلت وبعدين للعلم ترا الجدول يثقل اكثر من القاعدة في هذي الحالة اللي ذكرتها يعني كل ما يطفى المود يحفظ الجدول وكل ما يشتغل يجيب الجدول و يسوي متغير يختصر الموضوع ويسوي قاعدة بيانات ويجيب البيانات منها
  13. السورس في الحدث هو اللاعب اللي يستقبل الحدث في الكلينت
  14. لول ليه معصب ؟ تأكد من الايديت موجود في القريد لست بعد تشغيل السكربت ولالا ؟ مع اني متأكد انك جايب أبو العيد في اللوحة
  15. الإيديت مو موجود ولم يتم انشاءه من الاساس ! تأكد من المتغيرات
  16. طيب ممكن تروح للسطر رقم 508 في ملف client.lua وتوريني السطر ؟
  17. مافهمتني ياغالي انا اقصد انو كيف تبغى تحط ايديت داخل قريد لست !؟ ماقد جربت أبداً اني احط ايديت داخل قريدلست ما أتوقع تنفع لازم تحط الإيديت في اللوحة عشان يضبط كود كيلر
  18. قريد لست mypanel أنا اشوفك هنا حاط
  19. لول mypanel مو موجودة اساسا في الاكواد اللي انت طرحتها edit_msg = guiCreateEdit(10, 350, 600, 30, "", false, mypanel) -- mypanel ??? و إذا كانت mypanel = قريد لست ماتقدر تحط الايديت فيها !!!!
  20. * الجداول إذا طفى السيرفر بتروح الشخصيات إستخدم قواعد البيانات عشان تحفظها وما تروح الشخصيات والأملاك ويوم يدخل اللاعب أو أي وقت تحتاجها تقدر تجيب البيانات كلها من القاعدة executeSQLQuery -- إضغط ع الدالة وشوف شرحها في الويكي أو إبحث عن الشروحات في قسم الشروحات
  21. اذا كنت تبغى تفتح لوحة جديده اعطاك كيلر الكود الصحيح بس الظاهر انت مو مسوي اللوحة اساساً
  22. تقدر تضبطها من سكربت جي يو آي ايديتور كلك يمين ع اللوحة تحصل خيارين اتوقع كذا : Positive Relative حط الاختيار ع الثانية و سويها لكل الأدوات اللي تحطها باللوحة عشان تختصر أو تقدر تسوي الطريقة اللي تحت اذا ما كنت تستخدم السكربت : screenW,screenH=guiGetScreenSize() -- نفترض ان شاشتك مقاسها 1920 في 1080 -- ولنفترض ان احداثيات اللوحة كذا --x=500, y=300, w=200, h=200 -- كيف تضبطها ؟ -- كذا ! -- x / screenW, y / screenH, w / screenW, h / screenH -- x = 0.26, y = 0.27, w = 0.104, h = 0.185 -- اخر ارقمنت بالدالة اللي تحت خليه ترو guiCreateWindow( x, y, w, h, 'GUI', true )
  23. صحيح , السطر رقم 4 في الكود الثاني من ردي , خطأ مطبعي شكراً لك
×
×
  • Create New...