📄 plugofengine.~pas
字号:
function TMagicManager_MagMakeFireball(MagicManager: TMagicManager;PlayObject: TPlayObject; UserMagic: pTUserMagic; nTargetX, nTargetY: Integer; var TargeTBaseObject: TBaseObject): Boolean; stdcall;
function TMagicManager_MagTreatment(MagicManager: TMagicManager;PlayObject: TPlayObject; UserMagic: pTUserMagic; var nTargetX, nTargetY: Integer; var TargeTBaseObject: TBaseObject): Boolean; stdcall;
function TMagicManager_MagMakeHellFire(MagicManager: TMagicManager;PlayObject: TPlayObject; UserMagic: pTUserMagic; nTargetX, nTargetY: Integer; TargeTBaseObject: TBaseObject): Boolean; stdcall;
function TMagicManager_MagMakeQuickLighting(MagicManager: TMagicManager;PlayObject: TPlayObject; UserMagic: pTUserMagic; var nTargetX, nTargetY: Integer; TargeTBaseObject: TBaseObject): Boolean; stdcall;
function TMagicManager_MagMakeLighting(MagicManager: TMagicManager;PlayObject: TPlayObject; UserMagic: pTUserMagic; nTargetX, nTargetY: Integer; var TargeTBaseObject: TBaseObject): Boolean; stdcall;
function TMagicManager_MagMakeFireCharm(MagicManager: TMagicManager;PlayObject: TPlayObject; UserMagic: pTUserMagic; nTargetX, nTargetY: Integer; var TargeTBaseObject: TBaseObject): Boolean; stdcall;
function TMagicManager_MagMakeUnTreatment(MagicManager: TMagicManager;PlayObject: TPlayObject; UserMagic: pTUserMagic; nTargetX, nTargetY: Integer; var TargeTBaseObject: TBaseObject): Boolean; stdcall;
function TMagicManager_MagMakeLivePlayObject(MagicManager: TMagicManager;PlayObject: TPlayObject; UserMagic: pTUserMagic; TargeTBaseObject: TBaseObject): Boolean; stdcall;
function TMagicManager_MagMakeArrestObject(MagicManager: TMagicManager;PlayObject: TPlayObject; UserMagic: pTUserMagic; TargeTBaseObject: TBaseObject): Boolean; stdcall;
function TMagicManager_MagChangePosition(MagicManager: TMagicManager;PlayObject: TPlayObject; nTargetX, nTargetY: Integer; TargeTBaseObject: TBaseObject): Boolean; stdcall;
function TMagicManager_MagMakeFireDay(MagicManager: TMagicManager;PlayObject: TPlayObject; UserMagic: pTUserMagic; nTargetX, nTargetY: Integer; var TargeTBaseObject: TBaseObject): Boolean; stdcall;
procedure TRunSocket_CloseUser(GateIdx, nSocket: Integer); stdcall;
procedure TRunSocket_SetHookExecGateMsgOpen(RunSocketExecGateMsg: TRunSocketObject_Open); stdcall;
procedure TRunSocket_SetHookExecGateMsgClose(RunSocketExecGateMsg: TRunSocketObject_Close); stdcall;
procedure TRunSocket_SetHookExecGateMsgEeceive_OK(RunSocketExecGateMsg: TRunSocketObject_Eeceive_OK); stdcall;
procedure TRunSocket_SetHookExecGateMsgData(RunSocketExecGateMsg: TRunSocketObject_Data); stdcall;
function TPlugOfEngine_GetProductVersion(): Integer; stdcall;
function TPlugOfEngine_GetUserVersion(): Integer; stdcall;
procedure TPlugOfEngine_SetUserLicense(nLimitNumber, nLimitUserCount: Integer); stdcall;
implementation
uses M2Share, HUtil32;
procedure TPlugOfEngine.InitPlugOfEngine;
var
I: Integer;
begin
GetFeature := nil;
ObjectEnterAnotherMap := nil;
ObjectDie := nil;
ChangeCurrMap := nil;
ClientQueryBagItems := nil;
ClientQueryUserState := nil;
SendActionGood := nil;
SendActionFail := nil;
SendWalkMsg := nil;
SendHorseRunMsg := nil;
SendRunMsg := nil;
SendDeathMsg := nil;
SendSkeletonMsg := nil;
SendAliveMsg := nil;
SendSpaceMoveMsg := nil;
SendChangeFaceMsg := nil;
SendUseitemsMsg := nil;
SendUseMagicMsg := nil;
SendUserLevelUpMsg := nil;
SendUserAbilieyMsg := nil;
SendUserStruckMsg := nil;
SendSocket := nil;
SendGoodsList := nil;
SendUserStatusMsg := nil;
CheckCanDropItem := nil;
CheckCanDealItem := nil;
CheckCanStorageItem := nil;
CheckCanRepairItem := nil;
CheckUserItems := nil;
PlayObjectRun := nil;
PlayObjectFilterMsg := nil;
MerchantClientGetDetailGoodsList := nil;
UserEngineRun := nil;
ObjectClientMsg := nil;
ObjectUserRunMsg := nil;
SetHookDoSpell := nil;
PlayObjectCreate := nil;
PlayObjectDestroy := nil;
PlayObjectUserCmd := nil;
ObjectOperateMessage := nil;
QuestActionScriptCmd := nil;
QuestConditionScriptCmd := nil;
ActionScriptProcess := nil;
ConditionScriptProcess := nil;
PlayObjectUserSelect := nil;
PlayObjectUserLogin1 := nil;
PlayObjectUserLogin2 := nil;
PlayObjectUserLogin3 := nil;
PlayObjectUserLogin4 := nil;
RunSocketExecGateMsg_Open := nil;
RunSocketExecGateMsg_Close := nil;
RunSocketExecGateMsg_Eeceive_OK := nil;
RunSocketExecGateMsg_Data := nil;
for I := Low(PlayObjectCreateArray) to High(PlayObjectCreateArray) do begin
PlayObjectCreateArray[I] := nil;
end;
for I := Low(PlayObjectDestroyArray) to High(PlayObjectDestroyArray) do begin
PlayObjectDestroyArray[I] := nil;
end;
for I := Low(PlayObjectUserCmdArray) to High(PlayObjectUserCmdArray) do begin
PlayObjectUserCmdArray[I] := nil;
end;
for I := Low(ObjectOperateMessageArray) to High(ObjectOperateMessageArray) do begin
ObjectOperateMessageArray[I] := nil;
end;
for I := Low(QuestActionScriptCmdArray) to High(QuestActionScriptCmdArray) do begin
QuestActionScriptCmdArray[I] := nil;
end;
for I := Low(QuestConditionScriptCmdArray) to High(QuestConditionScriptCmdArray) do begin
QuestConditionScriptCmdArray[I] := nil;
end;
for I := Low(ActionScriptProcessArray) to High(ActionScriptProcessArray) do begin
ActionScriptProcessArray[I] := nil;
end;
for I := Low(ConditionScriptProcessArray) to High(ConditionScriptProcessArray) do begin
ConditionScriptProcessArray[I] := nil;
end;
for I := Low(PlayObjectUserSelectArray) to High(PlayObjectUserSelectArray) do begin
PlayObjectUserSelectArray[I] := nil;
end;
for I := Low(UserEngineRunArray) to High(UserEngineRunArray) do begin
UserEngineRunArray[I] := nil;
end;
nUserEngineRun := -1;
nPlayObjectCreate := -1;
nPlayObjectDestroy := -1;
nPlayObjectUserCmd := -1;
nObjectOperateMessage := -1;
nQuestActionScriptCmd := -1;
nQuestConditionScriptCmd := -1;
nActionScriptProcess := -1;
nConditionScriptProcess := -1;
nPlayObjectUserSelect := -1;
end;
constructor TPlugOfEngine.Create();
begin
inherited;
PlugHandList := TStringList.Create;
InitPlugOfEngine;
end;
destructor TPlugOfEngine.Destroy;
begin
InitPlugOfEngine;
PlugHandList.Free;
inherited;
end;
function TPlugOfEngine.GetPlugByHandle(PlugHandle: THandle): Integer;
var
I: Integer;
Module: THandle;
begin
Result := -1;
for I := 0 to PlugHandList.Count - 1 do begin
Module := THandle(PlugHandList.Objects[I]);
if Module = PlugHandle then begin
Result := I;
break;
end;
end;
end;
procedure TPlugOfEngine.SetHookPlayObjectCreate(PlugHandle: THandle; ObjectAction: TObjectAction);
var
nPlugNo: Integer;
begin
nPlugNo := GetPlugByHandle(PlugHandle);
if (nPlugNo >= 0) and (nPlugNo < MAXPULGCOUNT) then begin
PlayObjectCreateArray[nPlugNo] := ObjectAction;
if nPlugNo > nPlayObjectCreate then begin
PlayObjectCreate := ObjectAction;
nPlayObjectCreate := nPlugNo;
end;
end;
end;
procedure TPlugOfEngine.SetHookPlayObjectDestroy(PlugHandle: THandle; ObjectAction: TObjectAction);
var
nPlugNo: Integer;
begin
nPlugNo := GetPlugByHandle(PlugHandle);
if (nPlugNo >= 0) and (nPlugNo < MAXPULGCOUNT) then begin
PlayObjectDestroyArray[nPlugNo] := ObjectAction;
if nPlugNo > nPlayObjectDestroy then begin
PlayObjectDestroy := ObjectAction;
nPlayObjectDestroy := nPlugNo;
end;
end;
end;
procedure TPlugOfEngine.SetHookPlayObjectUserCmd(PlugHandle: THandle; ObjectUserCmd: TObjectUserCmd);
var
nPlugNo: Integer;
begin
nPlugNo := GetPlugByHandle(PlugHandle);
if (nPlugNo >= 0) and (nPlugNo < MAXPULGCOUNT) then begin
PlayObjectUserCmdArray[nPlugNo] := ObjectUserCmd;
if nPlugNo > nPlayObjectUserCmd then begin
PlayObjectUserCmd := ObjectUserCmd;
nPlayObjectUserCmd := nPlugNo;
end;
end;
end;
procedure TPlugOfEngine.SetHookObjectOperateMessage(PlugHandle: THandle; PlayObjectOperateMessage: TObjectOperateMessage);
var
nPlugNo: Integer;
begin
nPlugNo := GetPlugByHandle(PlugHandle);
if (nPlugNo >= 0) and (nPlugNo < MAXPULGCOUNT) then begin
ObjectOperateMessageArray[nPlugNo] := ObjectOperateMessage;
if nPlugNo > nObjectOperateMessage then begin
ObjectOperateMessage := PlayObjectOperateMessage;
nObjectOperateMessage := nPlugNo;
end;
end;
end;
procedure TPlugOfEngine.SetHookQuestActionScriptCmd(PlugHandle: THandle; ScriptCmd: TScriptCmd);
var
nPlugNo: Integer;
begin
nPlugNo := GetPlugByHandle(PlugHandle);
if (nPlugNo >= 0) and (nPlugNo < MAXPULGCOUNT) then begin
QuestActionScriptCmdArray[nPlugNo] := ScriptCmd;
if nPlugNo > nQuestActionScriptCmd then begin
QuestActionScriptCmd := ScriptCmd;
nQuestActionScriptCmd := nPlugNo;
end;
end;
end;
procedure TPlugOfEngine.SetHookQuestConditionScriptCmd(PlugHandle: THandle; ScriptCmd: TScriptCmd);
var
nPlugNo: Integer;
begin
nPlugNo := GetPlugByHandle(PlugHandle);
if (nPlugNo >= 0) and (nPlugNo < MAXPULGCOUNT) then begin
QuestConditionScriptCmdArray[nPlugNo] := ScriptCmd;
if nPlugNo > nQuestConditionScriptCmd then begin
QuestConditionScriptCmd := ScriptCmd;
nQuestConditionScriptCmd := nPlugNo;
end;
end;
end;
procedure TPlugOfEngine.SetHookActionScriptProcess(PlugHandle: THandle; ScriptAction: TScriptAction);
var
nPlugNo: Integer;
begin
nPlugNo := GetPlugByHandle(PlugHandle);
if (nPlugNo >= 0) and (nPlugNo < MAXPULGCOUNT) then begin
ActionScriptProcessArray[nPlugNo] := ScriptAction;
if nPlugNo > nActionScriptProcess then begin
ActionScriptProcess := ScriptAction;
nActionScriptProcess := nPlugNo;
end;
end;
end;
procedure TPlugOfEngine.SetHookConditionScriptProcess(PlugHandle: THandle; ScriptCondition: TScriptCondition);
var
nPlugNo: Integer;
begin
nPlugNo := GetPlugByHandle(PlugHandle);
if (nPlugNo >= 0) and (nPlugNo < MAXPULGCOUNT) then begin
ConditionScriptProcessArray[nPlugNo] := ScriptCondition;
if nPlugNo > nConditionScriptProcess then begin
ConditionScriptProcess := ScriptCondition;
nConditionScriptProcess := nPlugNo;
end;
end;
end;
procedure TPlugOfEngine.SetHookUserEngineRun(PlugHandle: THandle; ObjectAction: TObjectAction);
var
nPlugNo: Integer;
begin
nPlugNo := GetPlugByHandle(PlugHandle);
if (nPlugNo >= 0) and (nPlugNo < MAXPULGCOUNT) then begin
UserEngineRunArray[nPlugNo] := ObjectAction;
if nPlugNo > nUserEngineRun then begin
UserEngineRun := ObjectAction;
nUserEngineRun := nPlugNo;
end;
end;
end;
procedure TPlugOfEngine.SetHookPlayObjectUserSelect(PlugHandle: THandle; ObjectActionUserSelect: TObjectActionUserSelect);
var
nPlugNo: Integer;
begin
nPlugNo := GetPlugByHandle(PlugHandle);
if (nPlugNo >= 0) and (nPlugNo < MAXPULGCOUNT) then begin
PlayObjectUserSelectArray[nPlugNo] := ObjectActionUserSelect;
if nPlugNo > nPlayObjectUserSelect then begin
PlayObjectUserSelect := ObjectActionUserSelect;
nPlayObjectUserSelect := nPlugNo;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -