Jump to content

استفسار


Recommended Posts

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 ) -- اغلاق الامر والوظيفة

 

وبالتوفيق

  • Like 1
Link to comment

يعني عندي

addEventHandler("onPlayerLogin", root,
  function ()
    	setElementData(source, "Data", math.random(1,5)) 
    end
  )

ابي اول ما تسوي كوماند باف 8 يجيب لك كل الاعبين يلي بداخل الماركر ويجيب لو معهم قيمه رقمها 3

Link to comment
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

شكلك لسا ما فهمت , الحين عندي 5 لاعبين بماركر واحد حلو , ابغا  اسوي تحقق لو كل الاعبين معهم نفس القيمه , القيمه ما اعرفها يمكن واحد عنده قيمه 5 والباقي عندهم قيمه 2, كيف اجيب لو الاعبين عندهم نفس القيمه  او ما عندهم نفس القيمه ؟

Link to comment
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

مو كذه قصدي , انت الحين جبت الاعبين يلي معهم قيمه 1 , انا ابي اجيب يلي معهم نفس القيمه  يعني ممكن كلهم تكون قيمتهم 2 يكتبلي اوك او كلهم 5 يكتب اوك

Link to comment
2 minutes ago, Mhmd.z said:

مو كذه قصدي , انت الحين جبت الاعبين يلي معهم قيمه 1 , انا ابي اجيب يلي معهم نفس القيمه  يعني ممكن كلهم تكون قيمتهم 2 يكتبلي اوك او كلهم 5 يكتب اوك

تبيهم كلهم على يكونون على عدد واحد؟

Link to comment
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

شكلك مو فاهم علي , انا بسوي مود احتلال , والحين ابي اتحقق مثلا لو كل الاعبين بداخل منطقه او ماركر او شي ومعهم نفس القروب ينزل الاحتلال , كذه

Link to comment
1 hour ago, Mhmd.z said:

شكلك مو فاهم علي , انا بسوي مود احتلال , والحين ابي اتحقق مثلا لو كل الاعبين بداخل منطقه او ماركر او شي ومعهم نفس القروب ينزل الاحتلال , كذه

كود نكست صحيح ونفس طلبك

Link to comment

جرب هذا

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 by 'SimpleArtS . .
Link to comment

 

1 minute ago, 'SimpleArtS . . said:

انت وش تبي تسوي بالضبط ؟

مو ارض احتلال؟

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

Link to comment

طيب كيف راح تتحقق انهم كلهم نفس القروب لان يكون فيه ناس من قروبات ثانيه

انت سو لوب لجميع اللاعبين الي بالماركر

وجيب القروب حقه ونقص 1 من الارض وزودها للقروب

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