diff --git a/server/gameserver/android.cc b/server/gameserver/android.cc index 59b2ed1c..1a28bcd0 100644 --- a/server/gameserver/android.cc +++ b/server/gameserver/android.cc @@ -117,7 +117,13 @@ void Android::InternalUpdate(int delta_time) return; } } +#ifdef DEBUG + if (!Global::Instance()->stop_world) { + agent_->Exec(); + } +#else agent_->Exec(); +#endif } void Android::GiveEquip() diff --git a/server/gameserver/global.h b/server/gameserver/global.h index 566ab37b..c6637787 100644 --- a/server/gameserver/global.h +++ b/server/gameserver/global.h @@ -16,6 +16,7 @@ class Global : public a8::Singleton static ColliderComponent* last_collider; int traversing_cell_creature_count = 0; int verify_set_pos = 0; + bool stop_world = false; }; bool IsValidSlotId(int slot_id); diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index dae86262..11d56e11 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -1074,6 +1074,10 @@ void Player::_CMExecCommand(f8::MsgHdr& hdr, const cs::CMExecCommand& msg) VP_Gas, TEXT("battle_server_killer_gas", "毒圈"), dmg_out); + } else if (cmd == "stop_world") { + Global::Instance()->stop_world = true; + } else if (cmd == "start_world") { + Global::Instance()->stop_world = false; } else if (cmd == "add_hp") { if (cmds.size() > 1) { float hp = a8::XValue(cmds[1]).GetDouble();