Drakath Posted August 21, 2012 Posted August 21, 2012 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)
Castillo Posted August 21, 2012 Posted August 21, 2012 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 )
Drakath Posted August 21, 2012 Author Posted August 21, 2012 Still same problem... When player connect he is in team, but when he log in he is removed from team.
Xeno Posted August 21, 2012 Posted August 21, 2012 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 )
Xeno Posted August 21, 2012 Posted August 21, 2012 You have not created a new team for the Logged in people.
Drakath Posted August 21, 2012 Author Posted August 21, 2012 I tried to reconnect and when I did I wasn't in team.
Drakath Posted August 22, 2012 Author Posted August 22, 2012 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()
Guest Guest4401 Posted August 22, 2012 Posted August 22, 2012 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()
Drakath Posted August 22, 2012 Author Posted August 22, 2012 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.
Guest Guest4401 Posted August 22, 2012 Posted August 22, 2012 WARNING: setteam\dteam.lua:28: Bad argument @ 'setPlayerTeam' It's obviously because player is nil.
Castillo Posted August 22, 2012 Posted August 22, 2012 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 )
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