AHMED MOSTAFA Posted June 16, 2018 Share Posted June 16, 2018 On 6/15/2018 at 22:30, #,+( _xiRoc[K]; > said: مافهمت وش تقصد اقصد كـ رأي 15 hours ago, #َxLysandeR said: عندي استفسار ليه ما تستخدم الجدول بدل الداتا ؟ As element data is synced to all clients, it can generate a lot of network traffic and consume server CPU. Events are much more efficient for sending data from a client to the server only, or from the server to a specific client. ما اتوقع انها بتسوي مشاكل لأن جميع العمليات رح تكون على الحاسب الشخصي فقط وما استعملت الجداول لأن الكود رح يكون اكبر ولو لاحظت ( موجود جدول بالفعل بس نسيت ازيله ) لكن انا افضل استعمال الداتها لسهولتها 1 Link to comment
Rockyz Posted June 16, 2018 Share Posted June 16, 2018 2 hours ago, killerProject said: اقصد كـ رأي هو فعليا ماله اي فايدة بس كشكل Link to comment
MrBiG Posted June 16, 2018 Share Posted June 16, 2018 On 6/15/2018 at 00:11, #[K]iLLeR<3 said: بالله بأيش تستعمل ذي مثلاً باللوحات التحكم بالاعبين والتوزيع والخ On 6/14/2018 at 21:43, #DesTroeyR said: guiGridListAddWeapons كود حلوو موفق اخي On 6/15/2018 at 16:28, killerProject said: guiFadeElement والله الكود كفو , بسألك سؤال : Graphical user interface(GUI) ليش انت كل اكوادك عن لوحات ال ضض Link to comment
SycroX Posted June 18, 2018 Share Posted June 18, 2018 (edited) function guiGridListRemoveRowByText(gridlist, column, text) if gridlist and type(gridlist) == "gui-gridlist" then if text and column then if guiGridListGetRowCount(gridlist) > 0 then local rowIndex = nil local gridlistRowsCount = guiGridListGetRowCount(gridlist) - 1 for i = 0, gridlistRowsCount do if guiGridListGetItemText(gridlist, i, column) == text then rowIndex = i end end if rowIndex and rowIndex ~= nil then guiGridListRemoveRow(gridlist, rowIndex) end end end end return false end الكود يشيل رو من الجريد ليست عن طريق التكست بتاعت الرو Edited June 18, 2018 by #َxLysandeR 1 Link to comment
N3xT Posted June 18, 2018 Share Posted June 18, 2018 3 hours ago, #َxLysandeR said: function guiGridListRemoveRowByText(gridlist, column, text) if gridlist and type(gridlist) == "gui-gridlist" then if text and column then if guiGridListGetRowCount(gridlist) > 0 then local rowIndex = nil local gridlistRowsCount = guiGridListGetRowCount(gridlist) - 1 for i = 0, gridlistRowsCount do if guiGridListGetItemText(gridlist, i, column) == text then rowIndex = i end end if rowIndex and rowIndex ~= nil then guiGridListRemoveRow(gridlist, rowIndex) end end end end return false end الكود يشيل رو من الجريد ليست عن طريق التكست بتاعت الرو كودك راح يرجع القيمة فولس دائماً, وايضاً يمديك تختصر كودك بانك تحذف الرو على طول بدون استعمال المتغير rowIndex Link to comment
SycroX Posted June 18, 2018 Share Posted June 18, 2018 (edited) 46 minutes ago, N3xT said: كودك راح يرجع القيمة فولس دائماً, وايضاً يمديك تختصر كودك بانك تحذف الرو على طول بدون استعمال المتغير rowIndex شكرا علي التنبيه fixed - improved function guiGridListRemoveRowByText(gridlist, text) if gridlist and type(gridlist) == "gui-gridlist" then if text and type(text) == "string" then if guiGridListGetRowCount(gridlist) > 0 and guiGridListGetColumnCount(gridlist) > 0 then for ir = 0, guiGridListGetRowCount(gridlist)-1 do for ic = 1, guiGridListGetColumnCount(gridlist) do if guiGridListGetItemText(gridlist, ir, ic) == text then return guiGridListRemoveRow(gridlist, ir) end end end end end end return false end Edited June 18, 2018 by #َxLysandeR 1 Link to comment
Rakan# Posted June 19, 2018 Share Posted June 19, 2018 15 hours ago, #َxLysandeR said: شكرا علي التنبيه fixed - improved function guiGridListRemoveRowByText(gridlist, text) if gridlist and type(gridlist) == "gui-gridlist" then if text and type(text) == "string" then if guiGridListGetRowCount(gridlist) > 0 and guiGridListGetColumnCount(gridlist) > 0 then for ir = 0, guiGridListGetRowCount(gridlist)-1 do for ic = 1, guiGridListGetColumnCount(gridlist) do if guiGridListGetItemText(gridlist, ir, ic) == text then return guiGridListRemoveRow(gridlist, ir) end end end end end end return false end عندك مشكله بـ type(gridlist) استبدله بـ getElementType 1 Link to comment
SycroX Posted June 19, 2018 Share Posted June 19, 2018 4 hours ago, Rakan# said: عندك مشكله بـ type(gridlist) استبدله بـ getElementType مشكور علي التنبيه function guiGridListRemoveRowByText(gridlist, text) if gridlist and getElementType(gridlist) == "gui-gridlist" then if text and type(text) == "string" then if guiGridListGetRowCount(gridlist) > 0 and guiGridListGetColumnCount(gridlist) > 0 then for ir = 0, guiGridListGetRowCount(gridlist)-1 do for ic = 1, guiGridListGetColumnCount(gridlist) do if guiGridListGetItemText(gridlist, ir, ic) == text then return guiGridListRemoveRow(gridlist, ir) end end end end end end return false end 1 Link to comment
Popular Post Abdul KariM Posted June 21, 2018 Popular Post Share Posted June 21, 2018 DownloadFile وظيفة تحميل ملف مرفوع على الانترنت Syntax : bool DownloadFile ( string Link , string FileName ) Required Arguments Link : رابط الملف المراد تحميله يشترط ان يكون رابط مباشر FileName : اسم الملف عندما يتحمل وتقدر تحط مسار واسم الملف ولازم تحط صيغة الملف استخدام الفنكشن يكون بجهة سيرفر سايد والا مابيشتغل source Code : function DownloadFile ( Link , FileName ) assert ( type ( Link ) == "string" , "Bad Argument At Argument #1 Link Moust String" ) assert ( type ( FileName ) == "string" , "Bad Argument At Argument #1 FileName Moust String" ) fetchRemote( Link , function ( Result ) if Result == "ERROR" then error ( "Can't Calling The Link" ) return false end if fileExists ( FileName ) then error ( "the file is already exists" ) return false end local theFile = fileCreate ( FileName ) if ( not theFile ) then return false end fileWrite ( theFile , Result ) fileClose ( theFile ) return true end ) end ex 1 DownloadFile ( "https://i.imgur.com/gdclMbe.png" , "mtaLogo.png" ) DownloadFile ( "https://i.imgur.com/gdclMbe.png" , ":resourceName/mtaLogo.png" ) ملاحظة : اذا ماحمل معك الملف حاول ترفع الملف الي تبيه على موقع ثاني ويكون مباشر Author : Abdul KariM اتمنى ان الفنكشن اعجبكم , والسلام عليكم 9 Link to comment
MR_Mahmoud Posted July 14, 2018 Share Posted July 14, 2018 On 21.06.2018 at 14:42, Abdul KariM said: DownloadFile وظيفة تحميل ملف مرفوع على الانترنت Syntax : bool DownloadFile ( string Link , string FileName ) Required Arguments Link : رابط الملف المراد تحميله يشترط ان يكون رابط مباشر FileName : اسم الملف عندما يتحمل وتقدر تحط مسار واسم الملف ولازم تحط صيغة الملف استخدام الفنكشن يكون بجهة سيرفر سايد والا مابيشتغل source Code : function DownloadFile ( Link , FileName ) assert ( type ( Link ) == "string" , "Bad Argument At Argument #1 Link Moust String" ) assert ( type ( FileName ) == "string" , "Bad Argument At Argument #1 FileName Moust String" ) fetchRemote( Link , function ( Result ) if Result == "ERROR" then error ( "Can't Calling The Link" ) return false end if fileExists ( FileName ) then error ( "the file is already exists" ) return false end local theFile = fileCreate ( FileName ) if ( not theFile ) then return false end fileWrite ( theFile , Result ) fileClose ( theFile ) return true end ) end ex 1 DownloadFile ( "https://i.imgur.com/gdclMbe.png" , "mtaLogo.png" ) DownloadFile ( "https://i.imgur.com/gdclMbe.png" , ":resourceName/mtaLogo.png" ) ملاحظة : اذا ماحمل معك الملف حاول ترفع الملف الي تبيه على موقع ثاني ويكون مباشر Author : Abdul KariM اتمنى ان الفنكشن اعجبكم , والسلام عليكم ءحم فكرة مين هاذي ؟؟ على الأقل رد على الموضوع شفتك دخلت اخذت الفكرة وخرجت او كنت اعطني رابط التعليق هاد عشان استفيد Link to comment
justboy Posted July 14, 2018 Share Posted July 14, 2018 On ٢١/٦/٢٠١٨ at 14:42, Abdul KariM said: افااااا ما توقعتها منك يا سراق الافكار 1 Link to comment
SycroX Posted July 15, 2018 Share Posted July 15, 2018 On 21/06/2018 at 14:42, Abdul KariM said: DownloadFile وظيفة تحميل ملف مرفوع على الانترنت Syntax : bool DownloadFile ( string Link , string FileName ) Required Arguments Link : رابط الملف المراد تحميله يشترط ان يكون رابط مباشر FileName : اسم الملف عندما يتحمل وتقدر تحط مسار واسم الملف ولازم تحط صيغة الملف استخدام الفنكشن يكون بجهة سيرفر سايد والا مابيشتغل source Code : function DownloadFile ( Link , FileName ) assert ( type ( Link ) == "string" , "Bad Argument At Argument #1 Link Moust String" ) assert ( type ( FileName ) == "string" , "Bad Argument At Argument #1 FileName Moust String" ) fetchRemote( Link , function ( Result ) if Result == "ERROR" then error ( "Can't Calling The Link" ) return false end if fileExists ( FileName ) then error ( "the file is already exists" ) return false end local theFile = fileCreate ( FileName ) if ( not theFile ) then return false end fileWrite ( theFile , Result ) fileClose ( theFile ) return true end ) end ex 1 DownloadFile ( "https://i.imgur.com/gdclMbe.png" , "mtaLogo.png" ) DownloadFile ( "https://i.imgur.com/gdclMbe.png" , ":resourceName/mtaLogo.png" ) ملاحظة : اذا ماحمل معك الملف حاول ترفع الملف الي تبيه على موقع ثاني ويكون مباشر Author : Abdul KariM اتمنى ان الفنكشن اعجبكم , والسلام عليكم شغل جبار بالتوفيق بس عندي فكره لك با عبد الكريم وش رايك تخليه يضيف الملف بعد تحميله لملف ميتا Link to comment
EH10 Posted July 16, 2018 Share Posted July 16, 2018 (edited) On ١٤/٧/٢٠١٨ at 21:37, MR_Mahmoud said: ءحم فكرة مين هاذي ؟؟ على الأقل رد على الموضوع شفتك دخلت اخذت الفكرة وخرجت او كنت اعطني رابط التعليق هاد عشان استفيد هو م شاف الفكره وقلدها هو شاف الفكره وسواها عشان يفيد الاشخاص اللي يبونها واللي راح يحتاجها. Edited July 16, 2018 by EH10 2 Link to comment
Abdul KariM Posted July 16, 2018 Share Posted July 16, 2018 @MR_Mahmoud الكود موجود عندي من ايام ماتعلمت على الوظيفة , لو ابي اقلد قلدت وماطقيت لك خبر حبيت اطرحه عشان الي يبي يتعرف على الوظيفة اكثر ويفهمها بشكل اوضح مادام اني مقلد ليش اطرحه اساسا وعطني رابط موضوعك عشان اشوف انت جاي كذا ولا ماتدري وش السالفة @#َxLysandeR نورت حبيبي , والله هذي سهلة وماحبيت اضيفها فكرة الوظيفة تحميل فقط @EH10 يعطيك العافية على التوضيح 3 Link to comment
MR_Mahmoud Posted July 16, 2018 Share Posted July 16, 2018 Just now, Abdul KariM said: @MR_Mahmoud الكود موجود عندي من ايام ماتعلمت على الوظيفة , لو ابي اقلد قلدت وماطقيت لك خبر حبيت اطرحه عشان الي يبي يتعرف على الوظيفة اكثر ويفهمها بشكل اوضح مادام اني مقلد ليش اطرحه اساسا وعطني رابط موضوعك عشان اشوف انت جاي كذا ولا ماتدري وش السالفة Link to comment
Abdul KariM Posted July 16, 2018 Share Posted July 16, 2018 @MR_Mahmoud تستهبل انا راد عليك وقايلك مافهمت شي واكثر من واحد قالك موب فاهم شي والى الان ماني فاهم موضوعك عشان تجي وتقول مقلد افهم الموضوع بعدين تعال تكلم 1 Link to comment
#Major . Posted July 16, 2018 Share Posted July 16, 2018 Posted June 21 Posted July 8 (edited) اشرح لي مين مقلد الثاني لو سمحت؟ 1 Link to comment
MR_Mahmoud Posted July 17, 2018 Share Posted July 17, 2018 12 hours ago, Abdul KariM said: @MR_Mahmoud تستهبل انا راد عليك وقايلك مافهمت شي واكثر من واحد قالك موب فاهم شي والى الان ماني فاهم موضوعك عشان تجي وتقول مقلد افهم الموضوع بعدين تعال تكلم انا اسف Link to comment
TheOtherSide Posted July 21, 2018 Share Posted July 21, 2018 multiLineForText multiLineForText(string YourText,int TheMaximumNumberPerLine) فايدة الوظيفة تقسيم نص طويل الى اكثر من نص مثلا عندي نص فيه 30 حرف وابي كل 5 حروف من هالنص يكونو لحالهم الوظيفة راح ترجع لك جدول مقسمه فيه النصوص function multiLineForText(txt,maxForEachLine) if not( type(txt) == 'string' and type(maxForEachLine) == 'number' ) then return false end array = {} _txt = '' _count = 1 if ( #txt >= maxForEachLine ) then for i=1,#txt do _txt = _txt..''..string.sub(txt,i,i) if ( i == maxForEachLine ) then array[#array+1] = _txt _txt = '' _count = _count+1 elseif ( i == maxForEachLine*_count ) then array[#array+1] = _txt _txt = '' _count = _count+1 else if ( i == #txt and _txt ~= '' ) then array[#array+1] = _txt end end end else array[#array+1] = txt end return array end مثال x = 'hihihihihihihihihihihiheyheyheyheyheyheyheyheyheyheyheyheyheyheyhey' for i,v in ipairs(multiLineForText(x,4)) do outputChatBox(v) -- راح يطلع فكل رساله 4 حروف -- مثلا اول رساله بتكون hihi end 1 Link to comment
Popular Post Abdul KariM Posted July 26, 2018 Popular Post Share Posted July 26, 2018 @TheOtherSide انت طولتها مره وعقدتها سويتها بأخف وابسط الطرق function StrMultiLine ( theStr , theNum ) local FunCheck = ( assert ( type ( theStr ) == "string" , "error StrMultiLine arg 1 got " .. type ( theStr ) ) and assert ( type ( theNum ) == "number" , "error StrMultiLine arg 2 got " .. type ( theStr ) ) and theNum > #theStr and error ( "error StrMultiLine arg 2 num larger than string" ) ) return split ( theStr : gsub ( ( "." ) : rep ( theNum ) , "%1ㅀ" ) : sub ( 1 , -1 ) , "ㅀ" ) end مثال print ( table.concat ( StrMultiLine ( "HiHeIsOr" , 2 ) ) ) 4 Link to comment
^iiEcoo'x_) Posted July 27, 2018 Share Posted July 27, 2018 @Abdul KariM ㅀ إيش هذي ؟ ما عمري شفتها ؟ 1 Link to comment
Abdul KariM Posted July 27, 2018 Share Posted July 27, 2018 2 hours ago, #_iMr,[E]coo said: @Abdul KariM ㅀ إيش هذي ؟ ما عمري شفتها ؟ هذا رمز انا استخدمته عشان يفصل السترنق ع حسب الرقم وخليته غريب عشان مايصير فيه تعارض يوم يجي يفصل السترنق تقدر تحط اي حرف او ارقم او رمز بداله عشان يفصل لكن انا فضلت ذا 1 Link to comment
Master_MTA Posted July 28, 2018 Share Posted July 28, 2018 On 7/27/2018 at 18:33, Abdul KariM said: لكن انا فضلت ذا مخ صديك هههه ماشاء الله تبارك الله فنانه Link to comment
Abdul KariM Posted July 30, 2018 Share Posted July 30, 2018 On ٢٩/٧/٢٠١٨ at 00:20, Master_MTA said: مخ صديك هههه ماشاء الله تبارك الله فنانه حبيبي والله مشكور 1 Link to comment
Popular Post Rockyz Posted August 4, 2018 Popular Post Share Posted August 4, 2018 getElementsOnPlayerScreen الوظيفة تجيب لك الكائنات او الألمنتات الي ظاهرين على شاشتك Syntax: table getElementsOnPlayerScreen(string/table elementType = "all") Source code: function getElementsOnPlayerScreen(element) local elementTypes = {['player']=true, ['ped']=true, ['vehicle']=true, ['object']=true, ['pickup']=true}; local element = ((type(element) == 'table' and element) or (element == 'all' and element)) if element then if type(element) == 'string' then element = {} for value in pairs(elementTypes) do element[#element+1] = value; end else local elementsTable = {}; for index = 1, #element do if elementTypes[element[index]] then elementsTable[#elementsTable+1] = element[index] end end element = elementsTable; end local elementsTable = {}; local elements = {}; for index = 1, #element do local element = getElementsByType(element[index]) for key = 1, #element do elements[#elements+1] = element[key]; end end for element = 1, #elements do if isElementOnScreen(elements[element]) and elements[element] ~= localPlayer then elementsTable[#elementsTable+1] = elements[element] end end return elementsTable end end شرح الأرقمنتات للفنكشن: Optional Arguments: elementType: نوع الألمنتات الي تبي تحقق اذا كانت موجودة في شاشة اللاعب القيمة ممكن تكون جدول او سترنق اذا كانت القيمة سترنق ف لازم تكون 'all' او اذا كانت القيمة جدول تقدر تحط فيه هذي القيم player ped vehicle object pickup Example: --#Client Side function getElementsOnPlayerScreen(element) local elementTypes = {['player']=true, ['ped']=true, ['vehicle']=true, ['object']=true, ['pickup']=true}; local element = ((type(element) == 'table' and element) or (element == 'all' and element)) if element then if type(element) == 'string' then element = {} for value in pairs(elementTypes) do element[#element+1] = value; end else local elementsTable = {}; for index = 1, #element do if elementTypes[element[index]] then elementsTable[#elementsTable+1] = element[index] end end element = elementsTable; end local elementsTable = {}; local elements = {}; for index = 1, #element do local element = getElementsByType(element[index]) for key = 1, #element do elements[#elements+1] = element[key]; end end for element = 1, #elements do if isElementOnScreen(elements[element]) and elements[element] ~= localPlayer then elementsTable[#elementsTable+1] = elements[element] end end return elementsTable end end function getNearestElementOnPlayerScreen(player, elementType) local player = (isElement(player) and getElementType(player) == 'player') and player local elementType = type(elementType) == 'string' and (elementType == 'all' and elementType or {elementType}) if player and elementType then local element = getElementsOnPlayerScreen(elementType); local nearest local playerX, playerY, playerZ = getElementPosition(player) for index = 1, #element do if isElement(nearest) then local oldDistance = getDistanceBetweenPoints3D(playerX, playerY, playerZ, getElementPosition(nearest)) local newDistance = getDistanceBetweenPoints3D(playerX, playerY, playerZ, getElementPosition(element[index])); if newDistance < oldDistance then nearest = element[index]; end else nearest = element[index]; end end return nearest end end addCommandHandler('warpVehicle', function() local vehicle = getNearestElementOnPlayerScreen(localPlayer, 'vehicle'); if vehicle then triggerServerEvent('givePlayerVehicle.', localPlayer, vehicle) else outputChatBox('There\'s no vehicle on you screen', 255, 0, 0, true) end end) --#Server Side addEvent('givePlayerVehicle.', true) addEventHandler('givePlayerVehicle.', root, function(vehicle) if not isPedInVehicle(client) then warpPedIntoVehicle(client, vehicle) end end) المثال هذا اذا كتبت /warpVehicle ينقلك الى اقرب مركبة 3 1 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