Jupi Posted March 5, 2016 Share Posted March 5, 2016 عايز شرح لـhttps://wiki.multitheftauto.com/wiki/GenerateString لو سمحتم generatestring ذا فنكشن مفيد string generateString ( int length ) الساينتكس يرجع لك سترنق يعني يجيب لك سترنق من العدم خرابيط سترنقية ض1 مثل كذا "E4FES453D43AS4F" وانت تختار من كام حرف تبيه من اول ارقمنت مثلاً انا ابي سترنق من حروف واطلعه بلشات addCommandHandler("هات نص", function (Player) local MyString = generateString(10) outputChatBox(MyString, Player, 0, 255, 0) end ) هذا بيسوي نص من 10 حروف و يطلعه ان شاء الله فهمت Link to comment
Me[Z]oO Posted March 5, 2016 Share Posted March 5, 2016 صراحة افدتني يا ضابل اقصد دابل استمر Link to comment
Jupi Posted March 5, 2016 Share Posted March 5, 2016 صراحة افدتني يا ضابل اقصد دابل استمر أصلا الشرح مو لك للكل الا انت Link to comment
Me[Z]oO Posted March 5, 2016 Share Posted March 5, 2016 صراحة افدتني يا ضابل اقصد دابل استمر أصلا الشرح مو لك للكل الا انت Link to comment
MuhannaDx Posted March 6, 2016 Share Posted March 6, 2016 ابي شرح ل table.sort شفت كل الشروحات الي بصفحات الي قبل لاكن م فهمت لها اتمنى واحد يشرحها لي عشان افهمها صحح Link to comment
#Soking Posted March 10, 2016 Share Posted March 10, 2016 table.sort باختصار هي تقوم بترتيب الجدول مثال : table = { } table.sort(table, function(v1,v2) return(tonumber(v1[2]) or 0) > (tonumber(v2[2]) or 0) end) هيك قام بترتيب الجدول من الاصغر للاكبر و تقدر تستخدمها في اشياء كثيره و تستخدم اكثر شي في التوبات اتمني اكون افدك Link to comment
Mr.Wolf Posted March 11, 2016 Share Posted March 11, 2016 طيب انت ضفت شيء للجدول عشان ترتبه ؟؟ ^ Link to comment
Jupi Posted March 11, 2016 Share Posted March 11, 2016 طيب انت ضفت شيء للجدول عشان ترتبه ؟؟ ^ بيرتب الهوا Link to comment
MuhannaDx Posted March 11, 2016 Share Posted March 11, 2016 طيب انا الشوف الكل يستعمل طريقة الترتيب بذي الطريقة table.sort(table, function(v1,v2) return(tonumber(v1[2]) or 0) > (tonumber(v2[2]) or 0) ابي طريقة ثانية وحتى لو طويلة اهم شيء افهم منها . Link to comment
Jupi Posted March 11, 2016 Share Posted March 11, 2016 طيب انا الشوف الكل يستعمل طريقة الترتيب بذي الطريقة table.sort(table, function(v1,v2) return(tonumber(v1[2]) or 0) > (tonumber(v2[2]) or 0) ابي طريقة ثانية وحتى لو طويلة اهم شيء افهم منها . ترتيب جداول ما عندك الا table.sort Link to comment
#Soking Posted March 11, 2016 Share Posted March 11, 2016 ه ه ه ه ه ه ه سامج يا ضابل انا معطيه الفنكشن لو حب يسوي التوب ويستخدمه هو يحط بالداتا و االاعب بالاسم و يرتب الجدول وخلاص يا سامج Link to comment
Ahmed Ly Posted March 18, 2016 Share Posted March 18, 2016 assert ------------------ math.max --------------- tostring ؟؟؟ Link to comment
Jupi Posted March 18, 2016 Share Posted March 18, 2016 assert ------------------ math.max --------------- tostring ؟؟؟ assert هذي تتحقق من شيء و لو ما تحقق تقطع الفنكشن وتطلع خطأ بلدي بق من كتابتك, مثال : function DoThings(Tab) assert(type(Tab) == "table", "the var isn't a table !") for k, v in ipairs(Tab) do print(k, v) end end tostring تحول لك لسترنق مثال tostring(7) بيطلع لك "7" math.max هذا يجيب لك العدد الاكبر من مجموعة اعدادا انت حاطتها مثال : print(math.max(40, 70, 90, 500, 44400, 9000000, 700)) بيرجع لك 9000000 لانه الاكبر فيهم وفيه عكس ل math.max اللي هو math.min نفس كتابة math.max ان شاء الله فهمت Link to comment
Ahmed Ly Posted March 18, 2016 Share Posted March 18, 2016 assert ------------------ math.max --------------- tostring ؟؟؟ assert هذي تتحقق من شيء و لو ما تحقق تقطع الفنكشن وتطلع خطأ بلدي بق من كتابتك, مثال : function DoThings(Tab) assert(type(Tab) == "table", "the var isn't a table !") for k, v in ipairs(Tab) do print(k, v) end end tostring تحول لك لسترنق مثال tostring(7) بيطلع لك "7" math.max هذا يجيب لك العدد الاكبر من مجموعة اعدادا انت حاطتها مثال : print(math.max(40, 70, 90, 500, 44400, 9000000, 700)) بيرجع لك 9000000 لانه الاكبر فيهم وفيه عكس ل math.max اللي هو math.min نفس كتابة math.max ان شاء الله فهمت شكرا لك Link to comment
Ja[B]er[X]Pro Posted March 23, 2016 Share Posted March 23, 2016 ممكن شرح استخدام ال sql مع مثال؟ Link to comment
Me[Z]oO Posted March 23, 2016 Share Posted March 23, 2016 ممكن شرح استخدام ال sql مع مثال؟ https://forum.multitheftauto.com/viewtopic.php?f=164&t=56729 رح تفهم مع تكرار الشرح Link to comment
Ja[B]er[X]Pro Posted March 23, 2016 Share Posted March 23, 2016 ممكن شرح استخدام ال sql مع مثال؟ https://forum.multitheftauto.com/viewtopic.php?f=164&t=56729 رح تفهم مع تكرار الشرح شكراً لك لكن ما فهمت كل شيئ ممكن مثال حفظ فلوس الاعب؟؟ Link to comment
Me[Z]oO Posted March 23, 2016 Share Posted March 23, 2016 ممكن شرح استخدام ال sql مع مثال؟ https://forum.multitheftauto.com/viewtopic.php?f=164&t=56729 رح تفهم مع تكرار الشرح شكراً لك لكن ما فهمت كل شيئ ممكن مثال حفظ فلوس الاعب؟؟ لو انت مستخدم جيم مود جراند العرب استخدم set/getAccountData لحفظ داتا Money Link to comment
Ja[B]er[X]Pro Posted March 23, 2016 Share Posted March 23, 2016 لو انت مستخدم جيم مود جراند العرب استخدم set/getAccountData لحفظ داتا Money ما استخدم قيم مود جراند العرب وابي مثال باستخدام ال sql Link to comment
HassoN Posted March 23, 2016 Share Posted March 23, 2016 لو انت مستخدم جيم مود جراند العرب استخدم set/getAccountData لحفظ داتا Money ما استخدم قيم مود جراند العرب وابي مثال باستخدام ال sql طبعا اول شي لآزم تتصل بالداتا بيس او تسويها dataBase = dbConnect( "sqlite", "money.db" ) -- الكود ذا بيتأكد اذا فيه داتا بيس اسمها موني ، اذا فيه بيتصل فيها واذا مافيه بيسويها ثم يتصل فيها جدول (table) انت كذا سويت داتا بيس فاضية ، الحين لازم تضيف لها dbExec ( dataBase, "CREATE TABLE IF NOT EXISTS players_money (account TEXT, money INTEGER)" ) --الكود ذا بيسوي تايبل اسمها بلايرز موني ويحط فيها ثنين كولمن او عمود واحد اسمه اكاونت والثاني موني بالطريقة ذي انت حطيت التيبل بالداتا بيس ، وقاعدة البينات حقك الحين جاهزة للأستعمال _____________________________________________________ الحين بكل سهولة ، يوم يجي الاعب يطلع من السيرفر تسوي حدث خروج الاعب وتجيب حساب الاعب + فلوسه الحالية ثم تتاكد اذا كانت موجودة المعلومات ذي من الاصل فـ اذا موجودة يسوي تحديث واذا مو موجودة يسوي اضافة جديدة للسطر local money = getPlayerMoney(player) -- تجيب فلوس الاعب local account = getAccountName(getPlayerAccount(player)) -- تجيب حساب الاعب local qh = dbQuery( dataBase, "SELECT * FROM players_money WHERE account=?", account) -- تجيب القيم الي موجودة بسطر اكاونت local result = dbPoll( qh, -1 ) -- تحول القيم ذي الى معلومات او نتيجة if result and type(result) == "table" and #result >= 1 then return dbExec( dataBase, "UPDATE players_money SET money=? WHERE account=?", money, account) end -- هنا تحققنا انه اذا كانت موجودة القيم ونوعها جدول والقيم ذي اكثر من 1 فـ يعني انه الحساب ذا موجود اصلا بالداتا بيس فـ بنسوي تحديث للقديم ونضيف الفلوس للحساب الموجود dbExec( dataBase, "INSERT INTO players_money (account,money) VALUES(?,?)", account,money) -- هنا اذا ماكان حساب الاعب موجود من الاصل بالداتا بيس فـ بيسوي سطر جديد له ويضيف فلوسه الحين صار معك بالداتا بيس حساب الاعب وجنبه فلوسه ، الحين يوم يدخل الاعب بتسوي حدث تسجيل دخول الاعب وتطلع المعلومات الي بالداتا بيس ثم تعطي للاعب فلوسه local account = getAccountName( getPlayerAccount(player) ) -- اسم حساب الاعب local qh = dbQuery( dataBase, "SELECT * FROM players_money WHERE account=?", account) -- استخراج القيمة من الداتا بيس local result = dbPoll( qh, -1 ) -- نحول القيمة الي جاتنا لـ معلومات او نتيجة if result then -- نتحقق ان النتيجة موجودة for _, row in ipairs ( result ) do -- نسوي لوب لمحتويات المعلومات عشان نعطي الاعب فلوسه setPlayerMoney(player,row["money"]) -- نعطي الاعب فلوسه أتمنى افدتك ~ Link to comment
Ja[B]er[X]Pro Posted March 23, 2016 Share Posted March 23, 2016 لو انت مستخدم جيم مود جراند العرب استخدم set/getAccountData لحفظ داتا Money ما استخدم قيم مود جراند العرب وابي مثال باستخدام ال sql طبعا اول شي لآزم تتصل بالداتا بيس او تسويها dataBase = dbConnect( "sqlite", "money.db" ) -- الكود ذا بيتأكد اذا فيه داتا بيس اسمها موني ، اذا فيه بيتصل فيها واذا مافيه بيسويها ثم يتصل فيها جدول (table) انت كذا سويت داتا بيس فاضية ، الحين لازم تضيف لها dbExec ( dataBase, "CREATE TABLE IF NOT EXISTS players_money (account TEXT, money INTEGER)" ) --الكود ذا بيسوي تايبل اسمها بلايرز موني ويحط فيها ثنين كولمن او عمود واحد اسمه اكاونت والثاني موني بالطريقة ذي انت حطيت التيبل بالداتا بيس ، وقاعدة البينات حقك الحين جاهزة للأستعمال _____________________________________________________ الحين بكل سهولة ، يوم يجي الاعب يطلع من السيرفر تسوي حدث خروج الاعب وتجيب حساب الاعب + فلوسه الحالية ثم تتاكد اذا كانت موجودة المعلومات ذي من الاصل فـ اذا موجودة يسوي تحديث واذا مو موجودة يسوي اضافة جديدة للسطر local money = getPlayerMoney(player) -- تجيب فلوس الاعب local account = getAccountName(getPlayerAccount(player)) -- تجيب حساب الاعب local qh = dbQuery( dataBase, "SELECT * FROM players_money WHERE account=?", account) -- تجيب القيم الي موجودة بسطر اكاونت local result = dbPoll( qh, -1 ) -- تحول القيم ذي الى معلومات او نتيجة if result and type(result) == "table" and #result >= 1 then return dbExec( dataBase, "UPDATE players_money SET money=? WHERE account=?", money, account) end -- هنا تحققنا انه اذا كانت موجودة القيم ونوعها جدول والقيم ذي اكثر من 1 فـ يعني انه الحساب ذا موجود اصلا بالداتا بيس فـ بنسوي تحديث للقديم ونضيف الفلوس للحساب الموجود dbExec( dataBase, "INSERT INTO players_money (account,money) VALUES(?,?)", account,money) -- هنا اذا ماكان حساب الاعب موجود من الاصل بالداتا بيس فـ بيسوي سطر جديد له ويضيف فلوسه الحين صار معك بالداتا بيس حساب الاعب وجنبه فلوسه ، الحين يوم يدخل الاعب بتسوي حدث تسجيل دخول الاعب وتطلع المعلومات الي بالداتا بيس ثم تعطي للاعب فلوسه local account = getAccountName( getPlayerAccount(player) ) -- اسم حساب الاعب local qh = dbQuery( dataBase, "SELECT * FROM players_money WHERE account=?", account) -- استخراج القيمة من الداتا بيس local result = dbPoll( qh, -1 ) -- نحول القيمة الي جاتنا لـ معلومات او نتيجة if result then -- نتحقق ان النتيجة موجودة for _, row in ipairs ( result ) do -- نسوي لوب لمحتويات المعلومات عشان نعطي الاعب فلوسه setPlayerMoney(player,row["money"]) -- نعطي الاعب فلوسه أتمنى افدتك ~ تسلم على الشرح الرائع والله افدتني مشكوووووور Link to comment
#J2mes Posted April 1, 2016 Share Posted April 1, 2016 https://wiki.multitheftauto.com/wiki/SetElementCallPropagationEnabled Link to comment
YourMind Posted April 19, 2016 Share Posted April 19, 2016 https://wiki.multitheftauto.com/wiki/SetWindowFlashing Link to comment
nxFairlywell Posted April 29, 2016 Share Posted April 29, 2016 @HasoN ممكن سؤال , ليه حطيت سالب 1 في هذي الوظيفة dbPoll( qh, -1 ) بفهم معنى الارقمنت الثاني Link to comment
Recommended Posts