Jump to content

Teams


Drakath

Recommended Posts

I have some kind of bug or error, here's the deal: I made a script so every player should join a team "All" but when player log ins, he doesn't join the team. Did I make mistake in script or is it something else?

Script:

function createAllTeamOnStart () 
    AllTeam = createTeam ( "All", 0, 255, 0 ) 
end 
addEventHandler("onResourceStart", resourceRoot, createAllTeamOnStart) 
  
function setAllTeam() 
if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(source)), aclGetGroup("Everyone")) then 
   setPlayerTeam(source, AllTeam) 
   end 
end 
addEventHandler("onPlayerLogin",getRootElement(),setAllTeam) 
addEventHandler("onPlayerJoin",getRootElement(),setAllTeam) 
addEventHandler("onPlayerSpawn",getRootElement(),setAllTeam) 
addEventHandler("onClientLoginLoaded",getRootElement(),setAllTeam) 
addEventHandler("onResourceStart",getRootElement(),setAllTeam) 
addEventHandler("onRequestLogin",getRootElement(),setAllTeam) 
addEventHandler("onRequestAutologin",getRootElement(),setAllTeam) 

Link to comment

The only problem I see is that you are using onResourceStart to set the team, but 'source' of that event is not a player.

function createAllTeamOnStart ( ) 
    AllTeam = createTeam ( "All", 0, 255, 0 ) 
    for index, player in ipairs ( getElementsByType ( "player" ) ) do 
        if isObjectInACLGroup ( "user.".. getAccountName ( getPlayerAccount ( player ) ), aclGetGroup ( "Everyone" ) ) then 
            setPlayerTeam ( player, AllTeam ) 
        end 
    end 
end 
addEventHandler ( "onResourceStart", resourceRoot, createAllTeamOnStart ) 
  
function setAllTeam ( ) 
    if isObjectInACLGroup ( "user.".. getAccountName ( getPlayerAccount ( source ) ), aclGetGroup ( "Everyone" ) ) then 
        setPlayerTeam ( source, AllTeam ) 
    end 
end 
addEventHandler ( "onPlayerLogin", getRootElement(), setAllTeam ) 
addEventHandler ( "onPlayerJoin", getRootElement(), setAllTeam ) 
addEventHandler ( "onPlayerSpawn", getRootElement(), setAllTeam ) 
addEventHandler ( "onClientLoginLoaded", getRootElement(), setAllTeam ) 
addEventHandler ( "onRequestLogin", getRootElement(), setAllTeam ) 
addEventHandler ( "onRequestAutologin", getRootElement(), setAllTeam ) 

Link to comment

I had this problem a long time ago, you have to get the team by name and then set team.

function createAllTeamOnStart ( ) 
    AllTeam = createTeam ( "All", 0, 255, 0 ) 
    for index, player in ipairs ( getElementsByType ( "player" ) ) do 
        if isObjectInACLGroup ( "user.".. getAccountName ( getPlayerAccount ( player ) ), aclGetGroup ( "Everyone" ) ) then 
            team = getTeamFromName("All") 
            setPlayerTeam ( player, team ) 
        end 
    end 
end 
addEventHandler ( "onResourceStart", resourceRoot, createAllTeamOnStart ) 
  
function setAllTeam ( ) 
    if isObjectInACLGroup ( "user.".. getAccountName ( getPlayerAccount ( source ) ), aclGetGroup ( "Everyone" ) ) then 
        team = getTeamFromName("All") 
        setPlayerTeam ( source, team ) 
    end 
end 
addEventHandler ( "onPlayerLogin", getRootElement(), setAllTeam ) 
addEventHandler ( "onPlayerJoin", getRootElement(), setAllTeam ) 
addEventHandler ( "onPlayerSpawn", getRootElement(), setAllTeam ) 
addEventHandler ( "onClientLoginLoaded", getRootElement(), setAllTeam ) 
addEventHandler ( "onRequestLogin", getRootElement(), setAllTeam ) 
addEventHandler ( "onRequestAutologin", getRootElement(), setAllTeam ) 

Link to comment

I got some error: ERROR: setteam\dteam.lua:26: stack overflow

function createAllTeamOnStart ( ) 
    AllTeam = createTeam ( "All", 0, 255, 0 ) 
    for index, player in ipairs ( getElementsByType ( "player" ) ) do 
        if isObjectInACLGroup ( "user.".. getAccountName ( getPlayerAccount ( player ) ), aclGetGroup ( "Everyone" ) ) then 
            team = getTeamFromName("All") 
            setPlayerTeam ( player, team ) 
        end 
    end 
end 
addEventHandler ( "onResourceStart", resourceRoot, createAllTeamOnStart ) 
  
function setAllTeam ( ) 
    if isObjectInACLGroup ( "user.".. getAccountName ( getPlayerAccount ( source ) ), aclGetGroup ( "Everyone" ) ) then 
        team = getTeamFromName("All") 
        setPlayerTeam ( source, team ) 
    end 
end 
addEventHandler ( "onPlayerLogin", getRootElement(), setAllTeam ) 
addEventHandler ( "onPlayerJoin", getRootElement(), setAllTeam ) 
addEventHandler ( "onPlayerSpawn", getRootElement(), setAllTeam ) 
addEventHandler ( "onClientLoginLoaded", getRootElement(), setAllTeam ) 
addEventHandler ( "onRequestLogin", getRootElement(), setAllTeam ) 
addEventHandler ( "onRequestAutologin", getRootElement(), setAllTeam ) 
  
function setPlayerTeam() 
        setPlayerTeam ( player, team ) 
    setTimer ( function() 
        setPlayerTeam ( player, team ) 
    end, 5000, 1 ) 
end 
  
setPlayerTeam() 

Link to comment
Guest Guest4401
function createAllTeamOnStart ( ) 
    AllTeam = createTeam ( "All", 0, 255, 0 ) 
    for index, player in ipairs ( getElementsByType ( "player" ) ) do 
        if isObjectInACLGroup ( "user.".. getAccountName ( getPlayerAccount ( player ) ), aclGetGroup ( "Everyone" ) ) then 
            team = getTeamFromName("All") 
            setPlayerTeam ( player, team ) 
        end 
    end 
end 
addEventHandler ( "onResourceStart", resourceRoot, createAllTeamOnStart ) 
  
function setAllTeam ( ) 
    if isObjectInACLGroup ( "user.".. getAccountName ( getPlayerAccount ( source ) ), aclGetGroup ( "Everyone" ) ) then 
        team = getTeamFromName("All") 
        setPlayerTeam ( source, team ) 
    end 
end 
addEventHandler ( "onPlayerLogin", getRootElement(), setAllTeam ) 
addEventHandler ( "onPlayerJoin", getRootElement(), setAllTeam ) 
addEventHandler ( "onPlayerSpawn", getRootElement(), setAllTeam ) 
addEventHandler ( "onClientLoginLoaded", getRootElement(), setAllTeam ) 
addEventHandler ( "onRequestLogin", getRootElement(), setAllTeam ) 
addEventHandler ( "onRequestAutologin", getRootElement(), setAllTeam ) 
  
function _setPlayerTeam() 
        setPlayerTeam ( player, team ) 
    setTimer ( function() 
        setPlayerTeam ( player, team ) 
    end, 5000, 1 ) 
end 
  
_setPlayerTeam() 

Link to comment

I get this warning: WARNING: setteam\dteam.lua:28: Bad argument @ 'setPlayerTeam'

And still same problem team set when you die or connect but not log in. If you log in you are removed. Is there anyway to make player get into the team after log in? Event handler: onPlayerLogin didn't work.

Link to comment
function createAllTeamOnStart ( ) 
    AllTeam = createTeam ( "All", 0, 255, 0 ) 
    for index, player in ipairs ( getElementsByType ( "player" ) ) do 
        if isObjectInACLGroup ( "user.".. getAccountName ( getPlayerAccount ( player ) ), aclGetGroup ( "Everyone" ) ) then 
            setPlayerTeam ( player, AllTeam ) 
        end 
    end 
end 
addEventHandler ( "onResourceStart", resourceRoot, createAllTeamOnStart ) 
  
function setAllTeam ( ) 
    if isObjectInACLGroup ( "user.".. getAccountName ( getPlayerAccount ( source ) ), aclGetGroup ( "Everyone" ) ) then 
        setTimer ( setPlayerTeam, 2000, 1, source, AllTeam ) 
    end 
end 
addEventHandler ( "onPlayerLogin", getRootElement(), setAllTeam ) 
addEventHandler ( "onPlayerJoin", getRootElement(), setAllTeam ) 
addEventHandler ( "onPlayerSpawn", getRootElement(), setAllTeam ) 
addEventHandler ( "onClientLoginLoaded", getRootElement(), setAllTeam ) 
addEventHandler ( "onRequestLogin", getRootElement(), setAllTeam ) 
addEventHandler ( "onRequestAutologin", getRootElement(), setAllTeam ) 

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