|
|
发表于 2026-3-29 08:57:20
|
显示全部楼层
begin
Result := True;
nCode := 0;
dwStartTick := GetTickCount();
try
nCode := 1;
if MonGen <> nil then begin
nCode := 2;
if MonGen.nRace > 0 then begin
nCode := 3;
if Random(100) < MonGen.nMissionGenRate then begin
nCode := 4;
nX := (MonGen.nX - MonGen.nRange) + Random(MonGen.nRange * 2 + 1);
nY := (MonGen.nY - MonGen.nRange) + Random(MonGen.nRange * 2 + 1);
nCode := 5;
for I := 0 to nCount - 1 do begin
nCode := 6;
Cert := AddBaseObject(nil, MonGen.sMapName, ((nX - 10) + Random(20)), ((nY - 10) + Random(20)), MonGen.nRace, MonGen.sMonName);
nCode := 7;
if Cert <> nil then begin
nCode := 8;
Cert.m_nChangeColorType := MonGen.nChangeColorType; //是否变色
nCode := 9;
MonGen.CertList.Add(Cert);
Cert.AddMapCount;
end;
nCode := 10;
if (GetTickCount - dwStartTick) > g_dwZenLimit then begin
Result := False;
Break;
end;
end;
end else begin
for I := 0 to nCount - 1 do begin
nCode := 11;
nX := (MonGen.nX - MonGen.nRange) + Random(MonGen.nRange * 2 + 1);
nY := (MonGen.nY - MonGen.nRange) + Random(MonGen.nRange * 2 + 1);
nCode := 12;
Cert := AddBaseObject(nil, MonGen.sMapName, nX, nY, MonGen.nRace, MonGen.sMonName);
nCode := 13;
if Cert <> nil then begin
nCode := 14;
Cert.m_nChangeColorType := MonGen.nChangeColorType; //是否变色
nCode := 15;
MonGen.CertList.Add(Cert);
Cert.AddMapCount;
nCode := 16;
end;
if (GetTickCount - dwStartTick) > g_dwZenLimit then begin
Result := False;
Break;
end;
end;
end;
end;
end;
except
MainOutMessage(sExceptionMsg + \' Code:\' + IntToStr(nCode));
end;
end;
复制代码 |
|