Scripting Moderators xLive Posted April 17, 2017 Scripting Moderators Share Posted April 17, 2017 (edited) 5 minutes ago, Master_MTA said: اعذرني بدل الكود ذا كله يكفي نكتب كذا getAccountPlayer(getAccount(اسم الحساب)) 16 hours ago, #_iMr.[E]coo said: @xNawaf , أتمنى منك حذف مشاركتك قبل 30 دقيقة , وإلا سوف اقوم بالإبلاغ عن مشاركتك , أنت تعرف السبب ! م كنت ادري انه فيه فكشن getAccountPlayer . ع العموم بحذف المشاركة Edited April 17, 2017 by xNawaf 1 Link to comment
Master_MTA Posted April 17, 2017 Share Posted April 17, 2017 Just now, xNawaf said: م كنت ادري انه فيه فكشن getAccountPlayer getAccountPlayer . ع العموم بحذف المشاركة بالتوفيق يا قلبي Link to comment
iMr.WiFi..! Posted May 3, 2017 Share Posted May 3, 2017 (edited) بسم الله الرحمن الرحيم سلام عليكم ورحمة الله وبركاته , أقدم لكم وظيفتان مفيدتان .. لصنع مهمات أو وظايف الخخ الوظيفة الاولى : getElementsFromData الوظيفة كلاينت وسيرفر, ملاحظة مهمة جداً : ممكن تكون تحط الداتا في السيرفر وتستعمل الوظيفة في الكلاينت ويرجعلك الجدول فاضي تأكد من الداتا وين مصدرها !! السينتاكس : table getElementsFromData ( string DataName [, string ElementType = { "player","ped","vehicle","object","marker" }, Key value ~= nil ]) ارقمنتات الوظيفة : DataName : إجباري, اسم الداتا ElementType : أختياري, نوع الالمنت المراد منه احضار الجدول الذي لديه القيمة فأذا لم تضعه فسوف يتم جلب جميع الالمنتات "player","ped","vehicle","object","marker" الداتا الخاصة بهم ووضعهم في الجدول ام لا ! value : أختياري, قيمة الداتا فايدة الوظيفة : الوظيفة بترجعلك جدول فيه الالمنتات الي معها الداتا مثال الوظيفة : addEventHandler ( "onPlayerJoin", root, function ( ) -- حدث لما اللاعب يدخل setElementData(source,"Join",true) -- نعطيه داتا end ) -- اغلاق للوظيفة والحدث addCommandHandler ( "getPlayers", function ( p ) -- نضيف امر local PlayersData = getElementsFromData("Join","players",true) -- نجلب تيبل فيه جميع اللاعبين الي معهم داتا وقيمتها ترو for i,v in ipairs ( PlayersData ) do -- نسوي لوب لل تيبل outputChatBox(" "..getPlayerName(v).." ") -- نطرح في الشات اسماء اللاعبين الي معهم الداتا end -- اغلاق اللوب end ) -- اغلاق الامر والوظيفة اكواد الوظيفة الاولي : 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 __________________________ الوظيفة الثانية : هي عكس الوظيفة الاولى وهي ان تجيب الالمنتات الي ماعندهم الداتا وترجعلك اياه بجدول فيه الالمنتات getElementsFromNonData الوظيفة كلاينت وسيرفر, ملاحظة مهمة جداً : ممكن تكون تحط الداتا في السيرفر وتستعمل الوظيفة في الكلاينت ويرجعلك الجدول فاضي تأكد من الداتا وين مصدرها !! سينتاكس الوظيفة : ? table getElementsFromNonData ( string DataName [, string ElementType = { "player","ped","vehicle","object","marker" } ]) ارقمنتات الوظيفة : DataName : إجباري, اسم الداتا ElementType : أختياري, نوع الالمنت المراد منه احضار الجدول الذي لديه القيمة فأذا لم تضعه فسوف يتم جلب جميع الالمنتات "player","ped","vehicle","object","marker" التي ليس لديهم الداتا ! فايدة الوظيفة : الوظيفة بترجعلك جدول فيه الالمنتات الي ما معها داتا مثال الوظيفة : addCommandHandler ( "getPlayers", function ( p ) -- نضيف امر local PlayerNonsData = getElementsFromNonData("Data","players") -- نجلب تيبل فيه جميع اللاعبين الي ما معهم الداتا for i,v in ipairs ( PlayersNonData ) do -- نسوي لوب لل تيبل outputChatBox(" "..getPlayerName(v).." ") -- نطرح في الشات اسماء اللاعبين الي ما معهم داتا end -- اغلاق اللوب end ) -- اغلاق الامر والوظيفة اكواد الوظيفة الثانية : function getElementsFromNonData( DataName, ElementType ) NonDataElements = { } 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' } if type ( ElementType ) ~= "table" then for i,v in ipairs ( getElementsByType ( ElementType ) ) do if getElementData ( v, DataName ) == nil then table["insert"]( NonDataElements, v ) end end else for k,z in ipairs ( ElementType ) do for i,v in ipairs ( getElementsByType ( z ) ) do if getElementData ( v, DataName ) == nil then table["insert"]( NonDataElements, v ) end end end end return NonDataElements; end وسلام خير الختام Edited May 4, 2017 by !#NssoR_) Added the function codes. Link to comment
!#NssoR_) Posted May 3, 2017 Share Posted May 3, 2017 3 hours ago, iMr.WiFi..! said: بسم الله الرحمن الرحيم سلام عليكم ورحمة الله وبركاته , أقدم لكم وظيفتان مفيدتان .. لصنع مهمات أو وظايف الخخ الوظيفة الاولى : getElementsFromData الوظيفة كلاينت وسيرفر, ملاحظة مهمة جداً : ممكن تكون تحط الداتا في السيرفر وتستعمل الوظيفة في الكلاينت ويرجعلك الجدول فاضي تأكد من الداتا وين مصدرها !! السينتاكس : table getElementsFromData ( string DataName [, string ElementType = { "player","ped","vehicle","object","marker" }, Key value ~= nil ]) ارقمنتات الوظيفة : DataName : إجباري, اسم الداتا ElementType : أختياري, نوع الالمنت المراد منه احضار الجدول الذي لديه القيمة فأذا لم تضعه فسوف يتم جلب جميع الالمنتات "player","ped","vehicle","object","marker" الداتا الخاصة بهم ووضعهم في الجدول ام لا ! value : أختياري, قيمة الداتا فايدة الوظيفة : الوظيفة بترجعلك جدول فيه الالمنتات الي معها الداتا مثال الوظيفة : addEventHandler ( "onPlayerJoin", root, function ( ) -- حدث لما اللاعب يدخل setElementData(source,"Join",true) -- نعطيه داتا end ) -- اغلاق للوظيفة والحدث addCommandHandler ( "getPlayers", function ( p ) -- نضيف امر local PlayersData = getElementsFromData("Join","players",true) -- نجلب تيبل فيه جميع اللاعبين الي معهم داتا وقيمتها ترو for i,v in ipairs ( PlayersData ) do -- نسوي لوب لل تيبل outputChatBox(" "..getPlayerName(v).." ") -- نطرح في الشات اسماء اللاعبين الي معهم الداتا end -- اغلاق اللوب end ) -- اغلاق الامر والوظيفة __________________________ الوظيفة الثانية : هي عكس الوظيفة الاولى وهي ان تجيب الالمنتات الي ماعندهم الداتا وترجعلك اياه بجدول فيه الالمنتات getElementsFromNonData الوظيفة كلاينت وسيرفر, ملاحظة مهمة جداً : ممكن تكون تحط الداتا في السيرفر وتستعمل الوظيفة في الكلاينت ويرجعلك الجدول فاضي تأكد من الداتا وين مصدرها !! سينتاكس الوظيفة : ? table getElementsFromData ( string DataName [, string ElementType = { "player","ped","vehicle","object","marker" } ]) ارقمنتات الوظيفة : DataName : إجباري, اسم الداتا ElementType : أختياري, نوع الالمنت المراد منه احضار الجدول الذي لديه القيمة فأذا لم تضعه فسوف يتم جلب جميع الالمنتات "player","ped","vehicle","object","marker" التي ليس لديهم الداتا ! فايدة الوظيفة : الوظيفة بترجعلك جدول فيه الالمنتات الي ما معها داتا مثال الوظيفة : addCommandHandler ( "getPlayers", function ( p ) -- نضيف امر local PlayerNonsData = getElementsFromNonData("Data","players") -- نجلب تيبل فيه جميع اللاعبين الي ما معهم الداتا for i,v in ipairs ( PlayersNonData ) do -- نسوي لوب لل تيبل outputChatBox(" "..getPlayerName(v).." ") -- نطرح في الشات اسماء اللاعبين الي ما معهم داتا end -- اغلاق اللوب end ) -- اغلاق الامر والوظيفة وسلام خير الختام يعطيك العافية ع الوظيفة الجميلة , ولكن ماشوف اكواد الوظيفة !! Link to comment
iMr.WiFi..! Posted May 4, 2017 Share Posted May 4, 2017 (edited) 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 كود الوظيفة الثانية : function getElementsFromNonData( DataName, ElementType ) NonDataElements = { } 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' } if type ( ElementType ) ~= "table" then for i,v in ipairs ( getElementsByType ( ElementType ) ) do if getElementData ( v, DataName ) == nil then table["insert"]( NonDataElements, v ) end end else for k,z in ipairs ( ElementType ) do for i,v in ipairs ( getElementsByType ( z ) ) do if getElementData ( v, DataName ) == nil then table["insert"]( NonDataElements, v ) end end end end return NonDataElements; end وعدل على اسم الوظيفة الثانية بالسينتاكس الى : getElementsFromNonData لأني ماقدر اعدل عالبوست Edited May 4, 2017 by iMr.WiFi..! Link to comment
Master_MTA Posted May 4, 2017 Share Posted May 4, 2017 2 hours ago, iMr.WiFi..! said: 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 كود الوظيفة الثانية : function getElementsFromNonData( DataName, ElementType ) NonDataElements = { } 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' } if type ( ElementType ) ~= "table" then for i,v in ipairs ( getElementsByType ( ElementType ) ) do if getElementData ( v, DataName ) == nil then table["insert"]( NonDataElements, v ) end end else for k,z in ipairs ( ElementType ) do for i,v in ipairs ( getElementsByType ( z ) ) do if getElementData ( v, DataName ) == nil then table["insert"]( NonDataElements, v ) end end end end return NonDataElements; end وعدل على اسم الوظيفة الثانية بالسينتاكس الى : getElementsFromNonData لأني ماقدر اعدل عالبوست حبيب قلبي الوظيفه الاولى مفيده لكن الثانيه تقدر تستغني عنها ب not وخلاص+_+ لكن مشكور على الجهد Link to comment
iMr.WiFi..! Posted May 14, 2017 Share Posted May 14, 2017 بسم الله الرحمن الرحيم , سلام عليكم ورحمة الله وبركاته , اقدم لكم وظيفة مفيدة , قد تظن انها موجودة , ولكن للأسف ليست موجودة بالويكي أو في الموضوع + اخبروني اذا وجدت في الموضوعgetAccountAcls الوظيفة من اسمها تعرفها /: جلب قروبات الحساب قد تقول هناك وظيفة بالفعل واسمها getPlayerAcls = هذه تجلب قروبات اللاعب : ) -- مهم الوظيفة سيرفر سايد فقط | Server Side Only , لاعلينا Syntax : table getAccountAcls ( account accountName ) Required Arguments : accountName : the account name what you want get teble of acls , اسم الحساب المراد جلب جدول القروبات Code : function getAccountAcls(accountName) if type(accountName) ~= 'string' then error("Bad Argument 1@ 'not string' ") return end local Accacls = {} for i,v in ipairs(aclGroupList()) do if (isObjectInACLGroup( "user." ..accountName, v)) then local mygroup = aclGroupGetName(v) table.insert(Accacls, mygroup) end end return Accacls end Example : addCommandHandler ( "Acls",function ( p, cmd, accname ) local Acls = getAccountAcls( accname ) outputChatBox ( "The Account "..accname.." Following in Acl Groups"..tostring ( table.concat(Acls,",") ),p) end ) وسلام خير الختام 1 Link to comment
Dr.Marco Posted May 14, 2017 Share Posted May 14, 2017 Just now, iMr.WiFi..! said: بسم الله الرحمن الرحيم , سلام عليكم ورحمة الله وبركاته , اقدم لكم وظيفة مفيدة , قد تظن انها موجودة , ولكن للأسف ليست موجودة بالويكي أو في الموضوع + اخبروني اذا وجدت في الموضوعgetAccountAcls الوظيفة من اسمها تعرفها /: جلب قروبات الحساب قد تقول هناك وظيفة بالفعل واسمها getPlayerAcls = هذه تجلب قروبات اللاعب : ) -- مهم الوظيفة سيرفر سايد فقط | Server Side Only , لاعلينا Syntax : table getAccountAcls ( account accountName ) Required Arguments : accountName : the account name what you want get teble of acls , اسم الحساب المراد جلب جدول القروبات Code : function getAccountAcls(accountName) if type(accountName) ~= 'string' then error("Bad Argument 1@ 'not string' ") return end local Accacls = {} for i,v in ipairs(aclGroupList()) do if (isObjectInACLGroup( "user." ..accountName, v)) then local mygroup = aclGroupGetName(v) table.insert(Accacls, mygroup) end end return Accaclsend Example : addCommandHandler ( "Acls",function ( p, cmd, accname ) local Acls = getAccountAcls( accname ) outputChatBox ( "The Account "..accname.." Following in Acl Groups"..tostring ( table.concat(Acls,",") ),p) end ) وسلام خير الختام مشكوور ما قصرت 1 Link to comment
^iiEcoo'x_) Posted May 14, 2017 Share Posted May 14, 2017 @iMr.WiFi..! , لازم تتحق انه مسجل وتجلب حسابه عشان تجيب القروبات getPlayerAcls وظيفة رائعة صديقي , لكن حتى وظيفة * ( نفس الشيء ما اختلف ) Link to comment
Abdul KariM Posted May 14, 2017 Share Posted May 14, 2017 @#_iMr.[E]coo لا مايحتاج يتحقق لان حساب الاعب محفوظ بالاسل موب زي الاعب نفسه يطلع ويدخل 1 Link to comment
Master_MTA Posted May 16, 2017 Share Posted May 16, 2017 (edited) On ١٤/٥/٢٠١٧ at 15:12, iMr.WiFi..! said: بسم الله الرحمن الرحيم , سلام عليكم ورحمة الله وبركاته , اقدم لكم وظيفة مفيدة , قد تظن انها موجودة , ولكن للأسف ليست موجودة بالويكي أو في الموضوع + اخبروني اذا وجدت في الموضوعgetAccountAcls الوظيفة من اسمها تعرفها /: جلب قروبات الحساب قد تقول هناك وظيفة بالفعل واسمها getPlayerAcls = هذه تجلب قروبات اللاعب : ) -- مهم الوظيفة سيرفر سايد فقط | Server Side Only , لاعلينا Syntax : table getAccountAcls ( account accountName ) Required Arguments : accountName : the account name what you want get teble of acls , اسم الحساب المراد جلب جدول القروبات Code : function getAccountAcls(accountName) if type(accountName) ~= 'string' then error("Bad Argument 1@ 'not string' ") return end local Accacls = {} for i,v in ipairs(aclGroupList()) do if (isObjectInACLGroup( "user." ..accountName, v)) then local mygroup = aclGroupGetName(v) table.insert(Accacls, mygroup) end end return Accacls end Example : addCommandHandler ( "Acls",function ( p, cmd, accname ) local Acls = getAccountAcls( accname ) outputChatBox ( "The Account "..accname.." Following in Acl Groups"..tostring ( table.concat(Acls,",") ),p) end ) وسلام خير الختام سطر سته في خطا يقلبي راجعه وفي البوست حقي =سطر 5 Edited May 16, 2017 by Master_MTA Link to comment
iMr.WiFi..! Posted May 16, 2017 Share Posted May 16, 2017 Just now, Master_MTA said: سطر سته في خطا يقلبي راجعه لا مراجعه ولا فيه اي خطأ ي قلبي ♥ Link to comment
Master_MTA Posted May 16, 2017 Share Posted May 16, 2017 Just now, iMr.WiFi..! said: لا مراجعه ولا فيه اي خطأ ي قلبي ♥ اعذرني اعتقدت التيبل اللي بيرجع سترنق +_+ Link to comment
iMr.WiFi..! Posted May 18, 2017 Share Posted May 18, 2017 (edited) سلام عليكم ورحمة الله وبركاته, كيفكم شباب ان شاء الله تكونو بأتم الصحة والعافية : ) اليوم اقدم لكم حدث onElementMove يقبل سيرفر سايد وكلنت سايد هذا الحدث مفيد جداً بحيث انه اذا تحرك أي المنت يجيك بحدث وتقدر تتحقق من السورس Parameters : element element, int kmh, int mph kmh = كيلو متر لكل ساعة mph= ميل لكل ساعة Code : setTimer ( function ( ) Elements = { "player","vehicle","ped","object" } -- انا هنا حطيت اهم الالمنتات , تقدر تعدلهم for Index, Element in ipairs ( Elements ) do -- نسوي لوب للالمنتات for _, Ele in ipairs ( getElementsByType(Element) ) do -- نسوي لوب للامنت local x,y,z = getElementVelocity ( Ele ) -- نجيب سرعة الالمنت if x ~= 0 or y ~= 0 then -- نتحقق انه سرعة الالمنت ماتساوي صفر triggerEvent("onElementMove", root, Ele, ( (x^2 + y^2 + z^2)^(0.5) * 180 ),( (x^2 + y^2 + z^2)^(0.5) * 111.847 ) ) -- kmh,mph -- من الويكي -- نرسل ترايقر end -- آند للتحقق end -- آند للوب الثاني end -- آند للوب الاول end,1000,0) -- اذا تبي الحدث دقيق جداً ضع -- 1000 -- الى 100 Example : Boolean = true; function Check( Element,km ) if Boolean == true then if getElementType(Element) == "player" then if Element == aPlayer then outputChatBox ( "Your Move And Your Velocity Is"..tostring(km), aPlayer ) Boolean = false; end end end end addCommandHandler ( "Check", function ( aPlayer ) addEventHandler ( "onElementMove", aPlayer, Check ) end ) لاحد يقولي الوظيفة موجودة , هي موجودة ولكن هذا حدث !! وسلام خير الختام ♥ Edited May 18, 2017 by iMr.WiFi..! Link to comment
Mhmd.z Posted May 18, 2017 Share Posted May 18, 2017 6 minutes ago, iMr.WiFi..! said: سلام عليكم ورحمة الله وبركاته, كيفكم شباب ان شاء الله تكونو بأتم الصحة والعافية : ) اليوم اقدم لكم حدث onElementMove يقبل سيرفر سايد وكلنت سايد هذا الحدث مفيد جداً بحيث انه اذا تحرك أي المنت يجيك بحدث وتقدر تتحقق من السورس Parameters : element element, int kmh, int mph kmh = كيلو متر لكل ساعة mph= ميل لكل ساعة Code : setTimer ( function ( ) Elements = { "player","vehicle","ped","object" } -- انا هنا حطيت اهم الالمنتات , تقدر تعدلهم for Index, Element in ipairs ( Elements ) do -- نسوي لوب للالمنتات for _, Ele in ipairs ( getElementsByType(Element) ) do -- نسوي لوب للامنت local x,y,z = getElementVelocity ( Ele ) -- نجيب سرعة الالمنت if x ~= 0 or y ~= 0 then -- نتحقق انه سرعة الالمنت ماتساوي صفر triggerEvent("onElementMove", root, Ele, ( (x^2 + y^2 + z^2)^(0.5) * 180 ),( (x^2 + y^2 + z^2)^(0.5) * 111.847 ) ) -- kmh,mph -- من الويكي -- نرسل ترايقر end -- آند للتحقق end -- آند للوب الثاني end -- آند للوب الاول end,100,0) -- اذا ماتبيه يسبب لاق قوي عدل على 100 -- وخله الرقم الي يعجبك Example : Boolean = true; function Check( Element,km ) if Boolean == true then if getElementType(Element) == "player" then if Element == aPlayer then outputChatBox ( "Your Move And Your Velocity Is"..tostring(km), aPlayer ) Boolean = false; end end end end addCommandHandler ( "Check", function ( aPlayer ) addEventHandler ( "onElementMove", aPlayer, Check ) end ) لاحد يقولي الوظيفة موجودة , هي موجودة ولكن هذا حدث !! وسلام خير الختام ♥ بس مو التايمر لو كان متكرر بمدة قصيره يسوي لاق ؟ Link to comment
iMr.WiFi..! Posted May 18, 2017 Share Posted May 18, 2017 13 minutes ago, Mhmd.z said: بس مو التايمر لو كان متكرر بمدة قصيره يسوي لاق ؟ عحسب قوة السيرفر وخادمه + واذا طولت المدة الحدث ماراح يكون دقيق كمثال : اللاعب تحرك لمدة اقل من ثانية ورجع كذا الحدث ما منه فايده فهمت علي ؟ الي بيستعمل الحدث لازم يكون منتبه لاخر سطر 1 Link to comment
Abdul KariM Posted May 19, 2017 Share Posted May 19, 2017 @iMr.WiFi..! في طريقة ادق من هذي واصلا مايحتاج الحدث لان اقدر اسوي رندر واتحقق ان الاعب متحرك عن طريق اليوسفل فنكشن isElementMoving واسوي ترايقر افنت وخلاص وعندك غلط مفروض تتحقق ان الزد بعد مايساوي صفر لان الاعب ممكن يطلع فوق وكذا تحرك والحدث ماراح يشتغل 1 Link to comment
iMr.WiFi..! Posted May 22, 2017 Share Posted May 22, 2017 (edited) سلام عليكم ورحمة الله وبركاته , كيف الحال .. ان شاء الله تكونو بأتم الصحة والعافية /: اقدم لكم وظيفة بسيطة ومفيدة من نوعها table.format هاذي الوظيفة تفرمت التيبل باختصار , تحذف جميع القيم الموجودة بتيبل Syntax : table.format ( table table ) table : التيبل الي تبي تحذف منه جميع القيم Code : function table.format ( table ) assert(type(table) == "table","Bad Argument @1 [' Expected Table Got "..tostring(type(table)).." at argument 1 ']") return table = { } end end Example : --#-- Source Code function table.format ( table ) assert(type(table) == "table","Bad Argument @1 [' Expected Table Got "..tostring(type(table)).." at argument 1 ']") return table = { } end end aTable = {1,2,3} addCommandHandler ( "Format",function ( player ) table.format( aTable ) outputChatBox( "Done !",player) end ) وسلام خير الختام Edited May 22, 2017 by !#NssoR_) Modified as requested. 1 Link to comment
Jupi Posted May 22, 2017 Share Posted May 22, 2017 (edited) @iMr.WiFi..! هذا جدول مليان قيم Table = {"1", "2", "3", "4", "5", "6"} لو سوينا كذا في نفس الكود Table = {} -- اعادة تعريف تفرمت بكل بساطة Edited May 22, 2017 by #DABL 1 Link to comment
iMr.WiFi..! Posted May 22, 2017 Share Posted May 22, 2017 (edited) 4 minutes ago, #DABL said: هذا جدول مليان قيم Table = {"1", "2", "3", "4", "5", "6"} لو سوينا كذا في نفس الكود Table = {} -- اعادة تعريف تفرمت بكل بساطة بساطة هائلة جداً, شكراً أخي دابل :< + لكن الطريقة حقتي مضمونة , ومن الممكن يستخدم ipairs ويلاحظ خطأ ؟, بيكول شسالفة ؟ وهو المفروض يحطه pairs --- احتمالات مستحيلة ^^ يعني ماتفرق كلهم حلوين وجميلين Edited May 22, 2017 by iMr.WiFi..! 1 Link to comment
Jupi Posted May 22, 2017 Share Posted May 22, 2017 يب بس ما اشوف فيه داعي لبدأ حلقة تكرارية يعني لنفترض ان الجدول مليان عناصر بنسوي لوب طويل ونستهلك اكثر : 3 Link to comment
^iiEcoo'x_) Posted May 22, 2017 Share Posted May 22, 2017 Just now, #DABL said: يب بس ما اشوف فيه داعي لبدأ حلقة تكرارية يعني لنفترض ان الجدول مليان عناصر بنسوي لوب طويل ونستهلك اكثر : 3 لو كان الجدول مليييان عناصر واستخدم طريقته وطفى المود ، ما تنمسح كاملة صح ولا لا؟ Link to comment
iMr.WiFi..! Posted May 22, 2017 Share Posted May 22, 2017 (edited) لاهنت ي نصور عدل كود الرد الى :@!#NssoR_) function table.format ( table ) assert(type(table) == "table","Bad Argument @1 [' Expected Table Got "..tostring(type(table)).." at argument 1 ']") return table = { } end end Edited May 22, 2017 by iMr.WiFi..! Link to comment
Jupi Posted May 22, 2017 Share Posted May 22, 2017 (edited) 4 minutes ago, #_iMr.[E]coo said: لو كان الجدول مليييان عناصر واستخدم طريقته وطفى المود ، ما تنمسح كاملة صح ولا لا؟ لا المشكلة ان الحلقات التكرارية تنفذ الامر مرة بعد مرة يعني لو استعمل طريقته بيجلس يحذف عنصر عنصر ويتسبب في ايقاف التنفيذ حتي انتهاء الحلقة التكرارية وممكن تطول لو الشيء اللي الكود شغال عليه بطيء علشان كذا تعريفه في سطر افضل يعني زبدة الموضوع مع احترامي لك يا واي فاي الوظيفة مو مفيدة Edited May 22, 2017 by #DABL 1 Link to comment
#Soking Posted May 23, 2017 Share Posted May 23, 2017 (edited) function guiGetElement ( Name ) if ( type ( Name ) == 'string' ) then for _ , v in ipairs ( getElementsByType ( 'gui-window' ) ) do if ( guiGetText ( v ) == Name ) then return v end end end return false end ألفكره , انك تجيب الوحه من أسمها عشان تتحكم فيهأ , اي خطء ياريت أحد ينبهني , + انا مو مسؤال عن اليحط لوحتين بنفس الاسم مثال aWindow = guiGetElement ( 'Admin Panel - v1.3.1' ) if ( aWindow ) then guiSetVisible ( aWindow , false ) end Edited May 23, 2017 by #Soking 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