Jump to content

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


Booo

Recommended Posts

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

اليوم وانا جالس اتعلم طريقة احفظ فيها الجداول في السكل بستخدام ( التوجوسن, فروم جوسن ) سويت 2 يوزفل فنكشن

يمكن تفيد المبتدئين ? المهم حبيت انشرها بدال م اجلس محتفظ فيها

 

setTableToSql

getTableFromSql

نبدا بالاول

x[ setTableToSql ]x

السانتكس \ Syntax

setTableToSql( id, theTable )

id = ايدي او رقم الجدول الي تبي تحفظة

theTable = اسم الجدول الي تبي تحفظة بالسكل

 الكود \ Code

executeSQLQuery ('CREATE TABLE IF NOT EXISTS Table_System (ID, myTable)')

function setTableToSql( id, theTable )
    local Results = executeSQLQuery("SELECT myTable FROM `Table_System` WHERE ID=?", id ) 
     if ( type ( Results ) == "table" and #Results == 0 or not Results ) then 
		executeSQLQuery ( "INSERT INTO `Table_System` ( ID, myTable ) VALUES(?, ?)",id , toJSON ( theTable ) )
    else 
        executeSQLQuery('UPDATE `Table_System` SET myTable =? WHERE ID =?',toJSON ( theTable ),id ) 
    end  
end

مثآل \ Examble

Table = {
  {"I'm"},
  {"The"},
  {"King"},
 }
  addEventHandler( "onResourceStop",resourceRoot,
function()
setTableToSql( 1, Table)
end )

 

x[ getTableFromSql ] x

طبعًا الوضيفة سواها لي عبد الكريم وانا عدلت عليها وضفت ارقمنت الايدي عشان لو حاب يضيف اكثر من جدول @Abdul KariM

السانتكس \ Syntax

getTableFromSql ( id )

id = ايدي او رقم الجدول الي تبي تجيبة من السكل

 

 الكود \ Code

function getTableFromSql ( id )
	  
	local aRow = executeSQLQuery( "SELECT myTable FROM `Table_System` WHERE ID=?",id )

	if ( type ( aRow ) == "table" and #aRow == 0 ) or not aRow then return {""} end	
	
		return fromJSON ( aRow [1] [ "myTable" ] )
	end

مثآل \ Examble

TableT = {}

addEventHandler( "onResourceStart",resourceRoot,
function()
local table = getTableFromSql( 1 )
	if table then
		TableT = table
	end
end )

 

Edited by N3xT
Edited as required
  • Like 1
  • Thanks 1
Link to comment
On 8/6/2018 at 00:35, *RayaN-Alharbi. said:

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

اليوم وانا جالس اتعلم طريقة احفظ فيها الجداول في السكل بستخدام ( التوجوسن, فروم جوسن ) سويت 2 يوزفل فنكشن

يمكن تفيد المبتدئين :\ المهم حبيت انشرها بدال م اجلس محتفظ فيها

نبدا بالاول

x[ setTableToSql ]x

السانتكس \ Syntax


setTableToSql( id, theTable )

id = ايدي او رقم الجدول الي تبي تحفظة

theTable = اسم الجدول الي تبي تحفظة بالسكل

 الكود \ Code


executeSQLQuery ('CREATE TABLE IF NOT EXISTS Table_System (ID, myTable)')

function setTableToSql( id, theTable )
    local Results = executeSQLQuery("SELECT myTable FROM `Table_System` WHERE ID=?", id ) 
     if ( type ( Results ) == "table" and #Results == 0 or not Results ) then 
		executeSQLQuery ( "INSERT INTO `Table_System` ( ID, myTable ) VALUES(?, ?)",id , toJSON ( theTable ) )
    else 
        executeSQLQuery('UPDATE `Table_System` SET myTable =? WHERE ID =?',toJSON ( theTable ),id ) 
    end  
end

مثآل \ Examble


Table = {
  {"I'm"},
  {"The"},
  {"King"},
 }
  addEventHandler( "onResourceStop",resourceRoot,
function()
setTableToSql( 1, Table)
end )

 

x[ getTableFromSql ] x

طبعًا الوضيفة سواها لي عبد الكريم وانا عدلت عليها وضفت ارقمنت الايدي عشان لو حاب يضيف اكثر من جدول @Abdul KariM

السانتكس \ Syntax


getTableFromSql ( id )

id = ايدي او رقم الجدول الي تبي تجيبة من السكل

 

 الكود \ Code


function getTableFromSql ( id )
	  
	local aRow = executeSQLQuery( "SELECT myTable FROM `Table_System` WHERE ID=?",id )

	if ( type ( aRow ) == "table" and #aRow == 0 ) or not aRow then return {""} end	
	
		return fromJSON ( aRow [1] [ "myTable" ] )
	end

مثآل \ Examble


TableT = {}

addEventHandler( "onResourceStart",resourceRoot,
function()
local table = getTableFromSql( 1 )
	if table then
		TableT = table
	end
end )

 

وظيفة حلوة ومفيدة  صراحة , أهنيك

Link to comment

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

getPlayersInVehicles ( int dimension )

 

فائدة الوظيفة, تجيب لك اللاعبين اللي بداخل السيارة من عالم معين

function getPlayersInVehicles ( dimension )
	local players = { }
	if ( dimension ) then
		local dimension = tonumber ( dimension )
		if ( type ( dimension ) == "number" ) then
			for _, v in ipairs ( getElementsByType ( "player" ) ) do
				if ( getPedOccupiedVehicle ( v ) and getElementDimension ( v ) == dimension ) then
					table.insert ( players, v )
				end
			end
		else
			outputDebugString ( "Bad argument @ 'getPlayersInVehicles' [Expected number at argument 1, got " .. type ( dimension ) .. "]", 2 )
			return false
		end
	else
		outputDebugString ( "Bad argument @ 'getPlayersInVehicles' [Expected number at argument 1, got " .. type ( dimension ) .. "]", 2 )
		return false
	end
	return players
end	

 

القيمة ترجع لك جدول باللاعبين, نشوف مثال للإستخدام

addCommandHandler ( "playersCount",
	function ( player, cmd, dim )
		local players = getPlayersInVehicles ( dim )
		outputChatBox(#players, player)
	end
)

 

https://wiki.multitheftauto.com/wiki/GetPlayersInVehicles :صفحة الويكي

وشكراً

Edited by N3xT
  • Like 2
Link to comment
Just now, N3xT said:

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


getPlayersInVehicles ( int dimension )

 

فائدة الوظيفة, تجيب لك اللاعبين اللي بداخل السيارة من عالم معين


function getPlayersInVehicles ( dimension )
	local players = { }
	if ( dimension ) then
		local dimension = tonumber ( dimension )
		if ( type ( dimension ) == "number" ) then
			for _, v in ipairs ( getElementsByType ( "player" ) ) do
				if ( getPedOccupiedVehicle ( v ) and getElementDimension ( v ) == dimension ) then
					table.insert ( players, v )
				end
			end
		else
			outputDebugString ( "Bad argument @ 'getPlayersInVehicles' [Expected number at argument 1, got " .. type ( dimension ) .. "]", 2 )
			return false
		end
	else
		outputDebugString ( "Bad argument @ 'getPlayersInVehicles' [Expected number at argument 1, got " .. type ( dimension ) .. "]", 2 )
		return false
	end
	return players
end	

 

القيمة ترجع لك جدول باللاعبين, نشوف مثال للإستخدام


addCommandHandler ( "playersCount",
	function ( player, cmd, dim )
		local players = getPlayersInVehicles ( dim )
		outputChatBox(#players, player)
	end
)

 

وشكراً

وظيفة رائعة كنت ادورها من زمان

واصل

  • Like 1
Link to comment
3 hours ago, N3xT said:

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


getPlayersInVehicles ( int dimension )

 

فائدة الوظيفة, تجيب لك اللاعبين اللي بداخل السيارة من عالم معين


function getPlayersInVehicles ( dimension )
	local players = { }
	if ( dimension ) then
		local dimension = tonumber ( dimension )
		if ( type ( dimension ) == "number" ) then
			for _, v in ipairs ( getElementsByType ( "player" ) ) do
				if ( getPedOccupiedVehicle ( v ) and getElementDimension ( v ) == dimension ) then
					table.insert ( players, v )
				end
			end
		else
			outputDebugString ( "Bad argument @ 'getPlayersInVehicles' [Expected number at argument 1, got " .. type ( dimension ) .. "]", 2 )
			return false
		end
	else
		outputDebugString ( "Bad argument @ 'getPlayersInVehicles' [Expected number at argument 1, got " .. type ( dimension ) .. "]", 2 )
		return false
	end
	return players
end	

 

القيمة ترجع لك جدول باللاعبين, نشوف مثال للإستخدام


addCommandHandler ( "playersCount",
	function ( player, cmd, dim )
		local players = getPlayersInVehicles ( dim )
		outputChatBox(#players, player)
	end
)

 

https://wiki.multitheftauto.com/wiki/GetPlayersInVehicles :صفحة الويكي

وشكراً

كان بإمكانك تضيف أرقمنت لـ الـ
seat
مثلاً يمكن شخص يبي السائقين فقط , رح يظهرله الكل *
بالتوفيق 

Link to comment

مرحباً , كنت فاضي اليوم وجات ببالي فكرة وظيفة مدري هي مفيدة او لا , 

المهم الوظيفة تجيب لك حالة المركبة , لو كانت منحرقه او لا . 

Source Code : 

function isVehicleFire ( vehicle )
if ( vehicle and isElement ( vehicle ) and getElementType ( vehicle ) == "vehicle" ) then 
return ( math.floor ( getElementHealth ( vehicle ) ) <= 249 and true or false )
end
end

vehicle : المركبة الي تبي تحقق هل هي منحرقة او لا

Ex : 

function isVehicleFire ( vehicle )
if ( vehicle and isElement ( vehicle ) and getElementType ( vehicle ) == "vehicle" ) then 
return ( math.floor ( getElementHealth ( vehicle ) ) <= 249 and true or false )
end
end

addCommandHandler ( "checkCar" , function (  ) 
if ( getPedOccupiedVehicle ( localPlayer ) ) then 
outputChatBox("Vehicle Fire State : "..( isVehicleFire ( getPedOccupiedVehicle ( localPlayer ) ) and "Yes" or "No" ))
end
end ) 

اتمنى تكون مفيدة , بالتوفيق للجميع .

  • Like 3
Link to comment
function guiGridListSetRowEnabled(gridlist, row, column, bool)
	if not gridlist or getElementType(gridlist) ~= "gui-gridlist" or not tonumber(row) or not tonumber(column) then
		error(not gridlist and "error guiGridListSetRowEnabled expected element at argument #1 got ("..(type(gridlist) or getElementType(gridlist))..")" or not tonumber(row) and "error guiGridListSetRowEnabled expected row number at arg #1 got ("..type(row)..")" or not tonumber(column) and "error guiGridListSetRowEnabled expected column number at arg #1 got ("..type(column)..")")
		return false
	else
		local rowData = {guiGridListGetItemText(gridlist, row, column), guiGridListGetItemData(gridlist, row, column), {guiGridListGetItemColor(gridlist, row, column)}}
		guiGridListRemoveRow(gridlist, row)
		newRow = guiGridListInsertRowAfter(gridlist, row-1)
		guiGridListSetItemText(gridlist, newRow, column, not bool and "   "..rowData[1] or rowData, not bool, false)
		guiGridListSetItemColor(gridlist, newRow, column, rowData[3][1], rowData[3][2], rowData[3][3])
		guiGridListSetItemData(gridlist, newRow, column, rowData[2])
		return newRow
	end
end

guiGridListSetRowEnabled

من اسمها 

تفعل الرو او تغلقه ( يعني ما تقدر تحدده او العكس ) .. الوظيفه كنت مسويها من زمان و افتكرتها الحين 

حبيت اطرحها و خلاص للي يستفيد بها 

+

اسف يا عبد الكريم لو حطيتها بوقت غلط ,,, + وظيفه ممتازه حقك  بالتوفيق

Edited by #َxLysandeR
Link to comment
5 minutes ago, #َxLysandeR said:

حبيت اطرحها و خلاص للي يستفيد بها 

 

وظيفه ممتازه لكن يمديك تطور فييها شوية اشياء مثلا

تحط

argument column

اختياري

بحيث لو ما حدد

column

يسوي لوب على كل الكولمن حقة الجريد ويسكرها فيها هذا اقتراح

+

في خطا بسيط

newRow

خليه لوكال عشان لا تحوس الدنيا

xDxD 

بس صراحه وضيفه ممتازه

 

Link to comment
2 hours ago, Master_MTA said:

وظيفه ممتازه لكن يمديك تطور فييها شوية اشياء مثلا

تحط

argument column

اختياري

بحيث لو ما حدد

column

يسوي لوب على كل الكولمن حقة الجريد ويسكرها فيها هذا اقتراح

+

في خطا بسيط

newRow

خليه لوكال عشان لا تحوس الدنيا

xDxD 

بس صراحه وضيفه ممتازه

 

لول ما اخدت بالي من اللوكل ههه مشكور علي التنبيه + فكره حلوه ولله 

بصلحها و اطورها لما ارجع البيت

  • Like 1
Link to comment
15 hours ago, Abdul KariM said:

isElementInMarker

 

وظيفتك صحيحة، بس تقدر تخليها مختصرة وأكثر دقة
Marker مرتبط معها ومنها الـ ColShape إن بعض العناصر عندها Wiki حسب كلام الـ ،getElementColShape بوظيفة
بهذي الوظيفة Marker المرتبط مع الـ ColShape وبكذا تقدر تجيب هذا الـ
أو لا Marker عشان تتأكد إن العنصر موجود داخله أو لا، وبالتالي تعرف إنه موجود بالـ isElementWithinColShape بعدها تستخدم
.(سواء كانت من نوع محدد أم لا) ColShape عشان تجيب كل العناصر الموجودة في الـ getElementsWithinColShape أو تستعمل

  • Like 1
Link to comment
57 minutes ago, #CroSs said:

وظيفتك صحيحة، بس تقدر تخليها مختصرة وأكثر دقة
Marker مرتبط معها ومنها الـ ColShape إن بعض العناصر عندها Wiki حسب كلام الـ ،getElementColShape بوظيفة
بهذي الوظيفة Marker المرتبط مع الـ ColShape وبكذا تقدر تجيب هذا الـ
أو لا Marker عشان تتأكد إن العنصر موجود داخله أو لا، وبالتالي تعرف إنه موجود بالـ isElementWithinColShape بعدها تستخدم
.(سواء كانت من نوع محدد أم لا) ColShape عشان تجيب كل العناصر الموجودة في الـ getElementsWithinColShape أو تستعمل

ولكم كروس منور 

 

Link to comment
6 hours ago, #CroSs said:

وظيفتك صحيحة، بس تقدر تخليها مختصرة وأكثر دقة
Marker مرتبط معها ومنها الـ ColShape إن بعض العناصر عندها Wiki حسب كلام الـ ،getElementColShape بوظيفة
بهذي الوظيفة Marker المرتبط مع الـ ColShape وبكذا تقدر تجيب هذا الـ
أو لا Marker عشان تتأكد إن العنصر موجود داخله أو لا، وبالتالي تعرف إنه موجود بالـ isElementWithinColShape بعدها تستخدم
.(سواء كانت من نوع محدد أم لا) ColShape عشان تجيب كل العناصر الموجودة في الـ getElementsWithinColShape أو تستعمل

يالغالي انا جربت الوظائف هذي راح ترجع لي بأحداثيات خاطئة للماركر يعني

راح يقولي انك داخل الماركر وهذي صورة توضح الي اقوله isElementWithinColShape  لو انا خارج الماركر بمسافة بسيطة واستخدمت الوظيفة

EJlrLbD.png

الكود

local testMarker = createMarker ( 2492 , -1666 , 12.5 , "cylinder" , 3 , 255 , 255 , 255 , 120 )

local testPed = createPed ( 0 , 2490 , -1666 , 13 )

outputChatBox ( tostring ( isElementWithinColShape ( testPed , getElementColShape ( testMarker ) ) ) )	

 نفس الشي بالنسبة للي فوق وهذي صورة توضح getElementsWithinColShape ثاني شي لو استخدمت 

kZQ6VTf.png

والكود

local testMarker = createMarker ( 2492 , -1666 , 12.5 , "cylinder" , 3 , 255 , 255 , 255 , 120 )

local testPed = createPed ( 0 , 2490 , -1666 , 13 )

outputChatBox ( tostring ( #getElementsWithinColShape ( getElementColShape ( testMarker  ) , "ped" ) ) )	

فـ كلامك خاطئ من حيث الدقة والافضل بينما لو تجرب الوظائف الي حطيتها انا راح تكون دقيقة بأذن الله

ولاهنت ع المرور بالتوفيق

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

أستخدمت الاكواد الي حطيتها فوق

الاول جاني false 

الثاني جاني 0

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

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

local testMarker = createMarker ( 2492 , -1666 , 12.5 , "cylinder" , 3 , 255 , 255 , 255 , 120 )

local testPed = createPed ( 0 , 2492 , -1666 , 13 )

outputChatBox ( tostring ( isElementWithinColShape ( testPed , getElementColShape ( testMarker ) ) ) )	

مع ان البيد داخل الماركر false راح يطلع

وجرب استخدم هذا الكود سيرفر سايد

local testMarker = createMarker ( 2492 , -1666 , 12.5 , "cylinder" , 3 , 255 , 255 , 255 , 120 )

local testPed = createPed ( 0 , 2492 , -1666 , 13 )

outputChatBox ( tostring ( #getElementsWithinColShape ( getElementColShape ( testMarker  ) , "ped" ) ) )

راح يطلع لك 0 مع ان البيد داخل الماركر

ولاهنت على المرور ايضا

  • Like 1
Link to comment

كلأمك صحيح , بس لو استخدمت التايمر راح يجيب لك القيمة الصحيحة . 

local testMarker = createMarker ( 2492 , -1666 , 12.5 , "cylinder" , 3 , 255 , 255 , 255 , 120 )

local testPed = createPed ( 0 , 2492 , -1666 , 13 )

setTimer(function()
outputChatBox ( tostring ( isElementWithinColShape ( testPed , getElementColShape ( testMarker ) ) ) )	
end,700,1)

 

Link to comment
1 minute ago, Trefeor said:

كلأمك صحيح , بس لو استخدمت التايمر راح يجيب لك القيمة الصحيحة . 


local testMarker = createMarker ( 2492 , -1666 , 12.5 , "cylinder" , 3 , 255 , 255 , 255 , 120 )

local testPed = createPed ( 0 , 2492 , -1666 , 13 )

setTimer(function()
outputChatBox ( tostring ( isElementWithinColShape ( testPed , getElementColShape ( testMarker ) ) ) )	
end,700,1)

 

كلامك صحيح بس جرب الكود هذا وشوف القيمة والفرق

local testMarker = createMarker ( 2492 , -1666 , 12.5 , "cylinder" , 3 , 255 , 255 , 255 , 120 )

local testPed = createPed ( 0 , 2493.9 , -1666 , 13 )

setTimer(function()
outputChatBox ( tostring ( isElementWithinColShape ( testPed , getElementColShape ( testMarker ) ) ) )	
end,700,1)

 

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