Jump to content

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


Booo

Recommended Posts

  • 4 weeks later...

 zWDoHTl.png

getDimensionEmpty

وظيفة جلب دمنشن ( عالم ) فارغ او فاضي

Syntax :

int getDimensionEmpty ( int NumberStart )

Required Arguments :

  • NumberStart : العدد الذي تريد ان يبدأ منه البحث عن الدمنشن او العالم الفارغ

Returns

يرجع بـ رقم الدمنشن الفارغ او الي مافيه احد

الفنكشن يقبل الكلينت والسيرفر 

Code :

function getDimensionEmpty ( NumberStart )

	local NumberStart = type ( NumberStart ) == "number" and NumberStart < 65536 and NumberStart or 1

	local isEmpty = 0 

	local playersTable = getElementsByType ( "player" )  

	if ( #playersTable > 0 ) then 

		for i = NumberStart,65535 do

			for _ , players in ipairs ( playersTable ) do  	

				if ( getElementDimension( players ) == i ) then

				isEmpty = isEmpty + 1

				end
			end

			if isEmpty == 0 then

				return i 

			else

				isEmpty = 0
			end
		end
	end
	return false
end

بعض الامثلة

outputChatBox ( getDimensionEmpty (  ) ) 
addEventHandler ( "onPlayerLogin" , root , 
	
	function (	)
	
	local aDimensionEmpty = getDimensionEmpty ( 5 )
	
	setElementDimension ( source , aDimensionEmpty )

		end
	)

المثال هذا اذا الاعب سجل دخوله راح يحطه بدمنشن مافيه احد يبدا من الدمنشن رقم 5

اتوقع الفنكشن الواضح 

Author : Abdul KariM

بالتوفيق للجميع 

Edited by !#NssoR_)
Updated the useful function.
  • Like 3
Link to comment
52 minutes ago, Abdul KariM said:

 

 


	function getDimensionEmpty ( NumberStart )
	
	local NumberStart = type ( NumberStart ) == "number" and NumberStart < 65536 and NumberStart or 1
	
	local playersTable = getElementsByType ( "player" )
	
	if ( #playersTable > 0 ) then
	
	for _ , players in ipairs ( playersTable ) do 
	
	for i = NumberStart , 65535 do
		
	if not ( getElementDimension ( players ) == i ) then
						return i 
					end
				end
			end
		end
		return false
	end

 

 

 

يعطيك العافية ع المجهود اخ عبد الكريم , ولكن ع حسب معرفتي ان الكود ماراح يضبط

تخيل ان السيرفر فيه اكثر من لاعب حلو؟

وانا ابي مثلا العالم رقم 3 , راح يسوي لوب للاعب الاول ويتحقق اذا هو بالعالم الوهمي راح يغير رقم العالم ويتحقق اذا اللاعب نفسه مو بالعالم راح يعطيني رقم العالم ويحطني فيه

من دون مايشيك ع اللاعبين الباقين

وهذا والله اعلم .

  • Like 1
Link to comment
15 hours ago, !#NssoR_) said:

 

يعطيك العافية ع المجهود اخ عبد الكريم , ولكن ع حسب معرفتي ان الكود ماراح يضبط

تخيل ان السيرفر فيه اكثر من لاعب حلو؟

وانا ابي مثلا العالم رقم 3 , راح يسوي لوب للاعب الاول ويتحقق اذا هو بالعالم الوهمي راح يغير رقم العالم ويتحقق اذا اللاعب نفسه مو بالعالم راح يعطيني رقم العالم ويحطني فيه

من دون مايشيك ع اللاعبين الباقين

وهذا والله اعلم .

خلاص بسيطه يسوي تحقق اذا ما كان نفس اللاعب ولا كلامي خطا؟

  • Like 1
Link to comment
10 minutes ago, Abdul KariM said:

@!#NssoR_)  يعطيك العافية على التنبيه انا سويته سريع سريع عشان ماستر وجربته على نفسي واشتغل لكن الكود عطيتك اياه بالخاص اتمنى انك تعدل ردي وتحط الكود

مشكور يا غالي والله ما تقصر +_+

  • Like 1
Link to comment

setBoolean
Booleanوظيفة الفنكشن : يستعمل لتغير قيمة الـ

Syntax : 

bool setBoolean(bool Boolean)

 

Boolean : True او False القيمة تكون 


getBoolean
Booleanوظيفة الفنكشن : يستعمل في التحقق لجلب قيمة الـ

Syntax :

bool getBoolean()


Source Code : 

booleanT = true;
function setBoolean ( Boolean ) booleanT = Boolean return false end
function getBoolean () return booleanT end

Example :
 

booleanT = true;
function setBoolean ( Boolean ) booleanT = Boolean return false end
function getBoolean () return booleanT end


local screenW, screenH = guiGetScreenSize()
        Wnd = guiCreateWindow((screenW - 360) / 2, (screenH - 420) / 2, 360, 420, "Test!", false)
        guiWindowSetSizable(Wnd, false)
        guiSetAlpha(Wnd, 1.00)

        button = guiCreateButton((360 - 179) / 2, (420 - 65) / 2, 179, 65, "Test!", false, Wnd)   
		
addEventHandler("onClientGUIClick",root,
function()
	if source == button and getBoolean() == true then
			setBoolean(false)
		outputChatBox("True !")
else if source == button and getBoolean() == false then
			setBoolean(true)
		outputChatBox("False !")
		end
	end
end)

 


فايدة الفنكشن : يستعمل لاستخدامات كثيرة منها 
استخدام الاداة مرتين واشياء ثانية 
وبس سلام خير الختام : )

Edited by iMr.WiFi..!
  • Like 2
Link to comment

isNumberEven

الوظيفة : يتحقق اذا كان الرقم زوجي

Syntax : 

boolean isNumberEven(int/float number)

Returns : قيمة منطقية توضح نوعية الرقم

Source Code : 

 

EvenNumbers = {[0] = true; [2] = true; [4] = true; [6] = true; [8] = true}

function isDouble(Number) return (type(Number) == "number" and Number ~= 0.0 and string.find(tostring(Number), "%.") and true) or false end

function isNumberEven(Number) return (type(Number) == "number" and EvenNumbers[tonumber(string["sub"](tostring(Number), #tostring(Number), #tostring(Number)))] and true) or false end

Example :

EvenNumbers = {[0] = true; [2] = true; [4] = true; [6] = true; [8] = true}

function isNumberEven(Number) return (type(Number) == "number" and EvenNumbers[tonumber(string["sub"](tostring(Number), #tostring(Number), #tostring(Number)))] and true) or false end


NumbersToCheck = {1; 2; 20; 95; 32; 33}

for _, Number in ipairs(NumbersToCheck) do
	outputChatBox(isNumberEven(Number) and "Even" or "Odd")
end

المثال يتحقق من نوعية الارقام في الجدول اللي متغير : NumbersToCheck

ويطلع النوعية في الشات

  • Like 1
Link to comment
3 minutes ago, #DABL said:

isNumberEven

الوظيفة : يتحقق اذا كان الرقم زوجي

Syntax : 


boolean isNumberEven(int/float number)

Returns : قيمة منطقية توضح نوعية الرقم

Source Code : 

 


EvenNumbers = {[0] = true; [2] = true; [4] = true; [6] = true; [8] = true}

function isDouble(Number) return (type(Number) == "number" and Number ~= 0.0 and string.find(tostring(Number), "%.") and true) or false end

function isNumberEven(Number) return (type(Number) == "number" and EvenNumbers[tonumber(string["sub"](tostring(Number), #tostring(Number), #tostring(Number)))] and true) or false end

Example :


EvenNumbers = {[0] = true; [2] = true; [4] = true; [6] = true; [8] = true}

function isNumberEven(Number) return (type(Number) == "number" and EvenNumbers[tonumber(string["sub"](tostring(Number), #tostring(Number), #tostring(Number)))] and true) or false end


NumbersToCheck = {1; 2; 20; 95; 32; 33}

for _, Number in ipairs(NumbersToCheck) do
	outputChatBox(isNumberEven(Number) and "Even" or "Odd")
end

المثال يتحقق من نوعية الارقام في الجدول اللي متغير : NumbersToCheck

ويطلع النوعية في الشات

رآئع جدا

Link to comment
22 hours ago, #DABL said:

isNumberEven

الوظيفة : يتحقق اذا كان الرقم زوجي

Syntax : 


boolean isNumberEven(int/float number)

Returns : قيمة منطقية توضح نوعية الرقم

Source Code : 

 


EvenNumbers = {[0] = true; [2] = true; [4] = true; [6] = true; [8] = true}

function isDouble(Number) return (type(Number) == "number" and Number ~= 0.0 and string.find(tostring(Number), "%.") and true) or false end

function isNumberEven(Number) return (type(Number) == "number" and EvenNumbers[tonumber(string["sub"](tostring(Number), #tostring(Number), #tostring(Number)))] and true) or false end

Example :


EvenNumbers = {[0] = true; [2] = true; [4] = true; [6] = true; [8] = true}

function isNumberEven(Number) return (type(Number) == "number" and EvenNumbers[tonumber(string["sub"](tostring(Number), #tostring(Number), #tostring(Number)))] and true) or false end


NumbersToCheck = {1; 2; 20; 95; 32; 33}

for _, Number in ipairs(NumbersToCheck) do
	outputChatBox(isNumberEven(Number) and "Even" or "Odd")
end

المثال يتحقق من نوعية الارقام في الجدول اللي متغير : NumbersToCheck

ويطلع النوعية في الشات

نوب

Link to comment

dxDrawBorderedRectangle

طريقة الإستعمال ؟ : 

 
  1. bool DxDrawBorderedRectangle ( float x, float y, float width, float height, int colorRectangle, int colorLine, [ int thickness = 1, bool postGUI = false ] )

colorRectangle : لون المستطيل

colorLine : لون الخطوط اللي بتكون محطية في المستطيل

thickness : سمك الخطوط ، يمديك تستعملها ك Hover مثلآ

 

 
  1. function DxDrawBorderedRectangle( x, y, width, height, color1, color2, _width, postGUI )
  2. local _width = _width or 1
  3. dxDrawRectangle ( x+1, y+1, width-1, height-1, color1, postGUI )
  4. dxDrawLine ( x, y, x+width, y, color2, _width, postGUI ) -- Top
  5. dxDrawLine ( x, y, x, y+height, color2, _width, postGUI ) -- Left
  6. dxDrawLine ( x, y+height, x+width, y+height, color2, _width, postGUI ) -- Bottom
  7. dxDrawLine ( x+width, y, x+width, y+height, color2, _width, postGUI ) -- Right
  8. end

ليش مسويها ؟ عشان تختصر عليك الوقت في الموازنة وتسهل عليك الحوسة هههه

<lua>https://wiki.multitheftauto.com/wiki/DxDrawBorderedRectangle</lua>

Edited by coNolel
Link to comment
14 minutes ago, coNolel said:

dxDrawBorderedRectangle

طريقة الإستعمال ؟ : 


 
  1. bool DxDrawBorderedRectangle ( float x, float y, float width, float height, int colorRectangle, int colorLine, [ int thickness = 1, bool postGUI = false ] )

colorRectangle : لون المستطيل

colorLine : لون الخطوط اللي بتكون محطية في المستطيل

thickness : سمك الخطوط ، يمديك تستعملها ك Hover مثلآ

 


 
  1. function DxDrawBorderedRectangle( x, y, width, height, color1, color2, _width, postGUI )
  2. local _width = _width or 1
  3. dxDrawRectangle ( x+1, y+1, width-1, height-1, color1, postGUI )
  4. dxDrawLine ( x, y, x+width, y, color2, _width, postGUI ) -- Top
  5. dxDrawLine ( x, y, x, y+height, color2, _width, postGUI ) -- Left
  6. dxDrawLine ( x, y+height, x+width, y+height, color2, _width, postGUI ) -- Bottom
  7. dxDrawLine ( x+width, y, x+width, y+height, color2, _width, postGUI ) -- Right
  8. end

ليش مسويها ؟ عشان تختصر عليك الوقت في الموازنة وتسهل عليك الحوسة هههه

<lua>https://wiki.multitheftauto.com/wiki/DxDrawBorderedRectangle</lua>

خخخخخخخ يخوي نسق ردك :) وحط فايدتها

Link to comment
  • 3 weeks later...

ما ادري لو سواهم احد قبلي ولا لا

وما ادري صحيحين او لا المهم

بسم الله نبدا

countElementsInInterior

وظيفة حساب عدد الالمنت في البيت او المكان الداخلي

Shared Function

Syntax :

?
countElementsInInterior(element elmenttype , int int)
  1. Required Arguments :
  • elementtype: نوع الالمنت اللي تبي تجيب
  • int: رقم المكان الداخلي او البيت زي ما تسمونه

Returns

ترجع لك بعدد الالمنت الموجودين في البيت او المكان الداخلي

Code:

function countElementsInInterior(elementtype,int)
    local countplayersinInterior=0
      for k,v in ipairs(getElementsByType(elementtype)) do
        if getElementInterior(v)==int then
		countplayersinInterior=countplayersinInterior+1
        end
      end
      return countplayersinInterior
end

 

Example:

addCommandHandler('count',function()
    local players=countElementsInInterior('player',5)
    outputChatBox('the player count is'..players,255,255,255,true)
    end)

getElementsInInterior

وظيفة جلب الالمنت في المكان الداخلي او البيت

Shared Function
 

Syntax :

?
getElementsInInterior(element elementtype,int int)
  1. Required Arguments :
  • elementtype: نوع الالمنت اللي تبي تجيب
  • int: رقم المكان الداخلي او البيت زي ما تسمونه

Returns:

تشبه اللي قبلها كثير لكن هذي ترجع لك بالالمنت اللي داخل المكان الداخلي نفسه

Code:

function getElementsInInterior(elementtype,int)
    local playersinInterior={}
      for k,v in ipairs(getElementsByType(elementtype)) do
        if getElementInterior(v)==int then
		table.insert(playersinInterior,v)
        end
      end
      return playersinInterior
end

 

Example:

addCommandHandler('count',function()
    local players=getElementsInInterior('player',5)
    for k,v in ipiars(players) do
    outputChatBox(getPlayerName(v),255,255,255,true)
      end
    end)

 

Edited by Master_MTA
  • Like 1
Link to comment
9 hours ago, Master_MTA said:

ما ادري لو سواهم احد قبلي ولا لا

وما ادري صحيحين او لا المهم

بسم الله نبدا

countElementsInInterior

وظيفة حساب عدد الالمنت في البيت او المكان الداخلي

Shared Function

Syntax :

?

countElementsInInterior(element elmenttype , int int)
  1. Required Arguments :
  • elementtype: نوع الالمنت اللي تبي تجيب
  • int: رقم المكان الداخلي او البيت زي ما تسمونه

Returns

ترجع لك بعدد الالمنت الموجودين في البيت او المكان الداخلي

Code:


function countElementsInInterior(elementtype,int)
    local countplayersinInterior=0
      for k,v in ipairs(getElementsByType(elementtype)) do
        if getElementInterior(v)==int then
		countplayersinInterior=countplayersinInterior+1
        end
      end
      return countplayersinInterior
end

 

Example:


addCommandHandler('count',function()
    local players=countElementsInInterior('player',5)
    outputChatBox('the player count is'..players,255,255,255,true)
    end)

getElementsInInterior

وظيفة جلب الالمنت في المكان الداخلي او البيت

Shared Function
 

Syntax :

?

getElementsInInterior(element elementtype,int int)
  1. Required Arguments :
  • elementtype: نوع الالمنت اللي تبي تجيب
  • int: رقم المكان الداخلي او البيت زي ما تسمونه

Returns:

تشبه اللي قبلها كثير لكن هذي ترجع لك بالالمنت اللي داخل المكان الداخلي نفسه

Code:


function getElementsInInterior(elementtype,int)
    local playersinInterior={}
      for k,v in ipairs(getElementsByType(elementtype)) do
        if getElementInterior(v)==int then
		table.insert(playersinInterior,v)
        end
      end
      return playersinInterior
end

 

Example:


addCommandHandler('count',function()
    local players=getElementsInInterior('player',5)
    for k,v in ipiars(players) do
    outputChatBox(getPlayerName(v),255,255,255,true)
      end
    end)

 

إيش الابداع ذا..
أكيد , تعليمي بيجي بـ نتيجة 

ههههههههههههههههه

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