Mr.Mostafa Posted July 24, 2018 Share Posted July 24, 2018 (edited) سلام عليكم ... اقدر اسوي يوزفل فنكشن ان اتحقق ان الشخص معه رتبة معينة لكن الكودد يكون كلنت يعني مثلا كدا -- # Client addCommandHandler ("rank", function ( ) if يوزفل فنكشن تحقق الرتبة("Console") then outputChatBox ("لديك رتبة كونسل !") else outputChatBox ("ليس لديك رتبة كونسل") end end ) ببساطة يعني استخدم isObjectInACLGroup لكن كلنت + لو اقدر اسويه .. وش بتكون الاكواد الي بستخدمها؟ Edited July 24, 2018 by Mr.Mostafa Link to comment
Doffy Posted July 24, 2018 Share Posted July 24, 2018 هذا يوزفل جبتلك ياه من الويكي لو كنت كلفت نفسك وكنت دورت عليه كنت بتلاقيه function isPlayerInACL(player, acl) local accountName = getAccountName( getPlayerAccount(player) ) if accountName ~= "guest" and type( aclGetGroup(acl) ) == "userdata" then return isObjectInACLGroup( "user."..accountName, aclGetGroup(acl) ) end return false end Link to comment
SycroX Posted July 24, 2018 Share Posted July 24, 2018 1 hour ago, #DesTroeyR said: هذا يوزفل جبتلك ياه من الويكي لو كنت كلفت نفسك وكنت دورت عليه كنت بتلاقيه function isPlayerInACL(player, acl) local accountName = getAccountName( getPlayerAccount(player) ) if accountName ~= "guest" and type( aclGetGroup(acl) ) == "userdata" then return isObjectInACLGroup( "user."..accountName, aclGetGroup(acl) ) end return false end يباه كلنت سايد Link to comment
Doffy Posted July 24, 2018 Share Posted July 24, 2018 (edited) 3 minutes ago, #َxLysandeR said: يباه كلنت سايد اهاا يعني خلاص يستخدم الداتا احسن اول م المود يشتغل واول م اللاعب يسجل وخلاص ..# يتحقق من الرتبة حقته ويعطيه داتا Edited July 24, 2018 by #DesTroeyR Link to comment
Rockyz Posted July 24, 2018 Share Posted July 24, 2018 (edited) سويت لك فنكشن وماجربته, من المفترض انه يشتغل: Server side : function playerACL() if eventName == 'onResourceStart' then for _, player in ipairs(getElementsByType('player')) do updatePlayerACL(player) end elseif eventName == 'onPlayerLogin' or eventName == 'onPlayerLogout' then updatePlayerACL(source) end end addEventHandler('onResourceStart', root, playerACL) addEventHandler('onPlayerLogin', root, playerACL) function aclHook(sourceResource, functionName, isAllowedByACL, luaFilename, luaLineNumber, ...) local args = {...} if type(args[2]) == 'string' then local converted = split(args[2], 46); local account = getAccount(converted[2]); if account then updatePlayerACL(getAccountPlayer(account)) end end end addDebugHook('preFunction', aclHook, {'aclGroupAddObject', 'aclGroupRemoveObject'}) function updatePlayerACL(player) if isElement(player) and getElementType(player) == 'player' then local account = getPlayerAccount(player) local accounts = {}; if account and not isGuestAccount(account) then for _, group in ipairs(aclGroupList()) do if isObjectInACLGroup('user.'..getAccountName(account), group) then accounts[#accounts+1] = aclGroupGetName(group) end end end setElementData(player, 'playerAccounts', accounts) return true end return false end Client side : function isPlayerInACLGroup(player, group) if (isElement(player) and getElementType(player) == 'player') and (type(group) == 'string') then local groups = getElementData(player, 'playerAccounts') or {} if type(groups) == 'table' and #groups > 0 then for _, value in ipairs(groups) do if value == group then return true end end return false end end return false end Edited July 24, 2018 by #,+( _xiRoc[K]; > Link to comment
TheOtherSide Posted July 24, 2018 Share Posted July 24, 2018 https://wiki.multitheftauto.com/wiki/CallServerFunction Link to comment
Rockyz Posted July 24, 2018 Share Posted July 24, 2018 (edited) 4 minutes ago, TheOtherSide said: https://wiki.multitheftauto.com/wiki/CallServerFunction غلط, بسبب ان هذي الوظيفة تنفذ الفنكشن المكتوب يعني مابترجع القيمة الصحيحة مادري اذا فهمتني Edited July 24, 2018 by #,+( _xiRoc[K]; > Link to comment
TheOtherSide Posted July 25, 2018 Share Posted July 25, 2018 22 minutes ago, #,+( _xiRoc[K]; > said: غلط, بسبب ان هذي الوظيفة تنفذ الفنكشن المكتوب يعني مابترجع القيمة الصحيحة مادري اذا فهمتني يب فهمتك وصح الوظيفه ذي بحد ذاتها ماراح تنفذ الي طالبه هو بس بتعديل بسيط ممكن تنفذ مثال server function isPlayerInACL(player, acl) local accountName = getAccountName( getPlayerAccount(player) ) if accountName ~= "guest" and type( aclGetGroup(acl) ) == "userdata" then return isObjectInACLGroup( "user."..accountName, aclGetGroup(acl) ) end return false end -- Always, always, always, (always) use a list of allowed servers functions. -- Otherwise hackers can call any function and destroy your server. allowedFunctions = { ["isPlayerInACL"]=true, ["getListOfCheese"]=true } function callServerFunction(funcname, ...) if not allowedFunctions[funcname] then -- Protect server from abuse outputServerLog( "SECURITY: " .. tostring(getPlayerName(client)) .. " tried to use function " .. tostring(funcname) ) return end local arg = { ... } if (arg[1]) then for key, value in next, arg do arg[key] = tonumber(value) or value end end triggerClientEvent(source,'returnonClientCallsServerFunction',source,loadstring("return "..funcname)()(unpack(arg))) end addEvent("onClientCallsServerFunction", true) addEventHandler("onClientCallsServerFunction", root , callServerFunction) client local cRes = false function callServerFunction(funcname, ...) local arg = { ... } if (arg[1]) then for key, value in next, arg do if (type(value) == "number") then arg[key] = tostring(value) end end end triggerServerEvent("onClientCallsServerFunction", localPlayer , funcname, unpack(arg)) return cRes end addEvent('returnonClientCallsServerFunction',true) addEventHandler('returnonClientCallsServerFunction',root,function(res) cRes = res end) addCommandHandler('x',function() if ( callServerFunction('isPlayerInACL',localPlayer,'Console') ) then outputChatBox('عندك صلاحيه') else outputChatBox('ماعندك') end end) Link to comment
Rockyz Posted July 25, 2018 Share Posted July 25, 2018 (edited) @TheOtherSide طريقتك هذي غلط ايضاً وبالنسبة لصاحب الموضوع عدل كودي في السطر 23 جهة السيرفر خله كذا : addDebugHook('postFunction', aclHook, {'aclGroupAddObject', 'aclGroupRemoveObject'}) Edited July 25, 2018 by #,+( _xiRoc[K]; > Link to comment
TheOtherSide Posted July 25, 2018 Share Posted July 25, 2018 1 hour ago, #,+( _xiRoc[K]; > said: @TheOtherSide طريقتك هذي غلط ايضاً وبالنسبة لصاحب الموضوع عدل كودي في السطر 23 جهة السيرفر خله كذا : addDebugHook('postFunction', aclHook, {'aclGroupAddObject', 'aclGroupRemoveObject'}) غلط بناءً على ايش ؟ Link to comment
Master_MTA Posted July 25, 2018 Share Posted July 25, 2018 في طريقه لكن لما افتح اللابتوب اسويها لك باذن الله لاني سهران من امس واتابع تعليقات ابنام Link to comment
^iiEcoo'x_) Posted July 25, 2018 Share Posted July 25, 2018 وآل , سويه بداتا و إختصر الأكوادالي فوق ^ Link to comment
Rockyz Posted July 25, 2018 Share Posted July 25, 2018 4 minutes ago, #_iMr,[E]coo said: وآل , سويه بداتا و إختصر الأكوادالي فوق ^ مايصير يسوي لما يشتغل السكربت ولا لما اللاعب يسجل بس لازم لما تنضاف رتبة و تنحذف من لاعب ايضا .. Link to comment
Mr.Mostafa Posted July 27, 2018 Author Share Posted July 27, 2018 On ٢٥/٧/٢٠١٨ at 16:12, #,+( _xiRoc[K]; > said: مايصير يسوي لما يشتغل السكربت ولا لما اللاعب يسجل بس لازم لما تنضاف رتبة و تنحذف من لاعب ايضا .. شكرآ علي مسآعدتكم + آلآكوآد ــ ممكن آسوي مثلا لو آلشخص سجل لو معه رتبة كونسل يحطله دآتآ ( كونسل ) ء ولمآ يخرج يسحب منه آلدآتآ عشآن لو آلرتبة آنسحبت ودخل مرة تآنية مآ تكون معه آلدآتآ Link to comment
Rockyz Posted July 27, 2018 Share Posted July 27, 2018 10 minutes ago, Mr.Mostafa said: شكرآ علي مسآعدتكم + آلآكوآد ــ ممكن آسوي مثلا لو آلشخص سجل لو معه رتبة كونسل يحطله دآتآ ( كونسل ) ء ولمآ يخرج يسحب منه آلدآتآ عشآن لو آلرتبة آنسحبت ودخل مرة تآنية مآ تكون معه آلدآتآ استخدم كودي Link to comment
Mr.Mostafa Posted July 27, 2018 Author Share Posted July 27, 2018 1 minute ago, #,+( _xiRoc[K]; > said: استخدم كودي تمآم Link to comment
Ram, Posted July 27, 2018 Share Posted July 27, 2018 (edited) DELETED Edited July 27, 2018 by #Ram Link to comment
Mr.Mostafa Posted July 27, 2018 Author Share Posted July 27, 2018 1 hour ago, #Ram said: DELETED ؟ Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now