Mhmd.z Posted May 3, 2017 Share Posted May 3, 2017 (edited) كيف اسوي تحقق لو كان كل الاعبين يلي بالماركر معهم نفس القيمة بداخل داتا معينه ؟ Edited May 3, 2017 by Mhmd.z Link to comment
iMr.WiFi..! Posted May 3, 2017 Share Posted May 3, 2017 function getPlayersFromData ( DataName, DataType, value ) DataFrom = { } local value = value or nil local DataType = DataType or { "player","ped","vehicle","object","marker","colshape","team" } if type(DataType) ~= 'table' then for i,v in ipairs ( getElementsByType( DataType ) ) do if value ~= nil then if getElementData(v,DataName) == value then table["insert"](DataFrom,v) end else if getElementData(v,DataName) ~= nil then table["insert"](DataFrom,v) end end end else for k,z in ipairs ( DataType ) do for i,v in ipairs ( getElementsByType( z ) ) do if value ~= nil then if getElementData(v,DataName) == value then table["insert"](DataFrom,v) end else if getElementData(v,DataName) ~= nil then table["insert"](DataFrom,v) end end end end end return DataFrom; end ^ سويتلك وظيفة /: الارقمنتات [ * ] أجباري [ ^ ] أختياري *DataName = اسم الداتا ^DataType = نوع اللوب يعني تبيه يجيب كل الانوع بلاير و بيد وسيارات واوبجكت الخ .. تقدر تحط "players" فقط ^value = قيمة الداتا مثال : addEventHandler ( "onPlayerJoin", root, function ( ) -- حدث لما اللاعب يدخل setElementData(source,"Join",true) -- نعطيه داتا end ) -- اغلاق للوظيفة والحدث addCommandHandler ( "getPlayers", function ( p ) -- نضيف امر local PlayersData = getPlayersFromData("Join","players",true) -- نجلب تيبل فيه جميع اللاعبين الي معهم داتا وقيمتها ترو for i,v in ipairs ( PlayersData ) do -- نسوي لوب لل تيبل outputChatBox(" "..getPlayerName(v).." ") -- نطرح في الشات اسماء اللاعبين الي معهم الداتا end -- اغلاق اللوب end ) -- اغلاق الامر والوظيفة وبالتوفيق 1 Link to comment
Mhmd.z Posted May 3, 2017 Author Share Posted May 3, 2017 شغالك مثالك ؟ لآنه عندي مو شغال Link to comment
iMr.WiFi..! Posted May 3, 2017 Share Posted May 3, 2017 (edited) بدل الـ "players" الى "player" الي حطيتها بالمثال Edited May 3, 2017 by iMr.WiFi..! Link to comment
Mhmd.z Posted May 3, 2017 Author Share Posted May 3, 2017 انا عندي القيمه مو معروفه يعني ابي اشوف لو كل الاعبين عندهم نفس القيمه Link to comment
iMr.WiFi..! Posted May 3, 2017 Share Posted May 3, 2017 1 minute ago, Mhmd.z said: انا عندي القيمه مو معروفه يعني ابي اشوف لو كل الاعبين عندهم نفس القيمه مافهمت ولا حاقة ؛ Link to comment
Mhmd.z Posted May 3, 2017 Author Share Posted May 3, 2017 يعني عندي addEventHandler("onPlayerLogin", root, function () setElementData(source, "Data", math.random(1,5)) end ) ابي اول ما تسوي كوماند باف 8 يجيب لك كل الاعبين يلي بداخل الماركر ويجيب لو معهم قيمه رقمها 3 Link to comment
iMr.WiFi..! Posted May 3, 2017 Share Posted May 3, 2017 function getPlayersFromData ( DataName, value, DataType ) DataFrom = { } local value = value or nil local DataType = DataType or { "player","ped","vehicle","object","marker" } if type(DataType) ~= 'table' then for i,v in ipairs ( getElementsByType( DataType ) ) do if value ~= nil then if getElementData(v,DataName) == value then table["insert"](DataFrom,v) end else if getElementData(v,DataName) ~= nil then table["insert"](DataFrom,v) end end end else for k,z in ipairs ( DataType ) do for i,v in ipairs ( getElementsByType( z ) ) do if value ~= nil then if getElementData(v,DataName) == value then table["insert"](DataFrom,v) end else if getElementData(v,DataName) ~= nil then table["insert"](DataFrom,v) end end end end end return DataFrom; end function getPlayersInMarker(marker) local players = 0 if marker and getElementType(marker) == "marker" then for i,player in ipairs(getElementsByType("player")) do if isElementWithinMarker(player,marker) then players = players + 1 end end end return players end addCommandHandler ( "getPlayers", function ( p ) -- نضيف امر local PlayersData = getPlayersFromData("Data","players",3) -- نجلب تيبل فيه جميع اللاعبين الي معهم داتا وقيمتها 3 local PlayersMarker = getPlayersInMarker( MyMarker ) -- نجلب جميع من داخل الماركر for k,z in ipairs( PlayersMarker ) do -- نسوي لوب لل تيبل for i,v in ipairs ( PlayersData ) do -- نسوي لوب لل تيبل if z == v then -- نسوي تحقق انه الي في الماركر في الجدول حق الي معهم داتا outputChatBox( " انت لديك الداتا وانت داخل الماركر ",z) -- يطرح اوت بوت شات بوكس break; -- يسوي بريك لل جدول, عشان يمنع التكرار end -- اغلاق تحقق end -- اغلاق اللوب end -- اغلاق اللوب end ) -- اغلاق الوظيفة , واقفال القوس Link to comment
Mhmd.z Posted May 3, 2017 Author Share Posted May 3, 2017 شكلك لسا ما فهمت , الحين عندي 5 لاعبين بماركر واحد حلو , ابغا اسوي تحقق لو كل الاعبين معهم نفس القيمه , القيمه ما اعرفها يمكن واحد عنده قيمه 5 والباقي عندهم قيمه 2, كيف اجيب لو الاعبين عندهم نفس القيمه او ما عندهم نفس القيمه ؟ Link to comment
Mhmd.z Posted May 3, 2017 Author Share Posted May 3, 2017 (edited) up... need function make me can check if all players in marker are in the same data value Edited May 3, 2017 by Mhmd.z Link to comment
N3xT Posted May 3, 2017 Share Posted May 3, 2017 local marker = createMarker ( ... ) addCommandHandler("check", function ( player ) for _,v in ipairs ( getElementsByType("player") ) do if ( isElementWithinMarker( v, marker ) == true ) then if ( getElementData(v) == "1" ) then outputChatBox("Okay.", player) else outputChatBox("Error.", player) end end end end ) Link to comment
Mhmd.z Posted May 3, 2017 Author Share Posted May 3, 2017 مو كذه قصدي , انت الحين جبت الاعبين يلي معهم قيمه 1 , انا ابي اجيب يلي معهم نفس القيمه يعني ممكن كلهم تكون قيمتهم 2 يكتبلي اوك او كلهم 5 يكتب اوك Link to comment
N3xT Posted May 3, 2017 Share Posted May 3, 2017 2 minutes ago, Mhmd.z said: مو كذه قصدي , انت الحين جبت الاعبين يلي معهم قيمه 1 , انا ابي اجيب يلي معهم نفس القيمه يعني ممكن كلهم تكون قيمتهم 2 يكتبلي اوك او كلهم 5 يكتب اوك تبيهم كلهم على يكونون على عدد واحد؟ Link to comment
Mhmd.z Posted May 3, 2017 Author Share Posted May 3, 2017 يب ابي اتحقق لو كانو كلهم بنفس القيمه Link to comment
N3xT Posted May 3, 2017 Share Posted May 3, 2017 local marker = createMarker ( ... ) local numberTable = { 1, 2, 3, 4, 5 } addCommandHandler("check", function ( player ) for _,v in ipairs ( getElementsByType("player") ) do if ( isElementWithinMarker( v, marker ) == true ) then for _,n in ipairs ( numberTable ) do if ( getElementData(v) == n ) then outputChatBox("Okay.", player) else outputChatBox("Error.", player) end end end end end ) Link to comment
Mhmd.z Posted May 3, 2017 Author Share Posted May 3, 2017 شكلك مو فاهم علي , انا بسوي مود احتلال , والحين ابي اتحقق مثلا لو كل الاعبين بداخل منطقه او ماركر او شي ومعهم نفس القروب ينزل الاحتلال , كذه Link to comment
#BrosS Posted May 3, 2017 Share Posted May 3, 2017 1 hour ago, Mhmd.z said: شكلك مو فاهم علي , انا بسوي مود احتلال , والحين ابي اتحقق مثلا لو كل الاعبين بداخل منطقه او ماركر او شي ومعهم نفس القروب ينزل الاحتلال , كذه كود نكست صحيح ونفس طلبك Link to comment
Mhmd.z Posted May 4, 2017 Author Share Posted May 4, 2017 6 hours ago, #BrosS said: كود نكست صحيح ونفس طلبك اصلا الكود مو شغال Link to comment
Simple. Posted May 4, 2017 Share Posted May 4, 2017 (edited) جرب هذا local Groups = {} local GroupData = 'Group' function Turf ( marker ) for i,v in ipairs ( getElementsByType("player") ) do local Group = getElementData ( v, GroupData ) if isElementWithinMarker ( v, marker ) and Group then if not Groups[Group] then Groups[Group] = 0 end Groups[Group] = Groups[Group] + 1 end end end عاد إذا اشتغل معك لازم تعدل عشان تحسب لكل ماركر كم محتلينها وكذا Edited May 4, 2017 by 'SimpleArtS . . Link to comment
Simple. Posted May 4, 2017 Share Posted May 4, 2017 انت وش تبي تسوي بالضبط ؟ مو ارض احتلال؟ Link to comment
Mhmd.z Posted May 4, 2017 Author Share Posted May 4, 2017 1 minute ago, 'SimpleArtS . . said: انت وش تبي تسوي بالضبط ؟ مو ارض احتلال؟ يب , الحين انا مسوي كل تايمر ينقص داتا من الارض , لكن ابي اسوي تحقق لو كلهم الي بالمنطقه نفس لقروب Link to comment
Simple. Posted May 4, 2017 Share Posted May 4, 2017 طيب كيف راح تتحقق انهم كلهم نفس القروب لان يكون فيه ناس من قروبات ثانيه انت سو لوب لجميع اللاعبين الي بالماركر وجيب القروب حقه ونقص 1 من الارض وزودها للقروب Link to comment
Mhmd.z Posted May 4, 2017 Author Share Posted May 4, 2017 انا مو مسوي حدث يوم تدخل المنطقه , سويت على طول تايمر للمنطقه مع تحقق لو كان فيها لاعبين Link to comment
Simple. Posted May 4, 2017 Share Posted May 4, 2017 طيب انت ضيف في الفنكشن الي بالتايمر الفنكشن الي عطيتك اياه فوق وعدله حسب الاحتلال الي انت مسويه او حط اكوادك في الموضوع 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