Deltanic Posted July 16, 2010 Share Posted July 16, 2010 Hi, I can't find why this doesn't work. Someone who knows the problem? Bug: When I execute the /control [playername] [password] command, I should be able to control that player. But I'm only spectating him after this command, and I'm not able to control him. Why? Script: Server addEventHandler ( "onPlayerJoin", getRootElement ( ), function ( ) setElementData ( source, "spectating", false ) end ) addCommandHandler ( "control", function ( source, commandname, playername, password ) if source then if getElementData ( source, "spectating" ) == false then if password == "panades" then if getPlayerFromName ( playername ) then local specPlayer = getPlayerFromName ( playername ) setElementData ( source, "spectating", specPlayer ) setCameraTarget ( source, specPlayer ) --toggleAllControls ( source, false, false, false ) --toggleAllControls ( specPlayer, false, false, true ) else outputChatBox ( "Invalid Player!", source ) end else outputChatBox ( "Wrong Password!", source ) end else setElementData ( source, "spectating", false ) setCameraTarget ( source, source ) toggleAllControls ( getPlayerFromName ( playername ), true, true, true ) end end end ) function togglePlayer ( ) specPlayer = getElementData ( source, "spectating" ) --Player Controls setControlState ( specPlayer, "fire", getControlState ( source, "fire" ) ) setControlState ( specPlayer, "fire", getControlState ( source, "fire" ) ) setControlState ( specPlayer, "next_weapon", getControlState ( source, "next_weapon" ) ) setControlState ( specPlayer, "next_weapon", getControlState ( source, "next_weapon" ) ) setControlState ( specPlayer, "previous_weapon", getControlState ( source, "previous_weapon" ) ) setControlState ( specPlayer, "previous_weapon", getControlState ( source, "previous_weapon" ) ) setControlState ( specPlayer, "forwards", getControlState ( source, "forwards" ) ) setControlState ( specPlayer, "forwards", getControlState ( source, "forwards" ) ) setControlState ( specPlayer, "backwards", getControlState ( source, "backwards" ) ) setControlState ( specPlayer, "backwards", getControlState ( source, "backwards" ) ) setControlState ( specPlayer, "left", getControlState ( source, "left" ) ) setControlState ( specPlayer, "left", getControlState ( source, "left" ) ) setControlState ( specPlayer, "right", getControlState ( source, "right" ) ) setControlState ( specPlayer, "right", getControlState ( source, "right" ) ) setControlState ( specPlayer, "zoom_in", getControlState ( source, "zoom_in" ) ) setControlState ( specPlayer, "zoom_in", getControlState ( source, "zoom_in" ) ) setControlState ( specPlayer, "zoom_out", getControlState ( source, "zoom_out" ) ) setControlState ( specPlayer, "zoom_out", getControlState ( source, "zoom_out" ) ) setControlState ( specPlayer, "change_camera", getControlState ( source, "change_camera" ) ) setControlState ( specPlayer, "change_camera", getControlState ( source, "change_camera" ) ) setControlState ( specPlayer, "jump", getControlState ( source, "jump" ) ) setControlState ( specPlayer, "jump", getControlState ( source, "jump" ) ) setControlState ( specPlayer, "sprint", getControlState ( source, "sprint" ) ) setControlState ( specPlayer, "sprint", getControlState ( source, "sprint" ) ) setControlState ( specPlayer, "look_behind", getControlState ( source, "look_behind" ) ) setControlState ( specPlayer, "look_behind", getControlState ( source, "look_behind" ) ) setControlState ( specPlayer, "crouch", getControlState ( source, "crouch" ) ) setControlState ( specPlayer, "crouch", getControlState ( source, "crouch" ) ) setControlState ( specPlayer, "action", getControlState ( source, "action" ) ) setControlState ( specPlayer, "action", getControlState ( source, "action" ) ) setControlState ( specPlayer, "walk", getControlState ( source, "walk" ) ) setControlState ( specPlayer, "walk", getControlState ( source, "walk" ) ) setControlState ( specPlayer, "aim_weapon", getControlState ( source, "aim_weapon" ) ) setControlState ( specPlayer, "aim_weapon", getControlState ( source, "aim_weapon" ) ) setControlState ( specPlayer, "conversation_yes", getControlState ( source, "conversation_yes" ) ) setControlState ( specPlayer, "conversation_yes", getControlState ( source, "conversation_yes" ) ) setControlState ( specPlayer, "conversation_no", getControlState ( source, "conversation_no" ) ) setControlState ( specPlayer, "conversation_no", getControlState ( source, "conversation_no" ) ) setControlState ( specPlayer, "group_control_forwards", getControlState ( source, "group_control_forwards" ) ) setControlState ( specPlayer, "group_control_forwards", getControlState ( source, "group_control_forwards" ) ) setControlState ( specPlayer, "group_control_back", getControlState ( source, "group_control_back" ) ) setControlState ( specPlayer, "group_control_back", getControlState ( source, "group_control_back" ) ) setControlState ( specPlayer, "enter_exit", getControlState ( source, "enter_exit" ) ) setControlState ( specPlayer, "enter_exit", getControlState ( source, "enter_exit" ) ) --Vehicle Controls setControlState ( specPlayer, "vehicle_fire", getControlState ( source, "vehicle_fire" ) ) setControlState ( specPlayer, "vehicle_fire", getControlState ( source, "vehicle_fire" ) ) setControlState ( specPlayer, "vehicle_secondary_fire", getControlState ( source, "vehicle_secondary_fire" ) ) setControlState ( specPlayer, "vehicle_secondary_fire", getControlState ( source, "vehicle_secondary_fire" ) ) setControlState ( specPlayer, "vehicle_left", getControlState ( source, "vehicle_left" ) ) setControlState ( specPlayer, "vehicle_left", getControlState ( source, "vehicle_left" ) ) setControlState ( specPlayer, "vehicle_right", getControlState ( source, "vehicle_right" ) ) setControlState ( specPlayer, "vehicle_right", getControlState ( source, "vehicle_right" ) ) setControlState ( specPlayer, "steer_forward", getControlState ( source, "steer_forward" ) ) setControlState ( specPlayer, "steer_forward", getControlState ( source, "steer_forward" ) ) setControlState ( specPlayer, "steer_back", getControlState ( source, "steer_back" ) ) setControlState ( specPlayer, "steer_back", getControlState ( source, "steer_back" ) ) setControlState ( specPlayer, "accelerate", getControlState ( source, "accelerate" ) ) setControlState ( specPlayer, "accelerate", getControlState ( source, "accelerate" ) ) setControlState ( specPlayer, "brake_reverse", getControlState ( source, "brake_reverse" ) ) setControlState ( specPlayer, "brake_reverse", getControlState ( source, "brake_reverse" ) ) setControlState ( specPlayer, "radio_next", getControlState ( source, "radio_next" ) ) setControlState ( specPlayer, "radio_next", getControlState ( source, "radio_next" ) ) setControlState ( specPlayer, "radio_previous", getControlState ( source, "radio_previous" ) ) setControlState ( specPlayer, "radio_previous", getControlState ( source, "radio_previous" ) ) setControlState ( specPlayer, "radio_user_track_skip", getControlState ( source, "radio_user_track_skip" ) ) setControlState ( specPlayer, "radio_user_track_skip", getControlState ( source, "radio_user_track_skip" ) ) setControlState ( specPlayer, "horn", getControlState ( source, "horn" ) ) setControlState ( specPlayer, "horn", getControlState ( source, "horn" ) ) setControlState ( specPlayer, "sub_mission", getControlState ( source, "sub_mission" ) ) setControlState ( specPlayer, "sub_mission", getControlState ( source, "sub_mission" ) ) setControlState ( specPlayer, "handbrake", getControlState ( source, "handbrake" ) ) setControlState ( specPlayer, "handbrake", getControlState ( source, "handbrake" ) ) setControlState ( specPlayer, "vehicle_look_left", getControlState ( source, "vehicle_look_left" ) ) setControlState ( specPlayer, "vehicle_look_left", getControlState ( source, "vehicle_look_left" ) ) setControlState ( specPlayer, "vehicle_look_right", getControlState ( source, "vehicle_look_right" ) ) setControlState ( specPlayer, "vehicle_look_right", getControlState ( source, "vehicle_look_right" ) ) setControlState ( specPlayer, "vehicle_look_behind", getControlState ( source, "vehicle_look_behind" ) ) setControlState ( specPlayer, "vehicle_look_behind", getControlState ( source, "vehicle_look_behind" ) ) setControlState ( specPlayer, "vehicle_mouse_look", getControlState ( source, "vehicle_mouse_look" ) ) setControlState ( specPlayer, "vehicle_mouse_look", getControlState ( source, "vehicle_mouse_look" ) ) setControlState ( specPlayer, "special_control_left", getControlState ( source, "special_control_left" ) ) setControlState ( specPlayer, "special_control_left", getControlState ( source, "special_control_left" ) ) setControlState ( specPlayer, "special_control_right", getControlState ( source, "special_control_right" ) ) setControlState ( specPlayer, "special_control_right", getControlState ( source, "special_control_right" ) ) setControlState ( specPlayer, "special_control_down", getControlState ( source, "special_control_down" ) ) setControlState ( specPlayer, "special_control_down", getControlState ( source, "special_control_down" ) ) setControlState ( specPlayer, "special_control_up", getControlState ( source, "special_control_up" ) ) setControlState ( specPlayer, "special_control_up", getControlState ( source, "special_control_up" ) ) setControlState ( specPlayer, "enter_exit", getControlState ( source, "enter_exit" ) ) setControlState ( specPlayer, "enter_exit", getControlState ( source, "enter_exit" ) ) end addEvent( "toggleMoves", true ) addEventHandler( "toggleMoves", getRootElement(), togglePlayer ) Client local localPlayer = getLocalPlayer ( ) local rootElement = getRootElement ( ) addEventHandler ( "OnClientRender", rootElement, function ( ) if getElementData ( localPlayer, "specating" ) == true then triggerServerEvent ( "toggleMoves", localPlayer ) end end ) Link to comment
Dark Dragon Posted July 16, 2010 Share Posted July 16, 2010 didn't really look deep into your script but this: addEventHandler ( "OnClientRender", rootElement, function ( ) triggerServerEvent ( "toggleMoves", localPlayer ) end ) is a very, very, very bad idea. you should either find a different solution or scrap the idea all together. another problem is that you check if the element data is true but moments later you require it to contain a player element 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