Hi, im making camera entity and click to moving player.
How can i drive entity and moving player?(Only Camera Entity Moved)
I need player movement
sh_camera.lua
[CODE]
DEFINE_BASECLASS("drive_base")
drive.Register("drive_lwcamera", {
Init = function(self)
local ent = self.Entity
local ply = self.Player
ply.keyPressed = {}
if (SERVER) then
ply:SetViewEntity( nil )
end
ply.m_PreDriveObserveMode = false
end,
CalcView = function(self, view)
local ent = self.Entity
local ply = self.Player
view.origin = ent:GetPos()
view.angles = ent:GetAngles()
view.drawviewer = true
end,
StartMove = function(self, mv, cmd)
local ent = self.Entity
local ply = self.Player
PrintTable(ply.m_CurrentDriverMethod)
mv:SetMoveAngles(ent:GetAngles())
mv:SetOrigin(ent:GetNetworkOrigin())
end,
Move = function(self, mv)
-- snip
mv:SetVelocity(vel)
mv:SetOrigin(pos)
if (IsFirstTimePredicted()) then -- Yes Predicted Movement
if (mv:KeyDown(IN_ATTACK2) && !ply.keyPressed[IN_ATTACK2]) then
ply.keyPressed[IN_ATTACK2] = true
local trData = {}
trData.start = pos
trData.endpos = trData.start + util.ScreenToVector(mx, my, ply.sw, ply.sh, ent:GetAngles()) * 10000
trData.filter = ent
local tr = util.TraceLine(trData)
local hitpos = tr.HitPos
ply.waypoint = hitpos
elseif (!mv:KeyDown(IN_ATTACK2) && ply.keyPressed[IN_ATTACK2]) then
ply.keyPressed[IN_ATTACK2] = false
end
end
end,
FinishMove = function(self, mv)
local ent = self.Entity
local ply = self.Player
ent:SetNetworkOrigin(mv:GetOrigin())
ent:SetAngles(mv:GetMoveAngles())
if (SERVER && IsValid(ent:GetPhysicsObject())) then
ent:GetPhysicsObject():EnableMotion(true)
ent:GetPhysicsObject():SetPos(mv:GetOrigin())
ent:GetPhysicsObject():Wake()
ent:GetPhysicsObject():EnableMotion(false)
end
end
}, "drive_base")
[/CODE]
shared.lua
[CODE]
function GM:Move(ply, mv)
self.BaseClass:Move(ply, mv)
mv:SetVelocity(Vector(0, 1000, 10)) -- Only Camera drive entity moving not player...(i need player movement)
end
[/CODE]
Why should I use this
clientside input worldposition net send -> serverside predict error...
Help me! any solutions?
Sorry, you need to Log In to post a reply to this thread.