Class MapleOxQuiz
java.lang.Object
server.events.MapleEvent
server.events.MapleOxQuiz
OX 問答(Ox Quiz)小遊戲事件,繼承自
MapleEvent。
本類別管理最多 10 輪的是非問答流程:
sendQuestion()從MapleOxQuizFactory隨機取出一題,以CField.showOXQuiz(int, int, boolean)傳送題目封包,並排程 10 秒後公布答題結果; 答錯的玩家 HP 歸零遭淘汰,答對者獲得 3000 經驗值。- 當場內存活玩家(不含 GM)剩 1 人或以下,或已問完 10 題時,活動結束:
存活玩家獲得
MapleEvent.givePrize(MapleCharacter)獎勵、完成成就 19 並傳回原地圖。 isCorrectAnswer(MapleCharacter, int)依玩家座標判斷是否站在正確的 O 或 X 區(x > -234為 X 側,x < -234為 O 側,answer 0= X,answer 1= O)。- 進入地圖時禁止玩家聊天(
canTalk(false))以維持活動秩序。
題庫由 MapleOxQuizFactory 從資料庫 wz_oxdata 表載入與快取;
計時任務使用 server.Timer.autoEventTimer。
-
Field Summary
Fields inherited from class MapleEvent
channel, isRunning, playerCount, type -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidfinished(MapleCharacter chr) voidonMapLoad(MapleCharacter chr) voidreset()voidvoidsendQuestion(MapleMap toSend) voidvoidunreset()Methods inherited from class MapleEvent
broadcast, getChannelServer, getMap, getType, givePrize, incrementPlayerCount, isRunning, mapLoad, onStartEvent, scheduleEvent, setEvent, warpBack
-
Constructor Details
-
MapleOxQuiz
-
-
Method Details
-
finished
- Specified by:
finishedin classMapleEvent
-
onMapLoad
- Overrides:
onMapLoadin classMapleEvent
-
reset
public void reset()- Overrides:
resetin classMapleEvent
-
unreset
public void unreset()- Overrides:
unresetin classMapleEvent
-
startEvent
public void startEvent()- Specified by:
startEventin classMapleEvent
-
sendQuestion
public void sendQuestion() -
sendQuestion
-