Jump to content

Search the Community

Showing results for tags 'برمجة'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Multi Theft Auto: San Andreas 1.x
    • Support for MTA:SA 1.x
    • User Guides
    • Open Source Contributors
    • Suggestions
    • [Read-Only] Ban appeals
  • General MTA
    • News
    • Media
    • Site/Forum/Discord/Mantis/Wiki related
    • MTA Chat
    • Other languages
  • MTA Community
    • Scripting
    • Maps
    • Resources
    • Other Creations & GTA modding
    • Competitive gameplay
    • Servers
  • Other
    • General
    • Multi Theft Auto 0.5r2
    • Third party GTA mods
  • Archive
    • Archived Items
    • Trash

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Member Title


Gang


Location


Occupation


Interests

Found 22 results

  1. ‫ :جدول المُحتويات ‫ مقدمة تحليلية: كيف تُربط MTA:SA مع Discord باستخدام Webhook؟‬ ‫ المفهوم العام (اللوجيك الأساسي)‬ ‫ تحليل الكود خطوة بخطوة‬ ‫ خلاصة المنطق كاملًا‬ ‫ ملاحظات إضافية للمطور‬ ‫ مصادر مهمة‬ ‫ مقدمة تحليلية: كيف تُربط MTA:SA مع Discord باستخدام Webhook؟‬ ‫‬ ‫السلام عليكم ورحمة الله وبركاته ‫في هذا المشروع، نريد تمكين اللاعب من إرسال رسالة من داخل اللعبة إلى قناة في Discord. لتحقيق هذا سنستخدم:‬ ‫‬ ‫- أمر داخل اللعبة (command)‬ ‫- كود Lua في سيرفر MTA‬ ‫- خدمة Webhook من Discord‬ ‫- دالة `fetchRemote` في MTA لإرسال البيانات إلى Discord‬ ‫ ‫ المفهوم العام (اللوجيك الأساسي):‬ ‫‬ ‫1. اللاعب يكتب أمر داخل اللعبة مثل `/discord مرحباً`.‬ ‫2. السكربت يقرأ هذا الأمر ويستخرج الرسالة.‬ ‫3. السكربت يُنشئ رسالة منسّقة (باستخدام JSON).‬ ‫4. يتم إرسال هذه الرسالة إلى Discord عبر رابط Webhook.‬ ‫5. Discord يعرض الرسالة داخل القناة المحددة.‬ ‫ ‫ تحليل الكود خطوة بخطوة:‬ ‫‬ ‫ رابط الويب هوك‬ ‫ local discordWebhook = "https://discord.com/api/webhooks/...." ‫- هذا هو الرابط الأساسي.‬ ‫- Discord يوفّره لك لكل قناة تريد استقبال الرسائل فيها.‬ ‫- يتم تخزينه في متغير `discordWebhook` لاستخدامه لاحقًا عند الإرسال.‬ ‫‬ ‫‬ ‫ دالة تنفيذ الأمر‬ ‫ function sendMessageToDiscord(player, command, ...)‬ ‫‬ ‫- هذه الدالة يتم ربطها بالأمر `/discord`.‬ ‫- يتم تنفيذها تلقائيًا عندما يكتب اللاعب الأمر.‬ ‫- البراميتر `player` هو كائن اللاعب الذي نفّذ الأمر.‬ ‫- البراميتر `...` يمثل كل الكلمات التي كتبها اللاعب بعد الأمر.‬ ‫‬ ‬ ‫‬ ‫ جمع الرسالة‬ local message = table.concat({...}, " ") ‬‫ ‫- يتم دمج الكلمات التي كتبها اللاعب إلى جملة واحدة.‬ ‫- مثلًا: `/discord السلام عليكم يا شباب` → تصبح `"السلام عليكم يا شباب"`.‬ ‫‬ ‫ التحقق من وجود رسالة‬ if message == "" then outputChatBox("اكتب رسالة! مثال: /discord مرحبا", player, 255, 0, 0) return end ‫- إذا لم يكتب اللاعب أي شيء، يتم عرض تنبيه داخل اللعبة.‬ ‫- يتم إيقاف تنفيذ الدالة (باستخدام `return`).‬ ‫‬ ‫ تجهيز بيانات الرسالة‬ ‫local playerName = getPlayerName(player)‬ ‫- نحصل على اسم اللاعب الذي كتب الرسالة.‬ ‫‬ ‫ إعداد شكل الرسالة (باستخدام `embeds`)‬ ‫ local webhookData = { username = "MTA:SA Server", -- اسم البوت في Discord embeds = {{ title = "رسالة من اللاعب", description = message, color = 3447003, -- لون الشريط (أزرق) author = {name = playerName}, footer = {text = "MTA:SA Discord Bot"}, timestamp = os.date("!%Y-%m-%dT%H:%M:%SZ") -- وقت الإرسال بصيغة ISO }} } ‬ ‫ هذا الجزء هو أهم جزء، لأن Discord يستخدم ما يسمى بـ `embeds` لتنسيق الرسائل، ويتضمن:‬ ‫‬ ‫‫+----------------+----------------------------------------+‬ ‫| العنصر | وظيفته |‬ ‫+----------------+----------------------------------------+‬ ‫| username | اسم البوت في الديسكورد |‬ ‫| title | عنوان الرسالة داخل الـ Embed |‬ ‫| description | نص الرسالة الحقيقي |‬ ‫| color | لون الشريط الجانبي (بالـ Hex) |‬ ‫| author.name | اسم مرسل الرسالة (اللاعب) |‬ ‫| footer.text | تذييل صغير |‬ ‫| timestamp | وقت الإرسال بشكل احترافي |‬ ‫+----------------+----------------------------------------+‬ ‫‬ ‫ إرسال البيانات باستخدام fetchRemote‬ ‫‬ fetchRemote(discordWebhook, { method = "POST", headers = {["Content-Type"] = "application/json"}, postData = toJSON(webhookData):sub(2, -2) }, function(responseData, responseInfo) ... end) ‫ ما الذي يحدث هنا بالضبط؟‬ ‫‬ ‫‫fetchRemote: دالة من MTA لإرسال طلب HTTP إلى عنوان خارجي (هنا Discord).‬ ‫method = "POST": نوع الطلب الذي نستخدمه لإرسال بيانات إلى الخادم (Discord في هذه الحالة).‬ ‫headers: نقوم بإخبار Discord بأن نوع البيانات التي نرسلها هي JSON.‬ ‫postData: نقوم بتحويل البيانات إلى JSON باستخدام دالة toJSON، ثم نحذف الأقواس الزائدة [] باستخدام :sub(2, -2) لتهيئة البيانات بشكل صحيح.‬ ‫function(responseData, responseInfo): هذه دالة "رد الفعل"، التي تُنفذ عندما يرد Discord على الطلب.‬ ‫‬ ‫ التعامل مع النتيجة‬ if responseInfo.success then outputChatBox("تم إرسال رسالتك إلى Discord!", player, 0, 255, 0) ‫- إذا تم إرسال الرسالة بنجاح، يُبلغ اللاعب برسالة نجاح.‬ ‫‬ ‫ التعامل مع الأخطاء‬ else local statusCode = responseInfo.statusCode or "غير معروف" outputChatBox("فشل الإرسال! (الكود: " .. statusCode .. ")", player, 255, 0, 0) ‫- إذا فشل الإرسال، يتم طباعة الكود الخطأ، مثل:‬ ‫‬‫400: خطأ في البيانات (ربما الرسالة فارغة أو JSON غير صالح).‬ ‫401 / 404: رابط Webhook غير صحيح أو تم حذفه.‬ ‫429: تم إرسال عدد كبير جدًا من الرسائل (تم تجاوز الحد المسموح به).‬‬ ‫ ‫ ربط الأمر مع الدالة‬ ‫‬ addCommandHandler("discord", sendMessageToDiscord) ‫‬ ‫- هذا السطر هو الذي يربط `/discord` مع الدالة التي كتبناها.‬ ‫- أي شخص يكتب هذا الأمر يتم تنفيذ الكود أعلاه له.‬ ‫‬ ‬ ‫‬ ‫ خلاصة المنطق كاملًا:‬ ‫‬ ‫‬ ‫‬ ‫ ملاحظات إضافية للمطور:‬ ‫‬ ‫- Webhooks يمكن استخدامها لعدة استخدامات مثل:‬ ‫ - إرسال تنبيهات عند دخول أو خروج اللاعبين.‬ ‫ - إرسال رسائل النظام.‬ ‫ - تتبع الأخطاء في السكربتات. ‬ ‫‬ ‫- يمكنك تحسين السكربت بإضافة:‬ ‫ - صورة اللاعب.‬ ‫ - أزرار تفاعلية (عبر Discord Buttons).‬ ‫ - أكثر من Embed في نفس الرسالة.‬ ‫‬ ‫ ‬‫ مصادر مهمة:‬ ‫- رابط السكريبت كامل على جيت هب مع الشرح‬ ‫- رابط السكربت على موقع المودات‬ ‫‬ ‫بالتوفيق لكم ‬ ‬
  2. محتاج مبرمج مقابل برو بوت كريدتس او فودافون كاش
  3. [Tut] كيف تغير سكنات الشخصيات اولا: gta saابحث عن اى سكن للعبه لما تحمله لازم يكون عندك ملفين بالامتدادات التالية DFF TXD روح على ملف المود اللى عايز تحط فيه السكن اعمل ملف .lua وسمية اى حاجه مثال : skins.lua meta اضف السكريبت لملف بالطريقه دى <script src="اسم السكريبت.lua" type="client" /> كمان لازم تضيف الملفين اللى حملناهم <file src="اسم الملف.txd" /> <file src="اسم الملف.dff" /> احفط الملف بعدها روح افتح السكريبت ضيف فاكشن وسميه اى حاجه وهنضيف فيه اربع اوامر engineLoadTXD engineImportTXD engineLoadDFF engineReplaceMode اول أمر بيحمل ملف التيكستير الجديد (TXD) الثانى بيستبدله بواحد موجود فى اللعبه الثانى بيحمل ملف الموديل (DFF) والثالث بيستدبدله بموديل شخصيه قديم لو عايز تعرف عنهم اكتر engineLoadTXD engineImportTXD engineLoadDFF EngineReplaceModel تعمل ايفينت يشغل الفاكشن لما المود يشتغل addEventHandler ( "onClientResourceStart", getResourceRootElement(getThisResource()), الفاكشن) هيبقى المثال الكامل كدا function replaceModel() txd = engineLoadTXD("اسم الملف.txd", الاى دى) engineImportTXD(txd, الاى دى) dff = engineLoadDFF("اسم الملف.dff", الاى دى ) engineReplaceModel(dff, الاى دى) end addEventHandler ( "onClientResourceStart", getResourceRootElement(getThisResource()), replaceModel) ملاحظة : هتسبدل "اسم الملف" بأمداد الملف او اسمه لو كان فى نفس فولدر المود لكن لو فى فولدرمتفرع لازم تكتب الفولدر بعدين "/" بعدين اسم الملف زى ما فى الصوره ID كمان هستبدل "الاى دى" ب الشخصيه اللى عايز تحط عليها الاسكن عشان تعرف اى دى شخصيه معينه روح على قائمه الشخصيات من هنا https://wiki.multitheftauto.com/wiki/All_Skins_Page على سبيل المثال نقول نستبدلها بسكن سى جى رقم 0 هنحط فى مكان كلمه "الاى دى" صفر احفظ كل الملفات بعدين افتح اللعبه وجرب المود JESSE! JESSE LOOK JESSE, i'm in MTA بعدها حول شخصيتك لاى دى الشخصيه اللى استبدلتها اضغط اف 1 وبعدها skins بعدها حط الاى دى وهتلاقى الاسكن اشتغل لو عندك اى مشاكل اكتبها فى التعليقات وهرد عليك ان شاء الله لو مش رديت عليك كلمنى ديسكورد Ahmed khedr#7067
  4. احتاج مبرمج لصناعة مودات مختصة بالحياة الواقعية و اكيد سيكون هناك مقابل مادي و شكرا !
  5. تم انشاء موقع وسيطك موقع وسيطك هو موقع يضمن الحقوق بين العملاء والتجار في اي خدمة تريدها يقوم التاجر بادراج المنتج الخاص به في موقع وسيطك ومن ثم يقوم العميل بشراءه المبلغ سيذهب لحساب الموقع حتى يتم تاكيد استلام الطلب من قبل العميل والاشراف على عمليات البيع والشراء في الموقع من قبل الادارة من ثم سيذهب المبلغ بعد تاكيد استلام الطلب الى حساب التاجر في منصات متعددة منها باي بال - سكريل - بروبوت كريدتس - بطايق شحن سوا وغيرها .. صورة من الموقع رابط الموقع : https://urwasit.tk https://discord.gg/stYGcgU
  6. executeSQLQuery("CREATE TABLE IF NOT EXISTS `player_stats` (`username` TEXT, `Thirst` INT, `Hunger` INT)") addEventHandler("onPlayerQuit", function (Player) local atsh = getElementData(source, "Thirst") local hungry = getElementData(source, "Hunger") local username = getAccountName(getPlayerAccount(thePlayer)) local result = executeSQLQuery("SELECT * FROM player_stats WHERE `username` = ?", username) if (#result > 1) then executeSQLQuery("UPDATE `player_stats` SET `Hunger` = ?, `Thirst` = ? WHERE `username` = ?", hungry, atsh, username) else executeSQLQuery("INSERT INTO health (username, Thirst, Hunger) VALUES (?, ?, ?)", username, atsh, hungry) end end) addEventHandler("onPlayerLogin", root, function(_, account) local accountName = getAccountName(account) local result = executeSQLQuery("SELECT * FROM player_stats WHERE username = ?", accountName) if (#result > 1) then setElementData(source, "Thirst", result[1].Thirst) setElementData(source, "Hunger", result[1].Hunger) end end) هذا عشان مود الجوع والعطش بحيث ان لو اللاعب سجل خروج وجوعه 50 لما يرجع يصير جوعه 50 ما يصير 100 من فضلكم ساعدوني ليش هذا السكريبت ما يشتغل ؟
  7. سلام عليكم شباب اتمني تكونو بأحسن حال حاولت اسوي رتبة ادمن جديدة غير الرتب المعروفة في باك اب اول جيمنج حاولت اسوي رتبة Server founder وهذه اسماء الملفات اللي عدلت عليها integration --> functions_s if string.find(forumPerms, SERVERFOUNDER) then return exports.anticheat:changeProtectedElementDataEx(thePlayer, "admin_level", 8, true) end integration --> g_configs --MAXIME mysql = exports.mysql TESTER = 25 SCRIPTER = 32 LEADSCRIPTER = 79 COMMUNITYLEADER = 14 TRIALADMIN = 18 ADMIN = 17 SENIORADMIN = 64 SERVERFOUNDER = 88 -- رقم السماح بكتابة الاوامر في قاعدة البيانات LEADADMIN = 15 SUPPORTER = 30 VEHICLE_CONSULTATION_TEAM_LEADER = 39 VEHICLE_CONSULTATION_TEAM_MEMBER = 43 MAPPING_TEAM_LEADER = 44 MAPPING_TEAM_MEMBER = 28 STAFF_MEMBER = {32, 14, 18, 17, 64, 15, 30, 39, 43, 44, 28, 88} AUXILIARY_GROUPS = {32, 39, 43, 44, 28, 88} ADMIN_GROUPS = {14, 18, 17, 64, 15, 88} staffTitles = { [1] = { [0] = "Player", [1] = "Trial Administrator", [2] = "Administrator", [3] = "Senior Administrator", [4] = "Lead Administrator", [5] = "Server Managment", [6] = "-", [7] = "Vice Founder", [8] = "Server Founder", -- الفاوندر }, integration --> g_staff function isPlayerServerFounder(player) if not player or not isElement(player) or not getElementType(player) == "player" then return false end local adminLevel = getElementData(player, "admin_level") or 0 return (adminLevel >= 8) -- اللفل حق الادمن end admin-system --> Player --> s_player_commands حاولت اخلي الفاوندر بس هو اللي يسوي امر givemoney وهذا التغيير موجود في admin-system --> Player --> s_player_commands والامر اهو function giveMoney(thePlayer, commandName, target, money, ...) if exports["integration"]:isPlayerServerFounder(thePlayer) then if not (target) or not money or not (...) then outputChatBox("SYNTAX: /" .. commandName .. " [Partial Player Nick] [Money] [Reason]", thePlayer, 255, 194, 14) else local username = getPlayerName(thePlayer) local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target) if targetPlayer then money = tonumber(money) or 0 if money and money > 500000 then outputChatBox("For security reason, you're only allowed to give a player less than $500,000 at once.", thePlayer, 255, 0, 0) return false end if not exports.global:giveMoney(targetPlayer, money) then outputChatBox("Could not give player that amount.", thePlayer, 255, 0, 0) return false end هذه التغييرات فقط اللي سويتها وما سويت شئ غيرها وهذا الخطأ اللي يظهرلي في debugscript ساعدوني رجاءً ملاحظة : SERVERFOUNDER عشان الكود دا function getAdminGroups() -- this is used in c_adminstats to correspond levels to forum usergroups return { SUPPORTER, TRIALADMIN, ADMIN, SENIORADMIN, LEADADMIN, SERVERFOUNDER } end
  8. executeSQLQuery("CREATE TABLE IF NOT EXISTS `player_stats` (`username` TEXT, `Thirst` INT, `Hunger` INT)") addEventHandler("onPlayerQuit", function (Player) local atsh = getElementData(source, "Thirst") local hungry = getElementData(source, "Hunger") local username = getAccountName(getPlayerAccount(thePlayer)) local result = executeSQLQuery("SELECT * FROM player_stats WHERE `username` = ?", username) if (#result > 1) then executeSQLQuery("UPDATE `player_stats` SET `Hunger` = ?, `Thirst` = ? WHERE `username` = ?", hungry, atsh, username) else executeSQLQuery("INSERT INTO health (username, Thirst, Hunger) VALUES (?, ?, ?)", username, atsh, hungry) end end) addEventHandler("onPlayerLogin", root, function(_, account) local accountName = getAccountName(account) local result = executeSQLQuery("SELECT * FROM player_stats WHERE username = ?", accountName) if (#result > 1) then setElementData(source, "Thirst", result[1].Thirst) setElementData(source, "Hunger", result[1].Hunger) end end) it isn't working please help
  9. السلام عليكم ورحمة الله وبركاته النهارده هقدم لكم شرح من قبل صديقي EL-MoBHeR شرح break, return, tonumber, tostring شرح بالفيديو تفضلوا لينك: ادعموه شباب فيه شروحات ومودات منشوره بالقناه ادعموه ليستمر
  10. السلام عليكم ورحمة الله وبركاته النهارده يا شباب انا انتهيت من مود ملابس CJ عامل عليها شادر وضايف ملابس جديد بس المشكله انه لما المود يرستر او اللاعب يخرج ويدخل بترجع الملابس الاصليه ياريت لو حد يحل المشكله صوره من المود https://imgur.com/a/iBAzGog
  11. مرحبا شباب من بعد اذنكن محتاج كود ضيفو لزر انو اكبس الزر يطفي مود سيارة او مود قارب دراجة يعني بدي كود يطفي مودات ^^ اليجيبو كفو انا حابب ساووي ليست وساوي زر يطفي ويشغل مود سيارات او اشكال سيارات فهمتو عليي ازا عندكن مود مو مشفر هاتو بنتعلم منو
  12. السلام عليكم ابي مساعدة و اتمنى ما انرد خايب .. ادري في ناس طيبة كثير هنا و انا طمعان بكرمهم انا ابي احط حماية على منطقة من كل شيء بس ابي الاعب يمشي فيها و يستعمل السيارة و اذا الاعب حاول يطلع سلاح من السيارة ما يقدر .. مود تطلع السلاح من السيارة + ابي اذا لاعب دخل الحماية معاه سيارة من ذا الاي دي ينتقل لخارج المنطقة برا الحماية السيارات الي ما ابيها تدخل ID = 425 ID = 520 ID = 432 ذا الكود حق الحماية addEventHandler ("onColShapeHit", getRootElement(), function(hitElement, matchingDimension) if (getElementType (hitElement) == "player") and (getElementID (source) == "greenzoneColshape") then outputChatBox ("You entered the greenzone", hitElement, 255, 0, 0, false) toggleControl (hitElement, "fire", false) toggleControl (hitElement, "next_weapon", false) toggleControl (hitElement, "previous_weapon", false) toggleControl (hitElement, "sprint", false) toggleControl (hitElement, "aim_weapon", false) toggleControl (hitElement, "vehicle_fire", false) showPlayerHudComponent (hitElement, "ammo", false) showPlayerHudComponent (hitElement, "weapon", false) triggerClientEvent (hitElement, "enableGodMode", hitElement) end if (source == moneyZoneCol) and (getElementType (hitElement) == "vehicle") then setElementVelocity (hitElement, 0, 0, 0) setElementPosition (hitElement, 2018.33, 1534.77, 12.37) setVehicleRotation (hitElement, 0,0,270) if (getVehicleOccupant (hitElement, 0)) then outputChatBox ("You can't enter the moneyzone with your car!", getVehicleOccupant (hitElement, 0), 255, 0, 0, false) end end end) addEventHandler ("onColShapeLeave", getRootElement(), function(leaveElement, matchingDimension) if (getElementType (leaveElement) == "player") and (getElementID (source) == "greenzoneColshape") then outputChatBox ("You left the greenzone", leaveElement, 255, 0, 0, false) toggleControl (leaveElement, "fire", true) toggleControl (leaveElement, "next_weapon", true) toggleControl (leaveElement, "previous_weapon", true) toggleControl (leaveElement, "sprint", true) toggleControl (leaveElement, "aim_weapon", true) toggleControl (leaveElement, "vehicle_fire", true) showPlayerHudComponent (leaveElement, "ammo", true) showPlayerHudComponent (leaveElement, "weapon", true) triggerClientEvent (leaveElement, "disableGodMode", leaveElement) end end)
  13. السلام عليكم عندي كود اذا الاعب سجل دخوله يخذ فلوس انا ابي اعدل عليها اخليه اذا سجل بالسيرفر جديد يخذ فلوس و اسحلة ذا هو الكود function consoleMoneyOnJoin ( ) givePlayerMoney ( source, 20000 ) end addEventHandler ( "onPlayerJoin", getRootElement(), consoleMoneyOnJoin ) ...
  14. × السلام عليكم و رحمة الله × بدون مقدمات .. في عندي مود جروبات اف6 لحرب العصابات بس لما اضغط على انشاء جروب ما يقبل ولا يعمل أي شيء رتسترت المود اكثر من مرة وما قبل الرجاء المساعدة
  15. السلام عليكم كيف حالكم عساكم طيبين عندنا سيرفر نبي نحط فيه ديزي ورولي بلاي وهجولة كيف نحطها اول مايدخل الواحد يختار اي سيرفر يبيه يدخله؟ ومشكورين
  16. مطلوب مبرمج يتأقن ثري دي ب اشكاله ، death match And Game mode DM Thank you بسعر معقول
  17. السلام عليكم شباب انا عندي vps Debian GNU/Linux 8 مطلوب برمجة لوحة Open Game Panel ومقابل vps Windows او Linux البرمجة راح تتم عن طريق TeamViewer للتواصل مع اصاحب الاستضافة عن طريق Skaype https://join.skype.com/l6WJnoXTBrsi
  18. كيف استعمل هذا الفنكشن createBlipAttachedTo + ممكن مثال لو سمحتو
  19. السلام عليكم ورحمة الله تعالى وبركاته كيف الحال ؟ إن شاء الله الكل بأحسن احوالهم, حبيت أنشر فيديو صغير من قناتي, فيديو مونتاج - كواليس البرمجة وأيضا ترقبوآ سكربت iMail - System مود البريد الإلكتروني بشكل مصغر داخل mta الفيديو : ايضا لا تنسى ان تنضم إلى اكبر مجتمع يخص MTA في الوطن العربي على فيس بوك Multi Theft Auto Arab في أمان الله تعالى, اخوكم ... مستر جراند
  20. السلام عليكم ورحمة الله وبركاته ذا اول مووضوع لي كنت طالب كود احطه بلوحة الكود عبارة عن ان اللوحة ما تفتح غير لازم تحط اسم حساب الاعب في المود ما ابي اللوحة تفتح بسيريال او رتبة ابيها لازم احط حسابي في المود فا ممكن ذا الكود ؟ وشكرا لكم ما تقصروا <3
  21. السلام عليكم ورحمة الله وبركاته انا سويت لوحة تاجات وابي احط خاصية لو كتبت تاج باف 8 يقفل التاج الخاص ويجي تاج الرتبة ولو كتبتها تاني يفتح التاج الخاص ويقفل تاج الرتبة مستر جراند مسويها وهذا كوده بس ما اعرف وين احط الكود احد يساعدني --------------------------------- addCommandHandler( 'myTag', function( myself ) local ifData = dbQuery( tagsDBconnect, ' SELECT * FROM `TagsMan` WHERE serial = ? ', getPlayerSerial( myself ) ) local dbData = dbPoll( ifData, -1 ) if ( type ( dbData ) == 'table' and #dbData == 0 or not dbData ) then return end local TagString = dbData[1]['tag'] local TagState = dbData[1]['state'] if ( TagState == 'Enabled' ) then local state = 'Disabled' outputChatBox( 'Tags system : #FFFFFF Your tag has been : #FF0000' .. state, myself, 0, 255, 0, true ) dbExec( tagsDBconnect, ' UPDATE `TagsMan` SET serial = ?, name = ?, tag = ?, state = ? WHERE serial = ? ', getPlayerSerial( myself ), getPlayerName( myself ), TagString, state, getPlayerSerial( myself ) ) takeTagsFromDB() else local state = 'Enabled' outputChatBox( 'Tags system : #FFFFFF Your tag has been : #1EFF00' .. state, myself, 0, 255, 0, true ) dbExec( tagsDBconnect, ' UPDATE `TagsMan` SET serial = ?, name = ?, tag = ?, state = ? WHERE serial = ? ', getPlayerSerial( myself ), getPlayerName( myself ), TagString, state, getPlayerSerial( myself ) ) takeTagsFromDB() end end ) -----------------------------------
×
×
  • Create New...