Jump to content

طلب


Recommended Posts

عايز اسوي لوحة
ومن اللوحة دي اعمل ماركرات حماية
للاعب اللي داس على الزر بتاع انشاء حماية
وزر تاني يقفل ماكر الحماية ويكون حجم الماركر 10
ويكون مخفي الماركر دا ولما الاعب يمشي الماكر يمشي معاه
هاتوا اكود او فنكشات وهحاول اعمله معاكم ولو في مشكلة هقولكم

Link to comment
4 hours ago, Omar Aly said:

عايز اسوي لوحة
ومن اللوحة دي اعمل ماركرات حماية
للاعب اللي داس على الزر بتاع انشاء حماية
وزر تاني يقفل ماكر الحماية ويكون حجم الماركر 10
ويكون مخفي الماركر دا ولما الاعب يمشي الماكر يمشي معاه
هاتوا اكود او فنكشات وهحاول اعمله معاكم ولو في مشكلة هقولكم

1 - عشان تعمل لوحة

guiCreateWindow

guiCreateButton

2 - لما يدوس علي زر انشاء الماركر

"onClientGUIClick" -- حدث الضغط علي الزر

triggerServerEvent(  ) -- لانشاء الماركر + للتحقق هل هي موجودة ام لا

isElement( yourMarker ) -- للتحقق من ان الماركر موجود ولا لا عشان لا يفضل يكرر

createMarker(  ) -- لانشاء الماركر

triggerClientEvent(  ) -- تبعت تريقر للكلنت بالاعب عشان تلغي حدث ضرب

"onClientPlayerDamage" + cancelEvent( true ) -- الغاء حدث الضرب

3 - لو تبي الماركر يمشي مع الاعب

"onClientRender" -- لتحديث احداثيات الاعب كل فريم + عشان يخلي مركز او مكان الماركر مع احداثيات الاعب

getElementPosition(  ) -- لجلب احداثيات الاعب

setElementPosition(  ) -- لتغير احداثيات الماركر مع الاعب

4 - لاخفاء الماركر

setElementAlpha( yourMarker , 0 ) -- لاخفاء الماركر
setElementAlpha( yourMarker , 100 ) -- لاظهار الماركر

بالتوفيق

Link to comment
1 hour ago, KillerX said:

 

 

3 - لو تبي الماركر يمشي مع الاعب


"onClientRender" -- لتحديث احداثيات الاعب كل فريم + عشان يخلي مركز او مكان الماركر مع احداثيات الاعب

getElementPosition(  ) -- لجلب احداثيات الاعب

setElementPosition(  ) -- لتغير احداثيات الماركر مع الاعب

 

بالتوفيق

attachElements

 

Link to comment

علمت كل اللي فوق .. بس في حاجات مش فاهمها
زي
 

"onClientPlayerDamage" + cancelEvent( true ) -- الغاء حدث الضرب

و

isElement( yourMarker ) -- للتحقق من ان الماركر موجود ولا لا عشان لا يفضل 

يكرر

ودي محولاتي ..

-- Client
if source == button then
triggerServerEvent("Hmaia",getLocalPlayer())

-- server
local x, y, z = getElementPosition ( source ) 
local theMarker = createMarker ( x, y, z, "cylinder", 1.5, 255, 255, 0, 170 )
attachElements ( theMarker, source )

الماركر بيجي وبيمشي معايا وتمام بس عايز محدش يقدر يقتلنى ولما يدخل الماركر معايا سلاحة يتسحب وميقدرش يجيبة تاني غير لما يخرج من الماركر
+
عايز اختار حجم الماركر اكتبة في ايديت هاتوا فنكشات فقط وهحاول
المهم بس عايز شرح
للي فوق عشان مش فاهمهم
@NX_CI
@KillerX

 

Link to comment
14 minutes ago, Omar Aly said:
  1. -- Client
  2. if source == button then
  3. triggerServerEvent("Hmaia",getLocalPlayer())
  4.  
  5. -- server
  6. local x, y, z = getElementPosition ( source )
  7. local theMarker = createMarker ( x, y, z, "cylinder", 1.5, 255, 255, 0, 170 )
  8. attachElements ( theMarker, source )

 

17 minutes ago, Omar Aly said:

الماركر بيجي وبيمشي معايا وتمام بس عايز محدش يقدر يقتلنى ولما يدخل الماركر معايا سلاحة يتسحب وميقدرش يجيبة تاني غير لما يخرج من الماركر

onMarkerHit -- للتحقق أن اللاعب دخل,,
getElementType -- عشان تتحقق الي دخل لاعب أو لا,,
toggleControl -- عشان يقفل التحكم مثلاً إذا صوب أو شيء,,
onPlayerDamage -- اذا اللاعب دمج
cancelEvent() -- تكنسل التدمج,,

 

Link to comment
'onMarkerHit'

getPedWeapons ( ped thePed )

[[ getPedWeapons source code :

function getPedWeapons(ped)
	local playerWeapons = {}
	if ped and isElement(ped) and getElementType(ped) == "ped" or getElementType(ped) == "player" then
		for i=2,9 do
			local wep = getPedWeapon(ped,i)
			if wep and wep ~= 0 then
				table.insert(playerWeapons,wep)
			end
		end
	else
		return false
	end
	return playerWeapons
end
]]

-- قبل لاتسوي لوب للاسلحة سوي جدول جديد
wpn_table={}

-- سوي لوب للجدول عشان تجيب القيم من الدالة اللي فوق , هي ترجع لك جدول
key, value -- المفتاح و القيمة من اللوب تجيبهم
wpn_table[key]=value or table.insert(wpn_table,value)
takeWeapon -- خذ اسلحة اللاعب من داخل اللوب طبعاً بحيث يكون الارقمنت الثاني للدالة هذي هو القيمة اللي تحصل عليها من اللوب

'onMarkerLeave'

-- loop (wpn_table)
giveWeapon(player, value)

 

Edited by NX_CI
Link to comment
24 minutes ago, NX_CI said:

'onMarkerHit'

getPedWeapons ( ped thePed )

[[ getPedWeapons source code :

function getPedWeapons(ped)
	local playerWeapons = {}
	if ped and isElement(ped) and getElementType(ped) == "ped" or getElementType(ped) == "player" then
		for i=2,9 do
			local wep = getPedWeapon(ped,i)
			if wep and wep ~= 0 then
				table.insert(playerWeapons,wep)
			end
		end
	else
		return false
	end
	return playerWeapons
end
]]

-- قبل لاتسوي لوب للاسلحة سوي جدول جديد
wpn_table={}

-- سوي لوب للجدول عشان تجيب القيم من الدالة اللي فوق , هي ترجع لك جدول
key, value -- المفتاح و القيمة من اللوب تجيبهم
wpn_table[key]=value or table.insert(wpn_table,value)
takeWeapon -- خذ اسلحة اللاعب من داخل اللوب طبعاً بحيث يكون الارقمنت الثاني للدالة هذي هو القيمة اللي تحصل عليها من اللوب

'onMarkerLeave'

-- loop (wpn_table)
giveWeapon(player, value)

 



أشوف

toggleControl 

أحسن ,, من كل هاذي الحوسة

لو يدخل بتسوي فلوس
ولو يخرج بتسوي ترو,,

 

Edited by Guest
= \ كيف حالك أنت بس,
Link to comment
1 minute ago, DABL said:



أشوف


toggleControl 

أحسن ,, من كل هاذي الحوسة

لو يدخل بتسوي فلوس
ولو يخرج بتسوي ترو,,

 

 

هو قال يبغى يشيل سلاحه و ينسحب ما يقدر يجيبه مره ثانيه الا اذا طلع من الماركر 

59 minutes ago, Omar Aly said:

علمت كل اللي فوق .. بس في حاجات مش فاهمها
زي
 


"onClientPlayerDamage" + cancelEvent( true ) -- الغاء حدث الضرب

و


isElement( yourMarker ) -- للتحقق من ان الماركر موجود ولا لا عشان لا يفضل 

يكرر

ودي محولاتي ..


-- Client
if source == button then
triggerServerEvent("Hmaia",getLocalPlayer())

-- server
local x, y, z = getElementPosition ( source ) 
local theMarker = createMarker ( x, y, z, "cylinder", 1.5, 255, 255, 0, 170 )
attachElements ( theMarker, source )

الماركر بيجي وبيمشي معايا وتمام بس عايز محدش يقدر يقتلنى ولما يدخل الماركر معايا سلاحة يتسحب وميقدرش يجيبة تاني غير لما يخرج من الماركر
+
عايز اختار حجم الماركر اكتبة في ايديت هاتوا فنكشات فقط وهحاول
المهم بس عايز شرح
للي فوق عشان مش فاهمهم
@NX_CI
@KillerX

 

 

Link to comment
2 minutes ago, NX_CI said:

 

هو قال يبغى يشيل سلاحه و ينسحب ما يقدر يجيبه مره ثانيه الا اذا طلع من الماركر 

 

أها,, طيب

Link to comment

مش عارف اسويةة
@NX_CI





محاولة
 

function XxXxX ( )
local x, y, z = getElementPosition ( source ) 
local theMarker = createMarker ( x, y, z, "cylinder", 1.5, 255, 255, 0, 170 )
setElementAlpha( theMarker , 20 )
attachElements ( theMarker, source )
local wpn_table={}
for key, value  in ipairs(wpn_table) do
table.insert(wpn_table,value)
takeWeapon( key, wpn_table )
end
end
--addEvent( "Hmaia", true )
--addEventHandler( "Hmaia", root, XxXxX )
addEventHandler( "onMarkerHit", theMarker, XxXxX )

دا اللي عرفت اسوية ( حسب خبرتي ) خبرتي مش زي خبرتك :) 

 

Link to comment
wpn_table={}
markers={}

addEventHandler('onResourceStart', resourceRoot, -- تقدر تعدل الحدث ذا لحدث الترايقر اللي جاي من كلينت
	function()
		local players=getElementsByType('player');
		for sNumber, thePlayer in ipairs(players) do
			local x, y, z = getElementPosition ( thePlayer ) 
			markers[thePlayer] = createMarker ( x, y, z, "cylinder", 1.5, 255, 255, 0, 170 )
			setElementAlpha( markers[thePlayer] , 20 )
			attachElements ( markers[thePlayer], thePlayer )
		end
	end
)

-- مثال لحدث الترايقر
[[
addEvent('onTriggerEvent',true)
addEventHandler('onTriggerEvent', root,
	function(triggerValues)
		-- ملاحظة سورس = اللاعب اللي وضعت له ترايقر
		local x, y, z = getElementPosition ( source ) 
		markers[source] = createMarker ( x, y, z, "cylinder", 1.5, 255, 255, 0, 170 )
		setElementAlpha( markers[source] , 20 )
		attachElements ( markers[source], source )
	end
)
]]

function is( marker )
	if isElement(marker) and getElementType(marker) == "marker" then
		if #markers >= 1 then
			for k, v in ipairs(markers) do
				if v == marker then
					return true
				else
					return false
				end
			end
		else
			return false
		end
	end
	return false
end


function getMarkerPed( marker ) -- ممكن تحتاجها و ممكن لا
	if marker and isElement(marker) then
		if getElementType(marker) == "marker" then
			if #markers >= 1 then
				for k, _marker in ipairs (markers) do
					if marker == _marker then
						return k
					end
				end
			end
			return false
		end
		return false
	end
end

function getPedMarker( ped ) -- ممكن تحتاجها و ممكن لا
	if ped and isElement(ped) then
		if getElementType(ped) == "player" or getElementType(ped) == "ped" then
			if #markers >= 1 then
				for k, marker in ipairs (markers) do
					if k == ped then
						return marker
					end
				end
			end
			return false
		end
		return false
	end
end

function getPedWeapons(ped)
	local playerWeapons = {}
	if ped and isElement(ped) and getElementType(ped) == "ped" or getElementType(ped) == "player" then
		for i=2,9 do
			local wep = getPedWeapon(ped,i)
			if wep and wep ~= 0 then
				table.insert(playerWeapons,wep)
			end
		end
	else
		return false
	end
	return playerWeapons
end

function onMarkerHit( thePlayer )
	local marker=source
	if isElement(thePlayer) and getElementType(thePlayer)=='player' then
		for k, _marker in ipairs (markers) do
			if marker == _marker then
				wpn_table[thePlayer] = {}
				break
			end
		end
		if type(wpn_table[thePlayer])=='table' or wpn_table[thePlayer] then
			for _, weapon in ipairs (getPedWeapons(thePlayer)) do
				table.insert(wpn_table[thePlayer], weapon)
				takeWeapon( thePlayer, weapon )
			end
		end
	end
	return false
end

function onMarkerLeave( thePlayer )
	local marker=source
	if is(marker) then
		if isElement(thePlayer) and getElementType(thePlayer)=='player' then
			if wpn_table[thePlayer] and type(wpn_table[thePlayer])=='table' and #wpn_table[thePlayer] >= 1 then
				for theKey , weapon in ipairs (wpn_table[thePlayer]) do
					giveWeapon(thePlayer,weapon)
				end
				wpn_table[thePlayer]=nil
			end
			return false
		end
		return false
	else
		return false
	end
end

addEventHandler( "onMarkerLeave", getRootElement(), onMarkerLeave )
addEventHandler( "onMarkerHit", getRootElement(), onMarkerHit )

 

Edited by NX_CI
Link to comment
16 hours ago, Omar Aly said:

"onClientPlayerDamage" + cancelEvent( true ) -- الغاء حدث الضرب

الحدث دا كلينت

الحدث دا يتفعل لما الاعب ينضرب

وتقولي ليش ما احط حدث الضرب في السيرفر ؟؟

لان الحدث اللي في الكلنت ممكن يتلغي بس الحدث اللي في السيرفر لا يتلغي

ودا مثال لما حد يجي يضربك ما تنقص دمك

addEventHandler( 'onClientPlayerDamage' , root , 
	function(  )  	
    	cancelEvent( true )
   	end
)  

 

16 hours ago, Omar Aly said:

isElement( yourMarker ) -- للتحقق من ان الماركر موجود ولا لا عشان لا يفضل

كل وظيفتوا يتحقق هل الالمنت دا موجود ولا لا

يعني تم انشاءوا ولا لا

يعني قيمتوا

true

ولا

nil

addCommandHandler( '1' , 
	function( player )  	
    	if( isElement( ped ) ) then
      		destroyElement( ped )
     	else
      		local x,y,z = getElementPosition( player )
 		createPed( 0 , x ,y , z )     
      	end
   end
)  

@NX_CI

اظن انك مطول مرة في الكود حقك

-- Client --

function damage(  )
	cancelEvent( true )  
end

addEventHandler( 'onClientGUIClick' , yourButton , 
	function(  )  
    	if( guiGetText( source ) == 'انشاء الحماية' ) then    	
    		triggerServerEvent( 'createMarker' , localPlayer )
    		addEventHandler( 'onClientPlayerDamage' , root , damage )
			guiSetText( source , 'تدمير الحماية' )
		else
			triggerServerEvent( 'destroyMarker' , localPlayer )
			removeEventHandler( 'onClientPlayerDamage' , root , damage )
			guiSetText( source , 'انشاء الحماية' )
		end
    end , false
)

-- Server --
_Markers = { }

addEvent( 'createMarker' , true )
addEventHandler( 'createMarker' , root , 
	function(  )
    	local x , y , z = getElementPosition( source )
    	_Markers[ source ] = createMarker( x ,y , z-1 , 'cylinder' , 10 , 0 , 255 , 0 , 255 )
    	attachElements( _Markers[ source ] , source )
    	setPedWeaponSlot( source , 0 )
    	for i , control in pairs( {'next_weapon','previous_weapon'} ) do
    		toggleControl( source , control , false )
     	end
    end
)

addEvent( 'destroyMarker' , true )
addEventHandler( 'destroyMarker' , root ,
	function(  )
		destroyElement( _Markers[ source ] )
		for i , control in pairs( {'next_weapon','previous_weapon'} ) do
			toggleControl( source , control , true )
     	end
	end
)

وثانيا ازاي انتا عامل ايفينت خروج ودخول الاعب من الماركر والماركر لازق فية : |

بالتوفيق

Link to comment
17 hours ago, Omar Aly said:

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

اولا لازم تخلي الايديت لا يستقبل الا ارقام فقط

addEventHandler( 'onClientGUIChanged' , yourEdit , 
	function(  )  
    	text = guiGetText( yourEdit )
    	guiSetText( yourEdit , text:gsub( '[^0-9]' , '' ) )
    end , false
)  

ثاينا

-- Client --
addEventHandler( 'onClientGUIAccepted' , yourEdit , 
	function(  )  
    	if( guiGetText( source ) == '' ) then
      		local t = 'يرجي كتابة رقم لحجم الماركر'
      		return outputChatBox( t , 255 , 0 , 0 , true )
     	end
    	triggerServerEvent( 'setSize' , localPlayer , guiGetText( source ) )
    end , false
)

--Server--
addEvent( 'setSize' , true )
addEventHandler( 'setSize' , root , 
	function( size )  
    	if( isElement( _Markers[ source ] ) ) then
      		setMarkerSize(  _Markers[ source ] , tonumber( size ) )
      	else
      		local t = 'يرجي انشاء الحماية اولا'
 			outputChatBox( t , 255 , 0 , 0 , true )     
      	end
   	end
)  

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

+

لاسم الايديت بوكس حقك yourEdit لا تنسي تغير 

Link to comment
40 minutes ago, KillerX said:

الحدث دا كلينت

الحدث دا يتفعل لما الاعب ينضرب

وتقولي ليش ما احط حدث الضرب في السيرفر ؟؟

لان الحدث اللي في الكلنت ممكن يتلغي بس الحدث اللي في السيرفر لا يتلغي

ودا مثال لما حد يجي يضربك ما تنقص دمك


addEventHandler( 'onClientPlayerDamage' , root , 
	function(  )  	
    	cancelEvent( true )
   	end
)  

 

كل وظيفتوا يتحقق هل الالمنت دا موجود ولا لا

يعني تم انشاءوا ولا لا

يعني قيمتوا

true

ولا

nil


addCommandHandler( '1' , 
	function( player )  	
    	if( isElement( ped ) ) then
      		destroyElement( ped )
     	else
      		local x,y,z = getElementPosition( player )
 		createPed( 0 , x ,y , z )     
      	end
   end
)  

@NX_CI

اظن انك مطول مرة في الكود حقك


-- Client --

function damage(  )
	cancelEvent( true )  
end

addEventHandler( 'onClientGUIClick' , yourButton , 
	function(  )  
    	if( guiGetText( source ) == 'انشاء الحماية' ) then    	
    		triggerServerEvent( 'createMarker' , localPlayer )
    		addEventHandler( 'onClientPlayerDamage' , root , damage )
			guiSetText( source , 'تدمير الحماية' )
		else
			triggerServerEvent( 'destroyMarker' , localPlayer )
			removeEventHandler( 'onClientPlayerDamage' , root , damage )
			guiSetText( source , 'انشاء الحماية' )
		end
    end , false
)

-- Server --
_Markers = { }

addEvent( 'createMarker' , true )
addEventHandler( 'createMarker' , root , 
	function(  )
    	local x , y , z = getElementPosition( source )
    	_Markers[ source ] = createMarker( x ,y , z-1 , 'cylinder' , 10 , 0 , 255 , 0 , 255 )
    	attachElements( _Markers[ source ] , source )
    	setPedWeaponSlot( source , 0 )
    	for i , control in pairs( {'next_weapon','previous_weapon'} ) do
    		toggleControl( source , control , false )
     	end
    end
)

addEvent( 'destroyMarker' , true )
addEventHandler( 'destroyMarker' , root ,
	function(  )
		destroyElement( _Markers[ source ] )
		for i , control in pairs( {'next_weapon','previous_weapon'} ) do
			toggleControl( source , control , true )
     	end
	end
)

وثانيا ازاي انتا عامل ايفينت خروج ودخول الاعب من الماركر والماركر لازق فية : |

بالتوفيق

حبيبي افهم ايش طالب هو اول , اقرأ الموضوع

Link to comment
18 hours ago, Omar Aly said:

علمت كل اللي فوق .. بس في حاجات مش فاهمها
زي
 


"onClientPlayerDamage" + cancelEvent( true ) -- الغاء حدث الضرب

و


isElement( yourMarker ) -- للتحقق من ان الماركر موجود ولا لا عشان لا يفضل 

يكرر

ودي محولاتي ..


-- Client
if source == button then
triggerServerEvent("Hmaia",getLocalPlayer())

-- server
local x, y, z = getElementPosition ( source ) 
local theMarker = createMarker ( x, y, z, "cylinder", 1.5, 255, 255, 0, 170 )
attachElements ( theMarker, source )

الماركر بيجي وبيمشي معايا وتمام بس عايز محدش يقدر يقتلنى ولما يدخل الماركر معايا سلاحة يتسحب وميقدرش يجيبة تاني غير لما يخرج من الماركر
+
عايز اختار حجم الماركر اكتبة في ايديت هاتوا فنكشات فقط وهحاول
المهم بس عايز شرح
للي فوق عشان مش فاهمهم
@NX_CI
@KillerX

 

@KillerX

Link to comment
18 minutes ago, KillerX said:

جميل

دا خطا منوا زي ما قولتلوا فوق

 

هوا فيه حد تاني عامل ايفنت دخول و خروج من الماركر ؟

مافيه الا انا , والحدث صحيح حسب طلب الرجال أبداً مافيه خطأ لأنه ماراح يجيب لك اللاعب اللي لازق في الماركر راح يجيب لك اللاعب اللي دخل الماركر

+ سؤال

الماركر اللي انت مسويه في كودك ايش فائدته بالضبط؟

Edited by NX_CI
Link to comment
3 minutes ago, NX_CI said:

هوا فيه حد تاني عامل ايفنت دخول و خروج من الماركر ؟

مافيه الا انا , والحدث صحيح حسب طلب الرجال أبداً مافيه خطأ لأنه ماراح يجيب لك اللاعب اللي لازق في الماركر راح يجيب لك اللاعب اللي دخل الماركر

اها احسب انوا يقصد لما هو يخرج من الماركر

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

addEventHandler( 'onMarkerHit' , root , 
	function( player )  
    	for i , markers in pairs( getElementsByType( 'marker' , resourceRoot ) ) do
      		if( markers == source ) then       	
				setPedWeaponSlot( player , 0 )
				for i , control in pairs( {'next_weapon','previous_weapon'} ) do
					toggleControl( player , control , false )
				end
        		break
        	end
      	end
    end
)  

ابسط من اللي انتا مسوية

Link to comment
Just now, KillerX said:

اها احسب انوا يقصد لما هو يخرج من الماركر

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


addEventHandler( 'onMarkerHit' , root , 
	function( player )  
    	for i , markers in pairs( getElementsByType( 'marker' , resourceRoot ) ) do
      		if( markers == source ) then       	
				setPedWeaponSlot( player , 0 )
				for i , control in pairs( {'next_weapon','previous_weapon'} ) do
					toggleControl( player , control , false )
				end
        		break
        	end
      	end
    end
)  

ابسط من اللي انتا مسوية

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

أتمنى ما أكون ثقيل مجرد انتقادات لا تفسد للود قضية :happy1:

Link to comment
6 minutes ago, NX_CI said:

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

أتمنى ما أكون ثقيل مجرد انتقادات لا تفسد للود قضية :happy1:

بس لو لاحظت هذا الكود

setPedWeaponSlot( player , 0 )

هذا يخلي سلاح الاعب هو يدوا

بالتوفيق :)

Link to comment
1 minute ago, NX_CI said:

لاحظته : ) بس انا حبيت اعطيه الشيء اللي يبغاه مو اجيب شي من راسي

لما يكون الشئ اللي من راسي افضل وما يجيب لاق بسبب التيبلات و اللوبات الكثير

بعطهولوا كحل

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

لذالك هو ما يعرف اي طريقة افضل

وانا دوري اني اعطية الافضل له

:)

  • Like 2
Link to comment
3 hours ago, Omar Aly said:

مشكورين ,, بس لو كان في شرح افضل من الجاهز لاني ابي اتعلمها xD
بس ع العموم شكرآ
@KillerX
@NX_CI

 

- قل الي تبي تفهمه,,
والعيال ما يقصرون معك 

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