Jump to content

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


Booo

Recommended Posts

  • Scripting Moderators
Posted (edited)
5 minutes ago, Master_MTA said:

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

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

 

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

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

 

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

getAccountPlayer

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

Edited by xNawaf
  • Like 1
Posted
Just now, xNawaf said:

 

 

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

getAccountPlayer


getAccountPlayer

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

بالتوفيق يا قلبي

  • 3 weeks later...
Posted (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

 

 

  1. وسلام خير الختام
  2.  
Edited by !#NssoR_)
Added the function codes.
Posted
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:

Posted (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 by iMr.WiFi..!
Posted
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

وخلاص+_+

لكن مشكور على الجهد

  • 2 weeks later...
Posted

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

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

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
Posted
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
Posted

@iMr.WiFi..! , 

لازم تتحق انه مسجل وتجلب حسابه عشان تجيب القروبات getPlayerAcls وظيفة رائعة  صديقي ,  لكن حتى وظيفة 

* ( نفس الشيء ما اختلف ) 

Posted (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 by Master_MTA
Posted
Just now, iMr.WiFi..! said:

لا مراجعه ولا فيه اي خطأ ي قلبي ♥

اعذرني اعتقدت التيبل اللي بيرجع سترنق +_+

Posted (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 by iMr.WiFi..!
Posted
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 )

 

لاحد يقولي الوظيفة موجودة , هي موجودة ولكن هذا حدث !!

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

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

Posted
13 minutes ago, Mhmd.z said:

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

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

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

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

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

  • Like 1
Posted

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

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

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

isElementMoving

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

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

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

 

  • Like 1
Posted (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 by !#NssoR_)
Modified as requested.
  • Like 1
Posted (edited)

@iMr.WiFi..!

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

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

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

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

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

Edited by #DABL
  • Like 1
Posted (edited)
4 minutes ago, #DABL said:

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


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

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


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

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

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

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

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

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

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

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

Edited by iMr.WiFi..!
  • Like 1
Posted

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

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

: 3

Posted
Just now, #DABL said:

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

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

: 3

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

Posted (edited)
4 minutes ago, #_iMr.[E]coo said:

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

 

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

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

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

 

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

Edited by #DABL
  • Like 1
Posted (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

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

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

مثال

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

 

Edited by #Soking
  • Like 1

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...