Skip to content

Commit

Permalink
合并两个速率修改接口
Browse files Browse the repository at this point in the history
  • Loading branch information
HalcyonAlcedo committed May 22, 2021
1 parent 469cc1e commit 05ec9a4
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 23 deletions.
14 changes: 8 additions & 6 deletions Base.h
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,6 @@ namespace Base {
}
int MapId = 0;
string Massage = "";
bool SetAllActionFrameSpeed = false;
}
#pragma endregion
//计时器
Expand Down Expand Up @@ -565,6 +564,7 @@ namespace Base {
void* t_HookCoordinate2 = nullptr;
float t_ActionFrameSpeed = 0;
bool t_SetActionFrameSpeed = false;
int t_ActionFrameSpeedTarget = 0;
}

//坐标
Expand Down Expand Up @@ -1503,11 +1503,13 @@ namespace Base {
//动作帧速率修改
HookLambda(MH::Player::ActionFrameSpeed,
[](auto RCX) {
if (
(RCX == Base::BasicGameData::PlayerPlot or Base::World::SetAllActionFrameSpeed )
and Base::PlayerData::TempData::t_SetActionFrameSpeed
) {
SetEDX(&Base::PlayerData::TempData::t_ActionFrameSpeed);
if (Base::PlayerData::TempData::t_SetActionFrameSpeed) {
if (Base::PlayerData::TempData::t_ActionFrameSpeedTarget == 0)
SetEDX(&Base::PlayerData::TempData::t_ActionFrameSpeed);
if (Base::PlayerData::TempData::t_ActionFrameSpeedTarget == 1 and RCX == Base::BasicGameData::PlayerPlot)
SetEDX(&Base::PlayerData::TempData::t_ActionFrameSpeed);
if (Base::PlayerData::TempData::t_ActionFrameSpeedTarget == 2 and RCX != Base::BasicGameData::PlayerPlot)
SetEDX(&Base::PlayerData::TempData::t_ActionFrameSpeed);
}
return original(RCX);
});
Expand Down
20 changes: 3 additions & 17 deletions LuaScript.h
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,8 @@ static int Game_Player_SetActionFrame(lua_State* pL) {
return 0;
}
static int Game_Player_SetActionFrameSpeed(lua_State* pL) {
float frameSpeed = (float)lua_tonumber(pL, -1);
float frameSpeed = (float)lua_tonumber(pL, 1);
Base::PlayerData::TempData::t_ActionFrameSpeedTarget = (int)lua_tointeger(pL, 2);
if(frameSpeed < 0)
Base::PlayerData::TempData::t_SetActionFrameSpeed = false;
else
Expand Down Expand Up @@ -356,19 +357,6 @@ static int Game_World_Message(lua_State* pL) {
lua_pushstring(pL, Base::World::Massage.c_str());
return 1;
}
static int Game_World_SetActionFrameSpeed(lua_State* pL) {
float frameSpeed = (float)lua_tonumber(pL, -1);
if (frameSpeed < 0) {
Base::World::SetAllActionFrameSpeed = false;
Base::PlayerData::TempData::t_SetActionFrameSpeed = false;
}
else {
Base::World::SetAllActionFrameSpeed = true;
Base::PlayerData::TempData::t_SetActionFrameSpeed = true;
}
Base::PlayerData::TempData::t_ActionFrameSpeed = frameSpeed;
return 0;
}
static int Game_Monster_SetFilter(lua_State* pL) {
int id = (int)lua_tointeger(pL, 1);
int subId = (int)lua_tointeger(pL, 2);
Expand Down Expand Up @@ -1621,7 +1609,7 @@ int Lua_Main(string LuaFile)
lua_register(L, "Game_Player_GetActionFrame", Game_Player_GetActionFrame);
//设置当前动作帧
lua_register(L, "Game_Player_SetActionFrame", Game_Player_SetActionFrame);
//设置当前动作帧
//设置当前动作帧速率
lua_register(L, "Game_Player_SetActionFrameSpeed", Game_Player_SetActionFrameSpeed);
//获取玩家血量信息
lua_register(L, "Game_Player_GetPlayerHealth", Game_Player_GetPlayerHealth);
Expand Down Expand Up @@ -1659,8 +1647,6 @@ int Lua_Main(string LuaFile)
lua_register(L, "Game_World_GetMapId", Game_World_GetMapId);
//获取聊天消息
lua_register(L, "Game_World_Message", Game_World_Message);
//设置全局动作帧速率
lua_register(L, "Game_World_SetActionFrameSpeed", Game_World_SetActionFrameSpeed);
#pragma region Monster
//设置怪物筛选器
lua_register(L, "Game_Monster_SetFilter", Game_Monster_SetFilter);
Expand Down

0 comments on commit 05ec9a4

Please sign in to comment.