Jump to content

</Mr.Tn6eL>

Members
  • Posts

    2,799
  • Joined

  • Days Won

    13

Posts posted by </Mr.Tn6eL>

  1. On 22/02/2019 at 03:48, #_iMr,[E]coo said:

    @!#DesTroyeR_,)

    
    function getPlayerInfo ( Player , Type )
    	if ( isElement ( Player ) ) and ( getElementType ( Player ) == 'player' ) then
    		local Table = {
    			[ 'Name' ] = getPlayerName ( Player )
    			, [ 'Serial' ] = getPlayerSerial ( Player )
    			, [ 'Money' ] = getPlayerMoney ( Player )
    			, [ 'TeamName' ] = getPlayerTeam ( Player ) and getTeamName ( getPlayerTeam ( Player ) ) or ''
    		}
    		if ( not Table [ Type ] ) then return false end 
    		return Table [ Type ]
    	end 
    end
    

     

     

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

    PLAYER_DATA = {
    	"serial",
    	"money",
    	"team" = function(player)
    		local team = getPlayerTeam(player)
    		return team and getTeamName(team)
    	end,
    	"&level",
    	"&clan",
    	"name",
    	"wantedLevel",
    	"&kills",
    	tag = function(player)
    		return getPlayerName(player):match "^%b[]"
    	end,
    	-- u cann add more...
    	
    	-- x = getPlayerX
    	-- &x = getElementData(player, x)
    	-- x() = custom function
    }
    
    function getPlayerInfo(player)
    	if isElement(player) and getElementType(player) == "player" then
    		local data = []
    		for k, v in pairs(PLAYER_DATA) do
    			local pre = v:sub(1, 1) == "&"
    			if pre then
    				data[v:sub(2)] = getElementData(player, v)
    			elseif type(v) == "function" then
    				data[k] = v(player)
    			else
    				data[v] = _G["getPlayer"..v:gsub("^%a", string.upper)](player)
    			end
    		end
    		return data
    	end
    end
    On 29/03/2019 at 17:01, KillerX said:

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

    امس في القسم الاجنبي عضو سال ازاي يجيب اقرب بيد بالنسبة لنقطة

    عطيتو الفنكشن بس حبيت اطوروا اكثر

    
    getNearsetElmFromXYZ
    

    الفنكشن عبارة عن يجيبلك اقرب اليمنت بالنسبة لنقطة معينة

    ( الساينتكس / syntax ) :

    
    function getNearsetElmFromXYZ( etype , x , y , z ) 
    

    etype : نوع الاليمنت

    x , y , z : احداثيات النقطة

    ( السورس كود / Source Code ) :

    
    function getNearsetElmFromXYZ( etype , x , y , z ) 
    	local elements , positions , element = getElementsByType( etype ) , { } , { }
    	if( ( not elements ) or ( #elements == 0 ) ) then
    		return false
    	end
    	for index = 1 , #elements do
    		positions[ index ] = getDistanceBetweenPoints3D( x , y , z , getElementPosition( elements[ index ] ) );
    		element[ positions[ index ] ] = elements[ index ];
    	end
    	return element[ math.min( unpack( positions ) ) ];	
    end
    

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

    
    addCommandHandler( "getNearsetVeh" , 
    	function( plr )
    		local nearstVehicle = getNearsetElmFromXYZ( "vehicle" , getElementPosition( plr ) );
    		if( not nearstVehicle ) then
    			return outputChatBox( "There\'s not vehicles" );
    		end
    		outputChatBox( "Name : " .. getVehicleName( nearstVehicle ) );
    		outputChatBox( "Model : " .. getElementModel( nearstVehicle ) );
    	end
    )
    

    @Master_MTA --> معلش علي اللون الاخضر ما اقدر اقاوم لوول

     

     

    اختصرها بtable.sort

    	for index = 1 , #elements do
    		table.insert(element, getDistanceBetweenPoints3D( x , y , z , getElementPosition( elements[ index ] ) )
    	end
    	table.sort(element)
    	return element[1];	

     

    • Like 2
    • Thanks 1
  2. On 03/11/2018 at 16:18, iMr.WiFi..! said:

    ماكنت اسوي صداقات ايام زمان كنت انسان اعزل.. ولكن بعد ما سويت حساب بالمنتدى بديت اكون بعض الصداقات واغلبها مستمرة حتى الآن والله يديم علينا الصداقة الحلوة
    @Master_MTA
    @N3xT
    @</Mr.Tn6eL>
    @Mr.CoR
    @#,xiRocKyz
    @Dr.Marco
    @Rakan#
    @coNolel

    @H25
    @#DesTroeyR

    والي ماذكرته موجود في القلب -

    متى كنت صديقك؟?

    • Haha 1
  3. كل ماتذكر اني مسوي مرقص بمجانين الشطف وفيه ويسكي بعد ماتشربه تجيك رقصة سكران وانا غاسل يدي

    وش ذا الماضي الاسود دشرت حقين السيرفر ?

    On 23/09/2018 at 23:29, ععيونككء اخخر امممأليء ^ said:

    قالولك الجلاكسي رخيص

    جوالي مو جلكسي

    ياخي مو كل اندرويد جلكسي??

  4. On 20/08/2018 at 01:57, N3xT said:

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

     

    فالفترة الأخيرة لاحظت طلبات كثير على قواعد البيانات عالسيريال وما شابه, فقلت ليه ما اسهل الموضوع وأخليها بكود أسهل بكثير

    عموماً نخش عالموضوع سريع سريع ونشوف

    -

     

    setSerialData

     

    Syntax:

    
    setSerialData ( string serial, string key, string value )
    

     

    Source code:

    
    function setSerialData ( serial, key, value )
    	if ( serial and key and value ) then
    		local database = executeSQLQuery ( "CREATE TABLE IF NOT EXISTS `" .. serial .. "` ( key TEXT, value TEXT )" )
    		local data = executeSQLQuery ( "SELECT value FROM `" .. serial .. "` WHERE key=?", tostring ( key ) )
    		local result = false
    		if ( #data == 1 ) then
    			if ( data[1].value ~= value ) then
    				executeSQLQuery ( "UPDATE `" .. serial .. "` SET value=? WHERE key=?", tostring ( value ), tostring ( key ) )
    				result = true
    			end
    		else
    			executeSQLQuery ( "INSERT INTO `" .. serial .. "` ( key, value ) VALUES ( ?, ? )", tostring ( key ), tostring ( value ) )
    			result = true
    		end
    		return result
    	end
    end
    

     

     

    getSerialData

     

    Syntax:

    
    getSerialData ( string serial, string key )
    

     

    Source code:

    
    function getSerialData ( serial, key )
    	if ( serial and key ) then
    		local database = executeSQLQuery ( "CREATE TABLE IF NOT EXISTS `" .. serial .. "` ( key TEXT, value TEXT )" )
    		local data = executeSQLQuery ( "SELECT value FROM `" .. serial .. "` WHERE key=?", tostring ( key ) )
    		local result = false
    		if ( #data == 1 ) then
    			result = data[1].value
    		end
    		return result
    	end
    end
    

     

     

    removeSerialData

     

    Syntax:

    
    removeSerialData ( string serial, string key )
    

     

    Source code:

     

    
    function removeSerialData ( serial, key )
    	if ( serial and key ) then
    		local database = executeSQLQuery ( "CREATE TABLE IF NOT EXISTS `" .. serial .. "` ( key TEXT, value TEXT )" )
    		local data = executeSQLQuery ( "SELECT value FROM `" .. serial .. "` WHERE key=?", tostring ( key ) )
    		local result = false
    		if ( #data == 1 ) then
    			executeSQLQuery("DELETE FROM `" .. serial .. "` WHERE key=?", tostring ( key ) )
    			result = true
    		end
    		return result
    	end
    end
    

     

     

    ان شاء الله تكون مفيدة الوظيفة لكم, في آمان الله

    كودك يسبب ثغرة SQL Injection

  5. راح يكون عندك أعمدة وصفوف لكل عمود صف فيه عناصر محددة عشان تسوي هذه الطريقة بالخوارزمية التالية

    
    
    -- ثوابث نحتاجها
    COL_WIDTH_BY_SINGLE_CHAR = 10 -- هذا ثابت نضربه في حجم نص العمود عشان يعطينا طول يوازي نص العمود
    COL_MARGIN_RIGHT = 15 -- نعطي مسافة فاصلة بين كل نص عمود
    ROW_HEIGHT = 24 -- طول الصف
    
    local cols = {"#", "name", "score"}
    local rows = {
    	-- {VALUE_FOR_COLUMN_1, VALUE_FOR_COLUMN_2, VALUE_FOR_COLUMN_3}
    	{"1", "Tn6el", "300000"},
    	{"2", "Player", "0"},
    	-- {...} وتضيف المزيد من الصفوف
    }
    
    -- ولاضافة على الشاشة نستخدم
    
    local x, y = 0, 0 -- احداثيات القائمة
    
    local pcol_x = COL_MARGIN_RIGHT -- متغير يعطينا اخر احداثيات العمود
    for i=1, #cols do
    	local ctext = cols[i] -- نص العمود
    	-- #text تعطينا طول النص
    	-- ملاحظة اذا كان عربي يعطيك طول النص مرتين فاستخدم وظائف utf8
    	
    	text(ctext, x+pcol_x, ROW_HEIGHT/2) -- مثال لعرض النص  للعمود
    
    	-- نعرض الصفوف لكل عمود
    	for j=1, #rows do
    		--
    		local rtext = rows[i] -- نص الصفوف للعمود رقم i
    		local row_y = (j+1)*ROW_HEIGHT -- نعرض الصفوف تحت بعض
    		-- حيث نضرب رقم ترتيب الصف في الطول للصف ويعطينا نتيحة ان جميع الصفوف تحت بعض
    		text(rtext, pcol_x, row_y) -- مثال لعرض النص للصف
    		-- draw rows
    	end
    	-- نحدث احداثيات اخر عمود عشان نستخدمه للمرة القادمة
    	pcol_x += (#ctext*COL_WIDTH_BY_SINGLE_CHAR)+COL_MARGIN_RIGHT
    			(طول النص * ثابت يمثل عرض كل حرف) + المسافة الفاصلة
    end

     

    سأشرح لك الطريقة بالخطوات

    أولا نعمل لوب للعواميد عشان نعرض بيانات الصفوف لها

    يعني لكل عمود صفوف خاصة فيها واحداثيات

    في الللوب الأول نعرض اسم العمود على الشاشة ونحسب مكانه على الشاشة كما وضحنا بالكود

    اما باللوب الثاني اننا نسوي لوب داخل اللوب الأول عشان تتكرر العملية لكل عمود

    نبدأ نحسب مكان الصف افقياً اي نجعلها تحت العمود الخاص به ونعرضها كما وضحنا بالكود

     

    طبعا الطرق كثيرة لكن هذه ابسطها والله أعلم واعذرني اذ كان هناك خطأ

    • Thanks 3
  6. API اكثر استخداماً في نقل البيانات عبر الانترنت خصوصاً JSON

    لأنها أسرع في الوصول للبيانات وأسهل في القراءة والكتابة وتقدر كمان تستخدمها كاوبجكت في الجافاسكربت لانها أصلا اوبجكت جافاسكربت

    وكتابة البيانات أقصر من الاكس ام ال وتوفر المساحة

    XML اما

    تدعم أنواع بيانات كثيرة أكثر من الجسون

    البيانات اكثر تنظيماً من الجسون

    تقدر تستخدم أكثر من اسم للقيمة عكس الجسون

     

    في رأي جسون أفضل للويب في ارسال البيانات واستقبالها وكمان لتطبيقات الجوال

    • Like 1
    • Thanks 1
  7. لأن مستحيل النص عندك يعدي 5000 كلمة ومع العلم ان هذا النوع يقبل اكثر من هذا بكثيرtext استخدم

    واللغة العربية تاخذ حرفين عكس بسبب utf8

    اما بالنسبة للايكات سوي جدول منفصل يكون فيها اي دي التوبك واي دي حساب اللي حط الايك(من جدول حسابات المستخدمين)

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

    وملاحظة تحقق ان الحساب نفسه ما اعطى لنفس التوبك عشان مايصير تكرار

    • Like 1
  8. من لوا الى جافاسكربت

    executeBrowserJavascript

    من جافاسكربت الى لوا

    mta.triggerEvent

     

    مزيد من المعلومات

    https://wiki.multitheftauto.com/wiki/CEF_Tutorial

     

    بهالطريقة سويت الشات الخاص حقي B|

    Spoiler

     

     

     

     

     

    4aMBmGl.jpg

    صورة قديمة

    بس المطور أحلى ><

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

    • Confused 2
×
×
  • Create New...