ynqjzar 发表于 2022-3-2 17:16:44

各位大佬帮助看看有个报错是哪里的问题!

GOM引擎
上服务器以后突然出现的这段代码!
搞不懂是哪里的问题,哀求指教!
TBaseObject:ie 3 CheckCode:1001

菜鸟会读书 发表于 2022-3-2 17:24:22

重启下服务器试试,如果以前没有报过那么基本就是这个问题。

pai哥 发表于 2022-3-2 20:30:58

基础对象死亡报的错。。翻了一下源码。与怪物有关,怪物死亡时的坐标或者有一些任务标记之类的。。
然后有个计时 会报这种的错。。。。。。

简单来说 就是怪物刷新 爆物品 怪物触发方面原因的了。。。
再看了一下 好像与wa取怪物身上的物品有关的样子啊。。。。。。。。。。汗

复制一段源码你看看吧。。。。。。。。。。。。。
<ol>function TPlayObject.ClientGetButchItem(BaseObject: TBaseObject; nX, nY: Integer; btDir: Byte; var dwDelayTime: LongWord): Boolean;
var
x, y, n10, n14, nBL: Integer;
dwCheckTime       : LongWord;
StdItem         : pTStdItem;
resourcestring
sHintMsg          = '你身上灵符不足%d个,不能挖取%s身上的物品';
begin
Result := False;
if not (btDir in ) then Exit;
if m_StallMgr.OnSale then Exit;

if m_boDeath or m_boGhost then Exit;

dwDelayTime := 0;

if not g_Config.boSpeedHackCheck then begin
    dwCheckTime := GetTickCount - m_dwTurnTick;
    if dwCheckTime < _MAX(150, g_Config.dwTurnIntervalTime - 150) then begin
      dwDelayTime := _MAX(150, g_Config.dwTurnIntervalTime - 150) - dwCheckTime;
      Exit;
    end;
    m_dwTurnTick := GetTickCount;
end;

SendSocket(nil, Format('%s/%d', ));

if Integer(BaseObject) = 0 then
    Exit;

//1001
if (m_PEnvir.m_MapFlag.nDigItem > 0) and (m_PEnvir.m_MapFlag.pDigItemListnil) then begin
    if (m_UseItems.wIndex > 0) and (m_UseItems.Dura > 0) then begin
      StdItem := UserEngine.GetStdItem(m_UseItems.wIndex);
      if (StdItemnil) and (StdItem.Shape in ) and (m_DetectItem.MakeIndex > 0) then begin //品质
      //if GetItemSpiritQuality(@m_DetectItem) > 0 then begin
      m_btDirection := btDir;
      if GetFrontPosition(x, y) and m_PEnvir.CanWalk(x, y, False) then begin
          if PileEarth(x, y, StdItem.Shape, Integer(BaseObject)) then begin
            SendSocket(nil, '+DIG');
          end;
          Dec(m_nHealthTick, 30);
          Dec(m_nSpellTick, 50);
          m_nSpellTick := _MAX(0, m_nSpellTick);
          Dec(m_nPerHealth, 2);
          Dec(m_nPerSpell, 2);
          Exit;
          //end;
      end;
      end;
    end;
end;

if (abs(nX - m_nCurrX)

czy7812 发表于 2022-3-2 20:33:08

PAI哥威武,直接从源代码找到问题的根源。
页: [1]
查看完整版本: 各位大佬帮助看看有个报错是哪里的问题!