Jump to content

Hey, ( Help in getPlayerTeam ), How to save information individually?


kevincouto6

Recommended Posts

Basically it is a script where the player uses the command and is moved to a team, when the player dies in the event wanted him to return to his old team, but is saving one on top of the other when more than 1 players use the commando.

Like each time the player uses the command of the event, and removed the information playerTeam = getPlayerTeam (player), however if several players use will not save each one individually then, type accurate that each player returns to the team that was, not to the team of the last player who used the commando. Can you tell me how to do it?

currently no debug errors ... Sincerely Kevin

zonapvp = createColRectangle (  5441.9, -1926.4, 119.5, 133 )

event_iniciado = 1

local spawns = { 
	{ 5460.70264, -1825.30945, 10.97057 },
	{ 5454.74805, -1884.13953, 10.29621 },
	{ 5537.57373, -1887.13306, 11.04092 },
	{ 5545.14746, -1829.44873, 10.29401 },
	{ 5501.95557, -1861.66174, 10.29621 }
}

function start_admin_event (player)
	
	if event_iniciado == 1 then			
		local accName = getAccountName ( getPlayerAccount ( player ) )
		if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Owner" ) ) then 	
			outputDebugString ("Evento Iniciado")
			event_iniciado = event_iniciado +1
			
			i = 0

			pvp_1 = createTeam("PVP-Red [use /pvp]", 255, 0, 0)
			pvp_2 = createTeam("PVP-Green [use /pvp]", 0, 255, 0)
			pvp_3 = createTeam("PVP-Blue [use /pvp]", 0, 0, 255)
			pvp_4 = createTeam("PVP-Yellow [use /pvp]", 255, 255, 0)
			

			addCommandHandler ( "pvp", tele )
		end						
	else
		outputChatBox("O evento ja esta ativado", player, 255, 0, 0)
	end	
end
addCommandHandler ( "eventStart", start_admin_event )

function entrar_na_zona( thePlayer, matchingDimension )
	if getElementType ( thePlayer ) == "player" then
		outputChatBox( "Working One" )
		redirecionar_team (thePlayer )
	end
end
addEventHandler("onColShapeHit", zonapvp, entrar_na_zona)

function sair_da_zona( thePlayer, matchingDimension )
	if getElementType ( thePlayer ) == "player" then
		outputChatBox( "Working Two" )
		retirar_team (thePlayer )
	end
end
addEventHandler("onColShapeLeave", zonapvp, sair_da_zona)


function tele(player)		  
	local teles = math.random ( #spawns )
	if ( teles ) then
			setElementPosition(player, unpack ( spawns [ teles ] ))
	end	
end


function redirecionar_team (thePlayer)

	playerTeam = getPlayerTeam(thePlayer)

	i = i + 1
	if i > 4 then 
		i = 1
	end

	if pvp_1 and pvp_2 and pvp_3 and pvp_4 then 
		if i == 1 then 
			setPlayerTeam ( thePlayer, pvp_1 )
		end
		if i == 2 then 
			setPlayerTeam ( thePlayer, pvp_2 )
		end
		if i == 3 then 
			setPlayerTeam ( thePlayer, pvp_3 )
		end
		if i == 4 then 
			setPlayerTeam ( thePlayer, pvp_4 )
		end
	end
end
			
function retirar_team (player)
	setPlayerTeam ( player, playerTeam )
end

addCommandHandler("stop123",
function (player)
	 local accName = getAccountName ( getPlayerAccount ( player ) )
     if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Owner" ) ) then
		if event_iniciado >= 2 then
			destroyElement ( pvp_1 )
			destroyElement ( pvp_2 )
			destroyElement ( pvp_3 )
			destroyElement ( pvp_4 )
			removeCommandHandler ( "pvp" )
			event_iniciado = 1
			retirar_team ()
		else
			outputChatBox("Não possivel parar, porque não foi iniciado", player, 255, 0, 0)
		end
	end
end)

 

Link to comment

addEventHandler("O

zonapvp = createColRectangle (  5441.9, -1926.4, 119.5, 133 )

event_iniciado = 1

local spawns = { 
	{ 5460.70264, -1825.30945, 10.97057 },
	{ 5454.74805, -1884.13953, 10.29621 },
	{ 5537.57373, -1887.13306, 11.04092 },
	{ 5545.14746, -1829.44873, 10.29401 },
	{ 5501.95557, -1861.66174, 10.29621 }
}

function start_admin_event (player)
	
	if event_iniciado == 1 then			
		local accName = getAccountName ( getPlayerAccount ( player ) )
		if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Owner" ) ) then 	
			outputDebugString ("Evento Iniciado")
			event_iniciado = event_iniciado +1
			
			i = 0

			pvp_1 = createTeam("PVP-Red [use /pvp]", 255, 0, 0)
			pvp_2 = createTeam("PVP-Green [use /pvp]", 0, 255, 0)
			pvp_3 = createTeam("PVP-Blue [use /pvp]", 0, 0, 255)
			pvp_4 = createTeam("PVP-Yellow [use /pvp]", 255, 255, 0)
			

			addCommandHandler ( "pvp", tele )
		end						
	else
		outputChatBox("O evento ja esta ativado", player, 255, 0, 0)
	end	
end
addCommandHandler ( "eventStart", start_admin_event )

function entrar_na_zona( thePlayer, matchingDimension )
	if getElementType ( thePlayer ) == "player" then
		outputChatBox( "Working One" )
		redirecionar_team (thePlayer )
	end
end
addEventHandler("onColShapeHit", zonapvp, entrar_na_zona)

function sair_da_zona( thePlayer, matchingDimension )
	if getElementType ( thePlayer ) == "player" then
		outputChatBox( "Working Two" )
		retirar_team (thePlayer )
	end
end
addEventHandler("onColShapeLeave", zonapvp, sair_da_zona)


function tele(player)		  
	local teles = math.random ( #spawns )
	if ( teles ) then
    setElementData(player,"inPVP",true)
	setElementData ( player, "SavedTeam", getTeamName ( getPlayerTeam ( player ) ) )
			setElementPosition(player, unpack ( spawns [ teles ] ))
	end	
end


function redirecionar_team (thePlayer)

	playerTeam = getPlayerTeam(thePlayer)

	i = i + 1
	if i > 4 then 
		i = 1
	end

	if pvp_1 and pvp_2 and pvp_3 and pvp_4 then 
		if i == 1 then 
			setPlayerTeam ( thePlayer, pvp_1 )
		end
		if i == 2 then 
			setPlayerTeam ( thePlayer, pvp_2 )
		end
		if i == 3 then 
			setPlayerTeam ( thePlayer, pvp_3 )
		end
		if i == 4 then 
			setPlayerTeam ( thePlayer, pvp_4 )
		end
	end
end
			
function retirar_team (player)
	local t = getElementData ( player, 'SavedTeam' )
   setPlayerTeam ( player, getTeamFromName ( t ) )
   setElementData(player,"SavedTeam",false)
end

addCommandHandler("stop123",
function (player)
	 local accName = getAccountName ( getPlayerAccount ( player ) )
     if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Owner" ) ) then
		if event_iniciado >= 2 then
		for k , v in ipairs(getElementsByType("player")) do
		if getElementData(v,"inPVP") then
		retirar_team (v)
		end
		end
		
		for i, team in ipairs(getElementsByType('team') do 
      destroyElement(team) 
       
       end 
		
			removeCommandHandler ( "pvp" )
			event_iniciado = 1
			
		else
			outputChatBox("Não possivel parar, porque não foi iniciado", player, 255, 0, 0)
		end
	end
end)

Try this

*UPDATED*

Edited by Network
  • Thanks 1
Link to comment

I tried to find a solution but I couldn't, like it works correctly but for players who do not have a team, and this error

bad argument @'getteamfromName (expected string at argument 1, got bolean)

with what I did until check individually, but when removing remove try to do with all

zonapvp = createColRectangle (  5441.9, -1926.4, 119.5, 133 )

event_iniciado = 1

verificarOne = 0

local spawns = { 
	{ 5460.70264, -1825.30945, 10.97057 },
	{ 5454.74805, -1884.13953, 10.29621 },
	{ 5537.57373, -1887.13306, 11.04092 },
	{ 5545.14746, -1829.44873, 10.29401 },
	{ 5501.95557, -1861.66174, 10.29621 }
}

function start_admin_event (player)
	
	if event_iniciado == 1 then			
		local accName = getAccountName ( getPlayerAccount ( player ) )
		if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Owner" ) ) then 	
			outputDebugString ("Evento Iniciado")
			event_iniciado = event_iniciado +1
			
			i = 0

			pvp_1 = createTeam("PVP-Red [use /pvp]", 255, 0, 0)
			pvp_2 = createTeam("PVP-Green [use /pvp]", 0, 255, 0)
			pvp_3 = createTeam("PVP-Blue [use /pvp]", 0, 0, 255)
			pvp_4 = createTeam("PVP-Yellow [use /pvp]", 255, 255, 0)
			

			addCommandHandler ( "pvp", tele )
		end						
	else
		outputChatBox("The event is already activated", player, 255, 0, 0)
	end	
end
addCommandHandler ( "eventStart", start_admin_event )

function entrar_na_zona( thePlayer, matchingDimension )
	if getElementType ( thePlayer ) == "player" then
		--outputChatBox( "Working One" )
		redirecionar_team (thePlayer )
	end
end
addEventHandler("onColShapeHit", zonapvp, entrar_na_zona)

function sair_da_zona( thePlayer, matchingDimension )
	if getElementType ( thePlayer ) == "player" then
		--outputChatBox( "Working Two" )
		retirar_team (thePlayer )
	end
end
addEventHandler("onColShapeLeave", zonapvp, sair_da_zona)


function tele(player)		  
	local teles = math.random ( #spawns )
	if ( teles ) then
		local isTeamPlayer = getPlayerTeam ( player )
		if ( isTeamPlayer ) then 
			setElementData(player,"inPVP",true)
			setElementData ( player, "SavedTeam", getTeamName ( getPlayerTeam ( player ) ) )
			--outputDebugString (" inPVP ativado ")
		else
			--outputDebugString ("Esse playe foi pro pvp mas não tem team")
			verificarOne = verificarOne +1
		end
	setElementPosition(player, unpack ( spawns [ teles ] ))
	end	
end


function redirecionar_team (thePlayer)

	playerTeam = getPlayerTeam(thePlayer)

	i = i + 1
	if i > 4 then 
		i = 1
	end

	if pvp_1 and pvp_2 and pvp_3 and pvp_4 then 
		if i == 1 then 
			setPlayerTeam ( thePlayer, pvp_1 )
		end
		if i == 2 then 
			setPlayerTeam ( thePlayer, pvp_2 )
		end
		if i == 3 then 
			setPlayerTeam ( thePlayer, pvp_3 )
		end
		if i == 4 then 
			setPlayerTeam ( thePlayer, pvp_4 )
		end
	end
end
			
function retirar_team (player)

	if verificarOne == 1 then 
		 setPlayerTeam ( player, nil )
		--outputDebugString ("nao tem time")
		 verificarOne = 0
	else
		local t = getElementData ( player, "SavedTeam" )
		outputDebugString ("tem timer")
		setPlayerTeam ( player, getTeamFromName ( t ) )
		setElementData(player,"SavedTeam",false)
		--outputDebugString ("tem time")
	end
end

addCommandHandler("stop123",
function (player)
	 local accName = getAccountName ( getPlayerAccount ( player ) )
     if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Owner" ) ) then
		if event_iniciado >= 2 then
			for k , v in ipairs(getElementsByType("player")) do
				if getElementData(v,"inPVP") then
				retirar_team (v)
			end
		end
		
		for i, team in ipairs(getElementsByType("team")) do 
			destroyElement(team) 
        end 
		
			removeCommandHandler ( "pvp" )
			event_iniciado = 1
			
		else
			outputChatBox("Unable to stop because it was not started", player, 255, 0, 0)
		end
	end
end)

 

Link to comment
zonapvp = createColRectangle (  5441.9, -1926.4, 119.5, 133 )
event_iniciado = 1
verificarOne = 0
local spawns = { 
	{ 5460.70264, -1825.30945, 10.97057 },
	{ 5454.74805, -1884.13953, 10.29621 },
	{ 5537.57373, -1887.13306, 11.04092 },
	{ 5545.14746, -1829.44873, 10.29401 },
	{ 5501.95557, -1861.66174, 10.29621 }
}
function start_admin_event (player)
	
	if event_iniciado == 1 then			
		local accName = getAccountName ( getPlayerAccount ( player ) )
		if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Owner" ) ) then 	
			outputDebugString ("Evento Iniciado")
			event_iniciado = event_iniciado +1
			
			i = 0
			pvp_1 = createTeam("PVP-Red [use /pvp]", 255, 0, 0)
			pvp_2 = createTeam("PVP-Green [use /pvp]", 0, 255, 0)
			pvp_3 = createTeam("PVP-Blue [use /pvp]", 0, 0, 255)
			pvp_4 = createTeam("PVP-Yellow [use /pvp]", 255, 255, 0)
			
			addCommandHandler ( "pvp", tele )
		end						
	else
		outputChatBox("The event is already activated", player, 255, 0, 0)
	end	
end
addCommandHandler ( "eventStart", start_admin_event )
function entrar_na_zona( thePlayer, matchingDimension )
	if getElementType ( thePlayer ) == "player" then
		--outputChatBox( "Working One" )
		redirecionar_team (thePlayer )
	end
end
addEventHandler("onColShapeHit", zonapvp, entrar_na_zona)
function sair_da_zona( thePlayer, matchingDimension )
	if getElementType ( thePlayer ) == "player" then
		--outputChatBox( "Working Two" )
		retirar_team (thePlayer )
	end
end
addEventHandler("onColShapeLeave", zonapvp, sair_da_zona)
function tele(player)		  
	local teles = math.random ( #spawns )
	if ( teles ) then
		local isTeamPlayer = getPlayerTeam ( player )
		if getElementData(player,"SavedTeam") then 
			setElementData(player,"inPVP",true)
			
			--outputDebugString (" inPVP ativado ")
		else
			--outputDebugString ("Esse playe foi pro pvp mas não tem team")
			verificarOne = verificarOne +1
		end
	setElementPosition(player, unpack ( spawns [ teles ] ))
	end	
end
function redirecionar_team (thePlayer)
	playerTeam = getPlayerTeam(thePlayer)
	i = i + 1
	if i > 4 then 
		i = 1
	end
	if pvp_1 and pvp_2 and pvp_3 and pvp_4 then 
		if i == 1 then 
			setPlayerTeam ( thePlayer, pvp_1 )
		end
		if i == 2 then 
			setPlayerTeam ( thePlayer, pvp_2 )
		end
		if i == 3 then 
			setPlayerTeam ( thePlayer, pvp_3 )
		end
		if i == 4 then 
			setPlayerTeam ( thePlayer, pvp_4 )
		end
	end
end
			
function retirar_team (player)
	if getElementData(player,"SavedTeam") then
		local t = getElementData ( player, "SavedTeam" )
		outputDebugString ("tem timer")
		setPlayerTeam ( player, getTeamFromName ( t ) )
		setElementData(player,"SavedTeam",false)
		--outputDebugString ("tem time")
	end
end
addCommandHandler("stop123",
function (player)
	 local accName = getAccountName ( getPlayerAccount ( player ) )
     if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Owner" ) ) then
		if event_iniciado >= 2 then
			for k , v in ipairs(getElementsByType("player")) do
				if getElementData(v,"inPVP") then
				retirar_team (v)
			end
		end
		
		for i, team in ipairs(getElementsByType("team")) do 
			destroyElement(team) 
        end 
		
			removeCommandHandler ( "pvp" )
			event_iniciado = 1
			
		else
			outputChatBox("Unable to stop because it was not started", player, 255, 0, 0)
		end
	end
end)

I made it check if player has SavedTeam data

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