void Script::ClearCurGSDupRgn(int regionType) { CRgnManager* rgnManager = GameManager::GetInstance()->GetRgnManager(); if(rgnManager==NULL) return; CServerRegion* region = NULL; switch(regionType) { case RGN_PERSONAL: for(CRgnManager::RgnByIDMap::iterator it = rgnManager->GetPersonalDupRgnMap().begin(); it != rgnManager->GetPersonalDupRgnMap().end(); ++it) { region = it->second; // 如果该副本中有玩家则返回 if(region && (region->GetPlayerAmout() != 0)) continue; CMessage msg(MSG_S2W_RGN_DELETE); msg.Add(region->GetOwnerGUID()); // owner id msg.Add(region->GetExID()); // Region的GUID msg.Add((long)regionType); // 模板Rgn的Type msg.Add((long)-1);/*挂起的脚本ID*/ // 异步操作返回值变量名 msg.Add((char*)""); // 异步操作返回值变量名 msg.Add((char*)""); msg.Send(); } break; case RGN_PERSONAL_HOUSE: for(CRgnManager::RgnByIDMap::iterator it = rgnManager->GetPersonalHouseDupRgnMap().begin(); it != rgnManager->GetPersonalHouseDupRgnMap().end(); ++it) { region = it->second; // 如果该副本中有玩家则返回 if(region && (region->GetPlayerAmout() != 0)) continue; CMessage msg(MSG_S2W_RGN_DELETE); msg.Add(region->GetOwnerGUID()); // owner id msg.Add(region->GetExID()); // Region的GUID msg.Add((long)regionType); // 模板Rgn的Type msg.Add((long)-1);/*挂起的脚本ID*/ // 异步操作返回值变量名 msg.Add((char*)""); // 异步操作返回值变量名 msg.Add((char*)""); msg.Send(); } break; case RGN_TEAM: for(CRgnManager::RgnByIDMap::iterator it = rgnManager->GetTeamDupRgnMap().begin(); it != rgnManager->GetTeamDupRgnMap().end(); ++it) { region = it->second; // 如果该副本中有玩家则返回 if(region && (region->GetPlayerAmout() != 0)) continue; CMessage msg(MSG_S2W_RGN_DELETE); msg.Add(region->GetOwnerGUID()); // owner id msg.Add(region->GetExID()); // Region的GUID msg.Add((long)regionType); // 模板Rgn的Type msg.Add((long)-1);/*挂起的脚本ID*/ // 异步操作返回值变量名 msg.Add((char*)""); // 异步操作返回值变量名 msg.Add((char*)""); msg.Send(); } break; default: break; } }