Jump to content

مشكله جلب العنصر / لوب


iiv03

Recommended Posts

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

معي مشكله باللوب والعنصر بيانات

				for i,player in pairs(players) do
					local points = getElementData(player, "ThePoints") or "0"
					dxDrawText(points,posX+sizeX+sizeX+10-row_size-row_size-row_size,posY,posX,posY+row_size,tocolor(255,255,255,generalAlpha),clanwar.fontScale,clanwar.font,"center","center",true,false,false,true)
  end
end

شيكت ب ديبوق يجيب got table

ال players مسوي له فوق تيبل

يا ريت حد يساعدني

 

Link to comment
39 minutes ago, xiRocKyz said:

وين مشكلتك بالضبط

واطرح جدول players

سويت بيانات ب سيرفر ورسلته للكلنت الي هي 

ThePoints

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

ذي اكواد

function get_team_alive_players(enemy)

	local team_name = homeName
	if enemy then
		team_name = enemyName
	end

	local team = getTeamFromName(team_name)
	if team then

		local players = getPlayersInTeam(team)
		if type(players) == "table" and #players > 0 then

			local output = {}
			for i,player in pairs(players) do

				local alive = getElementData(player,"state")
				if alive ~= "alive" then
					alive = false
				end

				local t = {name = getPlayerName(player), alive = alive}
				do
					table.insert(output,t)
				end
			end

			return output
		end
	end

	return false
end


			local players = get_team_alive_players()

 

Edited by xFabel
Link to comment
2 hours ago, #\_oskar_/# said:

ThePoints وين الداتا حقت

 

من سرفر للكلينت

addCommandHandler("give", function(player, cmd, ...)

	local args = {...} -- example: bot 7777 robot 8888 unknown 9999
	-- we know: every 2th arg is the amount

	local args_count = #args
	if args_count < 2 or args_count % 2 ~= 0 then return outputChatBox("USE: /"..cmd.." [name amount / number amount]", player) end -- minimum need 2 argument
	
	-- loop datas
	for i = 0, args_count/2-1 do
		local name = args[i*2+1]
		local amount = tonumber(args[i*2+2])
		if amount and amount < 101 then
			local target_player = getPlayerFromPartialName(name)
			
			if isElement(target_player) then
		local theplayer = getPlayerName(player)
				outputChatBox("Player "..theplayer.."#ffffff has give points "..amount.. " to " .. getPlayerName(target_player), root, 255, 255, 255, true)
				setElementData(target_player,"ThePoints",amount)
			else
				outputChatBox("Player " .. name .. " not found.", player)
			end
		else
			outputChatBox("Invalid amount '"..(args[i*2+2]).."' for "..name.." please use a number between 0 - 100", player)
		end
	end
end)

مسويه الأرجيمنت الأول يخزن عند الاعب ثاني و ارجيمنت ثالث اختيار رقم

Edited by xFabel
Link to comment
  • Scripting Moderators

المشكلة من فنكشن 
get_team_alives_players
احتمال يكون اسم الفريق خطأ
عالعموم انا بسطت فيه بعض الاشياء وخليته يرجع جدول فاضي إذا اسم الفريق غلط أو مو موجود
 

function get_team_alive_players(enemy)
local team_name = enemy and enemyName or homeName 
local team = getTeamFromName(team_name)
	if team then
	local players = getPlayersInTeam(team)
		if #players > 0 then
		local output = {}
			for i,player in ipairs(players) do
			local t = {name = getPlayerName(player),alive = getElementData(player,"state") == "alive"}
			table.insert(output,t)
			end
		return output
		end
	end
return {}
end

وتأكد إن المتغيرات صحيحة

  • Thanks 1
Link to comment
3 minutes ago, MohammedX said:

.

؟؟؟

24 minutes ago, Live said:

المشكلة من فنكشن 
get_team_alives_players
احتمال يكون اسم الفريق خطأ
عالعموم انا بسطت فيه بعض الاشياء وخليته يرجع جدول فاضي إذا اسم الفريق غلط أو مو موجود
 


function get_team_alive_players(enemy)
local team_name = enemy and enemyName or homeName 
local team = getTeamFromName(team_name)
	if team then
	local players = getPlayersInTeam(team)
		if #players > 0 then
		local output = {}
			for i,player in ipairs(players) do
			local t = {name = getPlayerName(player),alive = getElementData(player,"state") == "alive"}
			table.insert(output,t)
			end
		return output
		end
	end
return {}
end

وتأكد إن المتغيرات صحيحة

مشكور علي ردك لايف بكرا بشيك عليك عليه حاليا عندي جوال مقدر افتح جهاز ضروف ?

Link to comment
On 05/01/2020 at 20:49, xFabel said:

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

معي مشكله باللوب والعنصر بيانات


				for i,player in pairs(players) do
					local points = getElementData(player, "ThePoints") or "0"
					dxDrawText(points,posX+sizeX+sizeX+10-row_size-row_size-row_size,posY,posX,posY+row_size,tocolor(255,255,255,generalAlpha),clanwar.fontScale,clanwar.font,"center","center",true,false,false,true)
  end
end

شيكت ب ديبوق يجيب got table

ال players مسوي له فوق تيبل

يا ريت حد يساعدني

 

 

داخله متغيرات, لازم تجيبه بالمتغيراتplayers الجدول

وأيضاً بداخله اسم اللاعب فقط وليس اللاعب, يعني لازم تسوي كذا :

    				for i,player in pairs(players) do
    					local points = getElementData(getPlayerFromName ( player.name ), "ThePoints") or "0"
    					dxDrawText(points,posX+sizeX+sizeX+10-row_size-row_size-row_size,posY,posX,posY+row_size,tocolor(255,255,255,generalAlpha),clanwar.fontScale,clanwar.font,"center","center",true,false,false,true)
      end
    end

 

إذا ودك تستفيد بشرح لك :

 

local table_ = {}; -- هذا جدول فاضي, وهو جدولنا الأساسي اللي بنشتغل عليه 

local vars = { one = '1', two = '2', three = '3' }; -- ذا جدول فيه متغيرات ولكل متغير قيمة.
table.insert ( table_, vars ); -- دخلنا الجدول اللي فيه متغيرات داخل الجدول الأساسي تبعنا.

-- مشكلتك كانت في كيف تجيب البيانات من الحدول, بشرح لك :

for k,v in pairs ( table_ ) do
	-- v : ترجع لك الجدول اللي بداخله متغيرات, يعني لازم تحدد أو بيطلع لك خطأ.
	-- k : يطلع لك عدد القيم اللي في جدولنا الأساسي
	
	outputChatBox ( v.two ) -- كذا يطلع لنا رقم 2 في الشات, وكذا مع باقي المتغيرات .
end

 

  • Thanks 1
Link to comment
6 hours ago, Sha67 said:

 

داخله متغيرات, لازم تجيبه بالمتغيراتplayers الجدول

وأيضاً بداخله اسم اللاعب فقط وليس اللاعب, يعني لازم تسوي كذا :


    				for i,player in pairs(players) do
    					local points = getElementData(getPlayerFromName ( player.name ), "ThePoints") or "0"
    					dxDrawText(points,posX+sizeX+sizeX+10-row_size-row_size-row_size,posY,posX,posY+row_size,tocolor(255,255,255,generalAlpha),clanwar.fontScale,clanwar.font,"center","center",true,false,false,true)
      end
    end

 

إذا ودك تستفيد بشرح لك :

 


local table_ = {}; -- هذا جدول فاضي, وهو جدولنا الأساسي اللي بنشتغل عليه 

local vars = { one = '1', two = '2', three = '3' }; -- ذا جدول فيه متغيرات ولكل متغير قيمة.
table.insert ( table_, vars ); -- دخلنا الجدول اللي فيه متغيرات داخل الجدول الأساسي تبعنا.

-- مشكلتك كانت في كيف تجيب البيانات من الحدول, بشرح لك :

for k,v in pairs ( table_ ) do
	-- v : ترجع لك الجدول اللي بداخله متغيرات, يعني لازم تحدد أو بيطلع لك خطأ.
	-- k : يطلع لك عدد القيم اللي في جدولنا الأساسي
	
	outputChatBox ( v.two ) -- كذا يطلع لنا رقم 2 في الشات, وكذا مع باقي المتغيرات .
end

 

اول مأشفت الشرح علي الأول فهمته مشكور والله

يعني نفس طريق حق جلب لاعبين الأسامي?

تصير كذا

      local t = {name = getPlayerName(player),alive = getElementData(player,"state",) == "alive", points = getElementsData(player,"ThePoints") or "0"}


-- text 
dxDrawText(player.points.....etc

سويت علي جوال صح؟

Edited by xFabel
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...