heavy air Posted March 15, 2009 Share Posted March 15, 2009 hi all i am tryin to make a defense system for my base i have made doors that open and close when entering a collision sphere but what i want to do is make the collision sphere check what team u are on and then open if your on the right team this is what ive got so far and the doors were working fine until i tried to add the check for what team the player is on local upperdoorlock = createColSphere ( -1156, 43, -200, 8 ) local upperdoor = createObject ( 3113, -1156.52, 43.1175, 0, 0, 15.88000, 316.330 ) local sidedoorlock = createColSphere ( -1108, 65, -200, 8 ) local sidedoor = createObject ( 10828, -1108, 65, 5, 0, 0, 314 ) local heavysteam = createTeam ( "heavysteam" ) function joinateam( source, cmd ) setPlayerTeam ( source, heavysteam ) outputChatBox ( "your on Heavys Team" ) end addCommandHandler ( "heavysside", joinateam ) function openupperdoor ( player ) local myteam = getPlayerTeam ( player ) if myteam == "heavysteam" then outputChatBox ( "open sesame" ) moveObject ( upperdoor, 5000, -1156.52, 43.1175, -10 ) setElementPosition ( upperdoorlock, -1156, 43, -200 ) setTimer ( moveObject, 8000, 1, upperdoor, 5000, -1156.52, 43.1175, 0 ) setTimer ( setElementPosition, 10000, 1, upperdoorlock, -1156, 43, 0 ) setTimer ( outputChatBox, 8000, 1, "close sesame" ) else end end function opensidedoor () outputChatBox ( "open sesame" ) setElementPosition ( sidedoorlock, -1110, 65, -200 ) moveObject ( sidedoor, 5000, -1108, 65, -10 ) setTimer ( MoveObject, 10000, 1, 5000, -1108, 65, 5 ) setTimer ( setElementPosition, 12000, 1, sidedoorlock, -1110, 69, 5 ) setTimer ( outputChatBox, 10000, 1, "close sesame" ) end function securemyfort ( player, cmd ) setElementPosition ( upperdoorlock, -1156, 43, 0 ) setElementPosition ( sidedoorlock, -1110, 69, 5 ) addEventHandler ( "onColShapeHit", upperdoorlock, openupperdoor ) addEventHandler ( "onColShapeHit", sidedoorlock, opensidedoor ) outputChatBox ( "fort secured", 255, 0, 0 ) end addCommandHandler ( "secure", securemyfort ) i get an error on line 15 " bad player pointer" so i assume that i need to pass what player is triggering the collision sphere but i dont know how to do that or if thats what i need to do i have had a quick look through the forums but cant find what i need . most of the time i can figure things out from the way other people have written other functions but i dont seem to be gettin anywhere with this one thanks for any help EDIT : the reason the check player team is only on one door is because this is first time i tried this and wanted to keep one working door for comparison Link to comment
eAi Posted March 15, 2009 Share Posted March 15, 2009 Are you walking through the door or driving - it'll trigger on the vehicle if you're driving... Link to comment
heavy air Posted March 15, 2009 Author Share Posted March 15, 2009 i am driving does that mean it looks for the team the vehicle is on sort of thing? if thats the case would i need to do a check if player in vehicle and then get player occupying vehicle and then check what team player is on EDIT : just tried it walking ( no vehicle ) and i get no error in debug but door doesnt work either still gives me same error when i n vehicle though 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