AD商业广告自由选择
AD商业广告自由选择

增加叠加物品OverLap=3时,叠加物品重量不变(不管叠加多少个,物品重量不变)

正文概述 开源人   2026-04-08 01:45:31  
看下其它引擎l381234FCOM专注游戏工具及源码例子分享
看到有这样的功能..l381234FCOM专注游戏工具及源码例子分享
增加叠加物品OverLap=3时,叠加物品重量不变(不管叠加多少个,物品重量不变)l381234FCOM专注游戏工具及源码例子分享
随手试下 如何更改这个..l381234FCOM专注游戏工具及源码例子分享
l381234FCOM专注游戏工具及源码例子分享
在源码里查找 Overlap 定位到UsrEngn单元 ,有如下代码 ...
//获取物品重量的函数
function TUserEngine.GetStdItemWeight(nItemIdx: Integer; TakeBackCnt: Integer): Integer;
var
  StdItem                   : pTStdItem;
begin
  Dec(nItemIdx);
  if (nItemIdx >= 0) and (StdItemList.Count > nItemIdx) then begin
    StdItem := StdItemList.Items[nItemIdx];
    if StdItem.Overlap = 1 then//OverLap为1时 OverLap=1 重量=重叠数量*单物品重量/10
      Result := StdItem.Weight + StdItem.Weight * (TakeBackCnt div 10)
    else if StdItem.Overlap >= 2 then //OverLap大于2时 重量=重叠数量*单物品重量
      Result := StdItem.Weight * TakeBackCnt
    else
      Result := StdItem.Weight;
  end else
    Result := 0;
end;
这个看起来就很容易修改的了.. 上面部分内容修改为如下..不知道有没有语法错误吧..应是这样的吧..
    //else if StdItem.Overlap >= 2 then 改为等于2 重量=重叠数量*单物品重量
      else if StdItem.Overlap = 2 then 
      Result := StdItem.Weight * TakeBackCnt
    else if StdItem.Overlap = 3 then //增加一个检测是不是3
      Result := StdItem.Weight;
    else
    Result := StdItem.Weight
    end else
    Result := 0;
  end;
 


声明:本文系互联网搜索而收集整理,不以盈利性为目的,文字、图文资料源于互联网且共享于互联网。
如有侵权,请联系 yao4fvip#qq.com (#改@) 删除。