пишу такую хуйню тип когда ты на определенной дистанции от игрока то прописывало +attack;-attack.
я все сделаю сам, но я не могу сделать проверку на дистанцию.
я все сделаю сам, но я не могу сделать проверку на дистанцию.
local vm = FindMetaTable("Vector")
local em = FindMetaTable("Entity")
local me = LocalPlayer()
vm.Distance(em.GetPos(target), em.GetPos(me))
local me = LocalPlayer()
target:GetPos():Distance(me:GetPos())
я конечно благодарен, но не мог бы ты скинуть версию чтобы просматривать расстояние между другими игроками.metatable:
Lua:local vm = FindMetaTable("Vector") local em = FindMetaTable("Entity") local me = LocalPlayer() vm.Distance(em.GetPos(target), em.GetPos(me))
без metatable:
Lua:local me = LocalPlayer() target:GetPos():Distance(me:GetPos())
Distance wiki
GetPos wiki
local cm = FindMetaTable("CUserCmd")
local pm = FindMetaTable("Player")
local vm = FindMetaTable("Vector")
local em = FindMetaTable("Entity")
local me = LocalPlayer()
local function ToMetric(num)
if not isnumber(num) then return 0 end
return math.floor(num * 0.0254)
end
hook.Add("CreateMove", "", function(cmd)
if pm.Team(me) == TEAM_SPECTATOR then return end
if em.Health(me) < 1 then return end
local tr = me:GetEyeTrace()
local target = tr.Entity
if !target:IsPlayer() then return end
if !em.IsValid(target) or em.Health(target) < 1 then return end
if ToMetric(vm.Distance(em.GetPos(me), em.GetPos(target))) <= 2 then
-- or something else...
cm.SetButtons(cmd, bit.bor(cm.GetButtons(cmd), 1))
else
-- or something else...
cm.SetButtons(cmd, bit.band(cm.GetButtons(cmd), bit.bnot(1)))
end
end)
благодарюесли вдруг на какой-то пак не работает где -- or something else... можно заменить на RunConsoleCommand(), сверху + снизу -
Lua:local cm = FindMetaTable("CUserCmd") local pm = FindMetaTable("Player") local vm = FindMetaTable("Vector") local em = FindMetaTable("Entity") local me = LocalPlayer() local function ToMetric(num) if not isnumber(num) then return 0 end return math.floor(num * 0.0254) end hook.Add("CreateMove", "", function(cmd) if pm.Team(me) == TEAM_SPECTATOR then return end if em.Health(me) < 1 then return end local tr = me:GetEyeTrace() local target = tr.Entity if !target:IsPlayer() then return end if !em.IsValid(target) or em.Health(target) < 1 then return end if ToMetric(vm.Distance(em.GetPos(me), em.GetPos(target))) <= 2 then -- or something else... cm.SetButtons(cmd, bit.bor(cm.GetButtons(cmd), 1)) else -- or something else... cm.SetButtons(cmd, bit.band(cm.GetButtons(cmd), bit.bnot(1))) end end)