Jump to content

تحت التطوير :كود - Useful Arab functions


Booo

Recommended Posts

  • Scripting Moderators
5 minutes ago, Master_MTA said:

اعذرني بدل الكود ذا كله يكفي نكتب كذا

getAccountPlayer(getAccount(اسم الحساب))

 

16 hours ago, #_iMr.[E]coo said:

@xNawaf , أتمنى منك حذف مشاركتك قبل 30 دقيقة , وإلا سوف اقوم بالإبلاغ عن مشاركتك , أنت تعرف السبب !

 

م كنت ادري انه فيه فكشن

getAccountPlayer

. ع العموم بحذف المشاركة 

Edited by xNawaf
  • Like 1
Link to comment
  • 3 weeks later...

بسم الله الرحمن الرحيم

سلام عليكم ورحمة الله وبركاته ,

أقدم لكم وظيفتان مفيدتان .. لصنع مهمات أو وظايف الخخ 

الوظيفة الاولى :


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

 

 

  1. وسلام خير الختام
  2.  
Edited by !#NssoR_)
Added the function codes.
Link to comment
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 ) -- اغلاق الامر والوظيفة

 
  1.  
  2. وسلام خير الختام
  3.  

 

يعطيك العافية ع الوظيفة الجميلة , ولكن ماشوف اكواد الوظيفة !!

:crazy:

Link to comment
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 by iMr.WiFi..!
Link to comment
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
  • 2 weeks later...

بسم الله الرحمن الرحيم , سلام عليكم ورحمة الله وبركاته ,
اقدم لكم وظيفة مفيدة ,

قد تظن انها موجودة , ولكن للأسف ليست موجودة بالويكي أو في الموضوع + اخبروني اذا وجدت في الموضوع

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 )

 

وسلام خير الختام

  • Like 1
Link to comment
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 )

 

وسلام خير الختام

مشكوور 

ما قصرت

 

 

  • Like 1
Link to comment
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 by Master_MTA
Link to comment

سلام عليكم ورحمة الله وبركاته, 

كيفكم شباب ان شاء الله تكونو بأتم الصحة والعافية : )

اليوم اقدم لكم حدث 

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 by iMr.WiFi..!
Link to comment
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
13 minutes ago, Mhmd.z said:

بس مو التايمر لو كان متكرر بمدة قصيره يسوي لاق ؟

عحسب قوة السيرفر وخادمه +
واذا طولت المدة الحدث ماراح يكون دقيق كمثال :

اللاعب تحرك لمدة اقل من ثانية ورجع

كذا الحدث ما منه فايده فهمت علي ؟

الي بيستعمل الحدث لازم يكون منتبه لاخر سطر 

  • Like 1
Link to comment

@iMr.WiFi..! في طريقة ادق من هذي

واصلا مايحتاج الحدث 

لان اقدر اسوي رندر واتحقق ان الاعب متحرك عن طريق اليوسفل فنكشن

isElementMoving

واسوي ترايقر افنت وخلاص

وعندك غلط مفروض تتحقق ان الزد بعد مايساوي صفر

لان الاعب ممكن يطلع فوق وكذا تحرك والحدث ماراح يشتغل

 

  • Like 1
Link to comment

سلام عليكم ورحمة الله وبركاته , كيف الحال ..

ان شاء الله تكونو بأتم الصحة والعافية /:

اقدم لكم وظيفة بسيطة ومفيدة من نوعها

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 by !#NssoR_)
Modified as requested.
  • Like 1
Link to comment
4 minutes ago, #DABL said:

هذا جدول مليان قيم


Table = {"1", "2", "3", "4", "5", "6"}

لو سوينا كذا في نفس الكود


Table = {} -- اعادة تعريف

تفرمت بكل بساطة

بساطة هائلة جداً, شكراً أخي دابل :<

+ لكن الطريقة حقتي مضمونة , ومن الممكن يستخدم ipairs

ويلاحظ خطأ ؟, بيكول شسالفة ؟

وهو المفروض يحطه pairs

--- احتمالات مستحيلة ^^

يعني ماتفرق كلهم حلوين وجميلين :) 

Edited by iMr.WiFi..!
  • Like 1
Link to comment
Just now, #DABL said:

يب بس ما اشوف فيه داعي لبدأ حلقة تكرارية

يعني لنفترض ان الجدول مليان عناصر بنسوي لوب طويل ونستهلك اكثر

: 3

لو كان الجدول مليييان عناصر واستخدم طريقته وطفى المود ، ما تنمسح كاملة صح ولا لا؟

Link to comment
4 minutes ago, #_iMr.[E]coo said:

لو كان الجدول مليييان عناصر واستخدم طريقته وطفى المود ، ما تنمسح كاملة صح ولا لا؟

 

لا المشكلة ان الحلقات التكرارية تنفذ الامر مرة بعد مرة

يعني لو استعمل طريقته بيجلس يحذف عنصر عنصر ويتسبب في  ايقاف التنفيذ حتي انتهاء الحلقة التكرارية وممكن تطول لو الشيء اللي الكود شغال عليه بطيء

علشان كذا تعريفه في سطر افضل

 

يعني زبدة الموضوع مع احترامي لك يا واي فاي الوظيفة مو مفيدة

Edited by #DABL
  • Like 1
Link to comment
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

ألفكره , انك تجيب الوحه من أسمها عشان تتحكم فيهأ

, اي خطء ياريت أحد ينبهني , 
+ انا مو مسؤال عن اليحط لوحتين بنفس الاسم :D

مثال

aWindow = guiGetElement ( 'Admin Panel   -   v1.3.1' )
if ( aWindow ) then 
	guiSetVisible ( aWindow , false )
end

 

Edited by #Soking
  • Like 1
Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...