當前位置: 華文問答 > 遊戲

單機版魔獸世界算不算一流的開放世界遊戲?

2021-10-29遊戲

說明:配合playerbot魔獸世界單機版就是一款一流的開放世界遊戲~

魔獸世界是網路遊戲,如果你單機玩是很要命的體驗,很多需要組隊的任務一個人是搞不定的,副本一個人也是排不平的,如果用等級碾壓又會少了樂趣,怎麽辦?解決方案就是在遊戲中增加玩家機器人(Playerbot),有了機器人玩家,遊戲中絕大多數玩法都可以正常體驗了,哪怕不用GM許可權作弊,也能非常絲滑的娛樂,眾多工、劇情、職業、專業足夠你玩半輩子。

目前開源的玩家機器人計畫是很多的,但個人強烈推薦的是:https:// github.com/liyunfan1223 /mod-playerbots

推薦原因很簡單,本人使用感覺功能齊全易上手,AI比我這種菜鳥玩家操作的都好(下副本時感覺AI隊友格外靠譜),而且計畫保持和AzerothCore最新版同步(這對我很重要,我是強迫癥,不保持我的遊戲是最新版我會很難受)。

playerBot基本功能包括:

  • 透過聊天命令進行精細的機器人控制
  • 數百個機器人隨時在世界各地等待您的邀請或地下城尋找器
  • 100 多個聊天命令,與機器人進行互動
  • 30 多種可選擇的策略
  • 改進的拍賣行機器人,具有機器人作為競標者和市場價格計算功能
  • 你可以邀請機器人加入隊伍(或使用地下城尋找器),進行地下城、團隊副本或進行一些 PvP;將您的小號角色作為機器人召喚,進行快速物品交換、施放一些法術、增益效果、升級、制作等操作;與對立陣營的機器人進行隨機 PvP 或與您陣營的機器人進行決鬥;進行交易和拍賣行活動……

    增加Playerbot後,使【魔獸世界】成為一個完全的單機遊戲!有興趣可以先上 http:// wow.gameivy.com 測試和線上機器人一起遊戲。

    如果你想在自己電腦上架設體驗,可以看看我以前的文章AzerothCore伺服端和Playerbot機器人編譯指南,這裏重點介紹機器人的使用方式。

    機器人(Playerbot)

    需要提前說明的是遊戲中機器人分為二個型別:隨機機器人(random bots)和召喚機器人(summoned bots)。

    隨機機器人是伺服器初始化時自動生成的線上角色,而召喚機器人是透過 .playerbot bot add class classNAME(warrior/paladin/hunter/rogue/priest/shaman/mage/warlock/druid/dk) 指令建立的角色和使用 .playerbot bot login NAME 上線的角色。相關程式碼:

    if ( ! strcmp ( cmd , "add class" )) { if ( sPlayerbotAIConfig -> add classCommand == 0 && master -> GetSession () -> GetSecurity () < SEC_GAMEMASTER ) { messages . push_back ( "You do not have permission to create bot by add class command" ); return messages ; } if ( ! charname ) { messages . push_back ( "add class: invalid classNAME(warrior/paladin/hunter/rogue/priest/shaman/mage/warlock/druid/dk)" ); return messages ; } uint8 claz ; if ( ! strcmp ( charname , "warrior" )) { claz = 1 ; } else if ( ! strcmp ( charname , "paladin" )) { claz = 2 ; } else if ( ! strcmp ( charname , "hunter" )) { claz = 3 ; } else if ( ! strcmp ( charname , "rogue" )) { claz = 4 ; } else if ( ! strcmp ( charname , "priest" )) { claz = 5 ; } else if ( ! strcmp ( charname , "shaman" )) { claz = 7 ; } else if ( ! strcmp ( charname , "mage" )) { claz = 8 ; } else if ( ! strcmp ( charname , "warlock" )) { claz = 9 ; } else if ( ! strcmp ( charname , "druid" )) { claz = 11 ; } else if ( ! strcmp ( charname , "dk" )) { claz = 6 ; } else { messages . push_back ( "Error: Invalid class. Try again." ); return messages ; } uint8 master_race = master -> getRace (); std :: string race_limit ; switch ( master_race ) { case 1 : case 3 : case 4 : case 7 : case 11 : race_limit = "1, 3, 4, 7, 11" ; break ; case 2 : case 5 : case 6 : case 8 : case 10 : race_limit = "2, 5, 6, 8, 10" ; break ; } // find a bot fit conditions and not in any guild QueryResult results = CharacterDatabase . Query ( "SELECT guid FROM characters " "WHERE name IN (SELECT name FROM playerbots_names) AND class = '{}' AND online = 0 AND race IN ({}) AND guid NOT IN ( SELECT guid FROM guild_member ) " "ORDER BY account DESC LIMIT 1" , claz , race_limit ); if ( results ) { Field * fields = results -> Fetch (); ObjectGuid guid = ObjectGuid ( HighGuid :: Player , fields [ 0 ]. Get < uint32 > ()); AddPlayerBot ( guid , master -> GetSession () -> GetAccountId ()); messages . push_back ( "add class " + std :: string ( charname ) + " ok" ); return messages ; } messages . push_back ( "add class failed." ); return messages ; }

    隨機機器人和召喚機器人的核心區別有幾點:

    1. 隨機機器人可以自己上下線,自己和玩家一樣正常的遊戲,而召喚機器人不會自己上線練級,而且在召喚的玩家下線後會自動下線。
    2. 你可以使用 .playerbot bot init 指令來初始化召喚機器人的等級、裝備、天賦,深度客製機器人,但無法這樣控制隨機機器人。
    3. 隨機機器人類似其它獨立的玩家,你不能強制交易他們的物品,而召喚機器人和你的小號都是可以隨意交易的。

    關於 bot init 指令的用法後面介紹,這裏我們先跳過。比較特別的是玩家同一個帳號下的小號也是可以當機器人對待的,小號綜合了隨機機器人和召喚機器人的特點,

    機器人基礎用法

    遊戲中的玩家機器人你都可以和其他玩家一樣看待,但和真實玩家的區別主要有二點:1. 他們不會和真人一樣聊天(也許後期接入AI可以解決);2. 他們會自動接受玩家的組隊、公會邀請、交易等要求,並根據玩家行動做出相應的反應。

    機器人的基礎用法很簡單,你邀請他組隊一起遊戲即可。除非伺服器做了限制(檢查等級差距、檢查裝備差距),否則機器人都會自動同意和你組隊,如果是跨區域機器人會自動傳送到你身邊,如果是在同一個地圖,機器人會自己尋路跑到你身邊,組隊後機器人就會一直追隨你,並根據你的行動產生行為,具體如下:

    玩家行動 機器人的反應
    玩家接受任務 機器人也會接對應的任務
    玩家與任務提供者交談 機器人會送出已完成的任務
    玩家使用爐石 機器人也會自動爐石
    玩家使用食物 機器人也會自動吃喝
    玩家向機器人交易 機器人會自動開啟交易並告訴你他有什麽物品
    玩家邀請機器人組隊、加入公會 機器人接受邀請
    玩家開始團隊檢查準備 機器人會自動準備並根據自己的天賦選擇分工
    玩家上馬/下馬 機器人自動上馬/下馬
    玩家進入副本 機器人跟隨進入副本
    玩家攻擊怪物 機器人根據自己的職業自動攻擊或治療

    也就是組隊後你不需要特意控制,機器人全自動AI管理,而且和機器人一起組隊做任務時你可以把拾取模式改為自由拾取,這樣所有東西都只有你自己拾取,只要你的任務物品夠了,哪怕機器人沒有任何任務物品,在你交任務時機器人也會同樣完成任務,但務必註意要讓機器人在身邊。而下副本時推薦把拾取模式改為隊長分配,這樣機器人會自動拾取,免得玩家一個人太忙,或者背包裝不下,而且遇到好裝備可以由玩家控制分給誰,如果機器人分到好裝備也會自動裝備的。

    機器人進階用法

    除了完全自動化外,玩家也可以使用一系列指令來指揮機器人,需要註意的指令只能使用以下二種方式:1. 私聊方式控制單個機器人,2. 小隊聊天控制全隊機器人。

    你可以私聊機器人 help 檢視可用的控制指令,因為指令非常多,這裏列出最有用的部份。

    以下指令都可以做成宏來方便使用,比如 /p follow /w follow

    行動

    指令 說明
    follow 讓機器人跟隨玩家
    stay 讓機器人原地等待
    flee 讓機器人跟隨玩家逃跑
    grind 讓機器人自動打怪練級

    提示:預設機器人是自動follow玩家的,但如果玩家掛了,機器人會stay在原地,這時玩家復活後需要用follow指令讓機器人重新跟隨

    物品

    註意以下指令中的 [item] 都是在遊戲中按 shift+點選 物品生成的連結。

    指令 說明
    e [item] 讓機器人裝備指定item
    u [item] 讓機器人使用指定item
    u [item] [target] 讓機器人在指定物件上使用item
    s [item] 在NPC處出售item
    s * 在NPC處出售所有灰色品質的item
    b [item] 讓機器人在NPC處購買item
    bank [item] 讓機器人把物品存銀行
    bank -[item] 讓機器人從銀行取出物品
    gb [item] 讓機器人把物品存公會銀行
    gb -[item] 讓機器人從公會銀行取物品
    [item] 在交易時讓機器人交易指定物品給你

    提示:在你和機器人交易時可以用類似 2g 3s 5c (2金3銀5銅)的指令讓機器人交易金幣給你,但是除非是自己的小號或自己召喚的機器人,否則你必須給機器人等價值物品才能交易。

    任務

    註意以下指令中的 [quest] 都是在遊戲中按 shift+點選 任務生成的連結。

    指令 說明
    accept [quest] 機器人接受選擇NPC的指定任務
    accept * 機器人接受選擇NPC的所有任務
    drop [quest] 機器人放棄指定任務
    r [item] 讓機器人選擇任務獎勵(需伺服器配置開啟由玩家選擇)
    quests 檢視機器人任務摘要(未完成/已完成/任務數)
    quests incompleted 檢視機器人未完成的任務列表
    talk 讓機器人和選擇NPC對話,這對對話聽故事類任務非常有用

    提示:你可以把自己任務共享給機器人,如果機器人符合條件且日誌未滿是會自動接受的。另外組隊任務時只要玩家任務物品夠了,哪怕機器人沒有任何任務物品在你交任務時只要機器人在身邊,機器人也能自動完成任務。

    其它

    指令 說明
    los 列出機器人可見的所有遊戲物件
    stats 列出機器人的資料(包括金幣、經驗、背包空間狀態等)
    trainer learn 讓機器人學習指定NPC的技能(提前是能學習)
    spells 顯示機器人的技能
    cast [spell] 讓機器人使用技能
    home 把機器人的爐石設定在當前旅館
    summon 召喚機器人到身邊
    release 機器人死後釋放靈魂(先release再summon就直接在身邊復活了)
    ll all 機器人預設不會loot搶你的東西,好東西他們全放棄,你可以用這個指令讓他們參與loot,all也可以換為skill``quest``normat等

    提示: summon 是非常重要的一個作弊級指令,副本中機器人掛了都不用跑圖,讓機器人釋放靈魂後就直接召回,只要自己不死都能車輪戰強推BOSS,可讓副本難度直線下降。

    .playerbot指令

    以上指令都是普通的機器人互動指令,下面幾個是非常重要的機器人管理指令,包括讓機器人上下線和建立召喚機器人,直接輸入 .playerbot bot [指令] ,具體指令如下:

    指令 說明
    login [name1,name2,name3,name4,...] 讓指定機器人上線(也可以上線自己帳號下的其它角色做為機器人)
    logout [name1,name2,name3,name4,...] 讓指定機器人下線(組隊時你下線機器人會自動下線,無需指令)
    add class [ classNAME] 召喚指定職業的機器人,職業包括warrior/paladin/hunter/rogue/priest/shaman/mage/warlock/druid/dk
    init=auto [name1,name2,name3,name4,...] 快速設定機器人的等級、裝備到你的階段,並初始化任務、技能等狀態,此指令僅針對add class召喚機器人
    initself=epic GM級指令,讓自己初始化為一身紫裝(正常伺服端會禁止玩家使用這個指令)

    提示1: init=auto initself=epic 為GM級指令,有的伺服器會限制使用,除了用auto還可以用"rare"(藍裝)、"uncommon"(綠裝)、"epic"(紫裝)。

    提示2:推薦加機器人為好友或邀請到同一個公會中,方便隨時組隊,當然最推薦的還是自己把小號用機器人指令登入到遊戲,這樣可以1帶4實作自己和自己組隊遊戲。

    推薦

    最後,如果你想方便的控制機器人,可以安裝機器人外掛程式,外掛程式可以從本人架設的學習體驗伺服器官網下載:

    如果你對3.3.5版懷舊服感興趣,也可以到上面網站註冊帳號體驗遊戲,遊戲除了調整了經驗倍率,基本為官方設定(只修改了可以學5個專業和無等級限制建DK)。