增加serverfunctionhash函数
This commit is contained in:
36
csgo2/script_apis.cpp
Normal file
36
csgo2/script_apis.cpp
Normal file
@@ -0,0 +1,36 @@
|
||||
#include "script_apis.h"
|
||||
namespace ScriptApis {
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>Ҫ<EFBFBD>Լ<EFBFBD>push<73><68>stack<63><6B>
|
||||
auto luaApi_ListenToGameEvent(lua_State* luaVm) -> int {
|
||||
const auto eventName = lua_tostring(luaVm, 1);
|
||||
do {
|
||||
if (eventName == nullptr) {
|
||||
LOG("luaApi_ListenToGameEvent eventName == nullptr || callbackName "
|
||||
"== "
|
||||
"nullptr\n");
|
||||
break;
|
||||
}
|
||||
if (!lua_isfunction(luaVm, 2)) {
|
||||
LOG("luaApi_ListenToGameEvent callback is not a function\n");
|
||||
break;
|
||||
}
|
||||
auto callbackType = ScriptCallBacks::CallBackNameToEnum(eventName);
|
||||
if (callbackType == ScriptCallBacks::_CallbackNames::kError) {
|
||||
LOG("luaApi_ListenToGameEvent unknown event name: %s\n", eventName);
|
||||
break;
|
||||
}
|
||||
// <20><><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD>ӵ<EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD>
|
||||
std::unique_lock lock(ScriptCallBacks::mutex_callbackList);
|
||||
ScriptCallBacks::callbackList[luaVm][callbackType] = luaL_ref(luaVm, LUA_REGISTRYINDEX);
|
||||
|
||||
LOG("luaApi_ListenToGameEvent eventName:%s callback added\n",
|
||||
eventName);
|
||||
} while (false);
|
||||
|
||||
lua_pop(luaVm, 2); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ
|
||||
return 0;
|
||||
}
|
||||
auto initFunciton(lua_State* luaVm) -> void {
|
||||
lua_register(luaVm, "ListenToGameEvent", luaApi_ListenToGameEvent);
|
||||
}
|
||||
}; // namespace ScriptApis
|
||||
Reference in New Issue
Block a user