跳至正文
版本:最新版 - a1.169.2 ⚖️

道具发射器

这段示例代码修改了武器,使其发射道具而不是普通子弹

此代码片段使用了来自 default-weapons 包的 AR4 武器。将其添加到 Package.toml 的 packages_requirements 中,以便在你的包之前加载:

Package.toml
[script]
# ...
packages_requirements = [
"default-weapons",
]
Server/Index.lua
-- 从 default-weapons 包生成一把武器,靠近地图原点
local my_weap = AR4(Vector(200, 0, 100), Rotator())
my_weap:SetDamage(0)

my_weap:Subscribe("Fire", function(weapon, shooter)
local control_rotation = shooter:GetControlRotation()
local forward_vector = control_rotation:GetForwardVector()
local spawn_location = shooter:GetLocation() + Vector(0, 0, 40) + forward_vector * Vector(200)

-- CollisionType.StaticOnly 使茶壶仅与世界碰撞,因此不会击中射手
local prop = Prop(spawn_location, control_rotation, "nanos-world::SM_TeaPot_Interior", CollisionType.StaticOnly)
prop:AddImpulse(forward_vector * Vector(10000), true)

-- 10 秒后清理它
prop:SetLifeSpan(10)
end)