自动公告
首先建立DayWatcherThread.h和DayWatcherThread.cpp 两个文件(文件名可以自定)
DayWatcherThread.h 复制内容到剪贴板代码: vector<string> wAnnounceMsg; vector<string>::iterator itMsg; DayWatcherThread.cpp 复制内容到剪贴板代码: void DayWatcherThread: oad_Announce() { QueryResult * result = CharacterDatabase.Query("SELECT * FROM w_announce "); if(result == NULL) return; do { wAnnounceMsg.push_back( string(result->Fetch()[0].GetString() )); } while(result->NextRow()); delete result; itMsg = wAnnounceMsg.begin(); Log.Notice("DW Thread", "公告系统."); } void DayWatcherThread::Send_Announce() // Cebern1c added { if( Rand(10.0f) ) { // 有10%的机会发送公告 if ( itMsg == wAnnounceMsg.end() ) itMsg = wAnnounceMsg.begin(); sWorld.SendWorldWideScreenText((*itMsg).c_str()); itMsg++; } } 在数据库插入 复制内容到剪贴板代码: CREATE TA*LE IF NOT EXISTS `w_announce` ( `msg` varchar(255) COLLATE utf8_unicode_ci NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|