Mr.Mostafa Posted September 24, 2018 Share Posted September 24, 2018 سلام عليكم وش كل الاكواد الي بستخدمها عشان اسوي Top 3 level في لوحة دي اكس بسويها عن طريق داتا الفل الي هي : dataLevel ابي اجيب اعلي ثلاث لاعبين بالترتيب وكدا Link to comment
KillerX Posted September 24, 2018 Share Posted September 24, 2018 https://forum.multitheftauto.com/topic/111675-top-5-data/ Link to comment
Mr.Mostafa Posted September 24, 2018 Author Share Posted September 24, 2018 4 minutes ago, KillerX said: https://forum.multitheftauto.com/topic/111675-top-5-data/ انا ابي اجيبهم بدي اكس Link to comment
iMr.WiFi..! Posted September 24, 2018 Share Posted September 24, 2018 أستعمل الوظيفة هذي : --- By iMr.Wifi..! function getElementsFromData( DataName, ElementType, Value ) Elements = { } assert( type( DataName ) == 'string', " Bad Argument @1 ' Not String ' ") assert( ElementType == 'player' or ElementType == 'ped' or ElementType == 'marker' or ElementType == 'vehicle' , " Bad Argument @2 ' Not Element ' ") local ElementType = ElementType or { 'player', 'ped', 'marker', 'vehicle' } local Value = Value or nil if type ( ElementType ) ~= "table" then for i,v in ipairs ( getElementsByType ( ElementType ) ) do if Value == nil then if getElementData ( v, DataName ) ~= nil then table["insert"]( Elements, v ) end else if getElementData ( v, DataName ) == Value then table["insert"]( Elements, v ) end end end else for k,z in ipairs ( ElementType ) do for i,v in ipairs ( getElementsByType ( z ) ) do if Value == nil then if getElementData ( v, DataName ) ~= nil then table["insert"]( Elements, v ) end else if getElementData ( v, DataName ) == Value then table["insert"]( Elements, v ) end end end end end return Elements; end واستخدم السورت وسوي لوب Link to comment
Master_MTA Posted September 28, 2018 Share Posted September 28, 2018 On 24/09/2018 at 16:04, iMr.WiFi..! said: Elements غيره الى local عشان ما تصير مشاكل بالمود اشوفك تعبان على الكود حرام يظيع شغلك عشان غلط تافه تلاقيك ما انتبهت 1 Link to comment
iMr.WiFi..! Posted September 28, 2018 Share Posted September 28, 2018 2 minutes ago, Master_MTA said: غيره الى local عشان ما تصير مشاكل بالمود اشوفك تعبان على الكود حرام يظيع شغلك عشان غلط تافه تلاقيك ما انتبهت مشكور يالغالي وقد نشرته مسبقاً في موضوع الاكواد المفيدة :- عالعموم الكود الجديد :- function getElementsFromData( DataName, ElementType, Value ) local Elements = { } assert( type( DataName ) == 'string', " Bad Argument @1 ' Not String ' ") assert( ElementType == 'player' or ElementType == 'ped' or ElementType == 'marker' or ElementType == 'vehicle' , " Bad Argument @2 ' Not Element ' ") local ElementType = ElementType or { 'player', 'ped', 'marker', 'vehicle' } local Value = Value or nil if type ( ElementType ) ~= "table" then for i,v in ipairs ( getElementsByType ( ElementType ) ) do if Value == nil then if getElementData ( v, DataName ) ~= nil then table["insert"]( Elements, v ) end else if getElementData ( v, DataName ) == Value then table["insert"]( Elements, v ) end end end else for k,z in ipairs ( ElementType ) do for i,v in ipairs ( getElementsByType ( z ) ) do if Value == nil then if getElementData ( v, DataName ) ~= nil then table["insert"]( Elements, v ) end else if getElementData ( v, DataName ) == Value then table["insert"]( Elements, v ) end end end end end return Elements; end 1 Link to comment
Mr.Mostafa Posted September 28, 2018 Author Share Posted September 28, 2018 ابي اجيب افضل 3 لاعبين بالمهمة علي حسب النقاط يتربتو بالترتيب علي حسب النقاط يعني وسويت هذة الطريقة وشغالة عادي , لكن ابي طريقة اسهل من هادي عشان لو ابي مثلا اسويها توب 10 ما احتاج اسوي elseif عشر مرآت local data1 = getElementData(resourceRoot,"topP1") or "N/A" local data2 = getElementData(resourceRoot,"topP2") or "N/A" local data3 = getElementData(resourceRoot,"topP3") or "N/A" local points1 = getElementData(resourceRoot,"topPo1") or "N/A" local points2 = getElementData(resourceRoot,"topPo2") or "N/A" local points3 = getElementData(resourceRoot,"topPo3") or "N/A" addEventHandler("onClientRender", root, function() dxDrawLine(10 - 1, 255 - 1, 10 - 1, 442, tocolor(0, 0, 0, 255), 1, false) dxDrawLine(258, 255 - 1, 10 - 1, 255 - 1, tocolor(0, 0, 0, 255), 1, false) dxDrawLine(10 - 1, 442, 258, 442, tocolor(0, 0, 0, 255), 1, false) dxDrawLine(258, 442, 258, 255 - 1, tocolor(0, 0, 0, 255), 1, false) dxDrawRectangle(10, 255, 248, 187, tocolor(130, 124, 124, 150), false) dxDrawText("Top 3 Wins On Mission", 69 + 1, 265 + 1, 200 + 1, 282 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Top 3 Wins On Mission", 69, 265, 200, 282, tocolor(0, 254, 245, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ", 10 + 1, 282 + 1, 258 + 1, 300 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ", 10, 282, 258, 300, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Players", 55 + 1, 300 + 1, 99 + 1, 318 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Players", 55, 300, 99, 318, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Points", 173 + 1, 300 + 1, 216 + 1, 318 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Points", 173, 300, 216, 318, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ", 10 + 1, 318 + 1, 258 + 1, 337 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ", 10, 318, 258, 337, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawRectangle(125, 293, 2, 150, tocolor(0, 0, 0, 255), false) dxDrawText("1 -", 14 + 1, 338 + 1, 31 + 1, 358 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("1 -", 14, 338, 31, 358, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("2 -", 14 + 1, 374 + 1, 31 + 1, 394 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("2 -", 14, 374, 31, 394, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("3 -", 14 + 1, 412 + 1, 31 + 1, 432 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("3 -", 14, 412, 31, 432, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText(""..data1.."", 33 + 1, 339 + 1, 123 + 1, 358 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText(""..data1.."", 33, 339, 123, 358, tocolor(68, 254, 11, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText(""..data2.."", 33 + 1, 374 + 1, 123 + 1, 393 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText(""..data2.."", 33, 374, 123, 393, tocolor(255, 255, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText(""..data3.."", 33 + 1, 413 + 1, 123 + 1, 432 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText(""..data3.."", 33, 413, 123, 432, tocolor(255, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText(""..points1.."", 151 + 1, 339 + 1, 241 + 1, 358 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "center", "top", false, false, false, false, false) dxDrawText(""..points1.."", 151, 339, 241, 358, tocolor(68, 254, 11, 255), 1.00, "default-bold", "center", "top", false, false, false, false, false) dxDrawText(""..points2.."", 151 + 1, 374 + 1, 241 + 1, 393 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "center", "top", false, false, false, false, false) dxDrawText(""..points2.."", 151, 374, 241, 393, tocolor(240, 255, 11, 255), 1.00, "default-bold", "center", "top", false, false, false, false, false) dxDrawText(""..points3.."", 151 + 1, 413 + 1, 241 + 1, 432 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "center", "top", false, false, false, false, false) dxDrawText(""..points3.."", 151, 413, 241, 432, tocolor(255, 0, 0, 255), 1.00, "default-bold", "center", "top", false, false, false, false, false) end ) -- by rock addEventHandler ( "onResourceStart" , resourceRoot , function ( ) local players, topPlayers = getElementsByType'player', {}; for index = 1, #players do local data = getAccountData ( getPlayerAccount ( players[index] ) , "missionPoints" ) or 0 if data then topPlayers[#topPlayers+1] = {player = players[index], playerData = data}; end end table.sort(topPlayers, function(first, second) return first.playerData > second.playerData end) for index = 1, #topPlayers do if index == 1 then name = string.gsub(getPlayerName(topPlayers[index].player), "#%x%x%x%x%x%x", "") setElementData(resourceRoot,"topP1",name) setElementData(resourceRoot,"topPo1",getAccountData ( getPlayerAccount ( topPlayers[index].player ) , "missionPoints" )) elseif index == 2 then name = string.gsub(getPlayerName(topPlayers[index].player), "#%x%x%x%x%x%x", "") setElementData(resourceRoot,"topP2",name) setElementData(resourceRoot,"topPo2",getAccountData ( getPlayerAccount ( topPlayers[index].player ) , "missionPoints" )) elseif index == 3 then name = string.gsub(getPlayerName(topPlayers[index].player), "#%x%x%x%x%x%x", "") setElementData(resourceRoot,"topP3",name) setElementData(resourceRoot,"topPo3",getAccountData ( getPlayerAccount ( topPlayers[index].player ) , "missionPoints" )) break end end end ) Link to comment
iMr.WiFi..! Posted September 28, 2018 Share Posted September 28, 2018 طريقتك ما تعتبر الأفضل والسبب يعود لاستخدامك للداتا, الأفضل لو تخليها جدول وتحط الاسم والنقاط..عالعموم هذه طريقة اسهل في استخدام اللوب :- for index = 1, #topPlayers do name = string.gsub(getPlayerName(topPlayers[index].player), "#%x%x%x%x%x%x", "") setElementData(resourceRoot,"topP".. index,name) setElementData(resourceRoot,"topPo".. index,getAccountData ( getPlayerAccount ( topPlayers[index].player ) , "missionPoints" )) if index >= 3 then break end end Link to comment
Mr.Mostafa Posted September 28, 2018 Author Share Posted September 28, 2018 2 hours ago, iMr.WiFi..! said: طريقتك ما تعتبر الأفضل والسبب يعود لاستخدامك للداتا, الأفضل لو تخليها جدول وتحط الاسم والنقاط..عالعموم هذه طريقة اسهل في استخدام اللوب :- for index = 1, #topPlayers do name = string.gsub(getPlayerName(topPlayers[index].player), "#%x%x%x%x%x%x", "") setElementData(resourceRoot,"topP".. index,name) setElementData(resourceRoot,"topPo".. index,getAccountData ( getPlayerAccount ( topPlayers[index].player ) , "missionPoints" )) if index >= 3 then break end end طيب هادي بس بتحطهم في داتا واحدة كيف بحط جمب الواحد مثلا الاسم جمب الاتنين الاسم وكذا ؟ Link to comment
iMr.WiFi..! Posted September 28, 2018 Share Posted September 28, 2018 9 minutes ago, Mr.Mostafa said: طيب هادي بس بتحطهم في داتا واحدة كيف بحط جمب الواحد مثلا الاسم جمب الاتنين الاسم وكذا ؟ سوي داتا اساسية مثلاًTopPlayers وحط على الداتا جدول فيه ترتيب لافضل اللاعبين وسوي اللوب في الدي اكس لأفضل 3 او 5 لاعبين Link to comment
Mr.Mostafa Posted September 28, 2018 Author Share Posted September 28, 2018 (edited) 23 minutes ago, iMr.WiFi..! said: سوي داتا اساسية مثلاًTopPlayers وحط على الداتا جدول فيه ترتيب لافضل اللاعبين وسوي اللوب في الدي اكس لأفضل 3 او 5 لاعبين ما فهمت ممكن مثال ان احط جدول في داتا ؟ Edited September 28, 2018 by Mr.Mostafa Link to comment
Mr.Mostafa Posted September 28, 2018 Author Share Posted September 28, 2018 (edited) مافي طريقة اقدر احطهم كلهم في داتا واحدة بين كل شخص والتاني علامة , واسوي split ? اول لو في طريقة اسهل Edited September 28, 2018 by Mr.Mostafa Link to comment
#[K]iLLeR<3 Posted September 28, 2018 Share Posted September 28, 2018 انا اشوف انك تحط الداتا و تحط عدد كذا مثلاً لو لفل الاعب اكبر او يساوي 50 ينحط 1 ولو اكبر او يساوي 30 يصير 2 و كذا اسهل بمعنى اخر Link to comment
Mr.Mostafa Posted September 28, 2018 Author Share Posted September 28, 2018 (edited) 4 minutes ago, #[K]iLLeR<3 said: انا اشوف انك تحط الداتا و تحط عدد كذا مثلاً لو لفل الاعب اكبر او يساوي 50 ينحط 1 ولو اكبر او يساوي 30 يصير 2 و كذا اسهل بمعنى اخر لآ فكرتك مب حلوة يعني لو وآحد لفله 5000 ؟؟ ووآحد تآني لفله 5001 ؟ Edited September 28, 2018 by Mr.Mostafa Link to comment
#[K]iLLeR<3 Posted September 28, 2018 Share Posted September 28, 2018 ما قد جربت اني اعملها ولا قد جربت اني افكر فيها حتى لكن ذا اقتراح طوره و بيسهل عليك ولو مو عاجبك ارميه بالبحر عادي Link to comment
Mr.Mostafa Posted September 28, 2018 Author Share Posted September 28, 2018 2 minutes ago, #[K]iLLeR<3 said: ما قد جربت اني اعملها ولا قد جربت اني افكر فيها حتى لكن ذا اقتراح طوره و بيسهل عليك ولو مو عاجبك ارميه بالبحر عادي آقترآح حلو بس مآ بيظبط , بس زي مآ قولتلك , آكيد في طريقة آفضل Link to comment
فاّرس Posted September 28, 2018 Share Posted September 28, 2018 table.sort الفكره بسيطه لو تخلي شغلك بالجداول, وثم تحفظهم في الداتا ويوم تستدعيهم سوي للجدول ترتيب بإستخدام Link to comment
iMr.WiFi..! Posted September 28, 2018 Share Posted September 28, 2018 2 hours ago, Mr.Mostafa said: ما فهمت ممكن مثال ان احط جدول في داتا ؟ setElementData( resourceRoot, "TopPlayers", topPlayers ) -- هذا الجدول حقك -- ^ حط التيبل الي مستخدم فيه السورت -- في الكلنت سايد addEventHandler("onClientRender", root, function() local topPlayers = getElementData( resourceRoot, "TopPlayers" ) dxDrawLine(10 - 1, 255 - 1, 10 - 1, 442, tocolor(0, 0, 0, 255), 1, false) dxDrawLine(258, 255 - 1, 10 - 1, 255 - 1, tocolor(0, 0, 0, 255), 1, false) dxDrawLine(10 - 1, 442, 258, 442, tocolor(0, 0, 0, 255), 1, false) dxDrawLine(258, 442, 258, 255 - 1, tocolor(0, 0, 0, 255), 1, false) dxDrawRectangle(10, 255, 248, 187, tocolor(130, 124, 124, 150), false) dxDrawText("Top 3 Wins On Mission", 69 + 1, 265 + 1, 200 + 1, 282 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Top 3 Wins On Mission", 69, 265, 200, 282, tocolor(0, 254, 245, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ", 10 + 1, 282 + 1, 258 + 1, 300 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ", 10, 282, 258, 300, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Players", 55 + 1, 300 + 1, 99 + 1, 318 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Players", 55, 300, 99, 318, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Points", 173 + 1, 300 + 1, 216 + 1, 318 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Points", 173, 300, 216, 318, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ", 10 + 1, 318 + 1, 258 + 1, 337 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ", 10, 318, 258, 337, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawRectangle(125, 293, 2, 150, tocolor(0, 0, 0, 255), false) for index, value in pairs( topPlayers ) do dxDrawText(index .. " -", 14 + 1, 338 + ( 36 * ( index - 1 ) ) + 1, 31 + 1, 358 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText(index .. " -", 14, 338 + ( 36 * ( index - 1 ) ), 31, 358, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText(""..value.player and getPlayerName(value.player) or "N/A".."", 33 + 1, 338 + ( 36 * ( index - 1 ) ) + 1, 123 + 1, 358 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText(""..value.player and getPlayerName(value.player) or "N/A".."", 33, 338 + ( 36 * ( index - 1 ) ), 123, 358, tocolor(68, 254, 11, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText(""..value.data or "N/A".."", 151 + 1, 339 + ( 36 * ( index - 1 ) ) + 1, 241 + 1, 358 + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "center", "top", false, false, false, false, false) dxDrawText(""..value.data or "N/A".."", 151, 339 + ( 36 * ( index - 1 ) ), 241, 358, tocolor(68, 254, 11, 255), 1.00, "default-bold", "center", "top", false, false, false, false, false) if( index >= 3 )then break; end end end ) Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now