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