^iiEcoo'x_) 618 Posted February 22 (edited) @!#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 Edited February 22 by #_iMr,[E]coo 2 1 Share this post Link to post
!#DesTroyeR_,) 729 Posted February 22 @#_iMr,[E]coo مع احترامي لك صحيح الكود كويس ولاكن معلوماته قليلة جدا وينفع لحرب العصابات وإلخ Share this post Link to post
Rakan# 190 Posted February 22 39 minutes ago, !#DesTroyeR_,) said: @#_iMr,[E]coo مع احترامي لك صحيح الكود كويس ولاكن معلوماته قليلة جدا وينفع لحرب العصابات وإلخ هو يبي يوصلك ان بإمكانك اختصاره كذا وتزود المعلومات زي ماتبي انت هو يبي يوضح لك الفكره 1 Share this post Link to post
KillerX 381 Posted March 7 السلام عليكم ورحمه الله وبركاتة جا في بالي اسوي وظيفة setPedShootOn عبارة عن يخلي البيد يصوب ويضرب علي المنت معين Client Side الوظيفة Source Code : function setPedShootOn( ped , element ) local available_types = { [ 'vehicle' ] = true , [ 'ped' ] = true , [ 'player' ] = true , }; if( isTimer( renderTimer ) ) then killTimer( renderTimer ); end if( isElement( element ) and available_types[ getElementType( element ) ] ) then renderTimer = setTimer( function( ) local px , py , pz = getElementPosition( ped ); local posX , posY , posZ = getElementPosition( element ); local rotZ = -math.deg( math.atan2( posX - px , posY - py ) ); if( rotZ < 0 ) then rotZ = rotZ + 360; end setElementRotation( ped , 0 , 0 , rotZ , "default" , true ); setPedAimTarget( ped , posX , posY , posZ ); setPedControlState( ped , "fire" , not getPedControlState( ped , "fire" ) ); end , 50 , 0 ); end return false end : مثال local myPed = createPed( 0 , getElementPosition( localPlayer ) ); setPedShootOn( myPed , localPlayer ); givePedWeapon( myPed , 31 , 5000 , true ); -- طبعا متنساش تحط السورس كود الاول :) -- 1 Share this post Link to post
KillerX 381 Posted March 7 1 hour ago, KillerX said: if( isElement( element ) and available_types[ getElementType( element ) ] ) then تعديل بسيط علي هذا السطر if( isElement( ped ) and getElementType( ped ) == "ped" and isElement( element ) and available_types[ getElementType( element ) ] ) then ************************* function setPedShootOn( ped , element ) local available_types = { [ 'vehicle' ] = true , [ 'ped' ] = true , [ 'player' ] = true , }; if( isTimer( renderTimer ) ) then killTimer( renderTimer ); end if( isElement( ped ) and getElementType( ped ) == "ped" and isElement( element ) and available_types[ getElementType( element ) ] ) then renderTimer = setTimer( function( ) local px , py , pz = getElementPosition( ped ); local posX , posY , posZ = getElementPosition( element ); local rotZ = -math.deg( math.atan2( posX - px , posY - py ) ); if( rotZ < 0 ) then rotZ = rotZ + 360; end setElementRotation( ped , 0 , 0 , rotZ , "default" , true ); setPedAimTarget( ped , posX , posY , posZ ); setPedControlState( ped , "fire" , not getPedControlState( ped , "fire" ) ); end , 50 , 0 ); end return false end Share this post Link to post
Master_MTA 1,016 Posted March 8 16 hours ago, KillerX said: if( isElement( ped ) and getElementType( ped ) == "ped" and isElement( element ) and available_types[ getElementType( element ) ] ) then 1-استخدم or وليس and +استتخدم الاقواس للتحقق 2-التايمر يجب ان يكون له تيبل عشان ما يجي تايمر يلغي اللي قبله بالتوفيق On 22/02/2019 at 02:48, #_iMr,[E]coo said: , [ 'TeamName' ] = getPlayerTeam ( Player ) and getTeamName ( getPlayerTeam ( Player ) ) or '' استخدم الاقواس لهذا التحقق لتجنب المشاكل 16 hours ago, KillerX said: function( ) مرر البيد من خلال ارقيمنتات التايمر افضل Share this post Link to post
Master_MTA 1,016 Posted March 8 4 minutes ago, #_iMr,[E]coo said: جرب شكرا لتفهمك يرجى الاتصصال في وقت لاحق هههه بالتوفيق 1 Share this post Link to post
Master_MTA 1,016 Posted March 8 40 minutes ago, #_iMr,[E]coo said: الكود مهو انته لو بتاخد logical design هترف انك عملت كارثه كبيره باخطاءك لاستخدام بوابة or عالعموم ابحث شوية في or في الانترنت وهتفهم قصدي استخدم الاقواس لتجنب المشاكل بالتوفيق 1 Share this post Link to post
Master_MTA 1,016 Posted March 9 (edited) function getAccountAcls(acc) local acls=aclGroupList() local ta={} for k,v in ipairs(acls)do if isObjectInACLGroup('user.'..acc,v) then ta[aclGroupGetName(v)]=aclGroupListACL(v) end end return ta end function hasAccountPermissionTo(acc,role) local accacls=getAccountAcls(acc) local types={'general', 'function', 'resource ',' command'} for a,b in ipairs(accacls)do for m=1,3 do for k,v in ipairs(aclListRights(b,types[m]))do if string.find(string.upper(v),string.upper(role)) then return true end end end end return false end ههذول 2 فنكشن بستخدمهم مع لوحة الادمن اللي بسويها php باذن الله بس ما جربتهم للاسف اللي يقدر يجربهم يفيدنا اكون شاكر بالتوفيق Edited March 9 by Master_MTA 1 Share this post Link to post
^iiEcoo'x_) 618 Posted March 9 types={'general', 'function', 'resource ',' command'} -- types={'general', 'function', 'resource','command'} Share this post Link to post
Master_MTA 1,016 Posted March 10 (edited) 18 hours ago, #_iMr,[E]coo said: command كويس انك لاحظتها والله لو سنه ما كنت بلاحظها عالعموم مشكور يعسل يشباب بالتيبل في مسافه زياده قبل 'command' شيلوها تصدق عطاني امس ايرور ومخي وقف سكرتها ههه طلع المشكلة من هنا Edited March 10 by Master_MTA 1 Share this post Link to post
.TiGGeR 457 Posted March 10 22 hours ago, #_iMr,[E]coo said: 'resource ',' command'} .-. الريسورس والكوماند مسوي مسافات .. تأثر ؟ On 07/03/2019 at 21:42, KillerX said: setPedShootOn مشكور والله يعسل . 1 Share this post Link to post
KillerX 381 Posted March 10 1 minute ago, DABL said: .-. الريسورس والكوماند مسوي مسافات .. تأثر ؟ مشكور والله يعسل . العفو يا قمر يب تاثر لان التحقق يبيلوا دقة مثل انتا تبي تجيب لاعب من اسموا لازم يكون الاسم بالظبط ____________________________________________________________ واستنادا لكلام الاخ ماستر يعطية العافية تم تصليح الاخطاء function setPedShootOn( ped , element ) if( not renderTimer ) then renderTimer = { }; end local available_types = { [ 'vehicle' ] = true , [ 'ped' ] = true , [ 'player' ] = true , }; if( ( isElement( ped ) and getElementType( ped ) == "ped" ) and ( isElement( element ) and available_types[ getElementType( element ) ] ) ) then if( renderTimer[ ped ] and isTimer( renderTimer[ ped ] ) ) then killTimer( renderTimer[ ped ] ); renderTimer[ ped ] = nil; end renderTimer[ ped ] = setTimer( function( myPed ) local px , py , pz = getElementPosition( myPed ); local posX , posY , posZ = getElementPosition( element ); local rotZ = -math.deg( math.atan2( posX - px , posY - py ) ); if( rotZ < 0 ) then rotZ = rotZ + 360; end setElementRotation( myPed , 0 , 0 , rotZ , "default" , true ); setPedAimTarget( myPed , posX , posY , posZ ); setPedControlState( myPed , "fire" , not getPedControlState( ped , "fire" ) ); end , 50 , 0 , ped ); end return false end 2 Share this post Link to post
KillerX 381 Posted March 29 السلام عليكم ورحمه الله وبركاتة امس في القسم الاجنبي عضو سال ازاي يجيب اقرب بيد بالنسبة لنقطة عطيتو الفنكشن بس حبيت اطوروا اكثر 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 --> معلش علي اللون الاخضر ما اقدر اقاوم لوول 1 1 Share this post Link to post
</Mr.Tn6eL> 376 Posted April 8 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]; 2 1 Share this post Link to post
iMr.WiFi..! 850 Posted April 8 10 hours ago, </Mr.Tn6eL> said: أعدت كتابة الفنشكن وخليته يقبل عدد لامحدود من البيانات ويقبل الالمنت داتا 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 اختصرها بtable.sort for index = 1 , #elements do table.insert(element, getDistanceBetweenPoints3D( x , y , z , getElementPosition( elements[ index ] ) ) end table.sort(element) return element[1]; عندك سطر ٢٥ حاط مصفوفة بدل جدول.. Share this post Link to post
Master_MTA 1,016 Posted May 16 (edited) On 09/04/2019 at 10:08, said: تعودت ? وش هيي هذي اللغه php? c++ c# java Edited May 16 by Master_MTA Share this post Link to post
salh 27 Posted June 7 (edited) guiSetProgressBarRun واضح من الاسم Syntax guiSetProgressBarRun(progressBar theProgressbar, float ProgressBarCount, float ProgressBarCountPlus) theprogrssbar = البار ProgressBarCount = البار يبداء عند رقم ProgressBarCountPlus = كم يزيد البار في الثانيه (الكود) function guiSetProgressBarRun ( guiElement, ProgressBarCount, ProgressBarCountPlus ) if not guiElement == "gui-progressbar" or not ProgressBarCount or not ProgressBarCountPlus then outputDebugString("Bad arugment @ guiSetProgressBarRun ",0,255,0,0) return end guiProgressBarSetProgress ( guiElement ,tonumber( ProgressBarCount ) ) setTimer( function ( ) if not tonumber ( ProgressBarCount ) then return false end ProgressBarCount = ProgressBarCount + ProgressBarCountPlus guiProgressBarSetProgress ( guiElement ,tonumber( ProgressBarCount ) ) end , 1000 , ProgressBarCount ) end (مثال) addEventHandler("onClientResourceStart", resourceRoot, function() salh = guiCreateProgressBar(393, 533, 438, 65, false) guiSetProgressBarRun(salh, 0, 10) end ) اذا كان عندي اي خطاء علموني ابي اتعلم من اخطائي (: Edited June 7 by salh Share this post Link to post
Master_MTA 1,016 Posted June 10 On 07/06/2019 at 09:20, salh said: عندي انا عندي لك اقتراح بدال ما تستخدم التايمر استخدم الريكرشن ميثود بالتوفيق 1 Share this post Link to post
Master_MTA 1,016 Posted June 10 2 minutes ago, salh said: (: function guiSetProgressBarRun ( guiElement, ProgressBarCount, ProgressBarCountPlus,isdone ) if not guiElement == "gui-progressbar" or not ProgressBarCount or not ProgressBarCountPlus then outputDebugString("Bad arugment @ guiSetProgressBarRun ",0,255,0,0) return end if not isdone then guiProgressBarSetProgress ( guiElement ,tonumber( ProgressBarCount ) ) end if guiProgressBarGetProgress(guiElement)<100 then guiProgressBarSetProgress ( guiElement ,tonumber( ProgressBarCount )+ProgressBarCountPlus ) guiSetProgressBarRun ( guiElement, ProgressBarCount, ProgressBarCountPlus,true ) end return true end اتوقع كذا طريقة الريكرشن جرب الارقمنت الاخير مالك دخل فيه استخدمه زي ما تستخدمه انت بالاول جرب وقولي ذذ Share this post Link to post
salh 27 Posted June 10 طيب الحين وش الفرق اذا استحدمت الريكاشون ميثود او التايمر.؟ Share this post Link to post