📄 plugofengine.pas
字号:
end;
procedure TBaseObject_SendMsg(SelfObject, BaseObject: TBaseObject; wIdent, wParam: Word; nParam1, nParam2, nParam3: Integer; pszMsg: PChar);
begin
SelfObject.SendMsg(BaseObject, wIdent, wParam, nParam1, nParam2, nParam3, StrPas(pszMsg));
end;
procedure TBaseObject_SendRefMsg(BaseObject: TBaseObject; wIdent, wParam: Word; nParam1, nParam2, nParam3: Integer; pszMsg: PChar);
begin
BaseObject.SendRefMsg(wIdent, wParam, nParam1, nParam2, nParam3, StrPas(pszMsg));
end;
procedure TBaseObject_SendDelayMsg(SelfObject, BaseObject: TBaseObject; wIdent, wParam: Word; nParam1, nParam2, nParam3: Integer; pszMsg: PChar; dwDelayTime: LongWord);
begin
SelfObject.SendDelayMsg(BaseObject, wIdent, wParam, nParam1, nParam2, nParam3, StrPas(pszMsg), dwDelayTime);
end;
procedure TBaseObject_SysMsg(BaseObject: TBaseObject; pszMsg: PChar; MsgColor: TMsgColor; MsgType: TMsgType);
begin
BaseObject.SysMsg(StrPas(pszMsg), MsgColor, MsgType);
end;
function TBaseObject_GetFrontPosition(BaseObject: TBaseObject; var nX: Integer; var nY: Integer): Boolean;
begin
Result := BaseObject.GetFrontPosition(nX, nY);
end;
function TBaseObject_GetRecallXY(BaseObject: TBaseObject; nX, nY: Integer; nRange: Integer; var nDX: Integer; var nDY: Integer): Boolean;
begin
Result := BaseObject.sub_4C5370(nX, nY, nRange, nDX, nDY);
end;
procedure TBaseObject_SpaceMove(BaseObject: TBaseObject; pszMap: PChar; nX, nY: Integer; nInt: Integer);
begin
BaseObject.SpaceMove(StrPas(pszMap), nX, nY, nInt);
end;
procedure TBaseObject_FeatureChanged(BaseObject: TBaseObject);
begin
BaseObject.FeatureChanged;
end;
procedure TBaseObject_StatusChanged(BaseObject: TBaseObject);
begin
BaseObject.StatusChanged;
end;
function TBaseObject_GetFeatureToLong(BaseObject: TBaseObject): Integer;
begin
Result := BaseObject.GetFeatureToLong;
end;
function TBaseObject_GetFeature(SelfObject, BaseObject: TBaseObject): Integer;
begin
Result := SelfObject.GetFeature(BaseObject);
end;
function TBaseObject_GetCharColor(SelfObject, BaseObject: TBaseObject): Byte;
begin
Result := BaseObject.GetCharColor(BaseObject);
end;
function TBaseObject_GetNamecolor(BaseObject: TBaseObject): Byte;
begin
Result := BaseObject.GetNamecolor;
end;
procedure TBaseObject_GoldChanged(BaseObject: TBaseObject);
begin
BaseObject.GoldChanged;
end;
procedure TBaseObject_GameGoldChanged(BaseObject: TBaseObject);
begin
BaseObject.GameGoldChanged;
end;
procedure TBaseObject_SetTargetCreat(AObject, BObject: TBaseObject);
begin
AObject.SetTargetCreat(BObject);
end;
function TBaseObject_MagCanHitTarget(BaseObject: TBaseObject; nX, nY: Integer; TargeTBaseObject: TBaseObject): Boolean;
begin
BaseObject.MagCanHitTarget(nX, nY, TargeTBaseObject);
end;
function TBaseObject_IsProtectTarget(AObject, BObject: TBaseObject): Boolean;
begin
Result := AObject.IsProtectTarget(BObject);
end;
function TBaseObject_IsAttackTarget(AObject, BObject: TBaseObject): Boolean;
begin
Result := AObject.IsAttackTarget(BObject);
end;
function TBaseObject_IsProperTarget(AObject, BObject: TBaseObject): Boolean;
begin
Result := AObject.IsProperTarget(BObject);
end;
function TBaseObject_IsProperFriend(AObject, BObject: TBaseObject): Boolean;
begin
Result := AObject.IsProperFriend(BObject);
end;
procedure TBaseObject_TrainSkillPoint(BaseObject: TBaseObject; UserMagic: pTUserMagic; nTranPoint: Integer);
begin
BaseObject.TrainSkill(UserMagic, nTranPoint);
end;
function TBaseObject_GetAttackPower(BaseObject: TBaseObject; nBasePower, nPower: Integer): Integer;
begin
Result := BaseObject.GetAttackPower(nBasePower, nPower);
end;
function TBaseObject_MakeSlave(BaseObject: TBaseObject; pszMonName: PChar; nMakeLevel, nExpLevel, nMaxMob, nType: Integer; dwRoyaltySec: LongWord): TBaseObject;
begin
Result := BaseObject.MakeSlave(StrPas(pszMonName), nMakeLevel, nExpLevel, nMaxMob, dwRoyaltySec);
end;
procedure TBaseObject_MakeGhost(BaseObject: TBaseObject);
begin
BaseObject.MakeGhost;
end;
procedure TBaseObject_RefNameColor(BaseObject: TBaseObject);
begin
BaseObject.RefNameColor;
end;
//AddItem 占用内存由自己处理,API内部会自动申请内存
function TBaseObject_AddItemToBag(BaseObject: TBaseObject; AddItem: pTUserItem): BOOL;
var
UserItem: pTUserItem;
begin
New(UserItem);
UserItem.MakeIndex := AddItem.MakeIndex;
UserItem.wIndex := AddItem.wIndex;
UserItem.Dura := AddItem.Dura;
UserItem.DuraMax := AddItem.DuraMax;
UserItem.btValue := AddItem.btValue;
Result := BaseObject.AddItemToBag(UserItem);
if not Result then Dispose(UserItem);
end;
function TPlayObject_AddItemToStorage(PlayObject: TPlayObject; AddItem: pTUserItem): BOOL;
var
UserItem: pTUserItem;
begin
Result := False;
if PlayObject.m_StorageItemList.Count < 46 then begin
New(UserItem);
UserItem.MakeIndex := AddItem.MakeIndex;
UserItem.wIndex := AddItem.wIndex;
UserItem.Dura := AddItem.Dura;
UserItem.DuraMax := AddItem.DuraMax;
UserItem.btValue := AddItem.btValue;
PlayObject.m_StorageItemList.Add(UserItem);
Result := True;
end;
end;
procedure TBaseObject_ClearBagItem(BaseObject: TBaseObject);
begin
//BaseObject.ClearBagItem;
end;
procedure TPlayObject_ClearStorageItem(PlayObject: TPlayObject);
begin
end;
procedure TBaseObject_SetHookGetFeature(ObjectActionFeature: TObjectActionFeature);
begin
PlugInEngine.GetFeature := ObjectActionFeature;
end;
procedure TBaseObject_SetHookEnterAnotherMap(EnterAnotherMap: TObjectActionEnterMap);
begin
PlugInEngine.ObjectEnterAnotherMap := EnterAnotherMap;
end;
procedure TBaseObject_SetHookObjectDie(ObjectDie: TObjectActionEx);
begin
PlugInEngine.ObjectDie := ObjectDie;
end;
procedure TBaseObject_SetHookChangeCurrMap(ChangeCurrMap: TObjectActionEx);
begin
PlugInEngine.ChangeCurrMap := ChangeCurrMap;
end;
function TBaseObject_MagMakeDefenceArea(BaseObject: TBaseObject; nX, nY, nRange, nSec: Integer; btState: Byte; boState: Boolean): Integer;
begin
BaseObject.MagMakeDefenceArea(nX, nY, nRange, nSec, btState, boState);
end;
function TBaseObject_MagBubbleDefenceUp(BaseObject: TBaseObject; nLevel, nSec: Integer): Boolean;
begin
BaseObject.MagBubbleDefenceUp(nLevel, nSec);
end;
function TPlayObject_IsEnoughBag(PlayObject: TPlayObject): Boolean;
begin
Result := PlayObject.IsEnoughBag;
end;
function TPlayObject_nSoftVersionDate(PlayObject: TPlayObject): PInteger;
begin
Result := @PlayObject.m_nSoftVersionDate;
end;
function TPlayObject_nSoftVersionDateEx(PlayObject: TPlayObject): PInteger;
begin
Result := @PlayObject.m_nSoftVersionDateEx;
end;
function TPlayObject_dLogonTime(PlayObject: TPlayObject): PDateTime;
begin
Result := @PlayObject.m_dLogonTime;
end;
function TPlayObject_dwLogonTick(PlayObject: TPlayObject): PLongWord;
begin
Result := @PlayObject.m_dwLogonTick;
end;
function TPlayObject_nMemberType(PlayObject: TPlayObject): PInteger;
begin
Result := @PlayObject.m_nMemberType;
end;
function TPlayObject_nMemberLevel(PlayObject: TPlayObject): PInteger;
begin
Result := @PlayObject.m_nMemberLevel;
end;
function TPlayObject_nGameGold(PlayObject: TPlayObject): PInteger;
begin
Result := @PlayObject.m_nGameGold;
end;
function TPlayObject_nGamePoint(PlayObject: TPlayObject): PInteger;
begin
Result := @PlayObject.m_nGamePoint;
end;
function TPlayObject_nPayMentPoint(PlayObject: TPlayObject): PInteger;
begin
Result := @PlayObject.m_nPayMentPoint;
end;
function TPlayObject_nClientFlag(PlayObject: TPlayObject): PInteger;
begin
Result := @PlayObject.m_nClientFlagMode;
end;
function TPlayObject_nSelectID(PlayObject: TPlayObject): PInteger;
begin
Result := @PlayObject.m_nSessionID;
end;
function TPlayObject_nClientFlagMode(PlayObject: TPlayObject): PInteger;
begin
Result := @PlayObject.m_nClientFlagMode;
end;
function TPlayObject_dwClientTick(PlayObject: TPlayObject): PLongWord;
begin
Result := @PlayObject.m_dwClientTick;
end;
function TPlayObject_wClientType(PlayObject: TPlayObject): PWord;
begin
end;
function TPlayObject_sBankPassword(PlayObject: TPlayObject): _LPTBANKPWD;
var
sStoragePwd: _TBANKPWD;
begin
sStoragePwd := PlayObject.m_sStoragePwd;
Result := @sStoragePwd;
end;
function TPlayObject_nBankGold(PlayObject: TPlayObject): PInteger;
begin
end;
function TPlayObject_Create(): TPlayObject;
begin
Result := TPlayObject.Create;
end;
procedure TPlayObject_Free(PlayObject: TPlayObject);
begin
PlayObject.Free;
end;
procedure TPlayObject_SendSocket(PlayObject: TPlayObject; DefMsg: pTDefaultMessage; pszMsg: PChar);
begin
PlayObject.SendSocket(DefMsg, StrPas(pszMsg));
end;
procedure TPlayObject_SendDefMessage(PlayObject: TPlayObject; wIdent: Word; nRecog: Integer; nParam, nTag, nSeries: Word; pszMsg: PChar);
begin
PlayObject.SendDefMessage(wIdent, nRecog, nParam, nTag, nSeries, StrPas(pszMsg));
end;
procedure TPlayObject_SendAddItem(PlayObject: TPlayObject; AddItem: pTUserItem);
begin
PlayObject.SendAddItem(AddItem);
end;
procedure TPlayObject_SendDelItem(PlayObject: TPlayObject; AddItem: pTUserItem);
begin
PlayObject.SendDelItems(AddItem);
end;
function TPlayObject_TargetInNearXY(PlayObject: TPlayObject; Target: TBaseObject; nX, nY: Integer): Boolean;
begin
Result := PlayObject.CretInNearXY(Target, nX, nY);
end;
procedure TPlayObject_SetBankPassword(PlayObject: TPlayObject; pszPassword: PChar);
begin
PlayObject.m_sStoragePwd := StrPas(pszPassword);
end;
procedure TPlayObject_SetHookCreate(PlayObjectCreate: TObjectAction);
begin
PlugInEngine.PlayObjectCreate := PlayObjectCreate;
end;
function TBaseObject_GetBaseObjectTick(BaseObject: TBaseObject; nCount: Integer): PLongWord;
begin
if (nCount >= Low(BaseObject.m_dwUserTick)) and (nCount < High(BaseObject.m_dwUserTick)) then begin
Result := @BaseObject.m_dwUserTick[nCount];
end else Result := 0;
end;
function TPlayObject_GetHookCreate(): TObjectAction;
begin
Result := PlugInEngine.PlayObjectCreate;
end;
procedure TPlayObject_SetHookDestroy(PlayObjectDestroy: TObjectAction);
begin
PlugInEngine.PlayObjectDestroy := PlayObjectDestroy;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -