|
|

楼主 |
发表于 2025-12-28 12:12:51
|
显示全部楼层
子弹预测的方法需要改一下
private void DrawBullet()
{
var playerContext = Global.PlayerContext;
var local = Global.MyEntity;
var wpn = Global.WeaponContext.currentWeaponEntity;
var angle = wpn.spread.Spread; // replace
var cmd = Global.UserCommandContext;
var range = new float[3];
var seed = cmd.commands.CommandToSendList.Last.Value.Seq + 1;
var projectileNum = (wpn.basicInfo.Info.SplitAssetBundleName.Equals("shotgun") ? 6 : 1); // maybe shotsfired is 6 / 7??? sg id = 6 (replace)
// var attackDis = wpn.basicInfo.Info.ShotDistanceLogic.GetShotDistance(cmd.commands.CommandToSendList.Last.Value, wpn, false); // dont use!!!
var attackDis = 200000f;
if (projectileNum > 1)
{
var array = FireUtility.SplitShot(local, wpn, seed, attackDis, range, range, projectileNum, angle);
foreach (var result in array)
{
Layer.Add_WorldPointCube(new Vector3(result.EndPos[0], result.EndPos[1], result.EndPos[2]), Color.red, 5f);
}
}
else
{
var result = FireUtility.Fire(local, wpn, seed, attackDis, range, range);
Layer.Add_WorldPointCube(new Vector3(result.EndPos[0], result.EndPos[1], result.EndPos[2]), Color.red, 5f);
}
}
改成这样即可 |
|