1. 程式人生 > >MMORPG開發雜談(一):任務系統設計

MMORPG開發雜談(一):任務系統設計

2.每個任務儲存一個指令碼檔案,當遊戲中特定的事件發生時,首先應該查詢場景資料,看是否開啟一個新的任務,然後逐個通知現有任務的指令碼,每個任務的指令碼來執行各自獨立的任務邏輯,例如有某個任務指令碼檔案為Quest_001.script如下:
OnTalkNpc(string npcid)
{
 if(npcid == “張三”)
 {
     if(GetQuestVar(0) >= 10)//殺夠了
     {
       ShowDlg(“
你這麼快就殺了10只老虎?很厲害!”);
       IncPlayExp(1250);//經驗獎勵
     }
    else
       ShowDlg(“
你好啊!”); //向客戶端傳送命令,顯示對話方塊
   }
}
OnKillMonster(int monsterID)
{
 if(monsterID == 1000123)//
是任務指定的怪物
  {
     IncQuestVar(0);//修改任務變數
 }
}