新增2接口2事件

- 新增getMaxPlayers和dropPlayerItem接口
- 新增handleRequestTryAction和handleRequestAction事件
This commit is contained in:
子沐呀
2024-06-26 20:28:16 +08:00
Unverified
parent ea9934f315
commit 5afb0f8433
8 changed files with 201 additions and 5 deletions
+42 -1
View File
@@ -1,4 +1,5 @@
#include "Global.h"
#include "Event/HandleRequestAction/HandleRequestAction.h"
using namespace ll::hash_utils;
void Export_Event_API() {
@@ -234,7 +235,7 @@ void Export_Event_API() {
}
}
);
return true;
return true;
}
case doHash("ProjectileCreate"): {
auto Call = RemoteCall::importAs<bool(Actor * mob)>(eventName, eventId);
@@ -247,6 +248,46 @@ void Export_Event_API() {
);
return true;
}
case doHash("handleRequestTryAction"): {
auto Call =
RemoteCall::importAs<bool(Player * player, int requestAction, int slot, int containerNetId)>(
eventName,
eventId
);
eventBus->emplaceListener<HandleRequestActionBeforeEvent>([Call](HandleRequestActionBeforeEvent& ev) {
bool result = true;
try {
result = Call(
ev.self(),
(int)ev.getRequestAction().getActionType(),
(int)ev.getRequestAction().getSrc().mSlot,
(int)ev.getRequestAction().getSrc().mOpenContainerNetId
);
} catch (...) {}
if (!result) {
ev.cancel();
}
});
return true;
}
case doHash("handleRequestAction"): {
auto Call =
RemoteCall::importAs<bool(Player * player, int requestAction, int slot, int containerNetId)>(
eventName,
eventId
);
eventBus->emplaceListener<HandleRequestActionAfterEvent>([Call](HandleRequestActionAfterEvent& ev) {
try {
Call(
ev.self(),
(int)ev.getRequestAction().getActionType(),
(int)ev.getRequestAction().getSrc().mSlot,
(int)ev.getRequestAction().getSrc().mOpenContainerNetId
);
} catch (...) {}
});
return true;
}
default:
return false;
}