kevincouto6 Posted May 11, 2018 Share Posted May 11, 2018 --FPS.lua-- checking = 0 carchecking = 0 wright = false wleft = false wback = false function FPSStart (startedresource) if startedresource == getThisResource() then local skin = engineLoadTXD ( "160.txd" ) -- arm skin engineImportTXD ( skin, 160 ) local x,y,z = getElementPosition( getLocalPlayer() ) Body = createObject (991, x, y, z ) setElementParent(Body, getLocalPlayer()) attachElements ( Body, getLocalPlayer(), 0, -0.1, 0.45, 0, 90, 0) setElementAlpha( Body, 0) setElementData ( getLocalPlayer(), "blocker", Body ) realskin = getElementModel(getLocalPlayer()) if realskin == 160 then realskin = 200 end realvoice1, realvoice2 = getPedVoice (getLocalPlayer()) setElementModel ( getLocalPlayer(), 160 ) setPedVoice (getLocalPlayer(),realvoice1,realvoice2) local allcars = getElementsByType ( "vehicle", getRootElement(), false) for theKey,theVehicle in ipairs(allcars) do setElementCollidableWith ( Body, theVehicle, false ) end bindKey ( "left", "both", sidewalking ) bindKey ( "right", "both", sidewalking ) bindKey ( "backwards", "both", sidewalking ) bindKey ( "fire", "both", autoAimMode ) end end addEventHandler ( "onClientResourceStart", getRootElement(), FPSStart) function clearcars() if getElementType(source) == "vehicle" then setElementCollidableWith ( Body, source, false ) end end addEventHandler( "onClientElementStreamIn", getRootElement(),clearcars) function invisOnSpawn() realskin = getElementModel(getLocalPlayer()) if realskin == 160 then realskin = 200 end realvoice1, realvoice2 = getPedVoice (getLocalPlayer()) setElementModel ( getLocalPlayer(), 160 ) setPedVoice (getLocalPlayer(),realvoice1,realvoice2) end addEventHandler ( "onClientPlayerSpawn", getLocalPlayer(), invisOnSpawn ) function climbcheck() if isPlayerDead(getLocalPlayer())== false and getControlState("aim_weapon") == false then setElementCollisionsEnabled(Body, false) if checking == 0 then checking = 1 stopclimbcheck = setTimer ( stopCcheck, 1200, 1 ) addEventHandler ("onClientPreRender", getRootElement(), areyouclimbing) elseif checking == 1 then if isTimer(stopclimbcheck) then killTimer(stopclimbcheck) end stopclimbcheck = setTimer ( stopCcheck, 1200, 1 ) end end end bindKey ("jump", "down", climbcheck ) function stopCcheck() local currentmode = getElementModel ( getLocalPlayer()) if currentmode == 160 then setElementCollisionsEnabled(Body, true) end removeEventHandler("onClientPreRender", getRootElement(), areyouclimbing) setCameraTarget (getLocalPlayer()) checking = 0 end function areyouclimbing() hx,hy,hz = getPedBonePosition ( getLocalPlayer(), 8 ) local rot = getPedRotation (getLocalPlayer()) radRot = math.rad ( rot ) local radius = .5 local tx = hx + radius * math.sin(radRot) local ty = hy + -(radius) * math.cos(radRot) local tz = hz setCameraMatrix(tx,ty,tz,hx,hy,hz) if ( isPedDoingTask ( getLocalPlayer(), "TASK_SIMPLE_CLIMB" ) ) then if isTimer(stopclimbcheck) then killTimer(stopclimbcheck) doneclimbyet = setTimer ( finishCcheck, 400, 1 ) end end end function finishCcheck() if ( isPedDoingTask ( getLocalPlayer(), "TASK_SIMPLE_CLIMB" ) ) then doneclimbyet = setTimer ( finishCcheck, 400, 1 ) else finishedclimbing() end end function finishedclimbing() checking = 0 removeEventHandler("onClientPreRender", getRootElement(), areyouclimbing) local currentmode = getElementModel ( getLocalPlayer()) if currentmode == 160 then setElementCollisionsEnabled(Body, true) end setCameraTarget (getLocalPlayer()) end function FPSStop (startedresource) if startedresource == getThisResource() then setElementModel ( getLocalPlayer(), realskin ) setPedVoice (getLocalPlayer(),realvoice1,realvoice2) setCameraTarget (getLocalPlayer()) end end addEventHandler ( "onClientResourceStop", getRootElement(), FPSStop) function shakeCamera(weapon) x,y,z = getPedBonePosition ( getLocalPlayer(), 26 ) if weapon == 24 then createExplosion ( x,y,z + 10,12,false,0.4,false) elseif weapon == 25 then createExplosion ( x,y,z + 10,12,false,0.5,false) elseif weapon == 26 then createExplosion ( x,y,z + 10,12,false,0.7,false) elseif weapon == 27 then createExplosion ( x,y,z + 10,12,false,0.5,false) elseif weapon == 29 then createExplosion ( x,y,z + 10,12,false,0.2,false) elseif weapon == 30 then createExplosion ( x,y,z+10,12,false,0.2,false) elseif weapon == 31 then createExplosion ( x,y,z + 10,12,false,0.3,false) elseif weapon == 33 then createExplosion ( x,y,z + 10,12,false,0.3,false) elseif weapon == 34 then createExplosion ( x,y,z + 10,12,false,0.3,false) end end addEventHandler ( "onClientPlayerWeaponFire", getLocalPlayer(), shakeCamera ) function carcheck(player) if player == getLocalPlayer() then if carchecking ~= 1 then carchecking = 1 local currentmode = getElementModel ( getLocalPlayer()) if currentmode == 160 then abortCarEnterCheck = setTimer ( checkCarTask, 100, 1 ) setElementCollisionsEnabled(Body, false) addEventHandler ("onClientPreRender", getRootElement(), areyougettingin) end end end end addEventHandler ( "onClientVehicleStartEnter", getRootElement(), carcheck ) addEventHandler ( "onClientVehicleEnter", getRootElement(), carcheck ) function carfollowupcheck() if (isPedInVehicle(getLocalPlayer()) == true) then -- if player is in car setElementModel ( getLocalPlayer(), realskin ) setElementCollisionsEnabled(Body, false) setPedVoice (getLocalPlayer(),realvoice1,realvoice2) setCameraTarget (getLocalPlayer()) -- setCameraView(0) else setElementCollisionsEnabled(Body, true) setPedVoice (getLocalPlayer(),realvoice1,realvoice2) setElementModel ( getLocalPlayer(), 160 ) setCameraTarget (getLocalPlayer()) end end function areyougettingin() hx,hy,hz = getPedBonePosition ( getLocalPlayer(), 8 ) local rot = getPedRotation (getLocalPlayer()) radRot = math.rad ( rot ) local radius = .5 local tx = hx + radius * math.sin(radRot) local ty = hy + -(radius) * math.cos(radRot) local tz = hz setCameraMatrix(tx,ty,tz,hx,hy,hz) end function checkCarTask() local stask = getPedSimplestTask(getLocalPlayer()) if (isPedInVehicle(getLocalPlayer()) == true) then -- if player is in car removeEventHandler("onClientPreRender", getRootElement(), areyougettingin) carchecking = 0 CarFollowUp = setTimer ( carfollowupcheck, 100, 1 ) setElementModel ( getLocalPlayer(), realskin ) setPedVoice (getLocalPlayer(),realvoice1,realvoice2) setCameraTarget (getLocalPlayer()) -- setCameraView(0) elseif (stask == "TASK_SIMPLE_CAR_GET_IN") or (stask == "TASK_SIMPLE_GO_TO_POINT") or (stask == "TASK_SIMPLE_CAR_OPEN_DOOR_FROM_OUTSIDE") or (stask == "TASK_SIMPLE_CAR_ALIGN") or (stask == "TASK_SIMPLE_CAR_CLOSE_DOOR_FROM_INSIDE") or (stask == "TASK_SIMPLE_CAR_SHUFFLE") or (stask == "TASK_SIMPLE_CAR_DRIVE") or (stask == "TASK_SIMPLE_ACHIEVE_HEADING") then -- if player is still getting in abortCarEnterCheck = setTimer ( checkCarTask, 100, 1 ) elseif (isPedInVehicle(getLocalPlayer()) == false) then --enter vehicle was aborted setElementCollisionsEnabled(Body, true) removeEventHandler("onClientPreRender", getRootElement(), areyougettingin) carchecking = 0 setCameraTarget (getLocalPlayer()) CarFollowUp = setTimer ( carfollowupcheck, 100, 1 ) end end function carexit(player) if player == getLocalPlayer() then setElementCollisionsEnabled(Body, true) setTimer ( setElementModel, 500, 1, getLocalPlayer(), 160 ) setTimer ( setPedVoice, 500, 1, getLocalPlayer(), realvoice1,realvoice2 ) end end addEventHandler ( "onClientVehicleStartExit", getRootElement(), carexit ) addEventHandler ( "onClientVehicleExit", getRootElement(), carexit ) function changestatus (dataName) if source == getLocalPlayer() and dataName == "usemode" then if (isPedInVehicle(source) == false) and (isPlayerDead(getLocalPlayer())== false) then if (getElementData ( source, "usemode" ) == true ) then setElementCollisionsEnabled(Body, false) setElementModel ( getLocalPlayer(), realskin ) setPedVoice (getLocalPlayer(),realvoice1,realvoice2) setCameraTarget(getLocalPlayer()) elseif (getElementData ( source, "usemode" ) == false ) then setElementCollisionsEnabled(Body, true) setElementModel ( getLocalPlayer(), 160 ) setPedVoice (getLocalPlayer(),realvoice1,realvoice2) end end end end addEventHandler( "onClientElementDataChange", getRootElement(), changestatus ) function zwasted ( killer, weapon, bodypart ) local x,y,z = getElementPosition( getLocalPlayer()) setCameraMatrix(x, y, z-.8, x, y, z+1) end addEventHandler ( "onClientPlayerWasted", getLocalPlayer(), zwasted ) function updateCamera() if checking == 0 and carchecking == 0 and wright == false and wleft == false or wback == true then x,y,z,tx,ty,tz = getCameraMatrix() newangle = (( 360 - math.deg ( math.atan2 ( ( x - tx ), ( y - ty ) ) ) ) % 360)-180 setPedRotation( getLocalPlayer(), newangle ) end end addEventHandler ( "onClientPreRender", getRootElement(), updateCamera ) function sidewalking(key, keystate) if ( keystate == "down" ) then if key == "left" then wleft = true elseif key == "right" then wright = true elseif key == "backwards" then wback = true end elseif ( keystate == "up" ) then if key == "left" then wleft = false elseif key == "right" then wright = false elseif key == "backwards" then wback = false end end end function autoAimMode( key, keystate) if keystate == "down" then setControlState("aim_weapon", true) else setControlState("aim_weapon", false) end end --fps_server.lua-- function resourceStart ( resource ) if resource == getThisResource() then local allplayers = getElementsByType ( "player" ) for pKey,thep in ipairs(allplayers) do bindPlayer(thep) end end end addEventHandler ( "onResourceStart", getRootElement(), resourceStart ) function bindPlayer(player) if (player) then bindKey ( player, "backwards", "both", strafe ) else if isElement(source) then bindKey ( source, "backwards", "both", strafe ) end end end addEventHandler ( "onPlayerJoin", getRootElement(), bindPlayer ) function strafe(player, key, keystate) if keystate == "up" then setPedAnimation(player) else setPedAnimation( player, "ped", "FightSh_BWD", -1, true, true, false) end end --Meta-- <meta> <info author="Slothman and EvgeniZ" name="truefps" version="1" type="script"/> <script src="fps.lua" type="client"/> <script src="fps_server.lua" type="server"/> <file src="160.txd" /> </meta> Could someone help me add the / fp command to open the camera? Link to comment
TEDERI Posted May 13, 2018 Share Posted May 13, 2018 (edited) What do you mean by "to open the camera"? Edited May 13, 2018 by TEDERI Link to comment
kevincouto6 Posted May 13, 2018 Author Share Posted May 13, 2018 9 hours ago, TEDERI said: What do you mean by "to open the camera"? Yes command /fp Link to comment
kevincouto6 Posted May 13, 2018 Author Share Posted May 13, 2018 25 minutes ago, kevincouto6 said: Yes command /fp First person camera! 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