魔獸世界商業(yè)端定制開(kāi)發(fā)搭建架設(shè)商人自定義NPC物品售賣(mài)教程

魔獸世界自定義NPC教程
?
大家好,我是艾西今天跟大家聊一下自定義NPC,自定義NPC可以添加自己想要售賣(mài)的物品以及定價(jià)等可以更好的將一個(gè)游戲設(shè)定以及游戲的拓展性有質(zhì)的提升
?

?
creature表是游戲所有生物人物等表格
Creature_template是所有生物模板,根據(jù)生物模板可以創(chuàng)建很多的生物。我們?cè)谀承┢脚_(tái)或視頻中看到很多UFO、跑車(chē)等都是在這個(gè)表里去添加生成,這個(gè)表在acore_world表中
?


?
?
這里有很多很多的模板,我們根據(jù)這個(gè)模板就可以創(chuàng)建很多其他的模板出來(lái)
我們需要比較關(guān)注的表項(xiàng)entry:模板編號(hào)
modelid1-4: 模型編號(hào),可以有4個(gè)(當(dāng)我們通過(guò)這個(gè)模板去創(chuàng)建創(chuàng)建一個(gè)NPC的時(shí)候他會(huì)隨機(jī)生成4個(gè)編號(hào))模型編號(hào)可以查看creature_ model_ info表的modelid字段;
Name名稱(chēng):自定義創(chuàng)建生物的名字
subname:子名稱(chēng),顯示在名稱(chēng)下面,用<>表示;一般用于工會(huì)等
?
IconName: 鼠標(biāo)形狀
gossip_ menu. _id: 對(duì)話(huà)菜單,關(guān)聯(lián)gossip_ menu表的entry字段;
minlevel:最低等級(jí)
maxlevel:最高等級(jí)
faction: 陣營(yíng)
npcflag:生物的npc標(biāo)志
1-可對(duì)話(huà),2-交接任務(wù), 16-技能訓(xùn)練師,32-職業(yè)訓(xùn)練師,64-專(zhuān)業(yè)訓(xùn)練師,128-商人, 256軍火商,512-食品商,1024- 毒藥商,2048 藥劑商,4096- 修理,8192- 飛行師,16384- 靈魂醫(yī)師, 32768- 靈魂使者, 65536- 旅館老板
scale: 模型尺寸
unit,_class :生物職業(yè), 1-戰(zhàn)士, 2-圣騎士, 4無(wú)賴(lài), 8-法師;
tvpe: 生物類(lèi)型
?
現(xiàn)在我們開(kāi)始自定義NPC
在游戲點(diǎn)點(diǎn)擊選取一個(gè)NPC對(duì)話(huà)框輸入 .npc info ?就會(huì)顯示此NPC在數(shù)據(jù)庫(kù)中的信息
而我們需要注意看的是DB GUID
?

?
?
現(xiàn)在進(jìn)服務(wù)器打開(kāi)Navicat進(jìn)入數(shù)據(jù)庫(kù)打開(kāi)acore_world找到Creature表項(xiàng)找到26572,在Creature表項(xiàng)顯示此ID為8361
?

?
?
我們現(xiàn)在進(jìn)入到Creature_template表項(xiàng)找到ID 8361選中整行 右鍵復(fù)制
?
?

?
?
點(diǎn)到數(shù)據(jù)庫(kù)最末端將我們復(fù)制的內(nèi)容添加進(jìn)去點(diǎn)擊+號(hào)新建把id8361改為較大的數(shù)值,不然容易起沖突報(bào)錯(cuò)。我們需要修改的就是Name名稱(chēng)、minlevel:最低等級(jí)、maxlevel:最高等級(jí)、faction: 陣營(yíng)、npcflag:生物的npc標(biāo)志(這里注意下:1-可對(duì)話(huà),2-交接任務(wù), 16-技能訓(xùn)練師,32-職業(yè)訓(xùn)練師,64-專(zhuān)業(yè)訓(xùn)練師,128-商人, 256軍火商,512-食品商,1024- 毒藥商,2048 藥劑商,4096- 修理,8192- 飛行師,16384- 靈魂醫(yī)師, 32768- 靈魂使者, 65536- 旅館老板) 如果我們需要這個(gè)NPC可售賣(mài)藥劑以及當(dāng)飛行師那直接就是2048+8192將這兩個(gè)數(shù)值的和輸入到npcflag表格中然后點(diǎn)擊確認(rèn)這樣的話(huà)我們創(chuàng)建好的數(shù)值就好了。如果對(duì)于npcflag和unit_ class數(shù)值不太確認(rèn)的話(huà)也是可以在azerothcore-wotlk目錄下的src文件夾用vs程序打開(kāi)就可以直接看到數(shù)值說(shuō)代表的意思
?


?
?
?
?
?
?
現(xiàn)在自定義NPC添加好后我們重新啟動(dòng)下AzerothCoreServer目錄下的worldserver.exe程序我們?cè)俅芜M(jìn)入游戲使用宏命令
?

?
進(jìn)入到南海島礁,將剛剛創(chuàng)建的NPC部署上去,我們找到一個(gè)合適的位置或者是你喜歡的位置站好,我們的位置就是NPC擺放的位置 在對(duì)話(huà)框輸入.npc add+創(chuàng)建NPC時(shí)你所填入的數(shù)值
?

?
?
點(diǎn)擊npc后發(fā)現(xiàn)沒(méi)有東西可以售賣(mài),那么回到數(shù)據(jù)庫(kù)給他添加進(jìn)去 打開(kāi)acore_world打開(kāi)Creature_ template_locale表項(xiàng)這是語(yǔ)言表項(xiàng),我們需要把Npc名字改為中文的,在末端新建數(shù)值把我們剛剛自定義NPC的ID輸入上去,語(yǔ)言選擇ZHCH
?

?
?
保存好后我們找到NPC_verdor表項(xiàng)創(chuàng)建新的數(shù)值解決我們創(chuàng)建的NPC無(wú)法售賣(mài)物品的問(wèn)題
Entry:輸入創(chuàng)建NPC時(shí)填入的ID,item就是我們需要售賣(mài)物品的編號(hào)到某網(wǎng)zhan直接去找資料填入ID就行例我們添加52021(冰封箭矢)
?
重新啟動(dòng)下worldserver.exe程序順便在客戶(hù)端文件下找到cache緩存文件夾刪掉然后運(yùn)行進(jìn)入游戲
?

?
?
如果需要添加更多物品售賣(mài)那么就在NPC_verdor表項(xiàng)中輸入添加你說(shuō)需要的物品ID
?
我是艾西,今天魔獸世界自定義NPC的教程就到這里啦